aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x].gitignore0
-rw-r--r--[-rwxr-xr-x].homeinstall/zotserver-setup.sh0
-rw-r--r--[-rwxr-xr-x].openshift/action_hooks/deploy0
-rw-r--r--[-rwxr-xr-x].openshift/cron/weekly/chronograph0
-rw-r--r--CHANGELOG53
-rw-r--r--SBOM.md27
-rw-r--r--Zotlabs/Access/AccessList.php3
-rw-r--r--Zotlabs/Access/PermissionLimits.php15
-rw-r--r--Zotlabs/Access/PermissionRoles.php10
-rw-r--r--Zotlabs/Access/Permissions.php89
-rw-r--r--Zotlabs/Daemon/Addon.php7
-rw-r--r--Zotlabs/Daemon/Cache_embeds.php1
-rw-r--r--Zotlabs/Daemon/Cache_query.php36
-rw-r--r--Zotlabs/Daemon/Checksites.php23
-rw-r--r--Zotlabs/Daemon/Convo.php58
-rw-r--r--Zotlabs/Daemon/Cron.php129
-rw-r--r--Zotlabs/Daemon/Cron_daily.php40
-rw-r--r--Zotlabs/Daemon/Cron_weekly.php21
-rw-r--r--Zotlabs/Daemon/CurlAuth.php24
-rw-r--r--Zotlabs/Daemon/Deliver.php16
-rw-r--r--Zotlabs/Daemon/Deliver_hooks.php11
-rw-r--r--Zotlabs/Daemon/Directory.php40
-rw-r--r--Zotlabs/Daemon/Expire.php41
-rw-r--r--Zotlabs/Daemon/Externals.php177
-rw-r--r--Zotlabs/Daemon/Gprobe.php14
-rw-r--r--[-rwxr-xr-x]Zotlabs/Daemon/Importdoc.php14
-rw-r--r--Zotlabs/Daemon/Importfile.php23
-rw-r--r--Zotlabs/Daemon/Master.php37
-rw-r--r--Zotlabs/Daemon/Notifier.php414
-rw-r--r--Zotlabs/Daemon/Onedirsync.php23
-rw-r--r--Zotlabs/Daemon/Onepoll.php197
-rw-r--r--Zotlabs/Daemon/Poller.php147
-rw-r--r--Zotlabs/Daemon/Queue.php23
-rw-r--r--Zotlabs/Daemon/Thumbnail.php46
-rw-r--r--Zotlabs/Lib/ASCollection.php150
-rw-r--r--Zotlabs/Lib/Activity.php2336
-rw-r--r--Zotlabs/Lib/ActivityStreams.php232
-rw-r--r--Zotlabs/Lib/Apps.php2
-rw-r--r--Zotlabs/Lib/Hashpath.php55
-rw-r--r--Zotlabs/Lib/JSalmon.php10
-rw-r--r--Zotlabs/Lib/Libsync.php529
-rw-r--r--Zotlabs/Lib/Libzot.php1353
-rw-r--r--Zotlabs/Lib/Libzotdir.php45
-rw-r--r--Zotlabs/Lib/NativeWiki.php16
-rw-r--r--Zotlabs/Lib/NativeWikiPage.php11
-rw-r--r--Zotlabs/Lib/Queue.php10
-rw-r--r--Zotlabs/Lib/Share.php2
-rw-r--r--Zotlabs/Lib/ThreadItem.php50
-rw-r--r--Zotlabs/Lib/Verify.php8
-rw-r--r--Zotlabs/Lib/ZotURL.php11
-rw-r--r--Zotlabs/Lib/Zotfinger.php1
-rw-r--r--Zotlabs/Module/Acl.php126
-rw-r--r--Zotlabs/Module/Activity.php14
-rw-r--r--Zotlabs/Module/Attach.php67
-rw-r--r--Zotlabs/Module/Cal.php12
-rw-r--r--Zotlabs/Module/Cdav.php4
-rw-r--r--Zotlabs/Module/Channel.php406
-rw-r--r--Zotlabs/Module/Channel_calendar.php417
-rw-r--r--Zotlabs/Module/Chanview.php2
-rw-r--r--Zotlabs/Module/Cloud.php2
-rw-r--r--Zotlabs/Module/Connections.php5
-rw-r--r--Zotlabs/Module/Connedit.php290
-rw-r--r--Zotlabs/Module/Dav.php4
-rw-r--r--Zotlabs/Module/Directory.php194
-rw-r--r--Zotlabs/Module/Display.php84
-rw-r--r--Zotlabs/Module/Embedphotos.php3
-rw-r--r--Zotlabs/Module/File_upload.php2
-rw-r--r--Zotlabs/Module/Getfile.php40
-rw-r--r--Zotlabs/Module/Item.php19
-rw-r--r--Zotlabs/Module/Like.php595
-rw-r--r--Zotlabs/Module/Network.php247
-rw-r--r--Zotlabs/Module/Notifications.php8
-rw-r--r--Zotlabs/Module/Owa.php2
-rw-r--r--Zotlabs/Module/Photo.php8
-rw-r--r--Zotlabs/Module/Photos.php609
-rw-r--r--Zotlabs/Module/Pin.php3
-rw-r--r--Zotlabs/Module/Profile.php117
-rw-r--r--Zotlabs/Module/Profiles.php250
-rw-r--r--Zotlabs/Module/Pubsites.php27
-rw-r--r--Zotlabs/Module/Regver.php2
-rw-r--r--Zotlabs/Module/Search.php293
-rw-r--r--Zotlabs/Module/Sse_bs.php2
-rw-r--r--Zotlabs/Module/Zfinger.php8
-rw-r--r--Zotlabs/Module/Zotfeed.php141
-rw-r--r--Zotlabs/Photo/PhotoDriver.php31
-rw-r--r--[-rwxr-xr-x]Zotlabs/Render/SimpleTemplate.php0
-rw-r--r--[-rwxr-xr-x]Zotlabs/Render/SmartyInterface.php0
-rw-r--r--[-rwxr-xr-x]Zotlabs/Render/SmartyTemplate.php0
-rw-r--r--[-rwxr-xr-x]Zotlabs/Render/TemplateEngine.php0
-rw-r--r--Zotlabs/Storage/Browser.php47
-rw-r--r--Zotlabs/Update/_1241.php24
-rw-r--r--Zotlabs/Web/HTTPSig.php2
-rw-r--r--Zotlabs/Widget/Dirsort.php4
-rw-r--r--Zotlabs/Zot6/Finger.php4
-rw-r--r--Zotlabs/Zot6/Zot6Handler.php12
-rw-r--r--app/mail.apd6
-rw-r--r--app/mail.pngbin4875 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]boot.php22
-rw-r--r--composer.json5
-rw-r--r--doc/context/pl/admin/addons/assets/addon_repo_gui_1.pngbin0 -> 16983 bytes
-rw-r--r--doc/context/pl/admin/addons/help.html14
-rw-r--r--doc/context/pl/admin/logs/help.html20
-rw-r--r--doc/context/pl/admin/queue/help.html7
-rw-r--r--doc/context/pl/admin/security/help.html8
-rw-r--r--doc/context/pl/appman/help.html10
-rw-r--r--doc/context/pl/apps/edit/help.html7
-rw-r--r--doc/context/pl/apps/help.html15
-rw-r--r--doc/context/pl/cards/help.html31
-rw-r--r--doc/context/pl/channel/help.html13
-rw-r--r--doc/context/pl/chat/help.html19
-rw-r--r--doc/context/pl/cloud/help.html17
-rw-r--r--doc/context/pl/connections/help.html24
-rw-r--r--doc/context/pl/connections/ifpending/help.html24
-rw-r--r--doc/context/pl/connedit/help.html44
-rw-r--r--doc/context/pl/events/help.html18
-rw-r--r--doc/context/pl/mail/help.html25
-rw-r--r--doc/context/pl/network/help.html36
-rw-r--r--doc/context/pl/photos/help.html15
-rw-r--r--doc/context/pl/profile/help.html17
-rw-r--r--doc/context/pl/profiles/help.html49
-rw-r--r--doc/context/pl/settings/account/help.html49
-rw-r--r--doc/context/pl/settings/channel/help.html49
-rw-r--r--doc/context/pl/settings/features/help.html35
-rw-r--r--doc/context/pl/settings/tokens/help.html43
-rw-r--r--doc/context/pl/webpages/help.html24
-rw-r--r--doc/context/pl/wiki/help.html29
-rw-r--r--doc/hidden_configs.bb2
-rw-r--r--doc/macros/pl/addons_footer.bb2
-rw-r--r--doc/macros/pl/cloud_footer.bb2
-rw-r--r--doc/macros/pl/main_footer.bb1
-rw-r--r--doc/macros/pl/troubleshooting_footer.bb2
-rw-r--r--doc/pl/AdvancedSearch.md52
-rw-r--r--doc/pl/Features.md107
-rw-r--r--doc/pl/TermsOfService.md9
-rw-r--r--doc/pl/Translations.md89
-rw-r--r--doc/pl/about/about.bb181
-rw-r--r--doc/pl/about/about_hub.bb7
-rw-r--r--doc/pl/about/project.bb181
-rw-r--r--doc/pl/accounts_profiles_channels_basics.bb20
-rw-r--r--doc/pl/acl_dialog_post.html42
-rw-r--r--doc/pl/addons.bb117
-rw-r--r--doc/pl/addons_gnusocial.bb64
-rw-r--r--doc/pl/admin/administrator_guide.md385
-rw-r--r--doc/pl/admin/hub_snapshots.md127
-rw-r--r--doc/pl/admins.bb15
-rw-r--r--doc/pl/bugs.bb31
-rw-r--r--doc/pl/checking_account_quota_usage.bb20
-rw-r--r--doc/pl/general.bb18
-rw-r--r--doc/pl/main.bb20
-rw-r--r--doc/pl/member/assets/qr_text_to_post.pngbin0 -> 273 bytes
-rw-r--r--doc/pl/member/assets/zat_dialog.pngbin0 -> 81837 bytes
-rw-r--r--doc/pl/member/bbcode.html343
-rw-r--r--doc/pl/member/member_faq.bb11
-rw-r--r--doc/pl/member/member_guide.bb1024
-rw-r--r--doc/pl/toc.html75
-rw-r--r--doc/pl/tutorials/assets/0965ace945f0c95ae38aa5bfedd230d2a7233d3915ac15d629f9dd845854.pngbin0 -> 249151 bytes
-rw-r--r--doc/pl/tutorials/assets/1ebe02c205962dd25035c441631745d16acdb7a44e50d148256c8ad26a67.pngbin0 -> 293314 bytes
-rw-r--r--doc/pl/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.pngbin0 -> 178913 bytes
-rw-r--r--doc/pl/tutorials/assets/25eaad2435200f72a1dd3a00ba17a76ca6db4c246b3c4fa286b390cae7c8.pngbin0 -> 43797 bytes
-rw-r--r--doc/pl/tutorials/assets/2b539d5a8474d6ec6dc91155b628d9be5f99ab04a78108ec404f53ec7bb5.pngbin0 -> 46752 bytes
-rw-r--r--doc/pl/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.pngbin0 -> 257211 bytes
-rw-r--r--doc/pl/tutorials/assets/324247680b605fd214fd61aecd8f216fa8f5dfa0f16a04c8e968fdbc43d0.pngbin0 -> 91478 bytes
-rw-r--r--doc/pl/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.pngbin0 -> 293611 bytes
-rw-r--r--doc/pl/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.pngbin0 -> 318766 bytes
-rw-r--r--doc/pl/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.pngbin0 -> 298857 bytes
-rw-r--r--doc/pl/tutorials/assets/4cf326152797a8ecdf5630e921756f825ee00f8ee464d3ef9fed971d2852.pngbin0 -> 532838 bytes
-rw-r--r--doc/pl/tutorials/assets/75d2927b7ad0d2043d4d3b6ba1364fac8ead173edd39340adaf78be11c9d.pngbin0 -> 137827 bytes
-rw-r--r--doc/pl/tutorials/assets/7c976a06662a1357b3da8ed0680d1a721c85f2ae2bdd5739a8def466010e.pngbin0 -> 466641 bytes
-rw-r--r--doc/pl/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.pngbin0 -> 240495 bytes
-rw-r--r--doc/pl/tutorials/assets/9eae9fad774a4cd29e665961d35affbd053368056f562c58200fb41027b0.pngbin0 -> 665755 bytes
-rw-r--r--doc/pl/tutorials/assets/b0bfdf02aef3710a37bb6092c3240b291eca8afa73133b3ac03b86f3302d.pngbin0 -> 324092 bytes
-rw-r--r--doc/pl/tutorials/assets/b334915c03a665493915598c69c17a87c910a39db2cd3b5292e4623ea4c4.pngbin0 -> 466584 bytes
-rw-r--r--doc/pl/tutorials/assets/b3eece28e8db67f1024af42055f0f24ed5e81ba622aca8cac576ccf5930e.pngbin0 -> 155763 bytes
-rw-r--r--doc/pl/tutorials/assets/bdbcf0ffd9004657237f6b7b7863da5a8e39a5bc17d2c67fa160efef2056.pngbin0 -> 134643 bytes
-rw-r--r--doc/pl/tutorials/assets/c4cad3e4c356dd2a227df79bd4dc6d47edf1b66ea243f005b6b452ec366b.pngbin0 -> 306069 bytes
-rw-r--r--doc/pl/tutorials/assets/c9a880cc82ffa1f7c2f460397bb083bf7dc2a2b8f065e64da598b45b4a2b.pngbin0 -> 57185 bytes
-rw-r--r--doc/pl/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.pngbin0 -> 255688 bytes
-rw-r--r--doc/pl/tutorials/assets/e05248fdc5688d6d24bde52432fdc7b39692a094559aa504de99352940b1.pngbin0 -> 83265 bytes
-rw-r--r--doc/pl/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.pngbin0 -> 264916 bytes
-rw-r--r--doc/pl/tutorials/assets/ef78bc6aa3fafebd46f353514c907b3fdfe019918fc5553bb3f31388a36f.pngbin0 -> 68194 bytes
-rw-r--r--doc/pl/tutorials/assets/facb0bdfdecb4c779de9048cd14b417c0d76de17af476be5f296b78d70e9.pngbin0 -> 99210 bytes
-rw-r--r--doc/pl/tutorials/personal_channel.md116
-rw-r--r--include/attach.php10
-rw-r--r--include/bbcode.php4
-rw-r--r--include/bookmarks.php14
-rw-r--r--include/cdav.php4
-rw-r--r--include/channel.php2
-rw-r--r--include/connections.php6
-rw-r--r--include/contact_widgets.php38
-rw-r--r--include/conversation.php114
-rw-r--r--[-rwxr-xr-x]include/dba/dba_driver.php0
-rw-r--r--[-rwxr-xr-x]include/dba/dba_pdo.php0
-rw-r--r--include/dir_fns.php31
-rw-r--r--include/help.php2
-rw-r--r--include/html2plain.php4
-rw-r--r--include/import.php6
-rw-r--r--[-rwxr-xr-x]include/items.php152
-rw-r--r--include/js_strings.php9
-rw-r--r--include/network.php41
-rw-r--r--[-rwxr-xr-x]include/oembed.php7
-rw-r--r--include/photo/photo_driver.php116
-rw-r--r--[-rwxr-xr-x]include/plugin.php0
-rw-r--r--include/security.php242
-rw-r--r--include/taxonomy.php50
-rw-r--r--include/text.php8
-rw-r--r--[-rwxr-xr-x]index.php0
-rw-r--r--[-rwxr-xr-x]install/htconfig.sample.php0
-rw-r--r--library/ASNValue.class.php4
-rw-r--r--[-rwxr-xr-x]library/jgrowl/examples/jgrowl.html0
-rw-r--r--[-rwxr-xr-x]library/jgrowl/jquery.jgrowl.js0
-rw-r--r--[-rwxr-xr-x]library/jgrowl/less/jgrowl.core.less0
-rw-r--r--[-rwxr-xr-x]library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php0
-rw-r--r--[-rwxr-xr-x]tests/travis/gen_apidocs.sh0
-rw-r--r--[-rwxr-xr-x]tests/travis/prepare.sh0
-rw-r--r--[-rwxr-xr-x]tests/travis/prepare_mysql.sh0
-rw-r--r--[-rwxr-xr-x]tests/travis/prepare_pgsql.sh0
-rwxr-xr-x[-rw-r--r--]util/.htaccess0
-rwxr-xr-x[-rw-r--r--]util/Doxyfile0
-rwxr-xr-x[-rw-r--r--]util/Doxygen.footer0
-rwxr-xr-x[-rw-r--r--]util/Doxygen_phpvarfilter.php0
-rwxr-xr-x[-rw-r--r--]util/README0
-rwxr-xr-x[-rw-r--r--]util/config.md0
-rwxr-xr-xutil/connect4
-rwxr-xr-x[-rw-r--r--]util/db_update.php0
-rwxr-xr-x[-rw-r--r--]util/docblox_errorchecker.php0
-rwxr-xr-x[-rw-r--r--]util/extract.php0
-rwxr-xr-x[-rw-r--r--]util/fpostit/README0
-rwxr-xr-x[-rw-r--r--]util/fpostit/fpostit.js0
-rwxr-xr-x[-rw-r--r--]util/fpostit/fpostit.php0
-rwxr-xr-x[-rw-r--r--]util/fpostit/friendika-32.pngbin1593 -> 1593 bytes
-rwxr-xr-x[-rw-r--r--]util/fresh.md0
-rwxr-xr-x[-rw-r--r--]util/generate-hooks-index/.gitignore0
-rwxr-xr-x[-rw-r--r--]util/generate-hooks-index/CHANGELOG.md0
-rwxr-xr-x[-rw-r--r--]util/generate-hooks-index/LICENSE0
-rwxr-xr-x[-rw-r--r--]util/generate-hooks-index/README.md0
-rwxr-xr-x[-rw-r--r--]util/generate-hooks-index/doc/intro.md0
-rwxr-xr-x[-rw-r--r--]util/generate-hooks-index/project.clj0
-rwxr-xr-x[-rw-r--r--]util/generate-hooks-index/src/generate_hooks_index/core.clj0
-rwxr-xr-x[-rw-r--r--]util/generate-hooks-index/test/generate_hooks_index/core_test.clj0
-rwxr-xr-x[-rw-r--r--]util/hmessages.po17469
-rwxr-xr-x[-rw-r--r--]util/hstrings.php0
-rwxr-xr-x[-rw-r--r--]util/hubzilla_er/Makefile0
-rwxr-xr-x[-rw-r--r--]util/messages.po0
-rwxr-xr-x[-rw-r--r--]util/nconfig.php0
-rwxr-xr-x[-rw-r--r--]util/php2po.php0
-rwxr-xr-x[-rw-r--r--]util/po2php.php0
-rwxr-xr-x[-rw-r--r--]util/shredder/jansson-2.6.tar.gzbin428175 -> 428175 bytes
-rwxr-xr-x[-rw-r--r--]util/shredder/jshon.tar.gzbin10004 -> 10004 bytes
-rwxr-xr-x[-rw-r--r--]util/shredder/readme0
-rwxr-xr-xutil/storageconv113
-rwxr-xr-xutil/storageconv.sh6
-rwxr-xr-x[-rw-r--r--]util/strings.php0
-rwxr-xr-x[-rw-r--r--]util/tpldebug.php0
-rwxr-xr-x[-rw-r--r--]util/typo.php0
-rwxr-xr-x[-rw-r--r--]util/typohelper.php0
-rwxr-xr-x[-rw-r--r--]util/z6convert.php0
-rwxr-xr-x[-rw-r--r--]util/zotsh/README.txt0
-rwxr-xr-x[-rw-r--r--]util/zotsh/easywebdav/LICENSE0
-rwxr-xr-x[-rw-r--r--]util/zotsh/easywebdav/__init__.py0
-rwxr-xr-x[-rw-r--r--]util/zotsh/easywebdav/__init__.pycbin457 -> 457 bytes
-rwxr-xr-x[-rw-r--r--]util/zotsh/easywebdav/__version__.py0
-rwxr-xr-x[-rw-r--r--]util/zotsh/easywebdav/__version__.pycbin174 -> 174 bytes
-rwxr-xr-x[-rw-r--r--]util/zotsh/easywebdav/client.py0
-rwxr-xr-x[-rw-r--r--]util/zotsh/easywebdav/client.pycbin8886 -> 8886 bytes
-rw-r--r--[-rwxr-xr-x]vendor/commerceguys/intl/scripts/fetch_data.sh0
-rw-r--r--vendor/composer/autoload_classmap.php15
-rw-r--r--vendor/composer/autoload_psr4.php1
-rw-r--r--vendor/composer/autoload_static.php20
-rw-r--r--[-rwxr-xr-x]vendor/league/html-to-markdown/bin/html-to-markdown0
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/getID3.php (renamed from vendor/lukasreschke/id3parser/src/getID3/getid3.php)0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/build.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/googlecode_upload.py0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/migrateto20.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/migrateto21.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/migrateto30.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/migrateto32.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/naturalselection0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/sabredav0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/dav/bin/sabredav.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/vobject/bin/bench.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/vobject/bin/fetch_windows_zones.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/vobject/bin/generate_vcards0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/vobject/bin/generateicalendardata.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/vobject/bin/mergeduplicates.php0
-rw-r--r--[-rwxr-xr-x]vendor/sabre/vobject/bin/vobject0
-rw-r--r--[-rwxr-xr-x]vendor/simplepie/simplepie/.travis.yml0
-rw-r--r--[-rwxr-xr-x]vendor/simplepie/simplepie/library/SimplePie.php0
-rw-r--r--[-rwxr-xr-x]vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php0
-rw-r--r--[-rwxr-xr-x]vendor/simplepie/simplepie/library/SimplePie/Registry.php0
-rw-r--r--[-rwxr-xr-x]vendor/twbs/bootstrap/build/change-version.js0
-rw-r--r--[-rwxr-xr-x]vendor/twbs/bootstrap/build/ship.sh0
-rw-r--r--view/css/conversation.css6
-rw-r--r--view/js/main.js5
-rw-r--r--view/js/mod_cloud.js4
-rw-r--r--[-rwxr-xr-x]view/js/sse_worker.js0
-rw-r--r--view/pl/cert_bad_eml.tpl19
-rw-r--r--view/pl/cron_bad_eml.tpl16
-rw-r--r--view/pl/hmessages.po16452
-rw-r--r--view/pl/hmessages.pot15710
-rw-r--r--view/pl/hstrings.php3573
-rw-r--r--view/pl/htconfig.tpl111
-rw-r--r--view/pl/lostpass_eml.tpl33
-rw-r--r--view/pl/passchanged_eml.tpl23
-rw-r--r--view/pl/register_open_eml.tpl18
-rw-r--r--view/pl/register_verify_eml.tpl24
-rw-r--r--view/pl/register_verify_member.tpl33
-rw-r--r--view/pl/update_fail_eml.tpl22
-rw-r--r--view/ru/hmessages.po1305
-rw-r--r--view/ru/hstrings.php44
-rw-r--r--[-rwxr-xr-x]view/tpl/404.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/abook_edit.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/acl_selector.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_accounts.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_aside.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_channels.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_logs.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_plugins.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_plugins_details.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_security.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_site.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/admin_summary.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/album_edit.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/atom_feed.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/build_query.tpl6
-rw-r--r--[-rwxr-xr-x]view/tpl/cal_calendar.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/cal_event.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/categories_widget.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/channel.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/channel_import.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/channel_rename.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/channels.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/chanview.tpl0
-rw-r--r--view/tpl/cloud_actionspanel.tpl2
-rw-r--r--view/tpl/cloud_directory.tpl138
-rw-r--r--view/tpl/cloud_header.tpl2
-rw-r--r--[-rwxr-xr-x]view/tpl/comment_item.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/common_friends.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/common_pills.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/common_tabs.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/connection_template.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/connections.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/contact_block.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/contact_slider.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/contact_template.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/conv.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/conv_frame.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/conv_item.tpl2
-rw-r--r--[-rwxr-xr-x]view/tpl/conv_list.tpl2
-rw-r--r--[-rwxr-xr-x]view/tpl/conversation.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/convobj.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/cover_photo.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/cover_photo_widget.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/cropbody.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/cropcover.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/crophead.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/defperms.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/directory_header.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/direntry.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/edpost_head.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/email_notify_html.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/email_notify_text.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/event.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/event_form.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/event_head.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/event_item_header.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/events-js.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/events_cal-js.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/events_tools_side.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/failed_updates.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_acheckbox.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_checkbox.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_combobox.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_custom.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_input.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_intcheckbox.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_password.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_radio.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_richtext.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_select.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_select_raw.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_textarea.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_themeselect.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/field_yesno.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/fileas_widget.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/filebrowser.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/filer_dialog.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/follow.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/generic_links_widget.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/group_edit.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/group_selection.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/group_side.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/groupeditor.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/head.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/hq.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/hq_controls.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/install.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/install_checks.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/install_db.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/install_settings.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/invite.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/item_import.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/jot-header.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/jot.tpl5
-rw-r--r--[-rwxr-xr-x]view/tpl/jot_geotag.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/js_strings.tpl9
-rw-r--r--[-rwxr-xr-x]view/tpl/lang_selector.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/like_noshare.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/login.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/logout.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/lostpass.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/mail_conv.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/mail_display.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/mail_head.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/mail_list.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/main_slider.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/message_side.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/micropro_img.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/micropro_txt.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/mood_content.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/msg-header.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/myapps.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/navbar_default.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/navbar_tucson.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/new_channel.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/notifications.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/notify.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/oauth.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/oauth2.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/oauth2_edit.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/oauth_authorize.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/oauth_authorize_done.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/oauth_edit.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/oembed_video.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/oexchange_xrd.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/page_display.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/peoplefind.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photo_album.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photo_album_portfolio.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photo_albums.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photo_drop.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photo_item.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photo_portfolio.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photo_top.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photo_view.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photos_recent.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photos_upload.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/photosajax.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/poco_entry_xml.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/poco_xml.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/poke_content.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/posted_date_widget.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/profed_head.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/profile_advanced.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/profile_edit.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/profile_entry.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/profile_listing_header.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/profile_photo.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/profile_vcard.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/profile_vcard_short.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/prv_message.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/pwdreset.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/register.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/remote_friends_common.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/removeme.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/rmagic.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/search_item.tpl2
-rw-r--r--[-rwxr-xr-x]view/tpl/settings.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/settings_account.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/settings_addons.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/settings_display.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/settings_features.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/settings_module.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/settings_nick_set.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/siteinfo.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/suggest_friends.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/suggest_page.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/threaded_conversation.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/viewcontact_template.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/xchan_vcard.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/xrd_host.tpl0
-rw-r--r--[-rwxr-xr-x]view/tpl/xrd_person.tpl0
482 files changed, 55779 insertions, 14724 deletions
diff --git a/.gitignore b/.gitignore
index fa09c4ee6..fa09c4ee6 100755..100644
--- a/.gitignore
+++ b/.gitignore
diff --git a/.homeinstall/zotserver-setup.sh b/.homeinstall/zotserver-setup.sh
index 42ff6685d..42ff6685d 100755..100644
--- a/.homeinstall/zotserver-setup.sh
+++ b/.homeinstall/zotserver-setup.sh
diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy
index bc3050339..bc3050339 100755..100644
--- a/.openshift/action_hooks/deploy
+++ b/.openshift/action_hooks/deploy
diff --git a/.openshift/cron/weekly/chronograph b/.openshift/cron/weekly/chronograph
index 61de949f4..61de949f4 100755..100644
--- a/.openshift/cron/weekly/chronograph
+++ b/.openshift/cron/weekly/chronograph
diff --git a/CHANGELOG b/CHANGELOG
index 629d8b44c..2c384ca97 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,56 @@
+Hubzilla 5.2.1 (2021-01-16)
+ - Fix attach_upgrade() to catch all broken entries in attach
+ - Fix collect_recipients() public policy filter for zot6
+ - Fix leaking of duplicate tasks in queueworker addon_common
+
+
+Hubzilla 5.2 (2021-01-13)
+ - Use libzotdir for directory
+ - Streamline usage of channel url for keyId
+ - Basic work on PHP8 compatibility
+ - Improve performance for forum post edit action
+ - Improve File App tiles view
+ - Update es strings
+ - Update ru strings
+ - Implement directory download via zip files in Files App
+ - Implement bulk file download via zip files in Files App
+ - Deprecate ! and !! forum tags - use direct messages to post to forums
+ - Do not show forums where we do not have permission to post in ACL selector
+ - Implement lockview for Files App
+ - Implement file and directory rename functionality Files App
+ - Implement file and directory copy functionality in Files App
+ - Implement file and directory move functionality in Files App
+ - Implement categories for files and directories in Files App
+ - Implement drag and drop move action for files and directories in Files App
+ - Implement bulk file actions for move, copy, categories and permissions
+ - Implement a files categories widget
+ - Implement a breadcrumb view for file paths
+ - Rewrite xchan_vcard template
+ - Update composer libs
+
+ Bugfixes
+ - Fix direct messages by forum channel turned into group item
+ - Fix ID3Parser composer autoload
+ - Fix issue where directory_fallback_servers were not accessible from static function
+ - Fix missing constant defenition for HUBLOC_OFFLINE
+ - Fix sync_directories() including known dead sites
+ - Fix undefined variable in poller preventing Onedirsync from running
+ - Fix w2w posts not editable/deletable from local server
+ - Fix issue where categories were not saved on forum wall posts
+ - Fix no channel_id provided for contact_remove() in reply_purge()
+ - Fix typo in notifier command
+ - Fix profile title/description allowed more than 191 characters
+
+ Addons
+ - Queueworker: cleanup whitespace
+ - Queueworker: add some tweaks to prevent deadlocks for postgresql
+ - Flashcards: compatibility for the changes in the Files App
+ - Openstreemap: fix hostname parsing from URL
+ - Openstreemap: fix content security policy
+ - Pubcrawl: fix peertube video display
+ - Pubcrawl: deliver updates to anyone owning the item
+
+
Hubzilla 5.0.8 (2020-12-30)
- Fix single quotes not escaped in the notifications title (issue 1503)
- Return zot6 xchans for random_profile()
diff --git a/SBOM.md b/SBOM.md
index e54b4d4ac..a26faad58 100644
--- a/SBOM.md
+++ b/SBOM.md
@@ -3,27 +3,28 @@
|Name|Version|License|Source|
|----|-------|-------|------|
|blueimp/jquery-file-upload|10.31.0.0|MIT|https://github.com/vkhramtsov/jQuery-File-Upload.git|
+|brick/math|0.9.1.0|MIT|https://github.com/brick/math.git|
|bshaffer/oauth2-server-php|1.11.1.0|MIT|https://github.com/bshaffer/oauth2-server-php.git|
-|commerceguys/intl|1.0.5.0|MIT|https://github.com/commerceguys/intl.git|
+|commerceguys/intl|1.0.7.0|MIT|https://github.com/commerceguys/intl.git|
|desandro/imagesloaded|4.1.4.0|MIT|https://github.com/desandro/imagesloaded.git|
|ezyang/htmlpurifier|4.13.0.0|LGPL-2.1-or-later|https://github.com/ezyang/htmlpurifier.git|
|league/html-to-markdown|4.10.0.0|MIT|https://github.com/thephpleague/html-to-markdown.git|
|lukasreschke/id3parser|0.0.3.0|GPL|https://github.com/LukasReschke/ID3Parser.git|
|michelf/php-markdown|1.9.0.0|BSD-3-Clause|https://github.com/michelf/php-markdown.git|
-|paragonie/random_compat|9.99.99.0|MIT|https://github.com/paragonie/random_compat.git|
-|pear/text_languagedetect|1.0.0.0|BSD-2-Clause|https://github.com/pear/Text_LanguageDetect.git|
+|pear/text_languagedetect|1.0.1.0|BSD-2-Clause|https://github.com/pear/Text_LanguageDetect.git|
|psr/log|1.1.3.0|MIT|https://github.com/php-fig/log.git|
-|ramsey/uuid|3.9.3.0|MIT|https://github.com/ramsey/uuid.git|
-|sabre/dav|4.1.1.0|BSD-3-Clause|https://github.com/sabre-io/dav.git|
-|sabre/event|5.1.0.0|BSD-3-Clause|https://github.com/sabre-io/event.git|
-|sabre/http|5.1.0.0|BSD-3-Clause|https://github.com/sabre-io/http.git|
-|sabre/uri|2.2.0.0|BSD-3-Clause|https://github.com/sabre-io/uri.git|
-|sabre/vobject|4.3.1.0|BSD-3-Clause|https://github.com/sabre-io/vobject.git|
-|sabre/xml|2.2.1.0|BSD-3-Clause|https://github.com/sabre-io/xml.git|
-|simplepie/simplepie|1.5.5.0|BSD-3-Clause|https://github.com/simplepie/simplepie.git|
+|ramsey/collection|1.1.1.0|MIT|https://github.com/ramsey/collection.git|
+|ramsey/uuid|4.1.1.0|MIT|https://github.com/ramsey/uuid.git|
+|sabre/dav|4.1.3.0|BSD-3-Clause|https://github.com/sabre-io/dav.git|
+|sabre/event|5.1.2.0|BSD-3-Clause|https://github.com/sabre-io/event.git|
+|sabre/http|5.1.1.0|BSD-3-Clause|https://github.com/sabre-io/http.git|
+|sabre/uri|2.2.1.0|BSD-3-Clause|https://github.com/sabre-io/uri.git|
+|sabre/vobject|4.3.3.0|BSD-3-Clause|https://github.com/sabre-io/vobject.git|
+|sabre/xml|2.2.3.0|BSD-3-Clause|https://github.com/sabre-io/xml.git|
+|simplepie/simplepie|1.5.6.0|BSD-3-Clause|https://github.com/simplepie/simplepie.git|
|smarty/smarty|3.1.36.0|LGPL-3.0|https://github.com/smarty-php/smarty.git|
-|symfony/polyfill-ctype|1.13.1.0|MIT|https://github.com/symfony/polyfill-ctype.git|
-|twbs/bootstrap|4.5.2.0|MIT|https://github.com/twbs/bootstrap.git|
+|symfony/polyfill-ctype|1.20.0.0|MIT|https://github.com/symfony/polyfill-ctype.git|
+|twbs/bootstrap|4.5.3.0|MIT|https://github.com/twbs/bootstrap.git|
|fullcalendar/fullcalendar|4.4.2.0|MIT|https://github.com/fullcalendar/fullcalendar.git|
|miromannino/Justified-Gallery|3.8.1.0|MIT|https://github.com/miromannino/Justified-Gallery.git|
|fengyuanchen/cropperjs|1.5.7.0|MIT|https://github.com/fengyuanchen/cropperjs.git|
diff --git a/Zotlabs/Access/AccessList.php b/Zotlabs/Access/AccessList.php
index 7cf7b5587..af6c4b7a6 100644
--- a/Zotlabs/Access/AccessList.php
+++ b/Zotlabs/Access/AccessList.php
@@ -54,7 +54,7 @@ class AccessList {
* * \e string \b channel_deny_gid => string of denied gids
*/
function __construct($channel) {
- if($channel) {
+ if ($channel) {
$this->allow_cid = $channel['channel_allow_cid'];
$this->allow_gid = $channel['channel_allow_gid'];
$this->deny_cid = $channel['channel_deny_cid'];
@@ -99,7 +99,6 @@ class AccessList {
$this->allow_gid = $arr['allow_gid'];
$this->deny_cid = $arr['deny_cid'];
$this->deny_gid = $arr['deny_gid'];
-
$this->explicit = $explicit;
}
diff --git a/Zotlabs/Access/PermissionLimits.php b/Zotlabs/Access/PermissionLimits.php
index c11dc95e6..fb5fe6133 100644
--- a/Zotlabs/Access/PermissionLimits.php
+++ b/Zotlabs/Access/PermissionLimits.php
@@ -2,6 +2,7 @@
namespace Zotlabs\Access;
+use App;
use Zotlabs\Lib\PConfig;
/**
@@ -39,10 +40,10 @@ class PermissionLimits {
*/
static public function Std_Limits() {
$limits = [];
- $perms = Permissions::Perms();
+ $perms = Permissions::Perms();
- foreach($perms as $k => $v) {
- if(strstr($k, 'view'))
+ foreach ($perms as $k => $v) {
+ if (strstr($k, 'view'))
$limits[$k] = PERMS_PUBLIC;
else
$limits[$k] = PERMS_SPECIFIC;
@@ -77,14 +78,14 @@ class PermissionLimits {
* * \b array with all permission limits, if $perm is not set
*/
static public function Get($channel_id, $perm = '') {
- if($perm) {
+ if ($perm) {
return intval(PConfig::Get($channel_id, 'perm_limits', $perm));
}
PConfig::Load($channel_id);
- if(array_key_exists($channel_id, \App::$config)
- && array_key_exists('perm_limits', \App::$config[$channel_id]))
- return \App::$config[$channel_id]['perm_limits'];
+ if (array_key_exists($channel_id, App::$config)
+ && array_key_exists('perm_limits', App::$config[$channel_id]))
+ return App::$config[$channel_id]['perm_limits'];
return false;
}
diff --git a/Zotlabs/Access/PermissionRoles.php b/Zotlabs/Access/PermissionRoles.php
index 82df0c34b..2bcce4eb4 100644
--- a/Zotlabs/Access/PermissionRoles.php
+++ b/Zotlabs/Access/PermissionRoles.php
@@ -218,13 +218,13 @@ class PermissionRoles {
// set permissionlimits for this permission here, for example:
// if($perm === 'mynewperm')
- // \Zotlabs\Access\PermissionLimits::Set($uid,$perm,1);
+ // PermissionLimits::Set($uid,$perm,1);
if($perm === 'view_wiki')
- \Zotlabs\Access\PermissionLimits::Set($uid, $perm, PERMS_PUBLIC);
+ PermissionLimits::Set($uid, $perm, PERMS_PUBLIC);
if($perm === 'write_wiki')
- \Zotlabs\Access\PermissionLimits::Set($uid, $perm, PERMS_SPECIFIC);
+ PermissionLimits::Set($uid, $perm, PERMS_SPECIFIC);
// set autoperms here if applicable
@@ -262,11 +262,11 @@ class PermissionRoles {
case 'view_wiki':
set_abconfig($uid,$ab['abook_xchan'],'my_perms',$perm,
intval(get_abconfig($uid,$ab['abook_xchan'],'my_perms','view_pages')));
-
+ break;
case 'write_wiki':
set_abconfig($uid,$ab['abook_xchan'],'my_perms',$perm,
intval(get_abconfig($uid,$ab['abook_xchan'],'my_perms','write_pages')));
-
+ break;
default:
break;
}
diff --git a/Zotlabs/Access/Permissions.php b/Zotlabs/Access/Permissions.php
index 35016ed57..df5472cc3 100644
--- a/Zotlabs/Access/Permissions.php
+++ b/Zotlabs/Access/Permissions.php
@@ -75,7 +75,7 @@ class Permissions {
$x = [
'permissions' => $perms,
- 'filter' => $filter
+ 'filter' => $filter
];
/**
* @hooks permissions_list
@@ -84,7 +84,7 @@ class Permissions {
*/
call_hooks('permissions_list', $x);
- return($x['permissions']);
+ return ($x['permissions']);
}
/**
@@ -96,10 +96,10 @@ class Permissions {
*/
static public function BlockedAnonPerms() {
- $res = [];
+ $res = [];
$perms = PermissionLimits::Std_limits();
- foreach($perms as $perm => $limit) {
- if($limit != PERMS_PUBLIC) {
+ foreach ($perms as $perm => $limit) {
+ if ($limit != PERMS_PUBLIC) {
$res[] = $perm;
}
}
@@ -111,7 +111,7 @@ class Permissions {
*/
call_hooks('write_perms', $x);
- return($x['permissions']);
+ return ($x['permissions']);
}
/**
@@ -120,20 +120,20 @@ class Permissions {
* Converts [ 0 => 'view_stream', ... ]
* to [ 'view_stream' => 1 ] for any permissions in $arr;
* Undeclared permissions which exist in Perms() are added and set to 0.
- *
+ *
* @param array $arr
* @return array
*/
static public function FilledPerms($arr) {
- if(is_null($arr)) {
+ if (is_null($arr)) {
btlogger('FilledPerms: null');
$arr = [];
}
$everything = self::Perms();
- $ret = [];
- foreach($everything as $k => $v) {
- if(in_array($k, $arr))
+ $ret = [];
+ foreach ($everything as $k => $v) {
+ if (in_array($k, $arr))
$ret[$k] = 1;
else
$ret[$k] = 0;
@@ -155,9 +155,9 @@ class Permissions {
*/
static public function OPerms($arr) {
$ret = [];
- if($arr) {
- foreach($arr as $k => $v) {
- $ret[] = [ 'name' => $k, 'value' => $v ];
+ if ($arr) {
+ foreach ($arr as $k => $v) {
+ $ret[] = ['name' => $k, 'value' => $v];
}
}
return $ret;
@@ -170,15 +170,16 @@ class Permissions {
* @return boolean|array
*/
static public function FilledAutoperms($channel_id) {
- if(! intval(get_pconfig($channel_id,'system','autoperms')))
+ if (!intval(get_pconfig($channel_id, 'system', 'autoperms')))
return false;
$arr = [];
+
$r = q("select * from pconfig where uid = %d and cat = 'autoperms'",
intval($channel_id)
);
- if($r) {
- foreach($r as $rr) {
+ if ($r) {
+ foreach ($r as $rr) {
$arr[$rr['k']] = intval($rr['v']);
}
}
@@ -193,11 +194,11 @@ class Permissions {
* @return boolean true if all perms from $p1 exist also in $p2
*/
static public function PermsCompare($p1, $p2) {
- foreach($p1 as $k => $v) {
- if(! array_key_exists($k, $p2))
+ foreach ($p1 as $k => $v) {
+ if (!array_key_exists($k, $p2))
return false;
- if($p1[$k] != $p2[$k])
+ if ($p1[$k] != $p2[$k])
return false;
}
@@ -214,18 +215,18 @@ class Permissions {
*/
static public function connect_perms($channel_id) {
- $my_perms = [];
- $permcat = null;
+ $my_perms = [];
+ $permcat = null;
$automatic = 0;
// If a default permcat exists, use that
- $pc = ((feature_enabled($channel_id,'permcats')) ? get_pconfig($channel_id,'system','default_permcat') : 'default');
- if(! in_array($pc, [ '','default' ])) {
- $pcp = new Zlib\Permcat($channel_id);
+ $pc = ((feature_enabled($channel_id, 'permcats')) ? get_pconfig($channel_id, 'system', 'default_permcat') : 'default');
+ if (!in_array($pc, ['', 'default'])) {
+ $pcp = new Zlib\Permcat($channel_id);
$permcat = $pcp->fetch($pc);
- if($permcat && $permcat['perms']) {
- foreach($permcat['perms'] as $p) {
+ if ($permcat && $permcat['perms']) {
+ foreach ($permcat['perms'] as $p) {
$my_perms[$p['name']] = $p['value'];
}
}
@@ -235,15 +236,15 @@ class Permissions {
// and if there was no permcat or a default permcat, set the perms
// from the role
- $role = get_pconfig($channel_id,'system','permissions_role');
- if($role) {
+ $role = get_pconfig($channel_id, 'system', 'permissions_role');
+ if ($role) {
$xx = PermissionRoles::role_perms($role);
- if($xx['perms_auto'])
+ if ($xx['perms_auto'])
$automatic = 1;
- if((! $my_perms) && ($xx['perms_connect'])) {
+ if ((!$my_perms) && ($xx['perms_connect'])) {
$default_perms = $xx['perms_connect'];
- $my_perms = Permissions::FilledPerms($default_perms);
+ $my_perms = Permissions::FilledPerms($default_perms);
}
}
@@ -251,11 +252,11 @@ class Permissions {
// it is likely a custom permissions role. First see if there are any
// automatic permissions.
- if(! $my_perms) {
+ if (!$my_perms) {
$m = Permissions::FilledAutoperms($channel_id);
- if($m) {
+ if ($m) {
$automatic = 1;
- $my_perms = $m;
+ $my_perms = $m;
}
}
@@ -263,35 +264,35 @@ class Permissions {
// custom perms but they are not automatic. They will be stored in abconfig with
// the channel's channel_hash (the 'self' connection).
- if(! $my_perms) {
+ if (!$my_perms) {
$r = q("select channel_hash from channel where channel_id = %d",
intval($channel_id)
);
- if($r) {
+ if ($r) {
$x = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'my_perms'",
intval($channel_id),
dbesc($r[0]['channel_hash'])
);
- if($x) {
- foreach($x as $xv) {
+ if ($x) {
+ foreach ($x as $xv) {
$my_perms[$xv['k']] = intval($xv['v']);
}
}
}
}
- return ( [ 'perms' => $my_perms, 'automatic' => $automatic ] );
+ return (['perms' => $my_perms, 'automatic' => $automatic]);
}
static public function serialise($p) {
$n = [];
- if($p) {
- foreach($p as $k => $v) {
- if(intval($v)) {
+ if ($p) {
+ foreach ($p as $k => $v) {
+ if (intval($v)) {
$n[] = $k;
}
}
}
- return implode(',',$n);
+ return implode(',', $n);
}
}
diff --git a/Zotlabs/Daemon/Addon.php b/Zotlabs/Daemon/Addon.php
index c2889e596..c6778750d 100644
--- a/Zotlabs/Daemon/Addon.php
+++ b/Zotlabs/Daemon/Addon.php
@@ -2,13 +2,12 @@
namespace Zotlabs\Daemon;
-require_once('include/zot.php');
-
class Addon {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
- call_hooks('daemon_addon',$argv);
+ call_hooks('daemon_addon', $argv);
}
+
}
diff --git a/Zotlabs/Daemon/Cache_embeds.php b/Zotlabs/Daemon/Cache_embeds.php
index 08088abd6..9e5b8d2bb 100644
--- a/Zotlabs/Daemon/Cache_embeds.php
+++ b/Zotlabs/Daemon/Cache_embeds.php
@@ -2,7 +2,6 @@
namespace Zotlabs\Daemon;
-
class Cache_embeds {
static public function run($argc,$argv) {
diff --git a/Zotlabs/Daemon/Cache_query.php b/Zotlabs/Daemon/Cache_query.php
new file mode 100644
index 000000000..5f92ae6d0
--- /dev/null
+++ b/Zotlabs/Daemon/Cache_query.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace Zotlabs\Daemon;
+
+use Zotlabs\Lib\Cache;
+
+class Cache_query {
+
+ static public function run($argc, $argv) {
+
+ if(! $argc == 3)
+ return;
+
+ $key = $argv[1];
+
+ $pid = get_config('procid', $key, false);
+ if ($pid && (function_exists('posix_kill') ? posix_kill($pid, 0) : true)) {
+ logger($key . ': procedure already run with pid ' . $pid, LOGGER_DEBUG);
+ return;
+ }
+
+ $pid = getmypid();
+ set_config('procid', $key, $pid);
+
+ array_shift($argv);
+ array_shift($argv);
+
+ $arr = json_decode(base64_decode($argv[0]), true);
+
+ $r = call_user_func_array('q', $arr);
+ if($r)
+ Cache::set($key, serialize($r));
+
+ del_config('procid', $key);
+ }
+}
diff --git a/Zotlabs/Daemon/Checksites.php b/Zotlabs/Daemon/Checksites.php
index 3bcfdd7cf..7227e96e4 100644
--- a/Zotlabs/Daemon/Checksites.php
+++ b/Zotlabs/Daemon/Checksites.php
@@ -6,34 +6,35 @@ require_once('include/hubloc.php');
class Checksites {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
logger('checksites: start');
-
- if(($argc > 1) && ($argv[1]))
+
+ if (($argc > 1) && ($argv[1]))
$site_id = $argv[1];
- if($site_id)
+ if ($site_id)
$sql_options = " and site_url = '" . dbesc($argv[1]) . "' ";
- $days = intval(get_config('system','sitecheckdays'));
- if($days < 1)
+ $days = intval(get_config('system', 'sitecheckdays'));
+ if ($days < 1)
$days = 30;
$r = q("select * from site where site_dead = 0 and site_update < %s - INTERVAL %s and site_type = %d $sql_options ",
- db_utcnow(), db_quoteinterval($days . ' DAY'),
+ db_utcnow(),
+ db_quoteinterval($days . ' DAY'),
intval(SITE_TYPE_ZOT)
);
- if(! $r)
+ if (!$r)
return;
- foreach($r as $rr) {
- if(! strcasecmp($rr['site_url'],z_root()))
+ foreach ($r as $rr) {
+ if (!strcasecmp($rr['site_url'], z_root()))
continue;
$x = ping_site($rr['site_url']);
- if($x['success']) {
+ if ($x['success']) {
logger('checksites: ' . $rr['site_url']);
q("update site set site_update = '%s' where site_url = '%s' ",
dbesc(datetime_convert()),
diff --git a/Zotlabs/Daemon/Convo.php b/Zotlabs/Daemon/Convo.php
new file mode 100644
index 000000000..940216b2c
--- /dev/null
+++ b/Zotlabs/Daemon/Convo.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace Zotlabs\Daemon;
+
+use Zotlabs\Lib\Activity;
+use Zotlabs\Lib\ActivityStreams;
+use Zotlabs\Lib\ASCollection;
+
+class Convo {
+
+ static public function run($argc, $argv) {
+
+ logger('convo invoked: ' . print_r($argv, true));
+
+ if ($argc != 4) {
+ return;
+ }
+
+ $id = $argv[1];
+ $channel_id = intval($argv[2]);
+ $contact_hash = $argv[3];
+
+ $channel = channelx_by_n($channel_id);
+ if (!$channel) {
+ return;
+ }
+
+ $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE abook_channel = %d and abook_xchan = '%s' LIMIT 1",
+ intval($channel_id),
+ dbesc($contact_hash)
+ );
+ if (!$r) {
+ return;
+ }
+
+ $contact = array_shift($r);
+
+ $obj = new ASCollection($id, $channel);
+
+ $messages = $obj->get();
+
+ if ($messages) {
+ foreach ($messages as $message) {
+ if (is_string($message)) {
+ $message = Activity::fetch($message, $channel);
+ }
+ // set client flag because comments will probably just be objects and not full blown activities
+ // and that lets us use implied_create
+ $AS = new ActivityStreams($message);
+ if ($AS->is_valid() && is_array($AS->obj)) {
+ $item = Activity::decode_note($AS);
+ Activity::store($channel, $contact['abook_xchan'], $AS, $item);
+ }
+ }
+ }
+ }
+}
diff --git a/Zotlabs/Daemon/Cron.php b/Zotlabs/Daemon/Cron.php
index 703d6ce08..4732dfa75 100644
--- a/Zotlabs/Daemon/Cron.php
+++ b/Zotlabs/Daemon/Cron.php
@@ -6,14 +6,14 @@ use Zotlabs\Lib\Libsync;
class Cron {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
- $maxsysload = intval(get_config('system','maxloadavg'));
- if($maxsysload < 1)
+ $maxsysload = intval(get_config('system', 'maxloadavg'));
+ if ($maxsysload < 1)
$maxsysload = 50;
- if(function_exists('sys_getloadavg')) {
+ if (function_exists('sys_getloadavg')) {
$load = sys_getloadavg();
- if(intval($load[0]) > $maxsysload) {
+ if (intval($load[0]) > $maxsysload) {
logger('system: load ' . $load . ' too high. Cron deferred to next scheduled run.');
return;
}
@@ -21,17 +21,18 @@ class Cron {
// Check for a lockfile. If it exists, but is over an hour old, it's stale. Ignore it.
$lockfile = 'store/[data]/cron';
- if((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600))
- && (! get_config('system','override_cron_lockfile'))) {
+ if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600))
+ && (!get_config('system', 'override_cron_lockfile'))) {
logger("cron: Already running");
return;
}
-
+
// Create a lockfile. Needs two vars, but $x doesn't need to contain anything.
+ $x = '';
file_put_contents($lockfile, $x);
logger('cron: start');
-
+
// run queue delivery process in the background
Master::Summon(array('Queue'));
@@ -46,7 +47,7 @@ class Cron {
db_utcnow(),
db_quoteinterval('3 MINUTE')
);
-
+
// expire any expired mail
q("delete from mail where expires > '%s' and expires < %s ",
@@ -54,19 +55,23 @@ class Cron {
db_utcnow()
);
+ $interval = get_config('system', 'delivery_interval', 3);
+
// expire any expired items
$r = q("select id,item_wall from item where expires > '2001-01-01 00:00:00' and expires < %s
and item_deleted = 0 ",
db_utcnow()
);
- if($r) {
+ if ($r) {
require_once('include/items.php');
- foreach($r as $rr) {
- drop_item($rr['id'],false,(($rr['item_wall']) ? DROPITEM_PHASE1 : DROPITEM_NORMAL));
- if($rr['item_wall']) {
+ foreach ($r as $rr) {
+ drop_item($rr['id'], false, (($rr['item_wall']) ? DROPITEM_PHASE1 : DROPITEM_NORMAL));
+ if ($rr['item_wall']) {
// The notifier isn't normally invoked unless item_drop is interactive.
- Master::Summon( [ 'Notifier', 'drop', $rr['id'] ] );
+ Master::Summon(['Notifier', 'drop', $rr['id']]);
+ if ($interval)
+ @time_sleep_until(microtime(true) + (float)$interval);
}
}
}
@@ -78,9 +83,9 @@ class Cron {
dbesc(NULL_DATE),
db_utcnow()
);
- if($r) {
+ if ($r) {
require_once('include/security.php');
- foreach($r as $rr) {
+ foreach ($r as $rr) {
atoken_delete($rr['atoken_id']);
}
}
@@ -90,33 +95,33 @@ class Cron {
// or dead entries.
$r = q("select channel_id from channel where channel_dirdate < %s - INTERVAL %s and channel_removed = 0",
- db_utcnow(),
+ db_utcnow(),
db_quoteinterval('30 DAY')
);
- if($r) {
- foreach($r as $rr) {
- Master::Summon(array('Directory',$rr['channel_id'],'force'));
- if($interval)
- @time_sleep_until(microtime(true) + (float) $interval);
+ if ($r) {
+ foreach ($r as $rr) {
+ Master::Summon(array('Directory', $rr['channel_id'], 'force'));
+ if ($interval)
+ @time_sleep_until(microtime(true) + (float)$interval);
}
}
-
+
// Clean expired photos from cache
-
+
$r = q("SELECT DISTINCT xchan, content FROM photo WHERE photo_usage = %d AND expires < %s - INTERVAL %s",
intval(PHOTO_CACHE),
db_utcnow(),
- db_quoteinterval(get_config('system','active_expire_days', '30') . ' DAY')
+ db_quoteinterval(get_config('system', 'active_expire_days', '30') . ' DAY')
);
- if($r) {
+ if ($r) {
q("DELETE FROM photo WHERE photo_usage = %d AND expires < %s - INTERVAL %s",
intval(PHOTO_CACHE),
db_utcnow(),
- db_quoteinterval(get_config('system','active_expire_days', '30') . ' DAY')
+ db_quoteinterval(get_config('system', 'active_expire_days', '30') . ' DAY')
);
- foreach($r as $rr) {
+ foreach ($r as $rr) {
$file = dbunescbin($rr['content']);
- if(is_file($file)) {
+ if (is_file($file)) {
@unlink($file);
@rmdir(dirname($file));
logger('info: deleted cached photo file ' . $file, LOGGER_DEBUG);
@@ -130,27 +135,29 @@ class Cron {
$r = q("select id from item where item_delayed = 1 and created <= %s and created > '%s' ",
db_utcnow(),
- dbesc(datetime_convert('UTC','UTC','now - 2 days'))
+ dbesc(datetime_convert('UTC', 'UTC', 'now - 2 days'))
);
- if($r) {
- foreach($r as $rr) {
+ if ($r) {
+ foreach ($r as $rr) {
$x = q("update item set item_delayed = 0 where id = %d",
intval($rr['id'])
);
- if($x) {
+ if ($x) {
$z = q("select * from item where id = %d",
- intval($message_id)
+ intval($rr['id'])
);
- if($z) {
+ if ($z) {
xchan_query($z);
$sync_item = fetch_post_tags($z);
Libsync::build_sync_packet($sync_item[0]['uid'],
- [
- 'item' => [ encode_item($sync_item[0],true) ]
+ [
+ 'item' => [encode_item($sync_item[0], true)]
]
);
}
- Master::Summon(array('Notifier','wall-new',$rr['id']));
+ Master::Summon(array('Notifier', 'wall-new', $rr['id']));
+ if ($interval)
+ @time_sleep_until(microtime(true) + (float)$interval);
}
}
}
@@ -163,27 +170,22 @@ class Cron {
require_once('include/attach.php');
attach_upgrade();
- $abandon_days = intval(get_config('system','account_abandon_days'));
- if($abandon_days < 1)
- $abandon_days = 0;
-
-
// once daily run birthday_updates and then expire in background
// FIXME: add birthday updates, both locally and for xprof for use
// by directory servers
- $d1 = intval(get_config('system','last_expire_day'));
- $d2 = intval(datetime_convert('UTC','UTC','now','d'));
+ $d1 = intval(get_config('system', 'last_expire_day'));
+ $d2 = intval(datetime_convert('UTC', 'UTC', 'now', 'd'));
// Allow somebody to staggger daily activities if they have more than one site on their server,
// or if it happens at an inconvenient (busy) hour.
- $h1 = intval(get_config('system','cron_hour'));
- $h2 = intval(datetime_convert('UTC','UTC','now','G'));
+ $h1 = intval(get_config('system', 'cron_hour'));
+ $h2 = intval(datetime_convert('UTC', 'UTC', 'now', 'G'));
- if(($d2 != $d1) && ($h1 == $h2)) {
+ if (($d2 != $d1) && ($h1 == $h2)) {
Master::Summon(array('Cron_daily'));
}
@@ -192,14 +194,14 @@ class Cron {
$r = q("select xchan_photo_l, xchan_hash from xchan where xchan_photo_l != '' and xchan_photo_m = ''
and xchan_photo_date < %s - INTERVAL %s",
- db_utcnow(),
+ db_utcnow(),
db_quoteinterval('1 DAY')
);
- if($r) {
+ if ($r) {
require_once('include/photo/photo_driver.php');
- foreach($r as $rr) {
+ foreach ($r as $rr) {
$photos = import_xchan_photo($rr['xchan_photo_l'], $rr['xchan_hash'], false, true);
- $x = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
+ q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
where xchan_hash = '%s'",
dbesc($photos[0]),
dbesc($photos[1]),
@@ -213,31 +215,28 @@ class Cron {
// pull in some public posts
- $disable_discover_tab = get_config('system','disable_discover_tab') || get_config('system','disable_discover_tab') === false;
- if(! $disable_discover_tab)
+/* $disable_discover_tab = get_config('system', 'disable_discover_tab') || get_config('system', 'disable_discover_tab') === false;
+ if (!$disable_discover_tab)
Master::Summon(array('Externals'));
+*/
- $generation = 0;
+ $restart = false;
- $restart = false;
-
- if(($argc > 1) && ($argv[1] == 'restart')) {
- $restart = true;
+ if (($argc > 1) && ($argv[1] == 'restart')) {
+ $restart = true;
$generation = intval($argv[2]);
- if(! $generation)
+ if (!$generation)
return;
}
reload_plugins();
- $d = datetime_convert();
-
// TODO check to see if there are any cronhooks before wasting a process
- if(! $restart)
+ if (!$restart)
Master::Summon(array('Cronhooks'));
- set_config('system','lastcron',datetime_convert());
+ set_config('system', 'lastcron', datetime_convert());
//All done - clear the lockfile
@unlink($lockfile);
diff --git a/Zotlabs/Daemon/Cron_daily.php b/Zotlabs/Daemon/Cron_daily.php
index 07533cc6e..1983c68e6 100644
--- a/Zotlabs/Daemon/Cron_daily.php
+++ b/Zotlabs/Daemon/Cron_daily.php
@@ -2,9 +2,11 @@
namespace Zotlabs\Daemon;
+use Zotlabs\Lib\Libzotdir;
+
class Cron_daily {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
logger('cron_daily: start');
@@ -13,15 +15,12 @@ class Cron_daily {
*
*/
-
- require_once('include/dir_fns.php');
- check_upstream_directory();
-
+ Libzotdir::check_upstream_directory();
// Fire off the Cron_weekly process if it's the correct day.
-
- $d3 = intval(datetime_convert('UTC','UTC','now','N'));
- if($d3 == 7) {
+
+ $d3 = intval(datetime_convert('UTC', 'UTC', 'now', 'N'));
+ if ($d3 == 7) {
Master::Summon(array('Cron_weekly'));
}
@@ -52,8 +51,8 @@ class Cron_daily {
// Clean up emdedded content cache
q("DELETE FROM cache WHERE updated < %s - INTERVAL %s",
- db_utcnow(),
- db_quoteinterval(get_config('system','active_expire_days', '30') . ' DAY')
+ db_utcnow(),
+ db_quoteinterval(get_config('system', 'active_expire_days', '30') . ' DAY')
);
//update statistics in config
@@ -67,8 +66,8 @@ class Cron_daily {
// expire old delivery reports
- $keep_reports = intval(get_config('system','expire_delivery_reports'));
- if($keep_reports === 0)
+ $keep_reports = intval(get_config('system', 'expire_delivery_reports'));
+ if ($keep_reports === 0)
$keep_reports = 10;
q("delete from dreport where dreport_time < %s - INTERVAL %s",
@@ -80,18 +79,16 @@ class Cron_daily {
downgrade_accounts();
// If this is a directory server, request a sync with an upstream
- // directory at least once a day, up to once every poll interval.
+ // directory at least once a day, up to once every poll interval.
// Pull remote changes and push local changes.
- // potential issue: how do we keep from creating an endless update loop?
+ // potential issue: how do we keep from creating an endless update loop?
- $dirmode = get_config('system','directory_mode');
+ $dirmode = get_config('system', 'directory_mode');
- if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
- require_once('include/dir_fns.php');
- sync_directories($dirmode);
+ if ($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
+ Libzotdir::sync_directories($dirmode);
}
-
Master::Summon(array('Expire'));
Master::Summon(array('Cli_suggest'));
@@ -99,9 +96,10 @@ class Cron_daily {
z6_discover();
- call_hooks('cron_daily',datetime_convert());
+ $date = datetime_convert();
+ call_hooks('cron_daily', $date);
- set_config('system','last_expire_day',intval(datetime_convert('UTC','UTC','now','d')));
+ set_config('system', 'last_expire_day', intval(datetime_convert('UTC', 'UTC', 'now', 'd')));
/**
* End Cron Daily
diff --git a/Zotlabs/Daemon/Cron_weekly.php b/Zotlabs/Daemon/Cron_weekly.php
index d44400767..407aa40ef 100644
--- a/Zotlabs/Daemon/Cron_weekly.php
+++ b/Zotlabs/Daemon/Cron_weekly.php
@@ -4,21 +4,22 @@ namespace Zotlabs\Daemon;
class Cron_weekly {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
/**
* Cron Weekly
- *
+ *
* Actions in the following block are executed once per day only on Sunday (once per week).
*
*/
- call_hooks('cron_weekly',datetime_convert());
+ $date = datetime_convert();
+ call_hooks('cron_weekly', $date);
z_check_cert();
prune_hub_reinstalls();
-
+
mark_orphan_hubsxchans();
// Find channels that were removed in the last three weeks, but
@@ -31,8 +32,8 @@ class Cron_weekly {
db_utcnow(), db_quoteinterval('21 DAY'),
db_utcnow(), db_quoteinterval('10 DAY')
);
- if($r) {
- foreach($r as $rv) {
+ if ($r) {
+ foreach ($r as $rv) {
channel_remove_final($rv['channel_id']);
}
}
@@ -43,14 +44,14 @@ class Cron_weekly {
db_utcnow(), db_quoteinterval('14 DAY')
);
- $dirmode = intval(get_config('system','directory_mode'));
- if($dirmode === DIRECTORY_MODE_SECONDARY || $dirmode === DIRECTORY_MODE_PRIMARY) {
- logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . urlencode(z_root()) . '&realm=' . urlencode(get_directory_realm())),true));
+ $dirmode = intval(get_config('system', 'directory_mode'));
+ if ($dirmode === DIRECTORY_MODE_SECONDARY || $dirmode === DIRECTORY_MODE_PRIMARY) {
+ logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . urlencode(z_root()) . '&realm=' . urlencode(get_directory_realm())), true));
}
// Check for dead sites
Master::Summon(array('Checksites'));
-
+
// update searchable doc indexes
Master::Summon(array('Importdoc'));
diff --git a/Zotlabs/Daemon/CurlAuth.php b/Zotlabs/Daemon/CurlAuth.php
index de41382e3..2396da9aa 100644
--- a/Zotlabs/Daemon/CurlAuth.php
+++ b/Zotlabs/Daemon/CurlAuth.php
@@ -2,6 +2,8 @@
namespace Zotlabs\Daemon;
+use App;
+
// generate a curl compatible cookie file with an authenticated session for the given channel_id.
// If this file is then used with curl and the destination url is sent through zid() or manually
// manipulated to add a zid, it should allow curl to provide zot magic-auth across domains.
@@ -10,15 +12,15 @@ namespace Zotlabs\Daemon;
class CurlAuth {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
- if($argc != 2)
+ if ($argc != 2)
return;
- \App::$session->start();
+ App::$session->start();
$_SESSION['authenticated'] = 1;
- $_SESSION['uid'] = $argv[1];
+ $_SESSION['uid'] = $argv[1];
$x = session_id();
@@ -29,14 +31,14 @@ class CurlAuth {
$output = '';
- if($e) {
+ if ($e) {
$lines = file($f);
- if($lines) {
- foreach($lines as $line) {
- if(strlen($line) > 0 && $line[0] != '#' && substr_count($line, "\t") == 6) {
+ if ($lines) {
+ foreach ($lines as $line) {
+ if (strlen($line) > 0 && $line[0] != '#' && substr_count($line, "\t") == 6) {
$tokens = explode("\t", $line);
$tokens = array_map('trim', $tokens);
- if($tokens[4] > time()) {
+ if ($tokens[4] > time()) {
$output .= $line . "\n";
}
}
@@ -46,9 +48,9 @@ class CurlAuth {
}
}
$t = time() + (24 * 3600);
- file_put_contents($f, $output . 'HttpOnly_' . \App::get_hostname() . "\tFALSE\t/\tTRUE\t$t\tPHPSESSID\t" . $x, (($e) ? FILE_APPEND : 0));
+ file_put_contents($f, $output . 'HttpOnly_' . App::get_hostname() . "\tFALSE\t/\tTRUE\t$t\tPHPSESSID\t" . $x, (($e) ? FILE_APPEND : 0));
- file_put_contents($c,$x);
+ file_put_contents($c, $x);
return;
}
diff --git a/Zotlabs/Daemon/Deliver.php b/Zotlabs/Daemon/Deliver.php
index c853af6a8..f8149ee69 100644
--- a/Zotlabs/Daemon/Deliver.php
+++ b/Zotlabs/Daemon/Deliver.php
@@ -5,25 +5,25 @@ namespace Zotlabs\Daemon;
require_once('include/queue_fn.php');
class Deliver {
-
- static public function run($argc,$argv) {
- if($argc < 2)
+ static public function run($argc, $argv) {
+
+ if ($argc < 2)
return;
- logger('deliver: invoked: ' . print_r($argv,true), LOGGER_DATA);
+ logger('deliver: invoked: ' . print_r($argv, true), LOGGER_DATA);
- for($x = 1; $x < $argc; $x ++) {
+ for ($x = 1; $x < $argc; $x++) {
- if(! $argv[$x])
+ if (!$argv[$x])
continue;
$r = q("select * from outq where outq_hash = '%s'",
dbesc($argv[$x])
);
- if($r) {
- queue_deliver($r[0],true);
+ if ($r) {
+ queue_deliver($r[0], true);
}
}
diff --git a/Zotlabs/Daemon/Deliver_hooks.php b/Zotlabs/Daemon/Deliver_hooks.php
index e8b5acef0..4d3ce4e1d 100644
--- a/Zotlabs/Daemon/Deliver_hooks.php
+++ b/Zotlabs/Daemon/Deliver_hooks.php
@@ -2,21 +2,18 @@
namespace Zotlabs\Daemon;
-require_once('include/zot.php');
-
class Deliver_hooks {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
- if($argc < 2)
+ if ($argc < 2)
return;
-
$r = q("select * from item where id = '%d'",
intval($argv[1])
);
- if($r)
- call_hooks('notifier_normal',$r[0]);
+ if ($r)
+ call_hooks('notifier_normal', $r[0]);
}
}
diff --git a/Zotlabs/Daemon/Directory.php b/Zotlabs/Daemon/Directory.php
index ab58432de..1f307b273 100644
--- a/Zotlabs/Daemon/Directory.php
+++ b/Zotlabs/Daemon/Directory.php
@@ -8,40 +8,40 @@ use Zotlabs\Lib\Queue;
class Directory {
- static public function run($argc,$argv){
+ static public function run($argc, $argv) {
- if($argc < 2)
+ if ($argc < 2)
return;
- $force = false;
+ $force = false;
$pushall = true;
- if($argc > 2) {
- if($argv[2] === 'force')
+ if ($argc > 2) {
+ if ($argv[2] === 'force')
$force = true;
- if($argv[2] === 'nopush')
+ if ($argv[2] === 'nopush')
$pushall = false;
- }
+ }
logger('directory update', LOGGER_DEBUG);
- $dirmode = get_config('system','directory_mode');
- if($dirmode === false)
+ $dirmode = get_config('system', 'directory_mode');
+ if ($dirmode === false)
$dirmode = DIRECTORY_MODE_NORMAL;
$x = q("select * from channel where channel_id = %d limit 1",
intval($argv[1])
);
- if(! $x)
+ if (!$x)
return;
$channel = $x[0];
- if($dirmode != DIRECTORY_MODE_NORMAL) {
+ if ($dirmode != DIRECTORY_MODE_NORMAL) {
// this is an in-memory update and we don't need to send a network packet.
- Libzotdir::local_dir_update($argv[1],$force);
+ Libzotdir::local_dir_update($argv[1], $force);
q("update channel set channel_dirdate = '%s' where channel_id = %d",
dbesc(datetime_convert()),
@@ -49,8 +49,8 @@ class Directory {
);
// Now update all the connections
- if($pushall)
- Master::Summon(array('Notifier','refresh_all',$channel['channel_id']));
+ if ($pushall)
+ Master::Summon(array('Notifier', 'refresh_all', $channel['channel_id']));
return;
}
@@ -63,14 +63,12 @@ class Directory {
// ensure the upstream directory is updated
-
- $packet = Libzot::build_packet($channel,(($force) ? 'force_refresh' : 'refresh'));
- $z = Libzot::zot($url,$packet,$channel);
-
+ $packet = Libzot::build_packet($channel, (($force) ? 'force_refresh' : 'refresh'));
+ $z = Libzot::zot($url, $packet, $channel);
// re-queue if unsuccessful
- if(! $z['success']) {
+ if (!$z['success']) {
/** @FIXME we aren't updating channel_dirdate if we have to queue
* the directory packet. That means we'll try again on the next poll run.
@@ -95,8 +93,8 @@ class Directory {
}
// Now update all the connections
- if($pushall)
- Master::Summon(array('Notifier','refresh_all',$channel['channel_id']));
+ if ($pushall)
+ Master::Summon(array('Notifier', 'refresh_all', $channel['channel_id']));
}
}
diff --git a/Zotlabs/Daemon/Expire.php b/Zotlabs/Daemon/Expire.php
index a688d6f97..c4ff8aec6 100644
--- a/Zotlabs/Daemon/Expire.php
+++ b/Zotlabs/Daemon/Expire.php
@@ -5,23 +5,24 @@ namespace Zotlabs\Daemon;
class Expire {
- static public function run($argc,$argv){
+ static public function run($argc, $argv) {
cli_startup();
-
- $pid = get_config('expire', 'procid', false);
+
+ $pid = get_config('procid', 'expire', false);
if ($pid && (function_exists('posix_kill') ? posix_kill($pid, 0) : true)) {
- logger('Expire: procedure already run with pid ' . $pid, LOGGER_DEBUG);
- return;
+ logger('procedure already run with pid ' . $pid, LOGGER_DEBUG);
+ return;
}
-
+
$pid = getmypid();
- set_config('expire', 'procid', $pid);
+ set_config('procid', 'expire', $pid);
// perform final cleanup on previously delete items
$r = q("select id from item where item_deleted = 1 and item_pending_remove = 0 and changed < %s - INTERVAL %s",
- db_utcnow(), db_quoteinterval('10 DAY')
+ db_utcnow(),
+ db_quoteinterval('10 DAY')
);
if ($r) {
foreach ($r as $rr) {
@@ -32,23 +33,22 @@ class Expire {
// physically remove anything that has been deleted for more than two months
/** @FIXME - this is a wretchedly inefficient query */
- $r = q("delete from item where item_pending_remove = 1 and changed < %s - INTERVAL %s",
- db_utcnow(), db_quoteinterval('36 DAY')
+ q("delete from item where item_pending_remove = 1 and changed < %s - INTERVAL %s",
+ db_utcnow(),
+ db_quoteinterval('36 DAY')
);
- /** @FIXME make this optional as it could have a performance impact on large sites */
-
if (intval(get_config('system', 'optimize_items')))
q("optimize table item");
logger('expire: start with pid ' . $pid, LOGGER_DEBUG);
- $site_expire = intval(get_config('system', 'default_expire_days'));
- $commented_days = intval(get_config('system','active_expire_days'));
+ $site_expire = intval(get_config('system', 'default_expire_days'));
+ $commented_days = intval(get_config('system', 'active_expire_days'));
logger('site_expire: ' . $site_expire);
- $r = q("SELECT channel_id, channel_system, channel_address, channel_expire_days from channel where true");
+ $r = dbq("SELECT channel_id, channel_system, channel_address, channel_expire_days from channel where true");
if ($r) {
foreach ($r as $rr) {
@@ -64,11 +64,12 @@ class Expire {
$channel_expire = $service_class_expire;
else
$channel_expire = $site_expire;
-
+
if (intval($channel_expire) && (intval($channel_expire) < intval($rr['channel_expire_days'])) ||
intval($rr['channel_expire_days'] == 0)) {
$expire_days = $channel_expire;
- } else {
+ }
+ else {
$expire_days = $rr['channel_expire_days'];
}
@@ -93,13 +94,13 @@ class Expire {
}
logger('Expire: sys interval: ' . $expire_days, LOGGER_DEBUG);
-
+
if ($expire_days)
item_expire($x['channel_id'], $expire_days, $commented_days);
logger('Expire: sys: done', LOGGER_DEBUG);
}
-
- del_config('expire', 'procid');
+
+ del_config('procid', 'expire');
}
}
diff --git a/Zotlabs/Daemon/Externals.php b/Zotlabs/Daemon/Externals.php
index a9988a509..064b3f71d 100644
--- a/Zotlabs/Daemon/Externals.php
+++ b/Zotlabs/Daemon/Externals.php
@@ -2,97 +2,180 @@
namespace Zotlabs\Daemon;
-require_once('include/zot.php');
+use Zotlabs\Lib\Activity;
+use Zotlabs\Lib\ActivityStreams;
+use Zotlabs\Lib\ASCollection;
+
require_once('include/channel.php');
class Externals {
- static public function run($argc,$argv){
+ static public function run($argc, $argv) {
+
+ logger('externals: start');
- $total = 0;
+ $importer = get_sys_channel();
+ $total = 0;
$attempts = 0;
logger('externals: startup', LOGGER_DEBUG);
// pull in some public posts
+ while ($total == 0 && $attempts < 3) {
+ $arr = ['url' => ''];
+ call_hooks('externals_url_select', $arr);
- while($total == 0 && $attempts < 3) {
- $arr = array('url' => '');
- call_hooks('externals_url_select',$arr);
-
- if($arr['url']) {
+ if ($arr['url']) {
$url = $arr['url'];
- }
+ }
else {
$randfunc = db_getfunc('RAND');
- // fixme this query does not deal with directory realms.
+ // fixme this query does not deal with directory realms.
- $r = q("select site_url, site_pull from site where site_url != '%s' and site_flags != %d and site_type = %d and site_dead = 0 order by $randfunc limit 1",
+ $r = q("select site_url, site_pull from site where site_url != '%s'
+ and site_flags != %d and site_type = %d
+ and site_dead = 0 and site_project like '%s' and site_version > '5.3.1' order by $randfunc limit 1",
dbesc(z_root()),
intval(DIRECTORY_MODE_STANDALONE),
- intval(SITE_TYPE_ZOT)
+ intval(SITE_TYPE_ZOT),
+ dbesc('hubzilla%')
);
- if($r)
+ if ($r)
$url = $r[0]['site_url'];
}
$blacklisted = false;
- if(! check_siteallowed($url)) {
+ if (!check_siteallowed($url)) {
logger('blacklisted site: ' . $url);
$blacklisted = true;
}
- $attempts ++;
+ $attempts++;
// make sure we can eventually break out if somebody blacklists all known sites
- if($blacklisted) {
- if($attempts > 20)
+ if ($blacklisted) {
+ if ($attempts > 20)
break;
- $attempts --;
+ $attempts--;
continue;
}
- if($url) {
- if($r[0]['site_pull'] > NULL_DATE)
- $mindate = urlencode(datetime_convert('','',$r[0]['site_pull'] . ' - 1 day'));
- else {
- $days = get_config('externals','since_days');
- if($days === false)
- $days = 15;
- $mindate = urlencode(datetime_convert('','','now - ' . intval($days) . ' days'));
+ if ($url) {
+
+ $max = intval(get_config('system', 'max_imported_posts', 30));
+ if (intval($max)) {
+ logger('externals: fetching outbox');
+
+ $feed_url = $url . '/zotfeed';
+ $obj = new ASCollection($feed_url, $importer, 0, $max);
+ $messages = $obj->get();
+
+ if ($messages) {
+ foreach ($messages as $message) {
+ if (is_string($message)) {
+ $message = Activity::fetch($message, $importer);
+ }
+ $AS = new ActivityStreams($message);
+ if ($AS->is_valid() && is_array($AS->obj)) {
+ $item = Activity::decode_note($AS);
+ Activity::store($importer, $importer['xchan_hash'], $AS, $item, true);
+ $total++;
+ }
+ }
+ }
+ logger('externals: import_public_posts: ' . $total . ' messages imported', LOGGER_DEBUG);
}
+ }
+ }
+ return;
+
+ /* $total = 0;
+ $attempts = 0;
- $feedurl = $url . '/zotfeed?f=&mindate=' . $mindate;
+ logger('externals: startup', LOGGER_DEBUG);
- logger('externals: pulling public content from ' . $feedurl, LOGGER_DEBUG);
+ // pull in some public posts
- $x = z_fetch_url($feedurl);
- if(($x) && ($x['success'])) {
+ while ($total == 0 && $attempts < 3) {
+ $arr = ['url' => ''];
+ call_hooks('externals_url_select', $arr);
+
+ if ($arr['url']) {
+ $url = $arr['url'];
+ }
+ else {
+ $randfunc = db_getfunc('RAND');
+
+ // fixme this query does not deal with directory realms.
+
+ $r = q("select site_url, site_pull from site where site_url != '%s' and site_flags != %d and site_type = %d and site_dead = 0 order by $randfunc limit 1",
+ dbesc(z_root()),
+ intval(DIRECTORY_MODE_STANDALONE),
+ intval(SITE_TYPE_ZOT)
+ );
+ if ($r)
+ $url = $r[0]['site_url'];
+ }
- q("update site set site_pull = '%s' where site_url = '%s'",
- dbesc(datetime_convert()),
- dbesc($url)
- );
+ $blacklisted = false;
- $j = json_decode($x['body'],true);
- if($j['success'] && $j['messages']) {
- $sys = get_sys_channel();
- foreach($j['messages'] as $message) {
- // on these posts, clear any route info.
- $message['route'] = '';
- $results = process_delivery(array('hash' => 'undefined'), get_item_elements($message),
- array(array('hash' => $sys['xchan_hash'])), false, true);
- $total ++;
+ if (!check_siteallowed($url)) {
+ logger('blacklisted site: ' . $url);
+ $blacklisted = true;
+ }
+
+ $attempts++;
+
+ // make sure we can eventually break out if somebody blacklists all known sites
+
+ if ($blacklisted) {
+ if ($attempts > 20)
+ break;
+ $attempts--;
+ continue;
+ }
+
+ if ($url) {
+ if ($r[0]['site_pull'] > NULL_DATE)
+ $mindate = urlencode(datetime_convert('', '', $r[0]['site_pull'] . ' - 1 day'));
+ else {
+ $days = get_config('externals', 'since_days');
+ if ($days === false)
+ $days = 15;
+ $mindate = urlencode(datetime_convert('', '', 'now - ' . intval($days) . ' days'));
+ }
+
+ $feedurl = $url . '/zotfeed?f=&mindate=' . $mindate;
+
+ logger('externals: pulling public content from ' . $feedurl, LOGGER_DEBUG);
+
+ $x = z_fetch_url($feedurl);
+ if (($x) && ($x['success'])) {
+
+ q("update site set site_pull = '%s' where site_url = '%s'",
+ dbesc(datetime_convert()),
+ dbesc($url)
+ );
+
+ $j = json_decode($x['body'], true);
+ if ($j['success'] && $j['messages']) {
+ $sys = get_sys_channel();
+ foreach ($j['messages'] as $message) {
+ // on these posts, clear any route info.
+ $message['route'] = '';
+ process_delivery(['hash' => 'undefined'], get_item_elements($message),
+ [['hash' => $sys['xchan_hash']]], false, true);
+ $total++;
+ }
+ logger('externals: import_public_posts: ' . $total . ' messages imported', LOGGER_DEBUG);
+ }
}
- logger('externals: import_public_posts: ' . $total . ' messages imported', LOGGER_DEBUG);
}
- }
- }
- }
+ }*/
}
}
diff --git a/Zotlabs/Daemon/Gprobe.php b/Zotlabs/Daemon/Gprobe.php
index 9e74eb8b5..29efcf475 100644
--- a/Zotlabs/Daemon/Gprobe.php
+++ b/Zotlabs/Daemon/Gprobe.php
@@ -9,27 +9,27 @@ use Zotlabs\Lib\Zotfinger;
// performs zot_finger on $argv[1], which is a hex_encoded webbie/reddress
class Gprobe {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
- if($argc != 2)
+ if ($argc != 2)
return;
$url = hex2bin($argv[1]);
- if(! strpos($url,'@'))
+ if (!strpos($url, '@'))
return;
$r = q("select * from hubloc where hubloc_addr = '%s' and hubloc_network = 'zot6' limit 1",
dbesc($url)
);
- if(! $r) {
+ if (!$r) {
$href = Webfinger::zot_url(punify($url));
- if($href) {
+ if ($href) {
$zf = Zotfinger::exec($href, null);
}
- if(is_array($zf) && array_path_exists('signature/signer',$zf) && $zf['signature']['signer'] === $href && intval($zf['signature']['header_valid'])) {
- $xc = Libzot::import_xchan($zf['data']);
+ if (is_array($zf) && array_path_exists('signature/signer', $zf) && $zf['signature']['signer'] === $href && intval($zf['signature']['header_valid'])) {
+ Libzot::import_xchan($zf['data']);
}
}
diff --git a/Zotlabs/Daemon/Importdoc.php b/Zotlabs/Daemon/Importdoc.php
index 0ca589e4a..9e818e2b3 100755..100644
--- a/Zotlabs/Daemon/Importdoc.php
+++ b/Zotlabs/Daemon/Importdoc.php
@@ -5,7 +5,7 @@ namespace Zotlabs\Daemon;
class Importdoc {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
require_once('include/help.php');
@@ -16,20 +16,20 @@ class Importdoc {
static public function update_docs_dir($s) {
$f = basename($s);
$d = dirname($s);
- if($s === 'doc/html')
+ if ($s === 'doc/html')
return;
$files = glob("$d/$f");
- if($files) {
- foreach($files as $fi) {
- if($fi === 'doc/html') {
+ if ($files) {
+ foreach ($files as $fi) {
+ if ($fi === 'doc/html') {
continue;
}
- if(is_dir($fi)) {
+ if (is_dir($fi)) {
self::update_docs_dir("$fi/*");
}
else {
// don't update media content
- if(strpos(z_mime_content_type($fi),'text') === 0) {
+ if (strpos(z_mime_content_type($fi), 'text') === 0) {
store_doc_file($fi);
}
}
diff --git a/Zotlabs/Daemon/Importfile.php b/Zotlabs/Daemon/Importfile.php
index 749949679..299fb1ee5 100644
--- a/Zotlabs/Daemon/Importfile.php
+++ b/Zotlabs/Daemon/Importfile.php
@@ -6,22 +6,21 @@ use Zotlabs\Lib\Libsync;
class Importfile {
- static public function run($argc,$argv){
+ static public function run($argc, $argv) {
- logger('Importfile: ' . print_r($argv,true));
+ logger('Importfile: ' . print_r($argv, true));
- if($argc < 3)
+ if ($argc < 3)
return;
$channel = channelx_by_n($argv[1]);
- if(! $channel)
+ if (!$channel)
return;
$srcfile = $argv[2];
$folder = (($argc > 3) ? $argv[3] : '');
$dstname = (($argc > 4) ? $argv[4] : '');
-
- $hash = random_string();
+ $hash = random_string();
$arr = [
'src' => $srcfile,
@@ -35,15 +34,15 @@ class Importfile {
'replace' => true
];
- if($folder)
+ if ($folder)
$arr['folder'] = $folder;
- attach_store($channel,$channel['channel_hash'],'import',$arr);
+ attach_store($channel, $channel['channel_hash'], 'import', $arr);
+
+ $sync = attach_export_data($channel, $hash);
+ if ($sync)
+ Libsync::build_sync_packet($channel['channel_id'], ['file' => [$sync]]);
- $sync = attach_export_data($channel,$hash);
- if($sync)
- Libsync::build_sync_packet($channel['channel_id'],array('file' => array($sync)));
-
return;
}
}
diff --git a/Zotlabs/Daemon/Master.php b/Zotlabs/Daemon/Master.php
index 8c3a7e570..6fa656be5 100644
--- a/Zotlabs/Daemon/Master.php
+++ b/Zotlabs/Daemon/Master.php
@@ -2,58 +2,57 @@
namespace Zotlabs\Daemon;
-if(array_search( __file__ , get_included_files()) === 0) {
+if (array_search(__file__, get_included_files()) === 0) {
require_once('include/cli_startup.php');
array_shift($argv);
$argc = count($argv);
- if($argc)
- Master::Release($argc,$argv);
+ if ($argc)
+ Master::Release($argc, $argv);
return;
}
-
class Master {
static public function Summon($arr) {
$hookinfo = [
- 'argv'=>$arr
+ 'argv' => $arr
];
- call_hooks ('daemon_master_summon',$hookinfo);
+ call_hooks('daemon_master_summon', $hookinfo);
- $arr = $hookinfo['argv'];
+ $arr = $hookinfo['argv'];
$argc = count($arr);
- if ((!is_array($arr) || (count($arr) < 1))) {
- logger("Summon handled by hook.",LOGGER_DEBUG);
+ if ((!is_array($arr) || ($argc < 1))) {
+ logger("Summon handled by hook.", LOGGER_DEBUG);
return;
}
- $phpbin = get_config('system','phpbin','php');
- proc_run($phpbin,'Zotlabs/Daemon/Master.php',$arr);
+ $phpbin = get_config('system', 'phpbin', 'php');
+ proc_run($phpbin, 'Zotlabs/Daemon/Master.php', $arr);
}
- static public function Release($argc,$argv) {
+ static public function Release($argc, $argv) {
cli_startup();
$hookinfo = [
- 'argv'=>$argv
+ 'argv' => $argv
];
- call_hooks ('daemon_master_release',$hookinfo);
+ call_hooks('daemon_master_release', $hookinfo);
$argv = $hookinfo['argv'];
$argc = count($argv);
- if ((!is_array($argv) || (count($argv) < 1))) {
- logger("Release handled by hook.",LOGGER_DEBUG);
+ if ((!is_array($argv) || ($argc < 1))) {
+ logger("Release handled by hook.", LOGGER_DEBUG);
return;
}
- logger('Master: release: ' . json_encode($argv), LOGGER_ALL,LOG_DEBUG);
- $cls = '\\Zotlabs\\Daemon\\' . $argv[0];
- $cls::run($argc,$argv);
+ logger('Master: release: ' . json_encode($argv), LOGGER_ALL, LOG_DEBUG);
+ $cls = '\\Zotlabs\\Daemon\\' . $argv[0];
+ $cls::run($argc, $argv);
}
}
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php
index 18fc57118..78e116d68 100644
--- a/Zotlabs/Daemon/Notifier.php
+++ b/Zotlabs/Daemon/Notifier.php
@@ -14,7 +14,6 @@ require_once('include/items.php');
require_once('include/bbcode.php');
-
/*
* This file was at one time responsible for doing all deliveries, but this caused
* big problems on shared hosting systems, where the process might get killed by the
@@ -81,198 +80,198 @@ require_once('include/bbcode.php');
*/
-
class Notifier {
- static public function run($argc,$argv){
+ static public function run($argc, $argv) {
- if($argc < 3)
+ if ($argc < 3)
return;
- logger('notifier: invoked: ' . print_r($argv,true), LOGGER_DEBUG);
+ logger('notifier: invoked: ' . print_r($argv, true), LOGGER_DEBUG);
$cmd = $argv[1];
$item_id = $argv[2];
- if(! $item_id)
+ if (!$item_id)
return;
$sys = get_sys_channel();
- $deliveries = array();
+ $deliveries = [];
- $request = false;
- $mail = false;
- $top_level = false;
- $location = false;
- $recipients = array();
- $url_recipients = array();
- $normal_mode = true;
- $packet_type = 'undefined';
+ $request = false;
+ $mail = false;
+ $location = false;
+ $recipients = [];
+ $normal_mode = true;
+ $packet_type = 'undefined';
- if($cmd === 'mail' || $cmd === 'single_mail') {
+ if ($cmd === 'mail' || $cmd === 'single_mail') {
$normal_mode = false;
- $mail = true;
- $private = true;
- $message = q("SELECT * FROM mail WHERE id = %d LIMIT 1",
- intval($item_id)
+ $mail = true;
+ $private = true;
+ $message = q("SELECT * FROM mail WHERE id = %d LIMIT 1",
+ intval($item_id)
);
- if(! $message) {
+ if (!$message) {
return;
}
xchan_mail_query($message[0]);
- $uid = $message[0]['channel_id'];
+ $uid = $message[0]['channel_id'];
$recipients[] = $message[0]['from_xchan']; // include clones
$recipients[] = $message[0]['to_xchan'];
- $item = $message[0];
-
+ $item = $message[0];
$encoded_item = encode_mail($item);
$s = q("select * from channel where channel_id = %d limit 1",
- intval($item['channel_id'])
+ intval($uid)
);
- if($s)
+ if ($s)
$channel = $s[0];
}
- elseif($cmd === 'request') {
- $channel_id = $item_id;
- $xchan = $argv[3];
+ elseif ($cmd === 'request') {
+ $channel_id = $item_id;
+ $xchan = $argv[3];
$request_message_id = $argv[4];
$s = q("select * from channel where channel_id = %d limit 1",
intval($channel_id)
);
- if($s)
+ if ($s)
$channel = $s[0];
- $private = true;
+ $private = true;
$recipients[] = $xchan;
- $packet_type = 'request';
- $normal_mode = false;
+ $packet_type = 'request';
+ $normal_mode = false;
}
- elseif($cmd === 'keychange') {
+ elseif ($cmd === 'keychange') {
$channel = channelx_by_n($item_id);
- $r = q("select abook_xchan from abook where abook_channel = %d",
+
+ $r = q("select abook_xchan from abook where abook_channel = %d",
intval($item_id)
);
- if($r) {
- foreach($r as $rr) {
+ if ($r) {
+ foreach ($r as $rr) {
$recipients[] = $rr['abook_xchan'];
}
}
- $private = false;
+ $private = false;
$packet_type = 'keychange';
$normal_mode = false;
}
- elseif(in_array($cmd, [ 'permission_update', 'permission_reject', 'permission_accept', 'permission_create' ])) {
+ elseif (in_array($cmd, ['permission_update', 'permission_reject', 'permission_accept', 'permission_create'])) {
// Get the (single) recipient
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_self = 0",
intval($item_id)
);
- if($r) {
+ if ($r) {
$uid = $r[0]['abook_channel'];
// Get the sender
$channel = channelx_by_n($uid);
- if($channel) {
- $perm_update = array('sender' => $channel, 'recipient' => $r[0], 'success' => false, 'deliveries' => '');
-
- if($cmd === 'permission_create')
- call_hooks('permissions_create',$perm_update);
- elseif($cmd === 'permission_accept')
- call_hooks('permissions_accept',$perm_update);
- elseif($cmd === 'permission_reject')
- call_hooks('permissions_reject',$perm_update);
+ if ($channel) {
+ $perm_update = ['sender' => $channel, 'recipient' => $r[0], 'success' => false, 'deliveries' => ''];
+
+ if ($cmd === 'permission_create')
+ call_hooks('permissions_create', $perm_update);
+ elseif ($cmd === 'permission_accept')
+ call_hooks('permissions_accept', $perm_update);
+ elseif ($cmd === 'permission_reject')
+ call_hooks('permissions_reject', $perm_update);
else
- call_hooks('permissions_update',$perm_update);
+ call_hooks('permissions_update', $perm_update);
- if($perm_update['success']) {
- if($perm_update['deliveries']) {
+ if ($perm_update['success']) {
+ if ($perm_update['deliveries']) {
$deliveries[] = $perm_update['deliveries'];
do_delivery($deliveries);
}
return;
}
else {
- $recipients[] = $r[0]['abook_xchan'];
- $private = false;
- $packet_type = 'refresh';
- $packet_recips = array(array('guid' => $r[0]['xchan_guid'],'guid_sig' => $r[0]['xchan_guid_sig'],'hash' => $r[0]['xchan_hash']));
+ $recipients[] = $r[0]['abook_xchan'];
+ $private = false;
+ $packet_type = 'refresh';
+ $packet_recips = [['guid' => $r[0]['xchan_guid'], 'guid_sig' => $r[0]['xchan_guid_sig'], 'hash' => $r[0]['xchan_hash']]];
}
}
}
}
- elseif($cmd === 'refresh_all') {
+ elseif ($cmd === 'refresh_all') {
logger('notifier: refresh_all: ' . $item_id);
- $uid = $item_id;
+ $uid = $item_id;
$channel = channelx_by_n($item_id);
- $r = q("select abook_xchan from abook where abook_channel = %d",
- intval($item_id)
+
+ $r = q("select abook_xchan from abook where abook_channel = %d",
+ intval($uid)
);
- if($r) {
- foreach($r as $rr) {
+ if ($r) {
+ foreach ($r as $rr) {
$recipients[] = $rr['abook_xchan'];
}
}
- $private = false;
+ $private = false;
$packet_type = 'refresh';
}
- elseif($cmd === 'location') {
+ elseif ($cmd === 'location') {
logger('notifier: location: ' . $item_id);
$s = q("select * from channel where channel_id = %d limit 1",
intval($item_id)
);
- if($s)
+ if ($s)
$channel = $s[0];
- $uid = $item_id;
- $recipients = array();
- $r = q("select abook_xchan from abook where abook_channel = %d",
- intval($item_id)
+
+ $uid = $item_id;
+ $recipients = [];
+
+ $r = q("select abook_xchan from abook where abook_channel = %d",
+ intval($uid)
);
- if($r) {
- foreach($r as $rr) {
+ if ($r) {
+ foreach ($r as $rr) {
$recipients[] = $rr['abook_xchan'];
}
}
- $encoded_item = array('locations' => Libzot::encode_locations($channel),'type' => 'location', 'encoding' => 'zot');
- $target_item = array('aid' => $channel['channel_account_id'],'uid' => $channel['channel_id']);
- $private = false;
- $packet_type = 'location';
- $location = true;
+ $encoded_item = ['locations' => Libzot::encode_locations($channel), 'type' => 'location', 'encoding' => 'zot'];
+ $target_item = ['aid' => $channel['channel_account_id'], 'uid' => $channel['channel_id']];
+ $private = false;
+ $packet_type = 'location';
+ $location = true;
}
- elseif($cmd === 'purge') {
+ elseif ($cmd === 'purge') {
$xchan = $argv[3];
logger('notifier: purge: ' . $item_id . ' => ' . $xchan);
- if (! $xchan) {
+ if (!$xchan) {
return;
}
- $channel = channelx_by_n($item_id);
- $recipients[] = $xchan;
- $private = true;
- $packet_type = 'purge';
+ $channel = channelx_by_n($item_id);
+ $recipients[] = $xchan;
+ $private = true;
+ $packet_type = 'purge';
$packet_recips[] = ['hash' => $xchan];
}
- elseif($cmd === 'purge_all') {
+ elseif ($cmd === 'purge_all') {
logger('notifier: purge_all: ' . $item_id);
$channel = channelx_by_n($item_id);
$recipients = [];
- $r = q("select abook_xchan from abook where abook_channel = %d and abook_self = 0",
+ $r = q("select abook_xchan from abook where abook_channel = %d and abook_self = 0",
intval($item_id)
);
- if (! $r) {
+ if (!$r) {
return;
}
foreach ($r as $rr) {
- $recipients[] = $rr['abook_xchan'];
+ $recipients[] = $rr['abook_xchan'];
$packet_recips[] = ['hash' => $rr['abook_xchan']];
}
- $private = false;
+ $private = false;
$packet_type = 'purge';
@@ -287,7 +286,7 @@ class Notifier {
intval($item_id)
);
- if(! $r)
+ if (!$r)
return;
xchan_query($r);
@@ -296,25 +295,22 @@ class Notifier {
$target_item = $r[0];
- if(in_array($target_item['author']['xchan_network'], ['rss', 'anon'])) {
+ if (in_array($target_item['author']['xchan_network'], ['rss', 'anon'])) {
logger('notifier: target item author is not a fetchable actor', LOGGER_DEBUG);
return;
}
- $deleted_item = false;
-
- if(intval($target_item['item_deleted'])) {
+ if (intval($target_item['item_deleted'])) {
logger('notifier: target item ITEM_DELETED', LOGGER_DEBUG);
- $deleted_item = true;
}
- if(! in_array(intval($target_item['item_type']), [ ITEM_TYPE_POST ] )) {
- $hookinfo=[
- 'targetitem'=>$target_item,
- 'deliver'=>false
+ if (!in_array(intval($target_item['item_type']), [ITEM_TYPE_POST])) {
+ $hookinfo = [
+ 'targetitem' => $target_item,
+ 'deliver' => false
];
if (intval($target_item['item_type'] == ITEM_TYPE_CUSTOM)) {
- call_hooks('customitem_deliver',$hookinfo);
+ call_hooks('customitem_deliver', $hookinfo);
}
if (!$hookinfo['deliver']) {
@@ -328,14 +324,14 @@ class Notifier {
// Check for non published items, but allow an exclusion for transmitting hidden file activities
- if(intval($target_item['item_unpublished']) || intval($target_item['item_delayed']) ||
+ if (intval($target_item['item_unpublished']) || intval($target_item['item_delayed']) ||
intval($target_item['item_blocked']) ||
- ( intval($target_item['item_hidden']) && ($target_item['obj_type'] !== ACTIVITY_OBJ_FILE))) {
+ (intval($target_item['item_hidden']) && ($target_item['obj_type'] !== ACTIVITY_OBJ_FILE))) {
logger('notifier: target item not published, so not forwardable', LOGGER_DEBUG);
return;
}
- if(strpos($target_item['postopts'],'nodeliver') !== false) {
+ if (strpos($target_item['postopts'], 'nodeliver') !== false) {
logger('notifier: target item is undeliverable', LOGGER_DEBUG);
return;
}
@@ -343,17 +339,17 @@ class Notifier {
$s = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1",
intval($target_item['uid'])
);
- if($s)
+ if ($s)
$channel = $s[0];
- if($channel['channel_hash'] !== $target_item['author_xchan'] && $channel['channel_hash'] !== $target_item['owner_xchan']) {
+ if ($channel['channel_hash'] !== $target_item['author_xchan'] && $channel['channel_hash'] !== $target_item['owner_xchan']) {
logger("notifier: Sending channel {$channel['channel_hash']} is not owner {$target_item['owner_xchan']} or author {$target_item['author_xchan']}", LOGGER_NORMAL, LOG_WARNING);
return;
}
- if($target_item['mid'] === $target_item['parent_mid']) {
- $parent_item = $target_item;
+ if ($target_item['mid'] === $target_item['parent_mid']) {
+ $parent_item = $target_item;
$top_level_post = true;
}
else {
@@ -362,10 +358,10 @@ class Notifier {
intval($target_item['parent'])
);
- if(! $r)
+ if (!$r)
return;
- if(strpos($r[0]['postopts'],'nodeliver') !== false) {
+ if (strpos($r[0]['postopts'], 'nodeliver') !== false) {
logger('notifier: target item is undeliverable', LOGGER_DEBUG, LOG_NOTICE);
return;
}
@@ -373,34 +369,34 @@ class Notifier {
xchan_query($r);
$r = fetch_post_tags($r);
- $parent_item = $r[0];
+ $parent_item = $r[0];
$top_level_post = false;
}
// avoid looping of discover items 12/4/2014
- if($sys && $parent_item['uid'] == $sys['channel_id'])
+ if ($sys && $parent_item['uid'] == $sys['channel_id'])
return;
$encoded_item = encode_item($target_item);
// Re-use existing signature unless the activity type changed to a Tombstone, which won't verify.
- $m = ((intval($target_item['item_deleted'])) ? '' : get_iconfig($target_item,'activitystreams','signed_data'));
+ $m = ((intval($target_item['item_deleted'])) ? '' : get_iconfig($target_item, 'activitystreams', 'signed_data'));
- if($m) {
- $activity = json_decode($m,true);
+ if ($m) {
+ $activity = json_decode($m, true);
}
else {
$activity = array_merge(['@context' => [
ACTIVITYSTREAMS_JSONLD_REV,
'https://w3id.org/security/v1',
z_root() . ZOT_APSCHEMA_REV
- ]], Activity::encode_activity($target_item)
+ ]], Activity::encode_activity($target_item)
);
}
- logger('target_item: ' . print_r($target_item,true), LOGGER_DEBUG);
- logger('encoded: ' . print_r($activity,true), LOGGER_DEBUG);
+ logger('target_item: ' . print_r($target_item, true), LOGGER_DEBUG);
+ logger('encoded: ' . print_r($activity, true), LOGGER_DEBUG);
// Send comments to the owner to re-deliver to everybody in the conversation
// We only do this if the item in question originated on this site. This prevents looping.
@@ -411,9 +407,7 @@ class Notifier {
// flag on comments for an extended period. So we'll also call comment_local_origin() which looks at
// the hostname in the message_id and provides a second (fallback) opinion.
- $relay_to_owner = (((! $top_level_post) && (intval($target_item['item_origin'])) && comment_local_origin($target_item)) ? true : false);
-
-
+ $relay_to_owner = (((!$top_level_post) && (intval($target_item['item_origin'])) && comment_local_origin($target_item)) ? true : false);
$uplink = false;
@@ -425,54 +419,46 @@ class Notifier {
// tag_deliver'd post which needs to be sent back to the original author
- if(($cmd === 'uplink') && intval($parent_item['item_uplink']) && (! $top_level_post)) {
+ if (($cmd === 'uplink') && intval($parent_item['item_uplink']) && (!$top_level_post)) {
logger('notifier: uplink');
$uplink = true;
}
- if(($relay_to_owner || $uplink) && ($cmd !== 'relay')) {
+ if (($relay_to_owner || $uplink) && ($cmd !== 'relay')) {
logger('notifier: followup relay', LOGGER_DEBUG);
- $recipients = array(($uplink) ? $parent_item['source_xchan'] : $parent_item['owner_xchan']);
- $private = true;
- if(! $encoded_item['flags'])
- $encoded_item['flags'] = array();
+ $recipients = [($uplink) ? $parent_item['source_xchan'] : $parent_item['owner_xchan']];
+ $private = true;
+ if (!$encoded_item['flags'])
+ $encoded_item['flags'] = [];
$encoded_item['flags'][] = 'relay';
- $upstream = true;
+ $upstream = true;
}
else {
logger('notifier: normal distribution', LOGGER_DEBUG);
- if($cmd === 'relay')
+ if ($cmd === 'relay')
logger('notifier: owner relay');
$upstream = false;
// if our parent is a tag_delivery recipient, uplink to the original author causing
// a delivery fork.
- if(($parent_item) && intval($parent_item['item_uplink']) && (! $top_level_post) && ($cmd !== 'uplink')) {
+ if (($parent_item) && intval($parent_item['item_uplink']) && (!$top_level_post) && ($cmd !== 'uplink')) {
// don't uplink a relayed post to the relay owner
- if($parent_item['source_xchan'] !== $parent_item['owner_xchan']) {
+ if ($parent_item['source_xchan'] !== $parent_item['owner_xchan']) {
logger('notifier: uplinking this item');
- Master::Summon(array('Notifier','uplink',$item_id));
+ Master::Summon(['Notifier', 'uplink', $item_id]);
}
}
- $private = false;
- $recipients = collect_recipients($parent_item,$private);
-
+ $private = false;
+ $recipients = collect_recipients($parent_item, $private);
if ($top_level_post) {
// remove clones who will receive the post via sync
- $recipients = array_diff($recipients, [ $target_item['owner_xchan'] ]);
+ $recipients = array_diff($recipients, [$target_item['owner_xchan']]);
}
// FIXME add any additional recipients such as mentions, etc.
- // don't send deletions onward for other people's stuff
- // TODO verify this is needed - copied logic from same place in old code
-
- if(intval($target_item['item_deleted']) && (! intval($target_item['item_wall']))) {
- logger('notifier: ignoring delete notification for non-wall item', LOGGER_NORMAL, LOG_NOTICE);
- return;
- }
}
}
@@ -481,32 +467,31 @@ class Notifier {
// Generic delivery section, we have an encoded item and recipients
// Now start the delivery process
- $x = $encoded_item;
+ $x = $encoded_item;
$x['title'] = 'private';
- $x['body'] = 'private';
- logger('notifier: encoded item: ' . print_r($x,true), LOGGER_DATA, LOG_DEBUG);
+ $x['body'] = 'private';
+ logger('notifier: encoded item: ' . print_r($x, true), LOGGER_DATA, LOG_DEBUG);
//logger('notifier: encoded activity: ' . print_r($activity,true), LOGGER_DATA, LOG_DEBUG);
stringify_array_elms($recipients);
- if(! $recipients) {
+ if (!$recipients) {
logger('no recipients');
return;
}
// logger('notifier: recipients: ' . print_r($recipients,true), LOGGER_NORMAL, LOG_DEBUG);
- $env_recips = (($private) ? array() : null);
+ $env_recips = (($private) ? [] : null);
- $details = q("select xchan_hash, xchan_network, xchan_addr, xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . protect_sprintf(implode(',',$recipients)) . ")");
+ $details = q("select xchan_hash, xchan_network, xchan_addr, xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . protect_sprintf(implode(',', $recipients)) . ")");
- $recip_list = array();
-
- if($details) {
- foreach($details as $d) {
+ $recip_list = [];
+ if ($details) {
+ foreach ($details as $d) {
$recip_list[] = $d['xchan_addr'] . ' (' . $d['xchan_hash'] . ')';
- if($private) {
+ if ($private) {
$env_recips[] = [
'guid' => $d['xchan_guid'],
'guid_sig' => $d['xchan_guid_sig'],
@@ -542,8 +527,8 @@ class Notifier {
];
call_hooks('notifier_process', $narr);
- if($narr['queued']) {
- foreach($narr['queued'] as $pq)
+ if ($narr['queued']) {
+ foreach ($narr['queued'] as $pq)
$deliveries[] = $pq;
}
@@ -553,26 +538,26 @@ class Notifier {
$env_recips = $narr['env_recips'];
$packet_recips = $narr['packet_recips'];
- if(($private) && (! $env_recips)) {
+ if (($private) && (!$env_recips)) {
// shouldn't happen
- logger('notifier: private message with no envelope recipients.' . print_r($argv,true), LOGGER_NORMAL, LOG_NOTICE);
+ logger('notifier: private message with no envelope recipients.' . print_r($argv, true), LOGGER_NORMAL, LOG_NOTICE);
}
- logger('notifier: recipients (may be delivered to more if public): ' . print_r($recip_list,true), LOGGER_DEBUG);
+ logger('notifier: recipients (may be delivered to more if public): ' . print_r($recip_list, true), LOGGER_DEBUG);
// Now we have collected recipients (except for external mentions, FIXME)
// Let's reduce this to a set of hubs; checking that the site is not dead.
$hubs = q("select hubloc.*, site.site_crypto, site.site_flags, site.site_version, site.site_project, site.site_dead from hubloc left join site on site_url = hubloc_url
- where hubloc_hash in (" . protect_sprintf(implode(',',$recipients)) . ")
+ where hubloc_hash in (" . protect_sprintf(implode(',', $recipients)) . ")
and hubloc_error = 0 and hubloc_deleted = 0"
);
// public posts won't make it to the local public stream unless there's a recipient on this site.
// This code block sees if it's a public post and localhost is missing, and if so adds an entry for the local sys channel to the $hubs list
- if (! $private) {
+ if (!$private) {
$found_localhost = false;
if ($hubs) {
foreach ($hubs as $h) {
@@ -582,7 +567,7 @@ class Notifier {
}
}
}
- if (! $found_localhost) {
+ if (!$found_localhost) {
$localhub = q("select hubloc.*, site.site_crypto, site.site_flags, site.site_version, site.site_project, site.site_dead from hubloc
left join site on site_url = hubloc_url where hubloc_id_url = '%s' and hubloc_error = 0 and hubloc_deleted = 0",
dbesc(z_root() . '/channel/sys')
@@ -593,7 +578,7 @@ class Notifier {
}
}
- if(! $hubs) {
+ if (!$hubs) {
logger('notifier: no hubs', LOGGER_NORMAL, LOG_NOTICE);
return;
}
@@ -612,17 +597,17 @@ class Notifier {
$hub_env = []; // per-hub envelope so we don't broadcast the entire envelope to all
$dead = []; // known dead hubs - report them as undeliverable
- foreach($hubs as $hub) {
+ foreach ($hubs as $hub) {
if (intval($hub['site_dead'])) {
$dead[] = $hub;
continue;
}
- if($env_recips) {
- foreach($env_recips as $er) {
- if($hub['hubloc_hash'] === $er['hash']) {
- if(! array_key_exists($hub['hubloc_host'] . $hub['hubloc_sitekey'], $hub_env)) {
+ if ($env_recips) {
+ foreach ($env_recips as $er) {
+ if ($hub['hubloc_hash'] === $er['hash']) {
+ if (!array_key_exists($hub['hubloc_host'] . $hub['hubloc_sitekey'], $hub_env)) {
$hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] = [];
}
$hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']][] = $er;
@@ -631,36 +616,36 @@ class Notifier {
}
- if($hub['hubloc_network'] == 'zot') {
- if(! in_array($hub['hubloc_sitekey'],$keys)) {
+ if ($hub['hubloc_network'] == 'zot') {
+ if (!in_array($hub['hubloc_sitekey'], $keys)) {
$hublist[] = $hub['hubloc_host'] . ' ' . $hub['hubloc_network'];
$dhubs[] = $hub;
$keys[] = $hub['hubloc_sitekey'];
}
}
else {
- if(! in_array($hub['hubloc_url'],$urls)) {
- if($hub['hubloc_url'] === z_root()) {
+ if (!in_array($hub['hubloc_url'], $urls)) {
+ if ($hub['hubloc_url'] === z_root()) {
//deliver to local hub first
array_unshift($hublist, $hub['hubloc_host'] . ' ' . $hub['hubloc_network']);
array_unshift($dhubs, $hub);
}
else {
$hublist[] = $hub['hubloc_host'] . ' ' . $hub['hubloc_network'];
- $dhubs[] = $hub;
+ $dhubs[] = $hub;
}
$urls[] = $hub['hubloc_url'];
}
}
}
- logger('notifier: will notify/deliver to these hubs: ' . print_r($hublist,true), LOGGER_DEBUG, LOG_DEBUG);
+ logger('notifier: will notify/deliver to these hubs: ' . print_r($hublist, true), LOGGER_DEBUG, LOG_DEBUG);
- foreach($dhubs as $hub) {
+ foreach ($dhubs as $hub) {
- logger('notifier_hub: ' . $hub['hubloc_url'],LOGGER_DEBUG);
+ logger('notifier_hub: ' . $hub['hubloc_url'], LOGGER_DEBUG);
- if(! in_array($hub['hubloc_network'], [ 'zot','zot6' ])) {
+ if (!in_array($hub['hubloc_network'], ['zot', 'zot6'])) {
$narr = [
'channel' => $channel,
'upstream' => $upstream,
@@ -687,9 +672,9 @@ class Notifier {
];
- call_hooks('notifier_hub',$narr);
- if($narr['queued']) {
- foreach($narr['queued'] as $pq)
+ call_hooks('notifier_hub', $narr);
+ if ($narr['queued']) {
+ foreach ($narr['queued'] as $pq)
$deliveries[] = $pq;
}
continue;
@@ -705,11 +690,11 @@ class Notifier {
// will invoke a delivery to those connections which are connected to just that
// hub instance.
- if($cmd === 'single_mail' || $cmd === 'single_activity') {
+ if ($cmd === 'single_mail' || $cmd === 'single_activity') {
continue;
}
- if(! in_array($hub['hubloc_network'], [ 'zot','zot6' ])) {
+ if (!in_array($hub['hubloc_network'], ['zot', 'zot6'])) {
continue;
}
@@ -717,31 +702,31 @@ class Notifier {
// in the loop. The signature verification step can't handle dashes in the
// hashes.
- $hash = random_string(48);
+ $hash = random_string(48);
$packet = null;
$pmsg = '';
- if($packet_type === 'refresh' || $packet_type === 'purge') {
- if($hub['hubloc_network'] === 'zot6') {
- $packet = Libzot::build_packet($channel, $packet_type, ids_to_array($packet_recips,'hash'));
+ if ($packet_type === 'refresh' || $packet_type === 'purge') {
+ if ($hub['hubloc_network'] === 'zot6') {
+ $packet = Libzot::build_packet($channel, $packet_type, ids_to_array($packet_recips, 'hash'));
}
else {
- $packet = zot_build_packet($channel,$packet_type,(($packet_recips) ? $packet_recips : null));
+ $packet = zot_build_packet($channel, $packet_type, (($packet_recips) ? $packet_recips : null));
}
}
- if($packet_type === 'keychange' && $hub['hubloc_network'] === 'zot') {
- $pmsg = get_pconfig($channel['channel_id'],'system','keychange');
- $packet = zot_build_packet($channel,$packet_type,(($packet_recips) ? $packet_recips : null));
+ if ($packet_type === 'keychange' && $hub['hubloc_network'] === 'zot') {
+ $pmsg = get_pconfig($channel['channel_id'], 'system', 'keychange');
+ $packet = zot_build_packet($channel, $packet_type, (($packet_recips) ? $packet_recips : null));
}
- elseif($packet_type === 'request' && $hub['hubloc_network'] === 'zot') {
- $env = (($hub_env && $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']]) ? $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] : '');
- $packet = zot_build_packet($channel,$packet_type,$env,$hub['hubloc_sitekey'],$hub['site_crypto'],
- $hash, array('message_id' => $request_message_id)
+ elseif ($packet_type === 'request' && $hub['hubloc_network'] === 'zot') {
+ $env = (($hub_env && $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']]) ? $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] : '');
+ $packet = zot_build_packet($channel, $packet_type, $env, $hub['hubloc_sitekey'], $hub['site_crypto'],
+ $hash, ['message_id' => $request_message_id]
);
}
- if($packet) {
+ if ($packet) {
Queue::insert(
[
'hash' => $hash,
@@ -757,11 +742,10 @@ class Notifier {
else {
$env = (($hub_env && $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']]) ? $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] : '');
-
- if($hub['hubloc_network'] === 'zot6') {
+ if ($hub['hubloc_network'] === 'zot6') {
$zenv = [];
- if($env) {
- foreach($env as $e) {
+ if ($env) {
+ foreach ($env as $e) {
$zenv[] = $e['hash'];
}
}
@@ -774,11 +758,11 @@ class Notifier {
// For public reshares, some comments to the reshare on the zot fork will not make it to zot6
// due to these different message models. This cannot be prevented at this time.
- if($packet_type === 'activity' && $activity['type'] === 'Announce' && intval($target_item['item_private'])) {
+ if ($packet_type === 'activity' && $activity['type'] === 'Announce' && intval($target_item['item_private'])) {
continue;
}
- $packet = Libzot::build_packet($channel,$packet_type,$zenv,$activity,'activitystreams',(($private) ? $hub['hubloc_sitekey'] : null),$hub['site_crypto']);
+ $packet = Libzot::build_packet($channel, $packet_type, $zenv, $activity, 'activitystreams', (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto']);
}
else {
// currently zot6 delivery is only performed on normal items and not sync items or mail or anything else
@@ -786,28 +770,28 @@ class Notifier {
// with before switching to zot6 as the primary zot6 handler checks for the existence of a message delivery report
// to trigger dequeue'ing
- $z6 = (($encoded_item && $encoded_item['type'] === 'activity' && (! array_key_exists('allow_cid',$encoded_item))) ? true : false);
- if($z6) {
- $packet = zot6_build_packet($channel,'notify',$env, json_encode($encoded_item), (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'],$hash);
+ $z6 = (($encoded_item && $encoded_item['type'] === 'activity' && (!array_key_exists('allow_cid', $encoded_item))) ? true : false);
+ if ($z6) {
+ $packet = zot6_build_packet($channel, 'notify', $env, json_encode($encoded_item), (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'], $hash);
}
else {
- $packet = zot_build_packet($channel,'notify',$env, (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'],$hash);
+ $packet = zot_build_packet($channel, 'notify', $env, (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'], $hash);
}
}
// remove this after most hubs have updated to version 5.0
- if(stripos($hub['site_project'], 'hubzilla') !== false && version_compare($hub['site_version'], '4.7.3', '<=')) {
- if($encoded_item['type'] === 'mail') {
- $encoded_item['from']['network'] = 'zot';
+ if (stripos($hub['site_project'], 'hubzilla') !== false && version_compare($hub['site_version'], '4.7.3', '<=')) {
+ if ($encoded_item['type'] === 'mail') {
+ $encoded_item['from']['network'] = 'zot';
$encoded_item['from']['guid_sig'] = str_replace('sha256.', '', $encoded_item['from']['guid_sig']);
}
else {
- $encoded_item['owner']['network'] = 'zot';
+ $encoded_item['owner']['network'] = 'zot';
$encoded_item['owner']['guid_sig'] = str_replace('sha256.', '', $encoded_item['owner']['guid_sig']);
- if(strpos($encoded_item['author']['url'], z_root()) === 0) {
- $encoded_item['author']['network'] = 'zot';
+ if (strpos($encoded_item['author']['url'], z_root()) === 0) {
+ $encoded_item['author']['network'] = 'zot';
$encoded_item['author']['guid_sig'] = str_replace('sha256.', '', $encoded_item['author']['guid_sig']);
}
}
@@ -826,7 +810,7 @@ class Notifier {
);
// only create delivery reports for normal undeleted items
- if(is_array($target_item) && array_key_exists('postopts',$target_item) && (! $target_item['item_deleted']) && (! get_config('system','disable_dreport'))) {
+ if (is_array($target_item) && array_key_exists('postopts', $target_item) && (!$target_item['item_deleted']) && (!get_config('system', 'disable_dreport'))) {
q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_result, dreport_time, dreport_xchan, dreport_queue ) values ( '%s','%s','%s','%s','%s','%s','%s' ) ",
dbesc($target_item['mid']),
dbesc($hub['hubloc_host']),
@@ -842,21 +826,21 @@ class Notifier {
$deliveries[] = $hash;
}
- if($normal_mode) {
+ if ($normal_mode) {
$x = q("select * from hook where hook = 'notifier_normal'");
- if($x) {
- Master::Summon( [ 'Deliver_hooks', $target_item['id'] ] );
+ if ($x) {
+ Master::Summon(['Deliver_hooks', $target_item['id']]);
}
}
- if($deliveries)
+ if ($deliveries)
do_delivery($deliveries);
logger('notifier: basic loop complete.', LOGGER_DEBUG);
if ($dead) {
foreach ($dead as $deceased) {
- if (is_array($target_item) && (! $target_item['item_deleted']) && (! get_config('system','disable_dreport'))) {
+ if (is_array($target_item) && (!$target_item['item_deleted']) && (!get_config('system', 'disable_dreport'))) {
q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_name, dreport_result, dreport_time, dreport_xchan, dreport_queue )
values ( '%s', '%s','%s','%s','%s','%s','%s','%s' ) ",
dbesc($target_item['mid']),
@@ -872,7 +856,7 @@ class Notifier {
}
}
- call_hooks('notifier_end',$target_item);
+ call_hooks('notifier_end', $target_item);
logger('notifer: complete.');
return;
diff --git a/Zotlabs/Daemon/Onedirsync.php b/Zotlabs/Daemon/Onedirsync.php
index 2ad76761d..f29fbe5b8 100644
--- a/Zotlabs/Daemon/Onedirsync.php
+++ b/Zotlabs/Daemon/Onedirsync.php
@@ -3,6 +3,7 @@
namespace Zotlabs\Daemon;
use Zotlabs\Lib\Libzot;
+use Zotlabs\Lib\Libzotdir;
require_once('include/zot.php');
require_once('include/dir_fns.php');
@@ -10,14 +11,14 @@ require_once('include/dir_fns.php');
class Onedirsync {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
logger('onedirsync: start ' . intval($argv[1]));
- if(($argc > 1) && (intval($argv[1])))
+ if (($argc > 1) && (intval($argv[1])))
$update_id = intval($argv[1]);
- if(! $update_id) {
+ if (!$update_id) {
logger('onedirsync: no update');
return;
}
@@ -26,9 +27,9 @@ class Onedirsync {
intval($update_id)
);
- if(! $r)
+ if (!$r)
return;
- if(($r[0]['ud_flags'] & UPDATE_FLAGS_UPDATED) || (! $r[0]['ud_addr']))
+ if (($r[0]['ud_flags'] & UPDATE_FLAGS_UPDATED) || (!$r[0]['ud_addr']))
return;
// Have we probed this channel more recently than the other directory server
@@ -40,8 +41,8 @@ class Onedirsync {
dbesc($r[0]['ud_date']),
intval(UPDATE_FLAGS_UPDATED)
);
- if($x) {
- $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date != '%s'",
+ if ($x) {
+ q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date != '%s'",
intval(UPDATE_FLAGS_UPDATED),
dbesc($r[0]['ud_addr']),
intval(UPDATE_FLAGS_UPDATED),
@@ -58,8 +59,8 @@ class Onedirsync {
$h = Libzot::zot_record_preferred($h);
- if(($h) && ($h['hubloc_status'] & HUBLOC_OFFLINE)) {
- $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 ",
+ if (($h) && ($h['hubloc_status'] & HUBLOC_OFFLINE)) {
+ q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 ",
intval(UPDATE_FLAGS_UPDATED),
dbesc($r[0]['ud_addr']),
intval(UPDATE_FLAGS_UPDATED)
@@ -71,10 +72,10 @@ class Onedirsync {
// we might have to pull this out some day, but for now update_directory_entry()
// runs zot_finger() and is kind of zot specific
- if($h && ! in_array($h['hubloc_network'], ['zot6', 'zot']))
+ if ($h && !in_array($h['hubloc_network'], ['zot6', 'zot']))
return;
- update_directory_entry($r[0]);
+ Libzotdir::update_directory_entry($r[0]);
return;
}
diff --git a/Zotlabs/Daemon/Onepoll.php b/Zotlabs/Daemon/Onepoll.php
index 93a5412b0..568745608 100644
--- a/Zotlabs/Daemon/Onepoll.php
+++ b/Zotlabs/Daemon/Onepoll.php
@@ -2,28 +2,27 @@
namespace Zotlabs\Daemon;
+use Zotlabs\Lib\Activity;
+use Zotlabs\Lib\ActivityStreams;
+use Zotlabs\Lib\ASCollection;
use Zotlabs\Lib\Libzot;
-require_once('include/zot.php');
require_once('include/socgraph.php');
-
class Onepoll {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
logger('onepoll: start');
-
- if(($argc > 1) && (intval($argv[1])))
+
+ if (($argc > 1) && (intval($argv[1])))
$contact_id = intval($argv[1]);
- if(! $contact_id) {
+ if (!$contact_id) {
logger('onepoll: no contact');
return;
}
- $d = datetime_convert();
-
$contacts = q("SELECT abook.*, xchan.*, account.*
FROM abook LEFT JOIN account on abook_account = account_id left join xchan on xchan_hash = abook_xchan
where abook_id = %d
@@ -32,38 +31,36 @@ class Onepoll {
intval($contact_id),
intval(ACCOUNT_OK),
intval(ACCOUNT_UNVERIFIED)
- );
+ );
- if(! $contacts) {
+ if (!$contacts) {
logger('onepoll: abook_id not found: ' . $contact_id);
return;
}
- $contact = $contacts[0];
-
- $t = $contact['abook_updated'];
-
+ $contact = array_shift($contacts);
$importer_uid = $contact['abook_channel'];
-
+
$r = q("SELECT * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1",
intval($importer_uid)
);
- if(! $r)
+ if (!$r)
return;
$importer = $r[0];
logger("onepoll: poll: ({$contact['id']}) IMPORTER: {$importer['xchan_name']}, CONTACT: {$contact['xchan_name']}");
- $last_update = ((($contact['abook_updated'] === $contact['abook_created']) || ($contact['abook_updated'] <= NULL_DATE))
- ? datetime_convert('UTC','UTC','now - 7 days')
- : datetime_convert('UTC','UTC',$contact['abook_updated'] . ' - 2 days')
+ // TODO: unused
+ $last_update = ((($contact['abook_updated'] === $contact['abook_created']) || ($contact['abook_updated'] <= NULL_DATE))
+ ? datetime_convert('UTC', 'UTC', 'now - 7 days')
+ : datetime_convert('UTC', 'UTC', $contact['abook_updated'] . ' - 2 days')
);
- if($contact['xchan_network'] === 'rss') {
+ if ($contact['xchan_network'] === 'rss') {
logger('onepoll: processing feed ' . $contact['xchan_name'], LOGGER_DEBUG);
- $alive = handle_feed($importer['channel_id'],$contact_id,$contact['xchan_hash']);
+ $alive = handle_feed($importer['channel_id'], $contact_id, $contact['xchan_hash']);
if ($alive) {
q("update abook set abook_connected = '%s' where abook_id = %d",
dbesc(datetime_convert()),
@@ -72,22 +69,22 @@ class Onepoll {
}
return;
}
-
- if(! in_array($contact['xchan_network'],['zot','zot6']))
+
+ if (!in_array($contact['xchan_network'], ['zot', 'zot6']))
return;
// update permissions
- if($contact['xchan_network'] === 'zot6')
- $x = Libzot::refresh($contact,$importer);
+ if ($contact['xchan_network'] === 'zot6')
+ $x = Libzot::refresh($contact, $importer);
- if($contact['xchan_network'] === 'zot')
- $x = zot_refresh($contact,$importer);
+ if ($contact['xchan_network'] === 'zot')
+ $x = zot_refresh($contact, $importer);
$responded = false;
$updated = datetime_convert();
$connected = datetime_convert();
- if(! $x) {
+ if (!$x) {
// mark for death by not updating abook_connected, this is caught in include/poller.php
q("update abook set abook_updated = '%s' where abook_id = %d",
dbesc($updated),
@@ -103,83 +100,111 @@ class Onepoll {
$responded = true;
}
- if(! $responded)
+ if (!$responded)
return;
- if($contact['xchan_connurl']) {
- $fetch_feed = true;
- $x = null;
+ $fetch_feed = true;
+ $x = null;
- // They haven't given us permission to see their stream
+ // They haven't given us permission to see their stream
- $can_view_stream = intval(get_abconfig($importer_uid,$contact['abook_xchan'],'their_perms','view_stream'));
+ $can_view_stream = intval(get_abconfig($importer_uid, $contact['abook_xchan'], 'their_perms', 'view_stream'));
- if(! $can_view_stream)
- $fetch_feed = false;
+ if (!$can_view_stream)
+ $fetch_feed = false;
- // we haven't given them permission to send us their stream
+ // we haven't given them permission to send us their stream
- $can_send_stream = intval(get_abconfig($importer_uid,$contact['abook_xchan'],'my_perms','send_stream'));
-
- if(! $can_send_stream)
- $fetch_feed = false;
+ $can_send_stream = intval(get_abconfig($importer_uid, $contact['abook_xchan'], 'my_perms', 'send_stream'));
- if($fetch_feed) {
+ if (!$can_send_stream)
+ $fetch_feed = false;
- if(strpos($contact['xchan_connurl'],z_root()) === 0) {
- // local channel - save a network fetch
- $c = channelx_by_hash($contact['xchan_hash']);
- if($c) {
- $x = [
- 'success' => true,
- 'body' => json_encode( [
- 'success' => true,
- 'messages' => zot_feed($c['channel_id'], $importer['xchan_hash'], [ 'mindate' => $last_update ])
- ])
- ];
- }
+ if ($fetch_feed) {
+
+ $max = intval(get_config('system', 'max_imported_posts', 30));
+
+ if (intval($max)) {
+ $cl = get_xconfig($contact['abook_xchan'], 'activitypub', 'collections');
+
+ if (is_array($cl) && $cl) {
+ $url = ((array_key_exists('outbox', $cl)) ? $cl['outbox'] : '');
}
else {
- // remote fetch
-
- $feedurl = str_replace('/poco/','/zotfeed/',$contact['xchan_connurl']);
- $feedurl .= '?f=&mindate=' . urlencode($last_update) . '&zid=' . $importer['channel_address'] . '@' . \App::get_hostname();
- $recurse = 0;
- $x = z_fetch_url($feedurl, false, $recurse, [ 'session' => true ]);
+ $url = str_replace('/poco/', '/zotfeed/', $contact['xchan_connurl']);
}
- logger('feed_update: ' . print_r($x,true), LOGGER_DATA);
- }
-
- if(($x) && ($x['success'])) {
- $total = 0;
- logger('onepoll: feed update ' . $contact['xchan_name'] . ' ' . $feedurl);
-
- $j = json_decode($x['body'],true);
- if($j['success'] && $j['messages']) {
- foreach($j['messages'] as $message) {
- $results = process_delivery(array('hash' => $contact['xchan_hash']), get_item_elements($message),
- array(array('hash' => $importer['xchan_hash'])), false);
- logger('onepoll: feed_update: process_delivery: ' . print_r($results,true), LOGGER_DATA);
- $total ++;
+ if ($url) {
+ logger('fetching outbox');
+ $obj = new ASCollection($url, $importer, 0, $max);
+ $messages = $obj->get();
+ if ($messages) {
+ foreach ($messages as $message) {
+ if (is_string($message)) {
+ $message = Activity::fetch($message, $importer);
+ }
+ $AS = new ActivityStreams($message);
+ if ($AS->is_valid() && is_array($AS->obj)) {
+ $item = Activity::decode_note($AS);
+ Activity::store($importer, $contact['abook_xchan'], $AS, $item);
+ }
+ }
}
- logger("onepoll: $total messages processed");
}
}
}
-
- // update the poco details for this connection
+ /* if ($fetch_feed) {
+
+ if (strpos($contact['xchan_connurl'], z_root()) === 0) {
+ // local channel - save a network fetch
+ $c = channelx_by_hash($contact['xchan_hash']);
+ if ($c) {
+ $x = [
+ 'success' => true,
+ 'body' => json_encode([
+ 'success' => true,
+ 'messages' => zot_feed($c['channel_id'], $importer['xchan_hash'], ['mindate' => $last_update])
+ ])
+ ];
+ }
+ }
+ else {
+ // remote fetch
+
+ $feedurl = str_replace('/poco/', '/zotfeed/', $contact['xchan_connurl']);
+ $feedurl .= '?f=&mindate=' . urlencode($last_update) . '&zid=' . $importer['channel_address'] . '@' . App::get_hostname();
+ $recurse = 0;
+ $x = z_fetch_url($feedurl, false, $recurse, ['session' => true]);
+ }
+
+ logger('feed_update: ' . print_r($x, true), LOGGER_DATA);
+ }
- if($contact['xchan_connurl']) {
- $r = q("SELECT xlink_id from xlink
- where xlink_xchan = '%s' and xlink_updated > %s - INTERVAL %s and xlink_static = 0 limit 1",
- intval($contact['xchan_hash']),
- db_utcnow(), db_quoteinterval('1 DAY')
- );
- if(! $r) {
- poco_load($contact['xchan_hash'],$contact['xchan_connurl']);
- }
+ if (($x) && ($x['success'])) {
+ $total = 0;
+ logger('onepoll: feed update ' . $contact['xchan_name'] . ' ' . $feedurl);
+
+ $j = json_decode($x['body'], true);
+ if ($j['success'] && $j['messages']) {
+ foreach ($j['messages'] as $message) {
+ $results = process_delivery(['hash' => $contact['xchan_hash']], get_item_elements($message),
+ [['hash' => $importer['xchan_hash']]], false);
+ logger('onepoll: feed_update: process_delivery: ' . print_r($results, true), LOGGER_DATA);
+ $total++;
+ }
+ logger("onepoll: $total messages processed");
+ }
+ }
+ */
+
+ // update the poco details for this connection
+ $r = q("SELECT xlink_id from xlink where xlink_xchan = '%s' and xlink_updated > %s - INTERVAL %s and xlink_static = 0 limit 1",
+ intval($contact['xchan_hash']),
+ db_utcnow(), db_quoteinterval('1 DAY')
+ );
+ if (!$r) {
+ poco_load($contact['xchan_hash'], $contact['xchan_connurl']);
}
return;
diff --git a/Zotlabs/Daemon/Poller.php b/Zotlabs/Daemon/Poller.php
index ebc0584ba..762f1349c 100644
--- a/Zotlabs/Daemon/Poller.php
+++ b/Zotlabs/Daemon/Poller.php
@@ -4,73 +4,67 @@ namespace Zotlabs\Daemon;
class Poller {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
- $maxsysload = intval(get_config('system','maxloadavg'));
- if($maxsysload < 1)
+ $maxsysload = intval(get_config('system', 'maxloadavg'));
+ if ($maxsysload < 1)
$maxsysload = 50;
- if(function_exists('sys_getloadavg')) {
+ if (function_exists('sys_getloadavg')) {
$load = sys_getloadavg();
- if(intval($load[0]) > $maxsysload) {
+ if (intval($load[0]) > $maxsysload) {
logger('system: load ' . $load . ' too high. Poller deferred to next scheduled run.');
return;
}
}
- $interval = intval(get_config('system','poll_interval'));
- if(! $interval)
- $interval = ((get_config('system','delivery_interval') === false) ? 3 : intval(get_config('system','delivery_interval')));
+ $interval = intval(get_config('system', 'poll_interval'));
+ if (!$interval)
+ $interval = ((get_config('system', 'delivery_interval') === false) ? 3 : intval(get_config('system', 'delivery_interval')));
// Check for a lockfile. If it exists, but is over an hour old, it's stale. Ignore it.
$lockfile = 'store/[data]/poller';
- if((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600))
- && (! get_config('system','override_poll_lockfile'))) {
+ if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600))
+ && (!get_config('system', 'override_poll_lockfile'))) {
logger("poller: Already running");
return;
}
-
+
// Create a lockfile. Needs two vars, but $x doesn't need to contain anything.
+ $x = '';
file_put_contents($lockfile, $x);
logger('poller: start');
-
- $manual_id = 0;
- $generation = 0;
- $force = false;
- $restart = false;
+ $manual_id = 0;
+ $force = false;
- if(($argc > 1) && ($argv[1] == 'force'))
+ if (($argc > 1) && ($argv[1] == 'force'))
$force = true;
- if(($argc > 1) && ($argv[1] == 'restart')) {
- $restart = true;
+ if (($argc > 1) && ($argv[1] == 'restart')) {
$generation = intval($argv[2]);
- if(! $generation)
+ if (!$generation)
return;
}
- if(($argc > 1) && intval($argv[1])) {
+ if (($argc > 1) && intval($argv[1])) {
$manual_id = intval($argv[1]);
$force = true;
}
-
$sql_extra = (($manual_id) ? " AND abook_id = " . intval($manual_id) . " " : "");
reload_plugins();
- $d = datetime_convert();
-
// Only poll from those with suitable relationships
-
- $abandon_sql = (($abandon_days)
- ? sprintf(" AND account_lastlog > %s - INTERVAL %s ", db_utcnow(), db_quoteinterval(intval($abandon_days).' DAY'))
- : ''
+ $abandon_days = intval(get_config('system', 'account_abandon_days', 0));
+ $abandon_sql = (($abandon_days)
+ ? sprintf(" AND account_lastlog > %s - INTERVAL %s ", db_utcnow(), db_quoteinterval(intval($abandon_days) . ' DAY'))
+ : ''
);
$randfunc = db_getfunc('RAND');
-
+
$contacts = q("SELECT abook.abook_updated, abook.abook_connected, abook.abook_feed,
abook.abook_channel, abook.abook_id, abook.abook_archived, abook.abook_pending,
abook.abook_ignored, abook.abook_blocked,
@@ -85,118 +79,117 @@ class Poller {
intval(ACCOUNT_UNVERIFIED) // FIXME
);
- if($contacts) {
-
- foreach($contacts as $contact) {
+ if ($contacts) {
+ foreach ($contacts as $contact) {
- $update = false;
+ $update = false;
$t = $contact['abook_updated'];
$c = $contact['abook_connected'];
- if(intval($contact['abook_feed'])) {
- $min = service_class_fetch($contact['abook_channel'],'minimum_feedcheck_minutes');
- if(! $min)
- $min = intval(get_config('system','minimum_feedcheck_minutes'));
- if(! $min)
+ if (intval($contact['abook_feed'])) {
+ $min = service_class_fetch($contact['abook_channel'], 'minimum_feedcheck_minutes');
+ if (!$min)
+ $min = intval(get_config('system', 'minimum_feedcheck_minutes'));
+ if (!$min)
$min = 60;
- $x = datetime_convert('UTC','UTC',"now - $min minutes");
- if($c < $x) {
- Master::Summon(array('Onepoll',$contact['abook_id']));
- if($interval)
- @time_sleep_until(microtime(true) + (float) $interval);
+ $x = datetime_convert('UTC', 'UTC', "now - $min minutes");
+ if ($c < $x) {
+ Master::Summon(['Onepoll', $contact['abook_id']]);
+ if ($interval)
+ @time_sleep_until(microtime(true) + (float)$interval);
}
continue;
}
- if(! in_array($contact['xchan_network'],['zot','zot6']))
+ if (!in_array($contact['xchan_network'], ['zot', 'zot6']))
continue;
- if($c == $t) {
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day"))
+ if ($c == $t) {
+ if (datetime_convert('UTC', 'UTC', 'now') > datetime_convert('UTC', 'UTC', $t . " + 1 day"))
$update = true;
}
else {
-
+
// if we've never connected with them, start the mark for death countdown from now
-
- if($c <= NULL_DATE) {
- $r = q("update abook set abook_connected = '%s' where abook_id = %d",
+
+ if ($c <= NULL_DATE) {
+ q("update abook set abook_connected = '%s' where abook_id = %d",
dbesc(datetime_convert()),
intval($contact['abook_id'])
);
- $c = datetime_convert();
+ $c = datetime_convert();
$update = true;
}
// He's dead, Jim
- if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 30 day")) > 0) {
- $r = q("update abook set abook_archived = 1 where abook_id = %d",
+ if (strcmp(datetime_convert('UTC', 'UTC', 'now'), datetime_convert('UTC', 'UTC', $c . " + 30 day")) > 0) {
+ q("update abook set abook_archived = 1 where abook_id = %d",
intval($contact['abook_id'])
);
- $update = false;
continue;
}
- if(intval($contact['abook_archived'])) {
- $update = false;
+ if (intval($contact['abook_archived'])) {
continue;
}
// might be dead, so maybe don't poll quite so often
-
+
// recently deceased, so keep up the regular schedule for 3 days
-
- if((strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 3 day")) > 0)
- && (strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 1 day")) > 0))
+
+ if ((strcmp(datetime_convert('UTC', 'UTC', 'now'), datetime_convert('UTC', 'UTC', $c . " + 3 day")) > 0)
+ && (strcmp(datetime_convert('UTC', 'UTC', 'now'), datetime_convert('UTC', 'UTC', $t . " + 1 day")) > 0))
$update = true;
// After that back off and put them on a morphine drip
- if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 2 day")) > 0) {
+ if (strcmp(datetime_convert('UTC', 'UTC', 'now'), datetime_convert('UTC', 'UTC', $t . " + 2 day")) > 0) {
$update = true;
}
}
- if(intval($contact['abook_pending']) || intval($contact['abook_archived']) || intval($contact['abook_ignored']) || intval($contact['abook_blocked']))
+ if (intval($contact['abook_pending']) || intval($contact['abook_archived']) || intval($contact['abook_ignored']) || intval($contact['abook_blocked']))
continue;
- if((! $update) && (! $force))
- continue;
+ if ((!$update) && (!$force))
+ continue;
- Master::Summon(array('Onepoll',$contact['abook_id']));
- if($interval)
- @time_sleep_until(microtime(true) + (float) $interval);
+ Master::Summon(['Onepoll', $contact['abook_id']]);
+ if ($interval)
+ @time_sleep_until(microtime(true) + (float)$interval);
}
}
- if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
+ $dirmode = intval(get_config('system', 'directory_mode'));
+
+ if ($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
$r = q("SELECT u.ud_addr, u.ud_id, u.ud_last FROM updates AS u INNER JOIN (SELECT ud_addr, max(ud_id) AS ud_id FROM updates WHERE ( ud_flags & %d ) = 0 AND ud_addr != '' AND ( ud_last <= '%s' OR ud_last > %s - INTERVAL %s ) GROUP BY ud_addr) AS s ON s.ud_id = u.ud_id ",
intval(UPDATE_FLAGS_UPDATED),
dbesc(NULL_DATE),
db_utcnow(), db_quoteinterval('7 DAY')
);
- if($r) {
- foreach($r as $rr) {
+ if ($r) {
+ foreach ($r as $rr) {
// If they didn't respond when we attempted before, back off to once a day
// After 7 days we won't bother anymore
- if($rr['ud_last'] > NULL_DATE)
- if($rr['ud_last'] > datetime_convert('UTC','UTC', 'now - 1 day'))
+ if ($rr['ud_last'] > NULL_DATE)
+ if ($rr['ud_last'] > datetime_convert('UTC', 'UTC', 'now - 1 day'))
continue;
- Master::Summon(array('Onedirsync',$rr['ud_id']));
- if($interval)
- @time_sleep_until(microtime(true) + (float) $interval);
+ Master::Summon(['Onedirsync', $rr['ud_id']]);
+ if ($interval)
+ @time_sleep_until(microtime(true) + (float)$interval);
}
}
- }
+ }
- set_config('system','lastpoll',datetime_convert());
+ set_config('system', 'lastpoll', datetime_convert());
//All done - clear the lockfile
diff --git a/Zotlabs/Daemon/Queue.php b/Zotlabs/Daemon/Queue.php
index 814148404..36bdcfe81 100644
--- a/Zotlabs/Daemon/Queue.php
+++ b/Zotlabs/Daemon/Queue.php
@@ -7,12 +7,12 @@ require_once('include/zot.php');
class Queue {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
require_once('include/items.php');
require_once('include/bbcode.php');
- if($argc > 1)
+ if ($argc > 1)
$queue_id = $argv[1];
else
$queue_id = EMPTY_STR;
@@ -25,10 +25,9 @@ class Queue {
$r = q("select outq_posturl from outq where outq_created < %s - INTERVAL %s",
db_utcnow(), db_quoteinterval('3 DAY')
);
- if($r) {
- foreach($r as $rr) {
- $site_url = '';
- $h = parse_url($rr['outq_posturl']);
+ if ($r) {
+ foreach ($r as $rr) {
+ $h = parse_url($rr['outq_posturl']);
$desturl = $h['scheme'] . '://' . $h['host'] . (($h['port']) ? ':' . $h['port'] : '');
q("update site set site_dead = 1 where site_dead = 0 and site_url = '%s' and site_update < %s - INTERVAL %s",
dbesc($desturl),
@@ -37,11 +36,11 @@ class Queue {
}
}
- $r = q("DELETE FROM outq WHERE outq_created < %s - INTERVAL %s",
+ q("DELETE FROM outq WHERE outq_created < %s - INTERVAL %s",
db_utcnow(), db_quoteinterval('3 DAY')
);
- if($queue_id) {
+ if ($queue_id) {
$r = q("SELECT * FROM outq WHERE outq_hash = '%s' LIMIT 1",
dbesc($queue_id)
);
@@ -54,7 +53,7 @@ class Queue {
// so that we don't start off a thousand deliveries for a couple of dead hubs.
// The zot driver will deliver everything destined for a single hub once contact is made (*if* contact is made).
// Other drivers will have to do something different here and may need their own query.
-
+
// Note: this requires some tweaking as new posts to long dead hubs once a day will keep them in the
// "every 15 minutes" category. We probably need to prioritise them when inserted into the queue
// or just prior to this query based on recent and long-term delivery history. If we have good reason to believe
@@ -67,7 +66,7 @@ class Queue {
db_utcnow()
);
while ($r) {
- foreach($r as $rv) {
+ foreach ($r as $rv) {
queue_deliver($rv);
}
$r = q("SELECT *,$sqlrandfunc as rn FROM outq WHERE outq_delivered = 0 and outq_scheduled < %s order by rn limit 1",
@@ -75,10 +74,10 @@ class Queue {
);
}
}
- if(! $r)
+ if (!$r)
return;
- foreach($r as $rv) {
+ foreach ($r as $rv) {
queue_deliver($rv);
}
}
diff --git a/Zotlabs/Daemon/Thumbnail.php b/Zotlabs/Daemon/Thumbnail.php
index e1f17c304..72034b870 100644
--- a/Zotlabs/Daemon/Thumbnail.php
+++ b/Zotlabs/Daemon/Thumbnail.php
@@ -5,30 +5,30 @@ namespace Zotlabs\Daemon;
class Thumbnail {
- static public function run($argc,$argv) {
+ static public function run($argc, $argv) {
- if(! $argc == 2)
+ if (!$argc == 2)
return;
$c = q("select * from attach where hash = '%s' ",
dbesc($argv[1])
);
- if(! $c)
+ if (!$c)
return;
$attach = $c[0];
- $preview_style = intval(get_config('system','thumbnail_security',0));
- $preview_width = intval(get_config('system','thumbnail_width',300));
- $preview_height = intval(get_config('system','thumbnail_height',300));
+ $preview_style = intval(get_config('system', 'thumbnail_security', 0));
+ $preview_width = intval(get_config('system', 'thumbnail_width', 300));
+ $preview_height = intval(get_config('system', 'thumbnail_height', 300));
$p = [
'attach' => $attach,
'preview_style' => $preview_style,
'preview_width' => $preview_width,
'preview_height' => $preview_height,
- 'thumbnail' => null
+ 'thumbnail' => null
];
/**
@@ -40,39 +40,39 @@ class Thumbnail {
* * \e string \b thumbnail
*/
- call_hooks('thumbnail',$p);
- if($p['thumbnail']) {
+ call_hooks('thumbnail', $p);
+ if ($p['thumbnail']) {
return;
}
$default_controller = null;
-
+
$files = glob('Zotlabs/Thumbs/*.php');
- if($files) {
- foreach($files as $f) {
- $clsname = '\\Zotlabs\\Thumbs\\' . ucfirst(basename($f,'.php'));
- if(class_exists($clsname)) {
+ if ($files) {
+ foreach ($files as $f) {
+ $clsname = '\\Zotlabs\\Thumbs\\' . ucfirst(basename($f, '.php'));
+ if (class_exists($clsname)) {
$x = new $clsname();
- if(method_exists($x,'Match')) {
+ if (method_exists($x, 'Match')) {
$matched = $x->Match($attach['filetype']);
- if($matched) {
- $x->Thumb($attach,$preview_style,$preview_width,$preview_height);
+ if ($matched) {
+ $x->Thumb($attach, $preview_style, $preview_width, $preview_height);
}
}
- if(method_exists($x,'MatchDefault')) {
- $default_matched = $x->MatchDefault(substr($attach['filetype'],0,strpos($attach['filetype'],'/')));
- if($default_matched) {
+ if (method_exists($x, 'MatchDefault')) {
+ $default_matched = $x->MatchDefault(substr($attach['filetype'], 0, strpos($attach['filetype'], '/')));
+ if ($default_matched) {
$default_controller = $x;
}
}
}
}
}
- if(($default_controller)
- && ((! file_exists(dbunescbin($attach['content']) . '.thumb'))
+ if (($default_controller)
+ && ((!file_exists(dbunescbin($attach['content']) . '.thumb'))
|| (filectime(dbunescbin($attach['content']) . 'thumb') < (time() - 60)))) {
- $default_controller->Thumb($attach,$preview_style,$preview_width,$preview_height);
+ $default_controller->Thumb($attach, $preview_style, $preview_width, $preview_height);
}
}
}
diff --git a/Zotlabs/Lib/ASCollection.php b/Zotlabs/Lib/ASCollection.php
new file mode 100644
index 000000000..392dd5d4e
--- /dev/null
+++ b/Zotlabs/Lib/ASCollection.php
@@ -0,0 +1,150 @@
+<?php
+
+namespace Zotlabs\Lib;
+
+/**
+ * Class for dealing with fetching ActivityStreams collections (ordered or unordered, normal or paged).
+ * Construct with either an existing object or url and an optional channel to sign requests.
+ * $direction is 0 (default) to fetch from the beginning, and 1 to fetch from the end and reverse order the resultant array.
+ * An optional limit to the number of records returned may also be specified.
+ * Use $class->get() to return an array of collection members.
+ */
+class ASCollection {
+
+ private $channel = null;
+ private $nextpage = null;
+ private $limit = 0;
+ private $direction = 0; // 0 = forward, 1 = reverse
+ private $data = [];
+ private $history = [];
+
+ function __construct($obj, $channel = null, $direction = 0, $limit = 0) {
+
+ $this->channel = $channel;
+ $this->direction = $direction;
+ $this->limit = $limit;
+
+ if (is_array($obj)) {
+ $data = $obj;
+ }
+
+ if (is_string($obj)) {
+ $data = Activity::fetch($obj, $channel);
+ $this->history[] = $obj;
+ }
+
+ if (!is_array($data)) {
+ return;
+ }
+
+ if (!in_array($data['type'], ['Collection', 'OrderedCollection', 'OrderedCollectionPage'])) {
+ return false;
+ }
+
+ if ($this->direction) {
+ if (array_key_exists('last', $data) && $data['last']) {
+ $this->nextpage = $data['last'];
+ }
+ }
+ else {
+ if (array_key_exists('first', $data) && $data['first']) {
+ $this->nextpage = $data['first'];
+ }
+ }
+
+ if (isset($data['items']) && is_array($data['items'])) {
+ $this->data = (($this->direction) ? array_reverse($data['items']) : $data['items']);
+ }
+ elseif (isset($data['orderedItems']) && is_array($data['orderedItems'])) {
+ $this->data = (($this->direction) ? array_reverse($data['orderedItems']) : $data['orderedItems']);
+ }
+
+ if ($this->limit) {
+ if (count($this->data) > $limit) {
+ $this->data = array_slice($this->data, 0, $limit);
+ return;
+ }
+ }
+
+ do {
+ $x = $this->next();
+ } while ($x);
+ }
+
+ function get() {
+ return $this->data;
+ }
+
+ function next() {
+
+ if (!$this->nextpage) {
+ return false;
+ }
+
+ if (is_array($this->nextpage)) {
+ $data = $this->nextpage;
+ }
+
+ if (is_string($this->nextpage)) {
+ if (in_array($this->nextpage, $this->history)) {
+ // recursion detected
+ return false;
+ }
+ $data = Activity::fetch($this->nextpage, $this->channel);
+ $this->history[] = $this->nextpage;
+ }
+
+ if (!is_array($data)) {
+ return false;
+ }
+
+ if (!in_array($data['type'], ['CollectionPage', 'OrderedCollectionPage'])) {
+ return false;
+ }
+
+ $this->setnext($data);
+
+ if (isset($data['items']) && is_array($data['items'])) {
+ $this->data = array_merge($this->data, (($this->direction) ? array_reverse($data['items']) : $data['items']));
+ }
+ elseif (isset($data['orderedItems']) && is_array($data['orderedItems'])) {
+ $this->data = array_merge($this->data, (($this->direction) ? array_reverse($data['orderedItems']) : $data['orderedItems']));
+ }
+
+ if ($this->limit) {
+ if (count($this->data) > $this->limit) {
+ $this->data = array_slice($this->data, 0, $this->limit);
+ $this->nextpage = false;
+ return true;
+ }
+ }
+
+ return true;
+ }
+
+ function setnext($data) {
+ if ($this->direction) {
+ if (array_key_exists('prev', $data) && $data['prev']) {
+ $this->nextpage = $data['prev'];
+ }
+ elseif (array_key_exists('first', $data) && $data['first']) {
+ $this->nextpage = $data['first'];
+ }
+ else {
+ $this->nextpage = false;
+ }
+ }
+ else {
+ if (array_key_exists('next', $data) && $data['next']) {
+ $this->nextpage = $data['next'];
+ }
+ elseif (array_key_exists('last', $data) && $data['last']) {
+ $this->nextpage = $data['last'];
+ }
+ else {
+ $this->nextpage = false;
+ }
+ }
+ logger('nextpage: ' . $this->nextpage, LOGGER_DEBUG);
+ }
+} \ No newline at end of file
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php
index 807216400..cedc9adc8 100644
--- a/Zotlabs/Lib/Activity.php
+++ b/Zotlabs/Lib/Activity.php
@@ -2,7 +2,10 @@
namespace Zotlabs\Lib;
+use App;
use Zotlabs\Access\PermissionLimits;
+use Zotlabs\Access\PermissionRoles;
+use Zotlabs\Access\Permissions;
use Zotlabs\Daemon\Master;
use Zotlabs\Web\HTTPSig;
@@ -13,71 +16,70 @@ class Activity {
static function encode_object($x) {
-
- if(($x) && (! is_array($x)) && (substr(trim($x),0,1)) === '{' ) {
- $x = json_decode($x,true);
+ if (($x) && (!is_array($x)) && (substr(trim($x), 0, 1)) === '{') {
+ $x = json_decode($x, true);
}
- if(is_array($x)) {
+ if (is_array($x)) {
- if(array_key_exists('asld',$x)) {
+ if (array_key_exists('asld', $x)) {
return $x['asld'];
}
- if($x['type'] === ACTIVITY_OBJ_PERSON) {
- return self::fetch_person($x);
+ if ($x['type'] === ACTIVITY_OBJ_PERSON) {
+ return self::fetch_person($x);
}
- if($x['type'] === ACTIVITY_OBJ_PROFILE) {
- return self::fetch_profile($x);
+ if ($x['type'] === ACTIVITY_OBJ_PROFILE) {
+ return self::fetch_profile($x);
}
- if(in_array($x['type'], [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_ARTICLE ] )) {
- return self::fetch_item($x);
+ if (in_array($x['type'], [ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_ARTICLE])) {
+ return self::fetch_item($x);
}
- if($x['type'] === ACTIVITY_OBJ_THING) {
- return self::fetch_thing($x);
+ if ($x['type'] === ACTIVITY_OBJ_THING) {
+ return self::fetch_thing($x);
}
- if($x['type'] === ACTIVITY_OBJ_EVENT) {
- return self::fetch_event($x);
+ if ($x['type'] === ACTIVITY_OBJ_EVENT) {
+ return self::fetch_event($x);
}
- if($x['type'] === ACTIVITY_OBJ_PHOTO) {
- return self::fetch_image($x);
+ if ($x['type'] === ACTIVITY_OBJ_PHOTO) {
+ return self::fetch_image($x);
}
- call_hooks('encode_object',$x);
+ call_hooks('encode_object', $x);
}
return $x;
}
- static function fetch($url,$channel = null) {
+ static function fetch($url, $channel = null) {
$redirects = 0;
- if(! check_siteallowed($url)) {
+ if (!check_siteallowed($url)) {
logger('blacklisted: ' . $url);
return null;
}
- if(! $channel) {
+ if (!$channel) {
$channel = get_sys_channel();
}
logger('fetch: ' . $url, LOGGER_DEBUG);
- if(strpos($url,'x-zot:') === 0) {
- $x = ZotURL::fetch($url,$channel);
+ if (strpos($url, 'x-zot:') === 0) {
+ $x = ZotURL::fetch($url, $channel);
}
else {
$m = parse_url($url);
// handle bearcaps
if ($m['scheme'] === 'bear') {
- $params = explode('&',$m['query']);
+ $params = explode('&', $m['query']);
if ($params) {
foreach ($params as $p) {
- if (substr($p,0,2) === 'u=') {
- $url = substr($p,2);
+ if (substr($p, 0, 2) === 'u=') {
+ $url = substr($p, 2);
}
- if (substr($p,0,2) === 't=') {
- $token = substr($p,2);
+ if (substr($p, 0, 2) === 't=') {
+ $token = substr($p, 2);
}
}
$m = parse_url($url);
@@ -85,21 +87,23 @@ class Activity {
}
$headers = [
- 'Accept' => 'application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams"',
+ 'Accept' => ActivityStreams::get_accept_header_string($channel),
'Host' => $m['host'],
- 'Date' => datetime_convert('UTC','UTC', 'now', 'D, d M Y H:i:s \\G\\M\\T'),
+ 'Date' => datetime_convert('UTC', 'UTC', 'now', 'D, d M Y H:i:s \\G\\M\\T'),
'(request-target)' => 'get ' . get_request_string($url)
];
+
if (isset($token)) {
$headers['Authorization'] = 'Bearer ' . $token;
}
- $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel),false);
- $x = z_fetch_url($url, true, $redirects, [ 'headers' => $h ] );
+
+ $h = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel), false);
+ $x = z_fetch_url($url, true, $redirects, ['headers' => $h]);
}
- if($x['success']) {
- $y = json_decode($x['body'],true);
- logger('returned: ' . json_encode($y,JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES), LOGGER_DEBUG);
+ if ($x['success']) {
+ $y = json_decode($x['body'], true);
+ logger('returned: ' . json_encode($y, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES), LOGGER_DEBUG);
return json_decode($x['body'], true);
}
else {
@@ -109,9 +113,6 @@ class Activity {
return null;
}
-
-
-
static function fetch_person($x) {
return self::fetch_profile($x);
}
@@ -120,13 +121,13 @@ class Activity {
$r = q("select * from xchan where xchan_url like '%s' limit 1",
dbesc($x['id'] . '/%')
);
- if(! $r) {
+ if (!$r) {
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($x['id'])
);
- }
- if(! $r)
+ }
+ if (!$r)
return [];
return self::encode_person($r[0]);
@@ -140,7 +141,7 @@ class Activity {
dbesc($x['id'])
);
- if(! $r)
+ if (!$r)
return [];
$x = [
@@ -149,7 +150,7 @@ class Activity {
'name' => $r[0]['obj_term']
];
- if($r[0]['obj_image'])
+ if ($r[0]['obj_image'])
$x['image'] = $r[0]['obj_image'];
return $x;
@@ -158,7 +159,7 @@ class Activity {
static function fetch_item($x) {
- if (array_key_exists('source',$x)) {
+ if (array_key_exists('source', $x)) {
// This item is already processed and encoded
return $x;
}
@@ -166,8 +167,8 @@ class Activity {
$r = q("select * from item where mid = '%s' limit 1",
dbesc($x['id'])
);
- if($r) {
- xchan_query($r,true);
+ if ($r) {
+ xchan_query($r, true);
$r = fetch_post_tags($r);
if (in_array($r[0]['verb'], ['Create', 'Invite']) && $r[0]['obj_type'] === ACTIVITY_OBJ_EVENT) {
$r[0]['verb'] = 'Invite';
@@ -177,22 +178,21 @@ class Activity {
}
}
-
static function fetch_image($x) {
$ret = [
- 'type' => 'Image',
- 'id' => $x['id'],
- 'name' => $x['title'],
- 'content' => bbcode($x['body'], [ 'cache' => true ]),
- 'source' => [ 'mediaType' => 'text/bbcode', 'content' => $x['body'] ],
- 'published' => datetime_convert('UTC','UTC',$x['created'],ATOM_TIME),
- 'updated' => datetime_convert('UTC','UTC', $x['edited'],ATOM_TIME),
- 'url' => [
- 'type' => 'Link',
- 'mediaType' => $x['link'][0]['type'],
- 'href' => $x['link'][0]['href'],
- 'width' => $x['link'][0]['width'],
- 'height' => $x['link'][0]['height']
+ 'type' => 'Image',
+ 'id' => $x['id'],
+ 'name' => $x['title'],
+ 'content' => bbcode($x['body'], ['cache' => true]),
+ 'source' => ['mediaType' => 'text/bbcode', 'content' => $x['body']],
+ 'published' => datetime_convert('UTC', 'UTC', $x['created'], ATOM_TIME),
+ 'updated' => datetime_convert('UTC', 'UTC', $x['edited'], ATOM_TIME),
+ 'url' => [
+ 'type' => 'Link',
+ 'mediaType' => $x['link'][0]['type'],
+ 'href' => $x['link'][0]['href'],
+ 'width' => $x['link'][0]['width'],
+ 'height' => $x['link'][0]['height']
]
];
return $ret;
@@ -202,42 +202,42 @@ class Activity {
// convert old Zot event objects to ActivityStreams Event objects
- if (array_key_exists('content',$x) && array_key_exists('dtstart',$x)) {
+ if (array_key_exists('content', $x) && array_key_exists('dtstart', $x)) {
$ev = bbtoevent($x['content']);
- if($ev) {
+ if ($ev) {
- if (! $ev['timezone']) {
+ if (!$ev['timezone']) {
$ev['timezone'] = 'UTC';
}
$actor = null;
- if(array_key_exists('author',$x) && array_key_exists('link',$x['author'])) {
+ if (array_key_exists('author', $x) && array_key_exists('link', $x['author'])) {
$actor = $x['author']['link'][0]['href'];
}
- $y = [
+ $y = [
'type' => 'Event',
'id' => z_root() . '/event/' . $ev['event_hash'],
'name' => $ev['summary'],
-// 'summary' => bbcode($ev['summary'], [ 'cache' => true ]),
+ // 'summary' => bbcode($ev['summary'], [ 'cache' => true ]),
// RFC3339 Section 4.3
- 'startTime' => (($ev['adjust']) ? datetime_convert($ev['timezone'],'UTC',$ev['dtstart'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtstart'],'Y-m-d\\TH:i:s-00:00')),
- 'content' => bbcode($ev['description'], [ 'cache' => true ]),
- 'location' => [ 'type' => 'Place', 'content' => bbcode($ev['location'], [ 'cache' => true ]) ],
- 'source' => [ 'content' => format_event_bbcode($ev,true), 'mediaType' => 'text/bbcode' ],
+ 'startTime' => (($ev['adjust']) ? datetime_convert($ev['timezone'], 'UTC', $ev['dtstart'], ATOM_TIME) : datetime_convert('UTC', 'UTC', $ev['dtstart'], 'Y-m-d\\TH:i:s-00:00')),
+ 'content' => bbcode($ev['description'], ['cache' => true]),
+ 'location' => ['type' => 'Place', 'content' => bbcode($ev['location'], ['cache' => true])],
+ 'source' => ['content' => format_event_bbcode($ev, true), 'mediaType' => 'text/bbcode'],
'actor' => $actor,
];
- if(! $ev['nofinish']) {
- $y['endTime'] = (($ev['adjust']) ? datetime_convert($ev['timezone'],'UTC',$ev['dtend'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtend'],'Y-m-d\\TH:i:s-00:00'));
+ if (!$ev['nofinish']) {
+ $y['endTime'] = (($ev['adjust']) ? datetime_convert($ev['timezone'], 'UTC', $ev['dtend'], ATOM_TIME) : datetime_convert('UTC', 'UTC', $ev['dtend'], 'Y-m-d\\TH:i:s-00:00'));
}
-
+
// copy attachments from the passed object - these are already formatted for ActivityStreams
- if($x['attachment']) {
+ if ($x['attachment']) {
$y['attachment'] = $x['attachment'];
}
- if($actor) {
+ if ($actor) {
return $y;
}
}
@@ -247,52 +247,102 @@ class Activity {
}
-
- static function encode_item_collection($items,$id,$type,$extra = null) {
+ static function paged_collection_init($total, $id, $type = 'OrderedCollection') {
$ret = [
- 'id' => z_root() . '/' . $id,
- 'type' => $type,
- 'totalItems' => count($items),
+ 'id' => z_root() . '/' . $id,
+ 'type' => $type,
+ 'totalItems' => $total,
];
- if($extra)
- $ret = array_merge($ret,$extra);
- if($items) {
+ $numpages = $total / App::$pager['itemspage'];
+ $lastpage = (($numpages > intval($numpages)) ? intval($numpages) + 1 : $numpages);
+
+ $ret['first'] = z_root() . '/' . App::$query_string . '?page=1';
+ $ret['last'] = z_root() . '/' . App::$query_string . '?page=' . $lastpage;
+
+ return $ret;
+
+ }
+
+ static function encode_item_collection($items, $id, $type, $total = 0) {
+
+ if ($total > 30) {
+ $ret = [
+ 'id' => z_root() . '/' . $id,
+ 'type' => $type . 'Page',
+ ];
+
+ $numpages = $total / App::$pager['itemspage'];
+ $lastpage = (($numpages > intval($numpages)) ? intval($numpages) + 1 : $numpages);
+
+ $stripped = preg_replace('/([&|\?]page=[0-9]*)/', '', $id);
+ $stripped = rtrim($stripped, '/');
+
+ $ret['partOf'] = z_root() . '/' . $stripped;
+
+ if (App::$pager['page'] < $lastpage) {
+ $ret['next'] = z_root() . '/' . $stripped . '?page=' . (intval(App::$pager['page']) + 1);
+ }
+ if (App::$pager['page'] > 1) {
+ $ret['prev'] = z_root() . '/' . $stripped . '?page=' . (intval(App::$pager['page']) - 1);
+ }
+ }
+ else {
+ $ret = [
+ 'id' => z_root() . '/' . $id,
+ 'type' => $type,
+ 'totalItems' => $total,
+ ];
+ }
+
+ if ($items) {
$x = [];
- foreach($items as $i) {
- $t = self::encode_activity($i);
- if($t)
+ foreach ($items as $i) {
+ $m = get_iconfig($i['id'], 'activitypub', 'rawmsg');
+ if ($m) {
+ if (is_string($m))
+ $t = json_decode($m, true);
+ else
+ $t = $m;
+ }
+ else {
+ $t = self::encode_activity($i);
+ }
+ if ($t) {
$x[] = $t;
+ }
}
- if($type === 'OrderedCollection')
+ if ($type === 'OrderedCollection') {
$ret['orderedItems'] = $x;
- else
+ }
+ else {
$ret['items'] = $x;
+ }
}
return $ret;
}
- static function encode_follow_collection($items,$id,$type,$extra = null) {
+ static function encode_follow_collection($items, $id, $type, $extra = null) {
$ret = [
- 'id' => z_root() . '/' . $id,
- 'type' => $type,
+ 'id' => z_root() . '/' . $id,
+ 'type' => $type,
'totalItems' => count($items),
];
- if($extra)
- $ret = array_merge($ret,$extra);
+ if ($extra)
+ $ret = array_merge($ret, $extra);
- if($items) {
+ if ($items) {
$x = [];
- foreach($items as $i) {
- if($i['xchan_url']) {
+ foreach ($items as $i) {
+ if ($i['xchan_url']) {
$x[] = $i['xchan_url'];
}
}
- if($type === 'OrderedCollection')
+ if ($type === 'OrderedCollection')
$ret['orderedItems'] = $x;
else
$ret['items'] = $x;
@@ -301,18 +351,15 @@ class Activity {
return $ret;
}
-
-
-
static function encode_item($i) {
$ret = [];
- if($i['verb'] === ACTIVITY_FRIEND) {
+ if ($i['verb'] === ACTIVITY_FRIEND) {
// Hubzilla 'make-friend' activity, no direct mapping from AS1 to AS2 - make it a note
$objtype = 'Note';
}
- else {
+ else {
$objtype = self::activity_obj_mapper($i['obj_type']);
}
@@ -321,13 +368,13 @@ class Activity {
}
if (intval($i['item_deleted'])) {
- $ret['type'] = 'Tombstone';
+ $ret['type'] = 'Tombstone';
$ret['formerType'] = $objtype;
- $ret['id'] = $i['mid'];
- if($i['id'] != $i['parent'])
+ $ret['id'] = $i['mid'];
+ if ($i['id'] != $i['parent'])
$ret['inReplyTo'] = $i['thr_parent'];
- $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ];
+ $ret['to'] = [ACTIVITY_PUBLIC_INBOX];
return $ret;
}
@@ -336,7 +383,7 @@ class Activity {
$ret = $i['obj'];
}
else {
- $ret = json_decode($i['obj'],true);
+ $ret = json_decode($i['obj'], true);
}
}
@@ -348,96 +395,95 @@ class Activity {
$ret = $i['obj'];
}
else {
- $ret = json_decode($i['obj'],true);
+ $ret = json_decode($i['obj'], true);
}
-
- if(array_path_exists('actor/id',$ret)) {
+
+ if (array_path_exists('actor/id', $ret)) {
$ret['actor'] = $ret['actor']['id'];
}
}
}
-
- $ret['id'] = ((strpos($i['mid'],'http') === 0) ? $i['mid'] : z_root() . '/item/' . urlencode($i['mid']));
+ $ret['id'] = ((strpos($i['mid'], 'http') === 0) ? $i['mid'] : z_root() . '/item/' . urlencode($i['mid']));
$ret['diaspora:guid'] = $i['uuid'];
- if($i['title'])
+ if ($i['title'])
$ret['name'] = $i['title'];
- $ret['published'] = datetime_convert('UTC','UTC',$i['created'],ATOM_TIME);
- if($i['created'] !== $i['edited'])
- $ret['updated'] = datetime_convert('UTC','UTC',$i['edited'],ATOM_TIME);
+ $ret['published'] = datetime_convert('UTC', 'UTC', $i['created'], ATOM_TIME);
+ if ($i['created'] !== $i['edited'])
+ $ret['updated'] = datetime_convert('UTC', 'UTC', $i['edited'], ATOM_TIME);
if ($i['expires'] <= NULL_DATE) {
- $ret['expires'] = datetime_convert('UTC','UTC',$i['expires'],ATOM_TIME);
+ $ret['expires'] = datetime_convert('UTC', 'UTC', $i['expires'], ATOM_TIME);
}
- if($i['app']) {
- $ret['generator'] = [ 'type' => 'Application', 'name' => $i['app'] ];
+ if ($i['app']) {
+ $ret['generator'] = ['type' => 'Application', 'name' => $i['app']];
}
- if($i['location'] || $i['coord']) {
- $ret['location'] = [ 'type' => 'Place' ];
- if($i['location']) {
+ if ($i['location'] || $i['coord']) {
+ $ret['location'] = ['type' => 'Place'];
+ if ($i['location']) {
$ret['location']['name'] = $i['location'];
}
- if($i['coord']) {
- $l = explode(' ',$i['coord']);
- $ret['location']['latitude'] = $l[0];
+ if ($i['coord']) {
+ $l = explode(' ', $i['coord']);
+ $ret['location']['latitude'] = $l[0];
$ret['location']['longitude'] = $l[1];
}
}
if (intval($i['item_wall']) && $i['mid'] === $i['parent_mid']) {
- $ret['commentPolicy'] = map_scope(PermissionLimits::Get($i['uid'],'post_comments'));
+ $ret['commentPolicy'] = map_scope(PermissionLimits::Get($i['uid'], 'post_comments'));
}
if (intval($i['item_private']) === 2) {
$ret['directMessage'] = true;
}
- if (array_key_exists('comments_closed',$i) && $i['comments_closed'] !== EMPTY_STR && $i['comments_closed'] !== NULL_DATE) {
- if($ret['commentPolicy']) {
+ if (array_key_exists('comments_closed', $i) && $i['comments_closed'] !== EMPTY_STR && $i['comments_closed'] !== NULL_DATE) {
+ if ($ret['commentPolicy']) {
$ret['commentPolicy'] .= ' ';
}
- $ret['commentPolicy'] .= 'until=' . datetime_convert('UTC','UTC',$i['comments_closed'],ATOM_TIME);
+ $ret['commentPolicy'] .= 'until=' . datetime_convert('UTC', 'UTC', $i['comments_closed'], ATOM_TIME);
}
$ret['attributedTo'] = $i['author']['xchan_url'];
- if($i['id'] != $i['parent']) {
- $ret['inReplyTo'] = ((strpos($i['thr_parent'],'http') === 0) ? $i['thr_parent'] : z_root() . '/item/' . urlencode($i['thr_parent']));
+ if ($i['id'] != $i['parent']) {
+ $ret['inReplyTo'] = ((strpos($i['thr_parent'], 'http') === 0) ? $i['thr_parent'] : z_root() . '/item/' . urlencode($i['thr_parent']));
}
- if($i['mimetype'] === 'text/bbcode') {
- if($i['title'])
- $ret['name'] = bbcode($i['title'], [ 'cache' => true ]);
- if($i['summary'])
- $ret['summary'] = bbcode($i['summary'], [ 'cache' => true ]);
- $ret['content'] = bbcode($i['body'], [ 'cache' => true ]);
- $ret['source'] = [ 'content' => $i['body'], 'mediaType' => 'text/bbcode' ];
+ if ($i['mimetype'] === 'text/bbcode') {
+ if ($i['title'])
+ $ret['name'] = bbcode($i['title'], ['cache' => true]);
+ if ($i['summary'])
+ $ret['summary'] = bbcode($i['summary'], ['cache' => true]);
+ $ret['content'] = bbcode($i['body'], ['cache' => true]);
+ $ret['source'] = ['content' => $i['body'], 'mediaType' => 'text/bbcode'];
}
- $actor = self::encode_person($i['author'],false);
- if($actor)
+ $actor = self::encode_person($i['author'], false);
+ if ($actor)
$ret['actor'] = $actor;
else
return [];
$t = self::encode_taxonomy($i);
- if($t) {
- $ret['tag'] = $t;
+ if ($t) {
+ $ret['tag'] = $t;
}
$a = self::encode_attachment($i);
- if($a) {
+ if ($a) {
$ret['attachment'] = $a;
}
- $public = (($i['item_private']) ? false : true);
+ $public = (($i['item_private']) ? false : true);
$top_level = (($i['mid'] === $i['parent_mid']) ? true : false);
if ($public) {
- $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ];
- $ret['cc'] = [ z_root() . '/followers/' . substr($i['author']['xchan_addr'],0,strpos($i['author']['xchan_addr'],'@')) ];
+ $ret['to'] = [ACTIVITY_PUBLIC_INBOX];
+ $ret['cc'] = [z_root() . '/followers/' . substr($i['author']['xchan_addr'], 0, strpos($i['author']['xchan_addr'], '@'))];
}
else {
@@ -450,7 +496,7 @@ class Activity {
$ret['to'] = [];
if ($ret['tag']) {
foreach ($ret['tag'] as $mention) {
- if (is_array($mention) && array_key_exists('href',$mention) && $mention['href']) {
+ if (is_array($mention) && array_key_exists('href', $mention) && $mention['href']) {
$h = q("select * from hubloc where hubloc_id_url = '%s' limit 1",
dbesc($mention['href'])
);
@@ -461,7 +507,7 @@ class Activity {
else {
$addr = $h[0]['hubloc_id_url'];
}
- if (! in_array($addr,$ret['to'])) {
+ if (!in_array($addr, $ret['to'])) {
$ret['to'][] = $addr;
}
}
@@ -478,7 +524,7 @@ class Activity {
else {
$addr = $d[0]['hubloc_id_url'];
}
- if (! in_array($addr,$ret['to'])) {
+ if (!in_array($addr, $ret['to'])) {
$ret['cc'][] = $addr;
}
}
@@ -487,7 +533,7 @@ class Activity {
$mentions = self::map_mentions($i);
if (count($mentions) > 0) {
- if (! $ret['to']) {
+ if (!$ret['to']) {
$ret['to'] = $mentions;
}
else {
@@ -505,25 +551,25 @@ class Activity {
if ($item['tag'] && is_array($item['tag'])) {
$ptr = $item['tag'];
- if (! array_key_exists(0,$ptr)) {
- $ptr = [ $ptr ];
+ if (!array_key_exists(0, $ptr)) {
+ $ptr = [$ptr];
}
foreach ($ptr as $t) {
- if (! array_key_exists('type',$t))
+ if (!array_key_exists('type', $t))
$t['type'] = 'Hashtag';
- switch($t['type']) {
+ switch ($t['type']) {
case 'Hashtag':
- $ret[] = [ 'ttype' => TERM_HASHTAG, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'],0,1) === '#') ? substr($t['name'],1) : $t['name']) ];
+ $ret[] = ['ttype' => TERM_HASHTAG, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'], 0, 1) === '#') ? substr($t['name'], 1) : $t['name'])];
break;
case 'Mention':
- $mention_type = substr($t['name'],0,1);
+ $mention_type = substr($t['name'], 0, 1);
if ($mention_type === '!') {
- $ret[] = [ 'ttype' => TERM_FORUM, 'url' => $t['href'], 'term' => escape_tags(substr($t['name'],1)) ];
+ $ret[] = ['ttype' => TERM_FORUM, 'url' => $t['href'], 'term' => escape_tags(substr($t['name'], 1))];
}
else {
- $ret[] = [ 'ttype' => TERM_MENTION, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'],0,1) === '@') ? substr($t['name'],1) : $t['name']) ];
+ $ret[] = ['ttype' => TERM_MENTION, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'], 0, 1) === '@') ? substr($t['name'], 1) : $t['name'])];
}
break;
@@ -536,30 +582,28 @@ class Activity {
return $ret;
}
-
-
static function encode_taxonomy($item) {
$ret = [];
- if($item['term']) {
- foreach($item['term'] as $t) {
- switch($t['ttype']) {
+ if ($item['term']) {
+ foreach ($item['term'] as $t) {
+ switch ($t['ttype']) {
case TERM_HASHTAG:
// href is required so if we don't have a url in the taxonomy, ignore it and keep going.
- if($t['url']) {
- $ret[] = [ 'type' => 'Hashtag', 'href' => $t['url'], 'name' => '#' . $t['term'] ];
+ if ($t['url']) {
+ $ret[] = ['type' => 'Hashtag', 'href' => $t['url'], 'name' => '#' . $t['term']];
}
break;
case TERM_FORUM:
- $ret[] = [ 'type' => 'Mention', 'href' => $t['url'], 'name' => '!' . $t['term'] ];
+ $ret[] = ['type' => 'Mention', 'href' => $t['url'], 'name' => '!' . $t['term']];
break;
case TERM_MENTION:
- $ret[] = [ 'type' => 'Mention', 'href' => $t['url'], 'name' => '@' . $t['term'] ];
+ $ret[] = ['type' => 'Mention', 'href' => $t['url'], 'name' => '@' . $t['term']];
break;
-
+
default:
break;
}
@@ -573,15 +617,15 @@ class Activity {
$ret = [];
- if($item['attach']) {
- $atts = ((is_array($item['attach'])) ? $item['attach'] : json_decode($item['attach'],true));
- if($atts) {
- foreach($atts as $att) {
- if(strpos($att['type'],'image')) {
- $ret[] = [ 'type' => 'Image', 'url' => $att['href'] ];
+ if ($item['attach']) {
+ $atts = ((is_array($item['attach'])) ? $item['attach'] : json_decode($item['attach'], true));
+ if ($atts) {
+ foreach ($atts as $att) {
+ if (strpos($att['type'], 'image')) {
+ $ret[] = ['type' => 'Image', 'url' => $att['href']];
}
else {
- $ret[] = [ 'type' => 'Link', 'mediaType' => $att['type'], 'href' => $att['href'] ];
+ $ret[] = ['type' => 'Link', 'mediaType' => $att['type'], 'href' => $att['href']];
}
}
}
@@ -590,11 +634,11 @@ class Activity {
foreach ($item['iconfig'] as $att) {
if ($att['sharing']) {
$value = ((is_string($att['v']) && preg_match('|^a:[0-9]+:{.*}$|s', $att['v'])) ? unserialize($att['v']) : $att['v']);
- $ret[] = [ 'type' => 'PropertyValue', 'name' => 'zot.' . $att['cat'] . '.' . $att['k'], 'value' => $value ];
+ $ret[] = ['type' => 'PropertyValue', 'name' => 'zot.' . $att['cat'] . '.' . $att['k'], 'value' => $value];
}
}
}
-
+
return $ret;
}
@@ -604,20 +648,20 @@ class Activity {
if (is_array($item['attachment']) && $item['attachment']) {
$ptr = $item['attachment'];
- if (! array_key_exists(0,$ptr)) {
- $ptr = [ $ptr ];
+ if (!array_key_exists(0, $ptr)) {
+ $ptr = [$ptr];
}
foreach ($ptr as $att) {
$entry = [];
if ($att['type'] === 'PropertyValue') {
- if (array_key_exists('name',$att) && $att['name']) {
- $key = explode('.',$att['name']);
+ if (array_key_exists('name', $att) && $att['name']) {
+ $key = explode('.', $att['name']);
if (count($key) === 3 && $key[0] === 'zot') {
- $entry['cat'] = $key[1];
- $entry['k'] = $key[2];
- $entry['v'] = $att['value'];
+ $entry['cat'] = $key[1];
+ $entry['k'] = $key[2];
+ $entry['v'] = $att['value'];
$entry['sharing'] = '1';
- $ret[] = $entry;
+ $ret[] = $entry;
}
}
}
@@ -626,24 +670,22 @@ class Activity {
return $ret;
}
-
-
static function decode_attachment($item) {
$ret = [];
- if($item['attachment']) {
- foreach($item['attachment'] as $att) {
+ if ($item['attachment']) {
+ foreach ($item['attachment'] as $att) {
$entry = [];
- if($att['href'])
+ if ($att['href'])
$entry['href'] = $att['href'];
- elseif($att['url'])
+ elseif ($att['url'])
$entry['href'] = $att['url'];
- if($att['mediaType'])
+ if ($att['mediaType'])
$entry['type'] = $att['mediaType'];
- elseif($att['type'] === 'Image')
+ elseif ($att['type'] === 'Image')
$entry['type'] = 'image/jpeg';
- if($entry)
+ if ($entry)
$ret[] = $entry;
}
}
@@ -651,211 +693,187 @@ class Activity {
return $ret;
}
-
-
static function encode_activity($i, $recurse = false) {
$ret = [];
$reply = false;
- if($i['verb'] === ACTIVITY_FRIEND) {
+ if ($i['verb'] === ACTIVITY_FRIEND) {
// Hubzilla 'make-friend' activity, no direct mapping from AS1 to AS2 - make it a note
$ret['obj'] = [];
}
$ret['type'] = self::activity_mapper($i['verb']);
- $fragment = '';
if (intval($i['item_deleted']) && !$recurse) {
$is_response = false;
if (ActivityStreams::is_response_activity($ret['type'])) {
$ret['type'] = 'Undo';
- $fragment = 'undo';
+ $fragment = 'undo';
$is_response = true;
}
else {
$ret['type'] = 'Delete';
- $fragment = 'delete';
+ $fragment = 'delete';
}
- $ret['id'] = str_replace('/item/','/activity/',$i['mid']) . '#' . $fragment;
- $actor = self::encode_person($i['author'],false);
+ $ret['id'] = str_replace('/item/', '/activity/', $i['mid']) . '#' . $fragment;
+ $actor = self::encode_person($i['author'], false);
if ($actor)
$ret['actor'] = $actor;
else
- return [];
+ return [];
- $obj = (($is_response) ? self::encode_activity($i,true) : self::encode_item($i,true));
+ $obj = (($is_response) ? self::encode_activity($i, true) : self::encode_item($i));
if ($obj) {
- if (array_path_exists('object/id',$obj)) {
+ if (array_path_exists('object/id', $obj)) {
$obj['object'] = $obj['object']['id'];
}
unset($obj['cc']);
- $obj['to'] = [ ACTIVITY_PUBLIC_INBOX ];
+ $obj['to'] = [ACTIVITY_PUBLIC_INBOX];
$ret['object'] = $obj;
}
else
return [];
- $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ];
+ $ret['to'] = [ACTIVITY_PUBLIC_INBOX];
return $ret;
}
- if($ret['type'] === 'emojiReaction') {
+ if ($ret['type'] === 'emojiReaction') {
// There may not be an object for these items for legacy reasons - it should be the conversation parent.
$p = q("select * from item where mid = '%s' and uid = %d",
dbesc($i['parent_mid']),
intval($i['uid'])
);
- if($p) {
- xchan_query($p,true);
- $p = fetch_post_tags($p);
+ if ($p) {
+ xchan_query($p, true);
+ $p = fetch_post_tags($p);
$i['obj'] = self::encode_item($p[0]);
// convert to zot6 emoji reaction encoding which uses the target object to indicate the
// specific emoji instead of overloading the verb or type.
-
- $im = explode('#',$i['verb']);
- if($im && count($im) > 1)
+
+ $im = explode('#', $i['verb']);
+ if ($im && count($im) > 1)
$emoji = $im[1];
- if(preg_match("/\[img(.*?)\](.*?)\[\/img\]/ism", $i['body'], $match)) {
+ if (preg_match("/\[img(.*?)\](.*?)\[\/img\]/ism", $i['body'], $match)) {
$ln = $match[2];
}
$i['tgt_type'] = 'Image';
-
+
$i['target'] = [
'type' => 'Image',
'name' => $emoji,
'url' => (($ln) ? $ln : z_root() . '/images/emoji/' . $emoji . '.png')
];
-
+
}
}
- if (strpos($i['mid'],z_root() . '/item/') !== false) {
- $ret['id'] = str_replace('/item/','/activity/',$i['mid']);
+ if (strpos($i['mid'], z_root() . '/item/') !== false) {
+ $ret['id'] = str_replace('/item/', '/activity/', $i['mid']);
}
- elseif (strpos($i['mid'],z_root() . '/event/') !== false) {
- $ret['id'] = str_replace('/event/','/activity/',$i['mid']);
+ elseif (strpos($i['mid'], z_root() . '/event/') !== false) {
+ $ret['id'] = str_replace('/event/', '/activity/', $i['mid']);
}
else {
- $ret['id'] = ((strpos($i['mid'],'http') === 0) ? $i['mid'] : z_root() . '/activity/' . urlencode($i['mid']));
+ $ret['id'] = ((strpos($i['mid'], 'http') === 0) ? $i['mid'] : z_root() . '/activity/' . urlencode($i['mid']));
}
$ret['diaspora:guid'] = $i['uuid'];
- if($i['title'])
- $ret['name'] = html2plain(bbcode($i['title'], [ 'cache' => true ]));
+ if ($i['title'])
+ $ret['name'] = html2plain(bbcode($i['title'], ['cache' => true]));
- if($i['summary'])
- $ret['summary'] = bbcode($i['summary'], [ 'cache' => true ]);
+ if ($i['summary'])
+ $ret['summary'] = bbcode($i['summary'], ['cache' => true]);
- if($ret['type'] === 'Announce') {
- $tmp = preg_replace('/\[share(.*?)\[\/share\]/ism',EMPTY_STR, $i['body']);
- $ret['content'] = bbcode($tmp, [ 'cache' => true ]);
- $ret['source'] = [
- 'content' => $i['body'],
+ if ($ret['type'] === 'Announce') {
+ $tmp = preg_replace('/\[share(.*?)\[\/share\]/ism', EMPTY_STR, $i['body']);
+ $ret['content'] = bbcode($tmp, ['cache' => true]);
+ $ret['source'] = [
+ 'content' => $i['body'],
'mediaType' => 'text/bbcode'
];
}
- $ret['published'] = datetime_convert('UTC','UTC',$i['created'],ATOM_TIME);
- if($i['created'] !== $i['edited'])
- $ret['updated'] = datetime_convert('UTC','UTC',$i['edited'],ATOM_TIME);
- if($i['app']) {
- $ret['generator'] = [ 'type' => 'Application', 'name' => $i['app'] ];
+ $ret['published'] = datetime_convert('UTC', 'UTC', $i['created'], ATOM_TIME);
+ if ($i['created'] !== $i['edited'])
+ $ret['updated'] = datetime_convert('UTC', 'UTC', $i['edited'], ATOM_TIME);
+ if ($i['app']) {
+ $ret['generator'] = ['type' => 'Application', 'name' => $i['app']];
}
- if($i['location'] || $i['coord']) {
- $ret['location'] = [ 'type' => 'Place' ];
- if($i['location']) {
+ if ($i['location'] || $i['coord']) {
+ $ret['location'] = ['type' => 'Place'];
+ if ($i['location']) {
$ret['location']['name'] = $i['location'];
}
- if($i['coord']) {
- $l = explode(' ',$i['coord']);
- $ret['location']['latitude'] = $l[0];
+ if ($i['coord']) {
+ $l = explode(' ', $i['coord']);
+ $ret['location']['latitude'] = $l[0];
$ret['location']['longitude'] = $l[1];
}
}
- if($i['id'] != $i['parent']) {
+ if ($i['id'] != $i['parent']) {
$reply = true;
// inReplyTo needs to be set in the activity for followup actions (Like, Dislike, Announce, etc.),
// but *not* for comments and RSVPs, where it should only be present in the object
-
- if (! in_array($ret['type'],[ 'Create','Update','Accept','Reject','TentativeAccept','TentativeReject' ])) {
- $ret['inReplyTo'] = ((strpos($i['thr_parent'],'http') === 0) ? $i['thr_parent'] : z_root() . '/item/' . urlencode($i['thr_parent']));
- }
-
- if($i['item_private']) {
- $d = q("select xchan_url, xchan_addr, xchan_name from item left join xchan on xchan_hash = author_xchan where id = %d limit 1",
- intval($i['parent'])
- );
- if($d) {
- $is_directmessage = false;
- $recips = get_iconfig($i['parent'], 'activitypub', 'recips');
- if(array_path_exists('to', $recips) && in_array($i['author']['xchan_url'], $recips['to'])) {
- $reply_url = $d[0]['xchan_url'];
- $is_directmessage = true;
- }
- else {
- $reply_url = z_root() . '/followers/' . substr($i['author']['xchan_addr'],0,strpos($i['author']['xchan_addr'],'@'));
- }
-
- $reply_addr = (($d[0]['xchan_addr']) ? $d[0]['xchan_addr'] : $d[0]['xchan_name']);
- }
+ if (!in_array($ret['type'], ['Create', 'Update', 'Accept', 'Reject', 'TentativeAccept', 'TentativeReject'])) {
+ $ret['inReplyTo'] = ((strpos($i['thr_parent'], 'http') === 0) ? $i['thr_parent'] : z_root() . '/item/' . urlencode($i['thr_parent']));
}
-
}
- $actor = self::encode_person($i['author'],false);
- if($actor)
+ $actor = self::encode_person($i['author'], false);
+ if ($actor)
$ret['actor'] = $actor;
else
- return [];
+ return [];
- if(strpos($i['body'],'[/share]') !== false) {
+ if (strpos($i['body'], '[/share]') !== false) {
$i['obj'] = null;
}
- if($i['obj']) {
- if(! is_array($i['obj'])) {
- $i['obj'] = json_decode($i['obj'],true);
+ if ($i['obj']) {
+ if (!is_array($i['obj'])) {
+ $i['obj'] = json_decode($i['obj'], true);
}
- if($i['obj']['type'] === ACTIVITY_OBJ_PHOTO) {
+ if ($i['obj']['type'] === ACTIVITY_OBJ_PHOTO) {
$i['obj']['id'] = $i['mid'];
}
$obj = self::encode_object($i['obj']);
- if($obj)
+ if ($obj)
$ret['object'] = $obj;
else
return [];
}
else {
$obj = self::encode_item($i);
- if($obj)
+ if ($obj)
$ret['object'] = $obj;
else
return [];
}
- if(array_path_exists('object/type',$ret) && $ret['object']['type'] === 'Event' && $ret['type'] === 'Create') {
+ if (array_path_exists('object/type', $ret) && $ret['object']['type'] === 'Event' && $ret['type'] === 'Create') {
$ret['type'] = 'Invite';
}
- if($i['target']) {
- if(! is_array($i['target'])) {
- $i['target'] = json_decode($i['target'],true);
+ if ($i['target']) {
+ if (!is_array($i['target'])) {
+ $i['target'] = json_decode($i['target'], true);
}
$tgt = self::encode_object($i['target']);
- if($tgt)
+ if ($tgt)
$ret['target'] = $tgt;
else
return [];
@@ -868,12 +886,12 @@ class Activity {
// addressing madness
- $public = (($i['item_private']) ? false : true);
+ $public = (($i['item_private']) ? false : true);
$top_level = (($reply) ? false : true);
if ($public) {
- $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ];
- $ret['cc'] = [ z_root() . '/followers/' . substr($i['author']['xchan_addr'],0,strpos($i['author']['xchan_addr'],'@')) ];
+ $ret['to'] = [ACTIVITY_PUBLIC_INBOX];
+ $ret['cc'] = [z_root() . '/followers/' . substr($i['author']['xchan_addr'], 0, strpos($i['author']['xchan_addr'], '@'))];
}
else {
@@ -886,7 +904,7 @@ class Activity {
$ret['to'] = [];
if ($ret['tag']) {
foreach ($ret['tag'] as $mention) {
- if (is_array($mention) && array_key_exists('href',$mention) && $mention['href']) {
+ if (is_array($mention) && array_key_exists('href', $mention) && $mention['href']) {
$h = q("select * from hubloc where hubloc_id_url = '%s' limit 1",
dbesc($mention['href'])
);
@@ -897,7 +915,7 @@ class Activity {
else {
$addr = $h[0]['hubloc_id_url'];
}
- if (! in_array($addr,$ret['to'])) {
+ if (!in_array($addr, $ret['to'])) {
$ret['to'][] = $addr;
}
}
@@ -915,7 +933,7 @@ class Activity {
else {
$addr = $d[0]['hubloc_id_url'];
}
- if (! in_array($addr,$ret['to'])) {
+ if (!in_array($addr, $ret['to'])) {
$ret['cc'][] = $addr;
}
}
@@ -924,7 +942,7 @@ class Activity {
$mentions = self::map_mentions($i);
if (count($mentions) > 0) {
- if (! $ret['to']) {
+ if (!$ret['to']) {
$ret['to'] = $mentions;
}
else {
@@ -936,21 +954,20 @@ class Activity {
}
// Returns an array of URLS for any mention tags found in the item array $i.
-
static function map_mentions($i) {
- if (! $i['term']) {
+ if (!$i['term']) {
return [];
}
$list = [];
foreach ($i['term'] as $t) {
- if (! $t['url']) {
+ if (!$t['url']) {
continue;
}
if ($t['ttype'] == TERM_MENTION) {
- $url = self::lookup_term_url($t['url']);
+ $url = self::lookup_term_url($t['url']);
$list[] = (($url) ? $url : $t['url']);
}
}
@@ -959,11 +976,10 @@ class Activity {
}
// Returns an array of all recipients targeted by private item array $i.
-
static function map_acl($i) {
$ret = [];
- if (! $i['item_private']) {
+ if (!$i['item_private']) {
return $ret;
}
@@ -977,8 +993,8 @@ class Activity {
}
if ($i['allow_cid']) {
- $tmp = expand_acl($i['allow_cid']);
- $list = stringify_array($tmp,true);
+ $tmp = expand_acl($i['allow_cid']);
+ $list = stringify_array($tmp, true);
if ($list) {
$details = q("select hubloc_id_url from hubloc where hubloc_hash in (" . $list . ") and hubloc_id_url != ''");
if ($details) {
@@ -1013,22 +1029,22 @@ class Activity {
static function encode_person($p, $extended = true) {
- if(! $p['xchan_url'])
+ if (!$p['xchan_url'])
return [];
- if(! $extended) {
+ if (!$extended) {
return $p['xchan_url'];
}
$ret = [];
- $c = ((array_key_exists('channel_id',$p)) ? $p : channelx_by_hash($p['xchan_hash']));
+ $c = ((array_key_exists('channel_id', $p)) ? $p : channelx_by_hash($p['xchan_hash']));
- $ret['type'] = 'Person';
+ $ret['type'] = 'Person';
if ($c) {
- $role = get_pconfig($c['channel_id'],'system','permissions_role');
- if (strpos($role,'forum') !== false) {
+ $role = get_pconfig($c['channel_id'], 'system', 'permissions_role');
+ if (strpos($role, 'forum') !== false) {
$ret['type'] = 'Group';
}
}
@@ -1037,23 +1053,24 @@ class Activity {
$ret['id'] = channel_url($c);
}
else {
- $ret['id'] = ((strpos($p['xchan_hash'],'http') === 0) ? $p['xchan_hash'] : $p['xchan_url']);
+ $ret['id'] = ((strpos($p['xchan_hash'], 'http') === 0) ? $p['xchan_hash'] : $p['xchan_url']);
}
- if($p['xchan_addr'] && strpos($p['xchan_addr'],'@'))
- $ret['preferredUsername'] = substr($p['xchan_addr'],0,strpos($p['xchan_addr'],'@'));
- $ret['name'] = $p['xchan_name'];
- $ret['updated'] = datetime_convert('UTC','UTC',$p['xchan_name_date'],ATOM_TIME);
- $ret['icon'] = [
+ if ($p['xchan_addr'] && strpos($p['xchan_addr'], '@'))
+ $ret['preferredUsername'] = substr($p['xchan_addr'], 0, strpos($p['xchan_addr'], '@'));
+
+ $ret['name'] = $p['xchan_name'];
+ $ret['updated'] = datetime_convert('UTC', 'UTC', $p['xchan_name_date'], ATOM_TIME);
+ $ret['icon'] = [
'type' => 'Image',
- 'mediaType' => (($p['xchan_photo_mimetype']) ? $p['xchan_photo_mimetype'] : 'image/png' ),
- 'updated' => datetime_convert('UTC','UTC',$p['xchan_photo_date'],ATOM_TIME),
+ 'mediaType' => (($p['xchan_photo_mimetype']) ? $p['xchan_photo_mimetype'] : 'image/png'),
+ 'updated' => datetime_convert('UTC', 'UTC', $p['xchan_photo_date'], ATOM_TIME),
'url' => $p['xchan_photo_l'],
'height' => 300,
'width' => 300,
];
- $ret['url'] = [
- [
+ $ret['url'] = [
+ [
'type' => 'Link',
'mediaType' => 'text/html',
'href' => $p['xchan_url']
@@ -1071,98 +1088,92 @@ class Activity {
'publicKeyPem' => $p['xchan_pubkey']
];
- $arr = [ 'xchan' => $p, 'encoded' => $ret ];
+ $arr = [
+ 'xchan' => $p,
+ 'encoded' => $ret
+ ];
+
call_hooks('encode_person', $arr);
$ret = $arr['encoded'];
-
return $ret;
}
-
-
-
-
-
-
-
static function activity_mapper($verb) {
- if(strpos($verb,'/') === false) {
+ if (strpos($verb, '/') === false) {
return $verb;
}
$acts = [
- 'http://activitystrea.ms/schema/1.0/post' => 'Create',
- 'http://activitystrea.ms/schema/1.0/share' => 'Announce',
- 'http://activitystrea.ms/schema/1.0/update' => 'Update',
- 'http://activitystrea.ms/schema/1.0/like' => 'Like',
- 'http://activitystrea.ms/schema/1.0/favorite' => 'Like',
- 'http://purl.org/zot/activity/dislike' => 'Dislike',
- 'http://activitystrea.ms/schema/1.0/tag' => 'Add',
- 'http://activitystrea.ms/schema/1.0/follow' => 'Follow',
- 'http://activitystrea.ms/schema/1.0/unfollow' => 'Unfollow',
- 'http://purl.org/zot/activity/attendyes' => 'Accept',
- 'http://purl.org/zot/activity/attendno' => 'Reject',
- 'http://purl.org/zot/activity/attendmaybe' => 'TentativeAccept',
- 'Invite' => 'Invite',
- 'Delete' => 'Delete',
- 'Undo' => 'Undo'
+ 'http://activitystrea.ms/schema/1.0/post' => 'Create',
+ 'http://activitystrea.ms/schema/1.0/share' => 'Announce',
+ 'http://activitystrea.ms/schema/1.0/update' => 'Update',
+ 'http://activitystrea.ms/schema/1.0/like' => 'Like',
+ 'http://activitystrea.ms/schema/1.0/favorite' => 'Like',
+ 'http://purl.org/zot/activity/dislike' => 'Dislike',
+ 'http://activitystrea.ms/schema/1.0/tag' => 'Add',
+ 'http://activitystrea.ms/schema/1.0/follow' => 'Follow',
+ 'http://activitystrea.ms/schema/1.0/unfollow' => 'Unfollow',
+ 'http://purl.org/zot/activity/attendyes' => 'Accept',
+ 'http://purl.org/zot/activity/attendno' => 'Reject',
+ 'http://purl.org/zot/activity/attendmaybe' => 'TentativeAccept',
+ 'Invite' => 'Invite',
+ 'Delete' => 'Delete',
+ 'Undo' => 'Undo'
];
- call_hooks('activity_mapper',$acts);
+ call_hooks('activity_mapper', $acts);
- if(array_key_exists($verb,$acts) && $acts[$verb]) {
+ if (array_key_exists($verb, $acts) && $acts[$verb]) {
return $acts[$verb];
}
// Reactions will just map to normal activities
- if(strpos($verb,ACTIVITY_REACT) !== false)
+ if (strpos($verb, ACTIVITY_REACT) !== false)
return 'emojiReaction';
- if(strpos($verb,ACTIVITY_MOOD) !== false)
+ if (strpos($verb, ACTIVITY_MOOD) !== false)
return 'Create';
- if(strpos($verb,ACTIVITY_FRIEND) !== false)
+ if (strpos($verb, ACTIVITY_FRIEND) !== false)
return 'Create';
- if(strpos($verb,ACTIVITY_POKE) !== false)
+ if (strpos($verb, ACTIVITY_POKE) !== false)
return 'Activity';
- // We should return false, however this will trigger an uncaught execption and crash
+ // We should return false, however this will trigger an uncaught execption and crash
// the delivery system if encountered by the JSON-LDSignature library
-
+
logger('Unmapped activity: ' . $verb);
return 'Create';
- // return false;
-}
-
-
+ // return false;
+ }
static function activity_decode_mapper($verb) {
$acts = [
- 'http://activitystrea.ms/schema/1.0/post' => 'Create',
- 'http://activitystrea.ms/schema/1.0/share' => 'Announce',
- 'http://activitystrea.ms/schema/1.0/update' => 'Update',
- 'http://activitystrea.ms/schema/1.0/like' => 'Like',
- 'http://activitystrea.ms/schema/1.0/favorite' => 'Like',
- 'http://purl.org/zot/activity/dislike' => 'Dislike',
- 'http://activitystrea.ms/schema/1.0/tag' => 'Add',
- 'http://activitystrea.ms/schema/1.0/follow' => 'Follow',
- 'http://activitystrea.ms/schema/1.0/unfollow' => 'Unfollow',
- 'http://purl.org/zot/activity/attendyes' => 'Accept',
- 'http://purl.org/zot/activity/attendno' => 'Reject',
- 'http://purl.org/zot/activity/attendmaybe' => 'TentativeAccept',
- 'Invite' => 'Invite',
- 'Delete' => 'Delete',
- 'Undo' => 'Undo'
+ 'http://activitystrea.ms/schema/1.0/post' => 'Create',
+ 'http://activitystrea.ms/schema/1.0/share' => 'Announce',
+ 'http://activitystrea.ms/schema/1.0/update' => 'Update',
+ 'http://activitystrea.ms/schema/1.0/like' => 'Like',
+ 'http://activitystrea.ms/schema/1.0/favorite' => 'Like',
+ 'http://purl.org/zot/activity/dislike' => 'Dislike',
+ 'http://activitystrea.ms/schema/1.0/tag' => 'Add',
+ 'http://activitystrea.ms/schema/1.0/follow' => 'Follow',
+ 'http://activitystrea.ms/schema/1.0/unfollow' => 'Unfollow',
+ 'http://purl.org/zot/activity/attendyes' => 'Accept',
+ 'http://purl.org/zot/activity/attendno' => 'Reject',
+ 'http://purl.org/zot/activity/attendmaybe' => 'TentativeAccept',
+ 'Invite' => 'Invite',
+ 'Delete' => 'Delete',
+ 'Undo' => 'Undo'
];
- call_hooks('activity_decode_mapper',$acts);
+ call_hooks('activity_decode_mapper', $acts);
- foreach($acts as $k => $v) {
- if($verb === $v) {
+ foreach ($acts as $k => $v) {
+ if ($verb === $v) {
return $k;
}
}
@@ -1175,33 +1186,33 @@ class Activity {
static function activity_obj_decode_mapper($obj) {
$objs = [
- 'http://activitystrea.ms/schema/1.0/note' => 'Note',
- 'http://activitystrea.ms/schema/1.0/note' => 'Article',
- 'http://activitystrea.ms/schema/1.0/comment' => 'Note',
- 'http://activitystrea.ms/schema/1.0/person' => 'Person',
- 'http://purl.org/zot/activity/profile' => 'Profile',
- 'http://activitystrea.ms/schema/1.0/photo' => 'Image',
- 'http://activitystrea.ms/schema/1.0/profile-photo' => 'Icon',
- 'http://activitystrea.ms/schema/1.0/event' => 'Event',
- 'http://purl.org/zot/activity/location' => 'Place',
- 'http://purl.org/zot/activity/chessgame' => 'Game',
- 'http://purl.org/zot/activity/tagterm' => 'zot:Tag',
- 'http://purl.org/zot/activity/thing' => 'Object',
- 'http://purl.org/zot/activity/file' => 'zot:File',
- 'http://purl.org/zot/activity/mood' => 'zot:Mood',
- 'Invite' => 'Invite',
- 'Question' => 'Question',
- 'Document' => 'Document',
- 'Audio' => 'Audio',
- 'Video' => 'Video',
- 'Delete' => 'Delete',
- 'Undo' => 'Undo'
+ 'http://activitystrea.ms/schema/1.0/note' => 'Note',
+ 'http://activitystrea.ms/schema/1.0/note' => 'Article',
+ 'http://activitystrea.ms/schema/1.0/comment' => 'Note',
+ 'http://activitystrea.ms/schema/1.0/person' => 'Person',
+ 'http://purl.org/zot/activity/profile' => 'Profile',
+ 'http://activitystrea.ms/schema/1.0/photo' => 'Image',
+ 'http://activitystrea.ms/schema/1.0/profile-photo' => 'Icon',
+ 'http://activitystrea.ms/schema/1.0/event' => 'Event',
+ 'http://purl.org/zot/activity/location' => 'Place',
+ 'http://purl.org/zot/activity/chessgame' => 'Game',
+ 'http://purl.org/zot/activity/tagterm' => 'zot:Tag',
+ 'http://purl.org/zot/activity/thing' => 'Object',
+ 'http://purl.org/zot/activity/file' => 'zot:File',
+ 'http://purl.org/zot/activity/mood' => 'zot:Mood',
+ 'Invite' => 'Invite',
+ 'Question' => 'Question',
+ 'Document' => 'Document',
+ 'Audio' => 'Audio',
+ 'Video' => 'Video',
+ 'Delete' => 'Delete',
+ 'Undo' => 'Undo'
];
- call_hooks('activity_obj_decode_mapper',$objs);
+ call_hooks('activity_obj_decode_mapper', $objs);
- foreach($objs as $k => $v) {
- if($obj === $v) {
+ foreach ($objs as $k => $v) {
+ if ($obj === $v) {
return $k;
}
}
@@ -1210,45 +1221,42 @@ class Activity {
return 'Note';
}
-
-
-
static function activity_obj_mapper($obj) {
$objs = [
- 'http://activitystrea.ms/schema/1.0/note' => 'Note',
- 'http://activitystrea.ms/schema/1.0/comment' => 'Note',
- 'http://activitystrea.ms/schema/1.0/person' => 'Person',
- 'http://purl.org/zot/activity/profile' => 'Profile',
- 'http://activitystrea.ms/schema/1.0/photo' => 'Image',
- 'http://activitystrea.ms/schema/1.0/profile-photo' => 'Icon',
- 'http://activitystrea.ms/schema/1.0/event' => 'Event',
- 'http://purl.org/zot/activity/location' => 'Place',
- 'http://purl.org/zot/activity/chessgame' => 'Game',
- 'http://purl.org/zot/activity/tagterm' => 'zot:Tag',
- 'http://purl.org/zot/activity/thing' => 'Object',
- 'http://purl.org/zot/activity/file' => 'zot:File',
- 'http://purl.org/zot/activity/mood' => 'zot:Mood',
- 'Invite' => 'Invite',
- 'Question' => 'Question',
- 'Audio' => 'Audio',
- 'Video' => 'Video',
- 'Delete' => 'Delete',
- 'Undo' => 'Undo'
+ 'http://activitystrea.ms/schema/1.0/note' => 'Note',
+ 'http://activitystrea.ms/schema/1.0/comment' => 'Note',
+ 'http://activitystrea.ms/schema/1.0/person' => 'Person',
+ 'http://purl.org/zot/activity/profile' => 'Profile',
+ 'http://activitystrea.ms/schema/1.0/photo' => 'Image',
+ 'http://activitystrea.ms/schema/1.0/profile-photo' => 'Icon',
+ 'http://activitystrea.ms/schema/1.0/event' => 'Event',
+ 'http://purl.org/zot/activity/location' => 'Place',
+ 'http://purl.org/zot/activity/chessgame' => 'Game',
+ 'http://purl.org/zot/activity/tagterm' => 'zot:Tag',
+ 'http://purl.org/zot/activity/thing' => 'Object',
+ 'http://purl.org/zot/activity/file' => 'zot:File',
+ 'http://purl.org/zot/activity/mood' => 'zot:Mood',
+ 'Invite' => 'Invite',
+ 'Question' => 'Question',
+ 'Audio' => 'Audio',
+ 'Video' => 'Video',
+ 'Delete' => 'Delete',
+ 'Undo' => 'Undo'
];
- call_hooks('activity_obj_mapper',$objs);
+ call_hooks('activity_obj_mapper', $objs);
if ($obj === 'Answer') {
return 'Note';
}
- if (strpos($obj,'/') === false) {
+ if (strpos($obj, '/') === false) {
return $obj;
}
- if(array_key_exists($obj,$objs)) {
+ if (array_key_exists($obj, $objs)) {
return $objs[$obj];
}
@@ -1259,108 +1267,104 @@ class Activity {
}
+ static function follow($channel, $act) {
- static function follow($channel,$act) {
-
- $contact = null;
+ $contact = null;
$their_follow_id = null;
/*
- *
- * if $act->type === 'Follow', actor is now following $channel
- * if $act->type === 'Accept', actor has approved a follow request from $channel
- *
+ *
+ * if $act->type === 'Follow', actor is now following $channel
+ * if $act->type === 'Accept', actor has approved a follow request from $channel
+ *
*/
$person_obj = $act->actor;
- if($act->type === 'Follow') {
- $their_follow_id = $act->id;
- }
- elseif($act->type === 'Accept') {
- $my_follow_id = z_root() . '/follow/' . $contact['id'];
+ if ($act->type === 'Follow') {
+ $their_follow_id = $act->id;
}
-
- if(is_array($person_obj)) {
+
+ if (is_array($person_obj)) {
// store their xchan and hubloc
- self::actor_store($person_obj['id'],$person_obj);
+ self::actor_store($person_obj['id'], $person_obj);
- // Find any existing abook record
+ // Find any existing abook record
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d limit 1",
dbesc($person_obj['id']),
intval($channel['channel_id'])
);
- if($r) {
+ if ($r) {
$contact = $r[0];
}
}
- $x = \Zotlabs\Access\PermissionRoles::role_perms('social');
- $p = \Zotlabs\Access\Permissions::FilledPerms($x['perms_connect']);
- $their_perms = \Zotlabs\Access\Permissions::serialise($p);
+ $x = PermissionRoles::role_perms('social');
+ $p = Permissions::FilledPerms($x['perms_connect']);
+ $their_perms = Permissions::serialise($p);
- if($contact && $contact['abook_id']) {
+ if ($contact && $contact['abook_id']) {
- // A relationship of some form already exists on this site.
+ // A relationship of some form already exists on this site.
- switch($act->type) {
+ switch ($act->type) {
case 'Follow':
// A second Follow request, but we haven't approved the first one
- if($contact['abook_pending']) {
+ if ($contact['abook_pending']) {
return;
}
// We've already approved them or followed them first
// Send an Accept back to them
- set_abconfig($channel['channel_id'],$person_obj['id'],'pubcrawl','their_follow_id', $their_follow_id);
- Master::Summon([ 'Notifier', 'permissions_accept', $contact['abook_id'] ]);
+ set_abconfig($channel['channel_id'], $person_obj['id'], 'pubcrawl', 'their_follow_id', $their_follow_id);
+ Master::Summon(['Notifier', 'permissions_accept', $contact['abook_id']]);
return;
case 'Accept':
// They accepted our Follow request - set default permissions
-
- set_abconfig($channel['channel_id'],$contact['abook_xchan'],'system','their_perms',$their_perms);
+
+ set_abconfig($channel['channel_id'], $contact['abook_xchan'], 'system', 'their_perms', $their_perms);
$abook_instance = $contact['abook_instance'];
-
- if(strpos($abook_instance,z_root()) === false) {
- if($abook_instance)
+
+ if (strpos($abook_instance, z_root()) === false) {
+ if ($abook_instance)
$abook_instance .= ',';
$abook_instance .= z_root();
- $r = q("update abook set abook_instance = '%s', abook_not_here = 0
+ q("update abook set abook_instance = '%s', abook_not_here = 0
where abook_id = %d and abook_channel = %d",
dbesc($abook_instance),
intval($contact['abook_id']),
intval($channel['channel_id'])
);
}
-
+
return;
default:
return;
-
+
}
}
// No previous relationship exists.
- if($act->type === 'Accept') {
+ if ($act->type === 'Accept') {
// This should not happen unless we deleted the connection before it was accepted.
return;
}
// From here on out we assume a Follow activity to somebody we have no existing relationship with
- set_abconfig($channel['channel_id'],$person_obj['id'],'pubcrawl','their_follow_id', $their_follow_id);
+ set_abconfig($channel['channel_id'], $person_obj['id'], 'pubcrawl', 'their_follow_id', $their_follow_id);
// The xchan should have been created by actor_store() above
@@ -1368,17 +1372,17 @@ class Activity {
dbesc($person_obj['id'])
);
- if(! $r) {
+ if (!$r) {
logger('xchan not found for ' . $person_obj['id']);
return;
}
$ret = $r[0];
- $p = \Zotlabs\Access\Permissions::connect_perms($channel['channel_id']);
- $my_perms = \Zotlabs\Access\Permissions::serialise($p['perms']);
+ $p = Permissions::connect_perms($channel['channel_id']);
+ $my_perms = Permissions::serialise($p['perms']);
$automatic = $p['automatic'];
- $closeness = get_pconfig($channel['channel_id'],'system','new_abook_closeness',80);
+ $closeness = get_pconfig($channel['channel_id'], 'system', 'new_abook_closeness', 80);
$r = abook_store_lowlevel(
[
@@ -1394,64 +1398,64 @@ class Activity {
'abook_instance' => z_root()
]
);
-
- if($my_perms)
- set_abconfig($channel['channel_id'],$ret['xchan_hash'],'system','my_perms',$my_perms);
- if($their_perms)
- set_abconfig($channel['channel_id'],$ret['xchan_hash'],'system','their_perms',$their_perms);
+ if ($my_perms)
+ set_abconfig($channel['channel_id'], $ret['xchan_hash'], 'system', 'my_perms', $my_perms);
+
+ if ($their_perms)
+ set_abconfig($channel['channel_id'], $ret['xchan_hash'], 'system', 'their_perms', $their_perms);
- if($r) {
+ if ($r) {
logger("New ActivityPub follower for {$channel['channel_name']}");
$new_connection = q("select * from abook left join xchan on abook_xchan = xchan_hash left join hubloc on hubloc_hash = xchan_hash where abook_channel = %d and abook_xchan = '%s' order by abook_created desc limit 1",
intval($channel['channel_id']),
dbesc($ret['xchan_hash'])
);
- if($new_connection) {
- \Zotlabs\Lib\Enotify::submit(
+ if ($new_connection) {
+ Enotify::submit(
[
- 'type' => NOTIFY_INTRO,
- 'from_xchan' => $ret['xchan_hash'],
- 'to_xchan' => $channel['channel_hash'],
- 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'],
+ 'type' => NOTIFY_INTRO,
+ 'from_xchan' => $ret['xchan_hash'],
+ 'to_xchan' => $channel['channel_hash'],
+ 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'],
]
);
- if($my_perms && $automatic) {
+ if ($my_perms && $automatic) {
// send an Accept for this Follow activity
- Master::Summon([ 'Notifier', 'permissions_accept', $new_connection[0]['abook_id'] ]);
+ Master::Summon(['Notifier', 'permissions_accept', $new_connection[0]['abook_id']]);
// Send back a Follow notification to them
- Master::Summon([ 'Notifier', 'permissions_create', $new_connection[0]['abook_id'] ]);
+ Master::Summon(['Notifier', 'permissions_create', $new_connection[0]['abook_id']]);
}
- $clone = array();
- foreach($new_connection[0] as $k => $v) {
- if(strpos($k,'abook_') === 0) {
+ $clone = [];
+ foreach ($new_connection[0] as $k => $v) {
+ if (strpos($k, 'abook_') === 0) {
$clone[$k] = $v;
}
}
unset($clone['abook_id']);
unset($clone['abook_account']);
unset($clone['abook_channel']);
-
- $abconfig = load_abconfig($channel['channel_id'],$clone['abook_xchan']);
- if($abconfig)
+ $abconfig = load_abconfig($channel['channel_id'], $clone['abook_xchan']);
+
+ if ($abconfig)
$clone['abconfig'] = $abconfig;
- Libsync::build_sync_packet($channel['channel_id'], [ 'abook' => array($clone) ] );
+ Libsync::build_sync_packet($channel['channel_id'], ['abook' => [$clone]]);
}
}
/* If there is a default group for this channel and permissions are automatic, add this member to it */
- if($channel['channel_default_group'] && $automatic) {
- $g = Group::rec_byhash($channel['channel_id'],$channel['channel_default_group']);
- if($g)
- Group::member_add($channel['channel_id'],'',$ret['xchan_hash'],$g['id']);
+ if ($channel['channel_default_group'] && $automatic) {
+ $g = Group::rec_byhash($channel['channel_id'], $channel['channel_default_group']);
+ if ($g)
+ Group::member_add($channel['channel_id'], '', $ret['xchan_hash'], $g['id']);
}
@@ -1459,8 +1463,7 @@ class Activity {
}
-
- static function unfollow($channel,$act) {
+ static function unfollow($channel, $act) {
$contact = null;
@@ -1470,46 +1473,43 @@ class Activity {
$person_obj = $act->actor;
- if(is_array($person_obj)) {
+ if (is_array($person_obj)) {
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d limit 1",
dbesc($person_obj['id']),
intval($channel['channel_id'])
);
- if($r) {
+ if ($r) {
// remove all permissions they provided
- del_abconfig($channel['channel_id'],$r[0]['xchan_hash'],'system','their_perms',EMPTY_STR);
+ del_abconfig($channel['channel_id'], $r[0]['xchan_hash'], 'system', 'their_perms');
}
}
return;
}
+ static function actor_store($url, $person_obj) {
-
-
- static function actor_store($url,$person_obj) {
-
- if(! is_array($person_obj))
+ if (!is_array($person_obj))
return;
$inbox = $person_obj['inbox'];
// invalid identity
- if (! $inbox || strpos($inbox,z_root()) !== false) {
+ if (!$inbox || strpos($inbox, z_root()) !== false) {
return;
}
$name = $person_obj['name'];
- if(! $name)
+ if (!$name)
$name = $person_obj['preferredUsername'];
- if(! $name)
+ if (!$name)
$name = t('Unknown');
- if($person_obj['icon']) {
- if(is_array($person_obj['icon'])) {
- if(array_key_exists('url',$person_obj['icon']))
+ if ($person_obj['icon']) {
+ if (is_array($person_obj['icon'])) {
+ if (array_key_exists('url', $person_obj['icon']))
$icon = $person_obj['icon']['url'];
else
$icon = $person_obj['icon'][0]['url'];
@@ -1518,12 +1518,12 @@ class Activity {
$icon = $person_obj['icon'];
}
- $links = false;
+ $links = false;
$profile = false;
if (is_array($person_obj['url'])) {
- if (! array_key_exists(0,$person_obj['url'])) {
- $links = [ $person_obj['url'] ];
+ if (!array_key_exists(0, $person_obj['url'])) {
+ $links = [$person_obj['url']];
}
else {
$links = $person_obj['url'];
@@ -1532,11 +1532,11 @@ class Activity {
if ($links) {
foreach ($links as $link) {
- if (array_key_exists('mediaType',$link) && $link['mediaType'] === 'text/html') {
+ if (array_key_exists('mediaType', $link) && $link['mediaType'] === 'text/html') {
$profile = $link['href'];
}
}
- if (! $profile) {
+ if (!$profile) {
$profile = $links[0]['href'];
}
}
@@ -1544,28 +1544,28 @@ class Activity {
$profile = $person_obj['url'];
}
- if (! $profile) {
+ if (!$profile) {
$profile = $url;
}
$collections = [];
- if($inbox) {
+ if ($inbox) {
$collections['inbox'] = $inbox;
- if($person_obj['outbox'])
+ if ($person_obj['outbox'])
$collections['outbox'] = $person_obj['outbox'];
- if($person_obj['followers'])
+ if ($person_obj['followers'])
$collections['followers'] = $person_obj['followers'];
- if($person_obj['following'])
+ if ($person_obj['following'])
$collections['following'] = $person_obj['following'];
- if($person_obj['endpoints'] && $person_obj['endpoints']['sharedInbox'])
+ if ($person_obj['endpoints'] && $person_obj['endpoints']['sharedInbox'])
$collections['sharedInbox'] = $person_obj['endpoints']['sharedInbox'];
}
- if(array_key_exists('publicKey',$person_obj) && array_key_exists('publicKeyPem',$person_obj['publicKey'])) {
- if($person_obj['id'] === $person_obj['publicKey']['owner']) {
+ if (array_key_exists('publicKey', $person_obj) && array_key_exists('publicKeyPem', $person_obj['publicKey'])) {
+ if ($person_obj['id'] === $person_obj['publicKey']['owner']) {
$pubkey = $person_obj['publicKey']['publicKeyPem'];
- if(strstr($pubkey,'RSA ')) {
+ if (strstr($pubkey, 'RSA ')) {
$pubkey = rsatopem($pubkey);
}
}
@@ -1574,33 +1574,33 @@ class Activity {
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($url)
);
- if(! $r) {
+ if (!$r) {
// create a new record
- $r = xchan_store_lowlevel(
+ xchan_store_lowlevel(
[
- 'xchan_hash' => $url,
- 'xchan_guid' => $url,
- 'xchan_pubkey' => $pubkey,
- 'xchan_addr' => '',
- 'xchan_url' => $profile,
- 'xchan_name' => $name,
- 'xchan_name_date' => datetime_convert(),
- 'xchan_network' => 'activitypub'
+ 'xchan_hash' => $url,
+ 'xchan_guid' => $url,
+ 'xchan_pubkey' => $pubkey,
+ 'xchan_addr' => '',
+ 'xchan_url' => $profile,
+ 'xchan_name' => $name,
+ 'xchan_name_date' => datetime_convert(),
+ 'xchan_network' => 'activitypub'
]
);
}
else {
// Record exists. Cache existing records for one week at most
- // then refetch to catch updated profile photos, names, etc.
+ // then refetch to catch updated profile photos, names, etc.
- $d = datetime_convert('UTC','UTC','now - 1 week');
- if($r[0]['xchan_name_date'] > $d)
+ $d = datetime_convert('UTC', 'UTC', 'now - 1 week');
+ if ($r[0]['xchan_name_date'] > $d)
return;
// update existing record
- $r = q("update xchan set xchan_name = '%s', xchan_pubkey = '%s', xchan_network = '%s', xchan_name_date = '%s' where xchan_hash = '%s'",
+ q("update xchan set xchan_name = '%s', xchan_pubkey = '%s', xchan_network = '%s', xchan_name_date = '%s' where xchan_hash = '%s'",
dbesc($name),
dbesc($pubkey),
dbesc('activitypub'),
@@ -1609,23 +1609,22 @@ class Activity {
);
}
- if($collections) {
- set_xconfig($url,'activitypub','collections',$collections);
+ if ($collections) {
+ set_xconfig($url, 'activitypub', 'collections', $collections);
}
$r = q("select * from hubloc where hubloc_hash = '%s' limit 1",
dbesc($url)
);
-
$m = parse_url($url);
- if($m) {
+ if ($m) {
$hostname = $m['host'];
- $baseurl = $m['scheme'] . '://' . $m['host'] . (($m['port']) ? ':' . $m['port'] : '');
+ $baseurl = $m['scheme'] . '://' . $m['host'] . (($m['port']) ? ':' . $m['port'] : '');
}
- if(! $r) {
- $r = hubloc_store_lowlevel(
+ if (!$r) {
+ hubloc_store_lowlevel(
[
'hubloc_guid' => $url,
'hubloc_hash' => $url,
@@ -1641,12 +1640,12 @@ class Activity {
);
}
- if(! $icon)
+ if (!$icon)
$icon = z_root() . '/' . get_default_profile_photo(300);
- $photos = import_xchan_photo($icon,$url);
- $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
- dbescdate(datetime_convert('UTC','UTC',$photos[5])),
+ $photos = import_xchan_photo($icon, $url);
+ q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
+ dbescdate(datetime_convert('UTC', 'UTC', $photos[5])),
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
@@ -1656,54 +1655,51 @@ class Activity {
}
+ static function create_action($channel, $observer_hash, $act) {
- static function create_action($channel,$observer_hash,$act) {
-
- if(in_array($act->obj['type'], [ 'Note', 'Article', 'Video' ])) {
- self::create_note($channel,$observer_hash,$act);
+ if (in_array($act->obj['type'], ['Note', 'Article', 'Video'])) {
+ self::create_note($channel, $observer_hash, $act);
}
}
- static function announce_action($channel,$observer_hash,$act) {
+ static function announce_action($channel, $observer_hash, $act) {
- if(in_array($act->type, [ 'Announce' ])) {
- self::announce_note($channel,$observer_hash,$act);
+ if (in_array($act->type, ['Announce'])) {
+ self::announce_note($channel, $observer_hash, $act);
}
}
+ static function like_action($channel, $observer_hash, $act) {
- static function like_action($channel,$observer_hash,$act) {
-
- if(in_array($act->obj['type'], [ 'Note', 'Article', 'Video' ])) {
- self::like_note($channel,$observer_hash,$act);
+ if (in_array($act->obj['type'], ['Note', 'Article', 'Video'])) {
+ self::like_note($channel, $observer_hash, $act);
}
}
// sort function width decreasing
-
- static function vid_sort($a,$b) {
- if($a['width'] === $b['width'])
+ static function vid_sort($a, $b) {
+ if ($a['width'] === $b['width'])
return 0;
return (($a['width'] > $b['width']) ? -1 : 1);
}
- static function create_note($channel,$observer_hash,$act) {
+ static function create_note($channel, $observer_hash, $act) {
$s = [];
// Mastodon only allows visibility in public timelines if the public inbox is listed in the 'to' field.
// They are hidden in the public timeline if the public inbox is listed in the 'cc' field.
// This is not part of the activitypub protocol - we might change this to show all public posts in pubstream at some point.
- $pubstream = ((is_array($act->obj) && array_key_exists('to', $act->obj) && in_array(ACTIVITY_PUBLIC_INBOX, $act->obj['to'])) ? true : false);
+ $pubstream = ((is_array($act->obj) && array_key_exists('to', $act->obj) && in_array(ACTIVITY_PUBLIC_INBOX, $act->obj['to'])) ? true : false);
$is_sys_channel = is_sys_channel($channel['channel_id']);
- $parent = ((array_key_exists('inReplyTo',$act->obj)) ? urldecode($act->obj['inReplyTo']) : '');
- if($parent) {
+ $parent = ((array_key_exists('inReplyTo', $act->obj)) ? urldecode($act->obj['inReplyTo']) : '');
+ if ($parent) {
$r = q("select * from item where uid = %d and ( mid = '%s' or mid = '%s' ) limit 1",
intval($channel['channel_id']),
@@ -1711,39 +1707,39 @@ class Activity {
dbesc(basename($parent))
);
- if(! $r) {
+ if (!$r) {
logger('parent not found.');
return;
}
- if($r[0]['owner_xchan'] === $channel['channel_hash']) {
- if(! perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && ! ($is_sys_channel && $pubstream)) {
+ if ($r[0]['owner_xchan'] === $channel['channel_hash']) {
+ if (!perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') && !($is_sys_channel && $pubstream)) {
logger('no comment permission.');
return;
}
}
- $s['parent_mid'] = $r[0]['mid'];
- $s['owner_xchan'] = $r[0]['owner_xchan'];
+ $s['parent_mid'] = $r[0]['mid'];
+ $s['owner_xchan'] = $r[0]['owner_xchan'];
$s['author_xchan'] = $observer_hash;
}
else {
- if(! perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && ! ($is_sys_channel && $pubstream)) {
+ if (!perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') && !($is_sys_channel && $pubstream)) {
logger('no permission');
return;
}
$s['owner_xchan'] = $s['author_xchan'] = $observer_hash;
}
-
+
$abook = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
dbesc($observer_hash),
intval($channel['channel_id'])
);
-
+
$content = self::get_content($act->obj);
- if(! $content) {
+ if (!$content) {
logger('no content');
return;
}
@@ -1756,105 +1752,105 @@ class Activity {
$s['author_xchan'] = self::find_best_identity($s['author_xchan']);
$s['owner_xchan'] = self::find_best_identity($s['owner_xchan']);
- if(!$s['author_xchan']) {
+ if (!$s['author_xchan']) {
logger('No author: ' . print_r($act, true));
}
- if(!$s['owner_xchan']) {
+ if (!$s['owner_xchan']) {
logger('No owner: ' . print_r($act, true));
}
- if(!$s['author_xchan'] || !$s['owner_xchan'])
+ if (!$s['author_xchan'] || !$s['owner_xchan'])
return;
- $s['mid'] = urldecode($act->obj['id']);
- $s['uuid'] = $act->obj['diaspora:guid'];
+ $s['mid'] = urldecode($act->obj['id']);
+ $s['uuid'] = $act->obj['diaspora:guid'];
$s['plink'] = urldecode($act->obj['id']);
- if($act->data['published']) {
- $s['created'] = datetime_convert('UTC','UTC',$act->data['published']);
+ if ($act->data['published']) {
+ $s['created'] = datetime_convert('UTC', 'UTC', $act->data['published']);
}
- elseif($act->obj['published']) {
- $s['created'] = datetime_convert('UTC','UTC',$act->obj['published']);
+ elseif ($act->obj['published']) {
+ $s['created'] = datetime_convert('UTC', 'UTC', $act->obj['published']);
}
- if($act->data['updated']) {
- $s['edited'] = datetime_convert('UTC','UTC',$act->data['updated']);
+ if ($act->data['updated']) {
+ $s['edited'] = datetime_convert('UTC', 'UTC', $act->data['updated']);
}
- elseif($act->obj['updated']) {
- $s['edited'] = datetime_convert('UTC','UTC',$act->obj['updated']);
+ elseif ($act->obj['updated']) {
+ $s['edited'] = datetime_convert('UTC', 'UTC', $act->obj['updated']);
}
if ($act->data['expires']) {
- $s['expires'] = datetime_convert('UTC','UTC',$act->data['expires']);
+ $s['expires'] = datetime_convert('UTC', 'UTC', $act->data['expires']);
}
elseif ($act->obj['expires']) {
- $s['expires'] = datetime_convert('UTC','UTC',$act->obj['expires']);
+ $s['expires'] = datetime_convert('UTC', 'UTC', $act->obj['expires']);
}
- if(! $s['created'])
+ if (!$s['created'])
$s['created'] = datetime_convert();
- if(! $s['edited'])
+ if (!$s['edited'])
$s['edited'] = $s['created'];
- if(! $s['parent_mid'])
+ if (!$s['parent_mid'])
$s['parent_mid'] = $s['mid'];
-
- $s['title'] = self::bb_content($content,'name');
- $s['summary'] = self::bb_content($content,'summary');
- $s['body'] = self::bb_content($content,'content');
+
+ $s['title'] = self::bb_content($content, 'name');
+ $s['summary'] = self::bb_content($content, 'summary');
+ $s['body'] = self::bb_content($content, 'content');
$s['verb'] = ACTIVITY_POST;
$s['obj_type'] = ACTIVITY_OBJ_NOTE;
$generator = $act->get_property_obj('generator');
- if(! $generator)
- $generator = $act->get_property_obj('generator',$act->obj);
+ if (!$generator)
+ $generator = $act->get_property_obj('generator', $act->obj);
- if($generator && array_key_exists('type',$generator)
- && in_array($generator['type'], [ 'Application','Service' ] ) && array_key_exists('name',$generator)) {
+ if ($generator && array_key_exists('type', $generator)
+ && in_array($generator['type'], ['Application', 'Service']) && array_key_exists('name', $generator)) {
$s['app'] = escape_tags($generator['name']);
}
- if($channel['channel_system']) {
- if(! \Zotlabs\Lib\MessageFilter::evaluate($s,get_config('system','pubstream_incl'),get_config('system','pubstream_excl'))) {
+ if ($channel['channel_system']) {
+ if (!MessageFilter::evaluate($s, get_config('system', 'pubstream_incl'), get_config('system', 'pubstream_excl'))) {
logger('post is filtered');
return;
}
}
- if($abook) {
- if(! post_is_importable($s,$abook[0])) {
+ if ($abook) {
+ if (!post_is_importable($s, $abook[0])) {
logger('post is filtered');
return;
}
}
- if($act->obj['conversation']) {
- set_iconfig($s,'ostatus','conversation',$act->obj['conversation'],1);
+ if ($act->obj['conversation']) {
+ set_iconfig($s, 'ostatus', 'conversation', $act->obj['conversation'], 1);
}
$a = self::decode_taxonomy($act->obj);
- if($a) {
+ if ($a) {
$s['term'] = $a;
}
$a = self::decode_attachment($act->obj);
- if($a) {
+ if ($a) {
$s['attach'] = $a;
}
- if($act->obj['type'] === 'Note' && $s['attach']) {
- $s['body'] .= self::bb_attach($s['attach'],$s['body']);
+ if ($act->obj['type'] === 'Note' && $s['attach']) {
+ $s['body'] .= self::bb_attach($s['attach'], $s['body']);
}
// we will need a hook here to extract magnet links e.g. peertube
// right now just link to the largest mp4 we find that will fit in our
// standard content region
- if($act->obj['type'] === 'Video') {
+ if ($act->obj['type'] === 'Video') {
$vtypes = [
'video/mp4',
@@ -1863,20 +1859,20 @@ class Activity {
];
$mps = [];
- if(array_key_exists('url',$act->obj) && is_array($act->obj['url'])) {
- foreach($act->obj['url'] as $vurl) {
- if(in_array($vurl['mimeType'], $vtypes)) {
- if(! array_key_exists('width',$vurl)) {
+ if (array_key_exists('url', $act->obj) && is_array($act->obj['url'])) {
+ foreach ($act->obj['url'] as $vurl) {
+ if (in_array($vurl['mimeType'], $vtypes)) {
+ if (!array_key_exists('width', $vurl)) {
$vurl['width'] = 0;
}
$mps[] = $vurl;
}
}
}
- if($mps) {
- usort($mps,[ __CLASS__, 'vid_sort' ]);
- foreach($mps as $m) {
- if(intval($m['width']) < 500) {
+ if ($mps) {
+ usort($mps, [__CLASS__, 'vid_sort']);
+ foreach ($mps as $m) {
+ if (intval($m['width']) < 500) {
$s['body'] .= "\n\n" . '[video]' . $m['href'] . '[/video]';
break;
}
@@ -1884,17 +1880,17 @@ class Activity {
}
}
- if($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips)))
+ if ($act->recips && (!in_array(ACTIVITY_PUBLIC_INBOX, $act->recips)))
$s['item_private'] = 1;
- if (array_key_exists('directMessage',$act->obj) && intval($act->obj['directMessage'])) {
+ if (array_key_exists('directMessage', $act->obj) && intval($act->obj['directMessage'])) {
$s['item_private'] = 2;
}
- set_iconfig($s,'activitypub','recips',$act->raw_recips);
- if($parent) {
- set_iconfig($s,'activitypub','rawmsg',$act->raw,1);
+ set_iconfig($s, 'activitypub', 'recips', $act->raw_recips);
+ if ($parent) {
+ set_iconfig($s, 'activitypub', 'rawmsg', $act->raw, 1);
}
$x = null;
@@ -1903,8 +1899,8 @@ class Activity {
dbesc($s['mid']),
intval($s['uid'])
);
- if($r) {
- if($s['edited'] > $r[0]['edited']) {
+ if ($r) {
+ if ($s['edited'] > $r[0]['edited']) {
$x = item_store_update($s);
}
else {
@@ -1915,20 +1911,20 @@ class Activity {
$x = item_store($s);
}
- if(is_array($x) && $x['item_id']) {
- if($parent) {
- if($s['owner_xchan'] === $channel['channel_hash']) {
+ if (is_array($x) && $x['item_id']) {
+ if ($parent) {
+ if ($s['owner_xchan'] === $channel['channel_hash']) {
// We are the owner of this conversation, so send all received comments back downstream
- Master::Summon(array('Notifier','comment-import',$x['item_id']));
+ Master::Summon(['Notifier', 'comment-import', $x['item_id']]);
}
$r = q("select * from item where id = %d limit 1",
intval($x['item_id'])
);
- if($r) {
- send_status_notifications($x['item_id'],$r[0]);
+ if ($r) {
+ send_status_notifications($x['item_id'], $r[0]);
}
}
- sync_an_item($channel['channel_id'],$x['item_id']);
+ sync_an_item($channel['channel_id'], $x['item_id']);
}
}
@@ -1940,26 +1936,24 @@ class Activity {
dbesc($id)
);
- if($x) {
- return sprintf('@[zrl=%s]%s[/zrl]',$x[0]['xchan_url'],$x[0]['xchan_name']);
+ if ($x) {
+ return sprintf('@[zrl=%s]%s[/zrl]', $x[0]['xchan_url'], $x[0]['xchan_name']);
}
return '@{' . $id . '}';
}
-
-
- static function update_poll($item,$post) {
- $multi = false;
- $mid = $post['mid'];
+ static function update_poll($item, $post) {
+ $multi = false;
+ $mid = $post['mid'];
$content = $post['title'];
-
- if (! $item) {
+
+ if (!$item) {
return false;
}
- $o = json_decode($item['obj'],true);
- if ($o && array_key_exists('anyOf',$o)) {
+ $o = json_decode($item['obj'], true);
+ if ($o && array_key_exists('anyOf', $o)) {
$multi = true;
}
@@ -1969,7 +1963,7 @@ class Activity {
);
// prevent any duplicate votes by same author for oneOf and duplicate votes with same author and same answer for anyOf
-
+
if ($r) {
if ($multi) {
foreach ($r as $rv) {
@@ -1986,103 +1980,101 @@ class Activity {
}
}
}
-
+
$answer_found = false;
- $found = false;
+ $found = false;
if ($multi) {
- for ($c = 0; $c < count($o['anyOf']); $c ++) {
+ for ($c = 0; $c < count($o['anyOf']); $c++) {
if ($o['anyOf'][$c]['name'] === $content) {
$answer_found = true;
if (is_array($o['anyOf'][$c]['replies'])) {
- foreach($o['anyOf'][$c]['replies'] as $reply) {
- if(is_array($reply) && array_key_exists('id',$reply) && $reply['id'] === $mid) {
+ foreach ($o['anyOf'][$c]['replies'] as $reply) {
+ if (is_array($reply) && array_key_exists('id', $reply) && $reply['id'] === $mid) {
$found = true;
}
}
}
- if (! $found) {
- $o['anyOf'][$c]['replies']['totalItems'] ++;
- $o['anyOf'][$c]['replies']['items'][] = [ 'id' => $mid, 'type' => 'Note' ];
+ if (!$found) {
+ $o['anyOf'][$c]['replies']['totalItems']++;
+ $o['anyOf'][$c]['replies']['items'][] = ['id' => $mid, 'type' => 'Note'];
}
}
}
}
else {
- for ($c = 0; $c < count($o['oneOf']); $c ++) {
+ for ($c = 0; $c < count($o['oneOf']); $c++) {
if ($o['oneOf'][$c]['name'] === $content) {
$answer_found = true;
if (is_array($o['oneOf'][$c]['replies'])) {
- foreach($o['oneOf'][$c]['replies'] as $reply) {
- if(is_array($reply) && array_key_exists('id',$reply) && $reply['id'] === $mid) {
+ foreach ($o['oneOf'][$c]['replies'] as $reply) {
+ if (is_array($reply) && array_key_exists('id', $reply) && $reply['id'] === $mid) {
$found = true;
}
}
}
- if (! $found) {
- $o['oneOf'][$c]['replies']['totalItems'] ++;
- $o['oneOf'][$c]['replies']['items'][] = [ 'id' => $mid, 'type' => 'Note' ];
+ if (!$found) {
+ $o['oneOf'][$c]['replies']['totalItems']++;
+ $o['oneOf'][$c]['replies']['items'][] = ['id' => $mid, 'type' => 'Note'];
}
}
}
}
- logger('updated_poll: ' . print_r($o,true),LOGGER_DATA);
- if ($answer_found && ! $found) {
- $x = q("update item set obj = '%s', edited = '%s' where id = %d",
+ logger('updated_poll: ' . print_r($o, true), LOGGER_DATA);
+ if ($answer_found && !$found) {
+ q("update item set obj = '%s', edited = '%s' where id = %d",
dbesc(json_encode($o)),
dbesc(datetime_convert()),
intval($item['id'])
);
- Master::Summon( [ 'Notifier', 'wall-new', $item['id'] ] );
+ Master::Summon(['Notifier', 'wall-new', $item['id']]);
return true;
}
return false;
}
-
-
static function decode_note($act) {
$response_activity = false;
$s = [];
- if(is_array($act->obj)) {
+ if (is_array($act->obj)) {
$content = self::get_content($act->obj);
}
-
+
$s['owner_xchan'] = $act->actor['id'];
$s['author_xchan'] = $act->actor['id'];
// ensure we store the original actor
- self::actor_store($act->actor['id'],$act->actor);
+ self::actor_store($act->actor['id'], $act->actor);
$s['mid'] = $act->obj['id'];
- $s['uuid'] = $act->obj['diaspora:guid'];
+ $s['uuid'] = $act->obj['diaspora:guid'];
$s['parent_mid'] = $act->parent_id;
- if($act->data['published']) {
- $s['created'] = datetime_convert('UTC','UTC',$act->data['published']);
+ if ($act->data['published']) {
+ $s['created'] = datetime_convert('UTC', 'UTC', $act->data['published']);
}
- elseif($act->obj['published']) {
- $s['created'] = datetime_convert('UTC','UTC',$act->obj['published']);
+ elseif ($act->obj['published']) {
+ $s['created'] = datetime_convert('UTC', 'UTC', $act->obj['published']);
}
- if($act->data['updated']) {
- $s['edited'] = datetime_convert('UTC','UTC',$act->data['updated']);
+ if ($act->data['updated']) {
+ $s['edited'] = datetime_convert('UTC', 'UTC', $act->data['updated']);
}
- elseif($act->obj['updated']) {
- $s['edited'] = datetime_convert('UTC','UTC',$act->obj['updated']);
+ elseif ($act->obj['updated']) {
+ $s['edited'] = datetime_convert('UTC', 'UTC', $act->obj['updated']);
}
if ($act->data['expires']) {
- $s['expires'] = datetime_convert('UTC','UTC',$act->data['expires']);
+ $s['expires'] = datetime_convert('UTC', 'UTC', $act->data['expires']);
}
elseif ($act->obj['expires']) {
- $s['expires'] = datetime_convert('UTC','UTC',$act->obj['expires']);
+ $s['expires'] = datetime_convert('UTC', 'UTC', $act->obj['expires']);
}
- if(ActivityStreams::is_response_activity($act->type)) {
+ if (ActivityStreams::is_response_activity($act->type)) {
$response_activity = true;
@@ -2092,85 +2084,85 @@ class Activity {
// over-ride the object timestamp with the activity
- if($act->data['published']) {
- $s['created'] = datetime_convert('UTC','UTC',$act->data['published']);
+ if ($act->data['published']) {
+ $s['created'] = datetime_convert('UTC', 'UTC', $act->data['published']);
}
- if($act->data['updated']) {
- $s['edited'] = datetime_convert('UTC','UTC',$act->data['updated']);
+ if ($act->data['updated']) {
+ $s['edited'] = datetime_convert('UTC', 'UTC', $act->data['updated']);
}
$obj_actor = ((isset($act->obj['actor'])) ? $act->obj['actor'] : $act->get_actor('attributedTo', $act->obj));
// ensure we store the original actor
- self::actor_store($obj_actor['id'],$obj_actor);
+ self::actor_store($obj_actor['id'], $obj_actor);
$mention = self::get_actor_bbmention($obj_actor['id']);
- if($act->type === 'Like') {
- $content['content'] = sprintf( t('Likes %1$s\'s %2$s'),$mention,$act->obj['type']) . "\n\n" . $content['content'];
+ if ($act->type === 'Like') {
+ $content['content'] = sprintf(t('Likes %1$s\'s %2$s'), $mention, $act->obj['type']) . "\n\n" . $content['content'];
}
- if($act->type === 'Dislike') {
- $content['content'] = sprintf( t('Doesn\'t like %1$s\'s %2$s'),$mention,$act->obj['type']) . "\n\n" . $content['content'];
+ if ($act->type === 'Dislike') {
+ $content['content'] = sprintf(t('Doesn\'t like %1$s\'s %2$s'), $mention, $act->obj['type']) . "\n\n" . $content['content'];
}
// handle event RSVPs
- if (($act->obj['type'] === 'Event') || ($act->obj['type'] === 'Invite' && array_path_exists('object/type',$act->obj) && $act->obj['object']['type'] === 'Event')) {
+ if (($act->obj['type'] === 'Event') || ($act->obj['type'] === 'Invite' && array_path_exists('object/type', $act->obj) && $act->obj['object']['type'] === 'Event')) {
if ($act->type === 'Accept') {
- $content['content'] = sprintf( t('Will attend %s\'s event'),$mention) . EOL . EOL . $content['content'];
+ $content['content'] = sprintf(t('Will attend %s\'s event'), $mention) . EOL . EOL . $content['content'];
}
if ($act->type === 'Reject') {
- $content['content'] = sprintf( t('Will not attend %s\'s event'),$mention) . EOL . EOL . $content['content'];
+ $content['content'] = sprintf(t('Will not attend %s\'s event'), $mention) . EOL . EOL . $content['content'];
}
if ($act->type === 'TentativeAccept') {
- $content['content'] = sprintf( t('May attend %s\'s event'),$mention) . EOL . EOL . $content['content'];
+ $content['content'] = sprintf(t('May attend %s\'s event'), $mention) . EOL . EOL . $content['content'];
}
if ($act->type === 'TentativeReject') {
- $content['content'] = sprintf( t('May not attend %s\'s event'),$mention) . EOL . EOL . $content['content'];
+ $content['content'] = sprintf(t('May not attend %s\'s event'), $mention) . EOL . EOL . $content['content'];
}
}
- if($act->type === 'Announce') {
- $content['content'] = sprintf( t('&#x1f501; Repeated %1$s\'s %2$s'), $mention, $act->obj['type']);
+ if ($act->type === 'Announce') {
+ $content['content'] = sprintf(t('&#x1f501; Repeated %1$s\'s %2$s'), $mention, $act->obj['type']);
}
if ($act->type === 'emojiReaction') {
$content['content'] = (($act->tgt && $act->tgt['type'] === 'Image') ? '[img=32x32]' . $act->tgt['url'] . '[/img]' : '&#x' . $act->tgt['name'] . ';');
- }
+ }
}
- if(! $s['created'])
+ if (!$s['created'])
$s['created'] = datetime_convert();
- if(! $s['edited'])
+ if (!$s['edited'])
$s['edited'] = $s['created'];
- $s['title'] = (($response_activity) ? EMPTY_STR : self::bb_content($content,'name'));
- $s['summary'] = self::bb_content($content,'summary');
- $s['body'] = ((self::bb_content($content,'bbcode') && (! $response_activity)) ? self::bb_content($content,'bbcode') : self::bb_content($content,'content'));
+ $s['title'] = (($response_activity) ? EMPTY_STR : self::bb_content($content, 'name'));
+ $s['summary'] = self::bb_content($content, 'summary');
+ $s['body'] = ((self::bb_content($content, 'bbcode') && (!$response_activity)) ? self::bb_content($content, 'bbcode') : self::bb_content($content, 'content'));
- $s['verb'] = self::activity_decode_mapper($act->type);
+ $s['verb'] = self::activity_decode_mapper($act->type);
// Mastodon does not provide update timestamps when updating poll tallies which means race conditions may occur here.
if ($act->type === 'Update' && $act->obj['type'] === 'Question' && $s['edited'] === $s['created']) {
$s['edited'] = datetime_convert();
}
- if(in_array($act->type, [ 'Delete', 'Undo', 'Tombstone' ]) || ($act->type === 'Create' && $act->obj['type'] === 'Tombstone')) {
+ if (in_array($act->type, ['Delete', 'Undo', 'Tombstone']) || ($act->type === 'Create' && $act->obj['type'] === 'Tombstone')) {
$s['item_deleted'] = 1;
}
$s['obj_type'] = self::activity_obj_decode_mapper($act->obj['type']);
- if($s['obj_type'] === ACTIVITY_OBJ_NOTE && $s['mid'] !== $s['parent_mid']) {
+ if ($s['obj_type'] === ACTIVITY_OBJ_NOTE && $s['mid'] !== $s['parent_mid']) {
$s['obj_type'] = ACTIVITY_OBJ_COMMENT;
}
$eventptr = null;
- if ($act->obj['type'] === 'Invite' && array_path_exists('object/type',$act->obj) && $act->obj['object']['type'] === 'Event') {
+ if ($act->obj['type'] === 'Invite' && array_path_exists('object/type', $act->obj) && $act->obj['object']['type'] === 'Event') {
$eventptr = $act->obj['object'];
$s['mid'] = $s['parent_mid'] = $act->obj['id'];
}
-
- if($act->obj['type'] === 'Event') {
+
+ if ($act->obj['type'] === 'Event') {
if ($act->type === 'Invite') {
$s['mid'] = $s['parent_mid'] = $act->id;
}
@@ -2179,52 +2171,52 @@ class Activity {
if ($eventptr) {
- $s['obj'] = [];
- $s['obj']['asld'] = $eventptr;
- $s['obj']['type'] = ACTIVITY_OBJ_EVENT;
- $s['obj']['id'] = $eventptr['id'];
+ $s['obj'] = [];
+ $s['obj']['asld'] = $eventptr;
+ $s['obj']['type'] = ACTIVITY_OBJ_EVENT;
+ $s['obj']['id'] = $eventptr['id'];
$s['obj']['title'] = $eventptr['name'];
- if(strpos($act->obj['startTime'],'Z'))
+ if (strpos($act->obj['startTime'], 'Z'))
$s['obj']['adjust'] = true;
else
$s['obj']['adjust'] = false;
- $s['obj']['dtstart'] = datetime_convert('UTC','UTC',$eventptr['startTime']);
- if($act->obj['endTime'])
- $s['obj']['dtend'] = datetime_convert('UTC','UTC',$eventptr['endTime']);
+ $s['obj']['dtstart'] = datetime_convert('UTC', 'UTC', $eventptr['startTime']);
+ if ($act->obj['endTime'])
+ $s['obj']['dtend'] = datetime_convert('UTC', 'UTC', $eventptr['endTime']);
else
$s['obj']['nofinish'] = true;
$s['obj']['description'] = $eventptr['content'];
- if(array_path_exists('location/content',$eventptr))
+ if (array_path_exists('location/content', $eventptr))
$s['obj']['location'] = $eventptr['location']['content'];
}
else {
- $s['obj'] = $act->obj;
+ $s['obj'] = $act->obj;
}
$generator = $act->get_property_obj('generator');
- if((! $generator) && (! $response_activity)) {
- $generator = $act->get_property_obj('generator',$act->obj);
+ if ((!$generator) && (!$response_activity)) {
+ $generator = $act->get_property_obj('generator', $act->obj);
}
- if($generator && array_key_exists('type',$generator)
- && in_array($generator['type'], [ 'Application', 'Service' ] ) && array_key_exists('name',$generator)) {
+ if ($generator && array_key_exists('type', $generator)
+ && in_array($generator['type'], ['Application', 'Service']) && array_key_exists('name', $generator)) {
$s['app'] = escape_tags($generator['name']);
}
- if(! $response_activity) {
+ if (!$response_activity) {
$a = self::decode_taxonomy($act->obj);
- if($a) {
+ if ($a) {
$s['term'] = $a;
- foreach($a as $b) {
- if($b['ttype'] === TERM_EMOJI) {
- $s['title'] = str_replace($b['term'],'[img=16x16]' . $b['url'] . '[/img]',$s['title']);
- $s['summary'] = str_replace($b['term'],'[img=16x16]' . $b['url'] . '[/img]',$s['summary']);
- $s['body'] = str_replace($b['term'],'[img=16x16]' . $b['url'] . '[/img]',$s['body']);
+ foreach ($a as $b) {
+ if ($b['ttype'] === TERM_EMOJI) {
+ $s['title'] = str_replace($b['term'], '[img=16x16]' . $b['url'] . '[/img]', $s['title']);
+ $s['summary'] = str_replace($b['term'], '[img=16x16]' . $b['url'] . '[/img]', $s['summary']);
+ $s['body'] = str_replace($b['term'], '[img=16x16]' . $b['url'] . '[/img]', $s['body']);
}
}
}
@@ -2241,28 +2233,27 @@ class Activity {
$s['iconfig'] = $a;
}
- if($act->obj['type'] === 'Note' && $s['attach']) {
- $s['body'] .= self::bb_attach($s['attach'],$s['body']);
+ if ($act->obj['type'] === 'Note' && $s['attach']) {
+ $s['body'] .= self::bb_attach($s['attach'], $s['body']);
}
- if ($act->obj['type'] === 'Question' && in_array($act->type,['Create','Update'])) {
+ if ($act->obj['type'] === 'Question' && in_array($act->type, ['Create', 'Update'])) {
if ($act->obj['endTime']) {
- $s['comments_closed'] = datetime_convert('UTC','UTC', $act->obj['endTime']);
+ $s['comments_closed'] = datetime_convert('UTC', 'UTC', $act->obj['endTime']);
}
}
if ($act->obj['closed']) {
- $s['comments_closed'] = datetime_convert('UTC','UTC', $act->obj['closed']);
- }
-
+ $s['comments_closed'] = datetime_convert('UTC', 'UTC', $act->obj['closed']);
+ }
// we will need a hook here to extract magnet links e.g. peertube
// right now just link to the largest mp4 we find that will fit in our
// standard content region
- if(! $response_activity) {
- if($act->obj['type'] === 'Video') {
+ if (!$response_activity) {
+ if ($act->obj['type'] === 'Video') {
$vtypes = [
'video/mp4',
@@ -2273,27 +2264,27 @@ class Activity {
$mps = [];
$ptr = null;
- if(array_key_exists('url',$act->obj)) {
- if(is_array($act->obj['url'])) {
- if(array_key_exists(0,$act->obj['url'])) {
+ if (array_key_exists('url', $act->obj)) {
+ if (is_array($act->obj['url'])) {
+ if (array_key_exists(0, $act->obj['url'])) {
$ptr = $act->obj['url'];
}
else {
- $ptr = [ $act->obj['url'] ];
+ $ptr = [$act->obj['url']];
}
- foreach($ptr as $vurl) {
+ foreach ($ptr as $vurl) {
// peertube uses the non-standard element name 'mimeType' here
- if(array_key_exists('mimeType',$vurl)) {
- if(in_array($vurl['mimeType'], $vtypes)) {
- if(! array_key_exists('width',$vurl)) {
+ if (array_key_exists('mimeType', $vurl)) {
+ if (in_array($vurl['mimeType'], $vtypes)) {
+ if (!array_key_exists('width', $vurl)) {
$vurl['width'] = 0;
}
$mps[] = $vurl;
}
}
- elseif(array_key_exists('mediaType',$vurl)) {
- if(in_array($vurl['mediaType'], $vtypes)) {
- if(! array_key_exists('width',$vurl)) {
+ elseif (array_key_exists('mediaType', $vurl)) {
+ if (in_array($vurl['mediaType'], $vtypes)) {
+ if (!array_key_exists('width', $vurl)) {
$vurl['width'] = 0;
}
$mps[] = $vurl;
@@ -2301,22 +2292,22 @@ class Activity {
}
}
}
- if($mps) {
- usort($mps,[ __CLASS__, 'vid_sort' ]);
- foreach($mps as $m) {
- if(intval($m['width']) < 500 && self::media_not_in_body($m['href'],$s['body'])) {
+ if ($mps) {
+ usort($mps, [__CLASS__, 'vid_sort']);
+ foreach ($mps as $m) {
+ if (intval($m['width']) < 500 && self::media_not_in_body($m['href'], $s['body'])) {
$s['body'] .= "\n\n" . '[video]' . $m['href'] . '[/video]';
break;
}
}
}
- elseif(is_string($act->obj['url']) && self::media_not_in_body($act->obj['url'],$s['body'])) {
+ elseif (is_string($act->obj['url']) && self::media_not_in_body($act->obj['url'], $s['body'])) {
$s['body'] .= "\n\n" . '[video]' . $act->obj['url'] . '[/video]';
}
}
}
- if($act->obj['type'] === 'Audio') {
+ if ($act->obj['type'] === 'Audio') {
$atypes = [
'audio/mpeg',
@@ -2326,50 +2317,50 @@ class Activity {
$ptr = null;
- if(array_key_exists('url',$act->obj)) {
- if(is_array($act->obj['url'])) {
- if(array_key_exists(0,$act->obj['url'])) {
+ if (array_key_exists('url', $act->obj)) {
+ if (is_array($act->obj['url'])) {
+ if (array_key_exists(0, $act->obj['url'])) {
$ptr = $act->obj['url'];
}
else {
- $ptr = [ $act->obj['url'] ];
+ $ptr = [$act->obj['url']];
}
- foreach($ptr as $vurl) {
- if(in_array($vurl['mediaType'], $atypes) && self::media_not_in_body($vurl['href'],$s['body'])) {
+ foreach ($ptr as $vurl) {
+ if (in_array($vurl['mediaType'], $atypes) && self::media_not_in_body($vurl['href'], $s['body'])) {
$s['body'] .= "\n\n" . '[audio]' . $vurl['href'] . '[/audio]';
break;
}
}
}
- elseif(is_string($act->obj['url']) && self::media_not_in_body($act->obj['url'],$s['body'])) {
+ elseif (is_string($act->obj['url']) && self::media_not_in_body($act->obj['url'], $s['body'])) {
$s['body'] .= "\n\n" . '[audio]' . $act->obj['url'] . '[/audio]';
}
}
}
- if($act->obj['type'] === 'Image') {
+ if ($act->obj['type'] === 'Image') {
$ptr = null;
- if(array_key_exists('url',$act->obj)) {
- if(is_array($act->obj['url'])) {
- if(array_key_exists(0,$act->obj['url'])) {
+ if (array_key_exists('url', $act->obj)) {
+ if (is_array($act->obj['url'])) {
+ if (array_key_exists(0, $act->obj['url'])) {
$ptr = $act->obj['url'];
}
else {
- $ptr = [ $act->obj['url'] ];
+ $ptr = [$act->obj['url']];
}
- foreach($ptr as $vurl) {
- if(strpos($s['body'],$vurl['href']) === false) {
- $bb_imgs .= '[zmg]' . $vurl['href'] . '[/zmg]' . "\n\n";
+ foreach ($ptr as $vurl) {
+ if (strpos($s['body'], $vurl['href']) === false) {
+ $bb_imgs = '[zmg]' . $vurl['href'] . '[/zmg]' . "\n\n";
break;
}
}
$s['body'] = $bb_imgs . $s['body'];
}
- elseif(is_string($act->obj['url'])) {
- if(strpos($s['body'],$act->obj['url']) === false) {
+ elseif (is_string($act->obj['url'])) {
+ if (strpos($s['body'], $act->obj['url']) === false) {
$s['body'] .= '[zmg]' . $act->obj['url'] . '[/zmg]' . "\n\n" . $s['body'];
}
}
@@ -2377,36 +2368,36 @@ class Activity {
}
- if($act->obj['type'] === 'Page' && ! $s['body']) {
+ if ($act->obj['type'] === 'Page' && !$s['body']) {
$ptr = null;
$purl = EMPTY_STR;
- if(array_key_exists('url',$act->obj)) {
- if(is_array($act->obj['url'])) {
- if(array_key_exists(0,$act->obj['url'])) {
+ if (array_key_exists('url', $act->obj)) {
+ if (is_array($act->obj['url'])) {
+ if (array_key_exists(0, $act->obj['url'])) {
$ptr = $act->obj['url'];
}
else {
- $ptr = [ $act->obj['url'] ];
+ $ptr = [$act->obj['url']];
}
- foreach($ptr as $vurl) {
- if(array_key_exists('mediaType',$vurl) && $vurl['mediaType'] === 'text/html') {
+ foreach ($ptr as $vurl) {
+ if (array_key_exists('mediaType', $vurl) && $vurl['mediaType'] === 'text/html') {
$purl = $vurl['href'];
break;
}
- elseif(array_key_exists('mimeType',$vurl) && $vurl['mimeType'] === 'text/html') {
+ elseif (array_key_exists('mimeType', $vurl) && $vurl['mimeType'] === 'text/html') {
$purl = $vurl['href'];
break;
}
}
}
- elseif(is_string($act->obj['url'])) {
+ elseif (is_string($act->obj['url'])) {
$purl = $act->obj['url'];
}
- if($purl) {
+ if ($purl) {
$li = z_fetch_url(z_root() . '/linkinfo?binurl=' . bin2hex($purl));
- if($li['success'] && $li['body']) {
+ if ($li['success'] && $li['body']) {
$s['body'] .= "\n" . $li['body'];
}
else {
@@ -2418,32 +2409,31 @@ class Activity {
}
-
- if(in_array($act->obj['type'],[ 'Note','Article','Page' ])) {
+ if (in_array($act->obj['type'], ['Note', 'Article', 'Page'])) {
$ptr = null;
- if(array_key_exists('url',$act->obj)) {
- if(is_array($act->obj['url'])) {
- if(array_key_exists(0,$act->obj['url'])) {
+ if (array_key_exists('url', $act->obj)) {
+ if (is_array($act->obj['url'])) {
+ if (array_key_exists(0, $act->obj['url'])) {
$ptr = $act->obj['url'];
}
else {
- $ptr = [ $act->obj['url'] ];
+ $ptr = [$act->obj['url']];
}
- foreach($ptr as $vurl) {
- if(array_key_exists('mediaType',$vurl) && $vurl['mediaType'] === 'text/html') {
+ foreach ($ptr as $vurl) {
+ if (array_key_exists('mediaType', $vurl) && $vurl['mediaType'] === 'text/html') {
$s['plink'] = $vurl['href'];
break;
}
}
}
- elseif(is_string($act->obj['url'])) {
+ elseif (is_string($act->obj['url'])) {
$s['plink'] = $act->obj['url'];
}
}
}
- if(! $s['plink']) {
+ if (!$s['plink']) {
$s['plink'] = $s['mid'];
}
@@ -2456,24 +2446,24 @@ class Activity {
}
if (is_array($act->obj)) {
- if (array_key_exists('directMessage',$act->obj) && intval($act->obj['directMessage'])) {
+ if (array_key_exists('directMessage', $act->obj) && intval($act->obj['directMessage'])) {
$s['item_private'] = 2;
}
}
- set_iconfig($s,'activitypub','recips',$act->raw_recips);
+ set_iconfig($s, 'activitypub', 'recips', $act->raw_recips);
$parent = (($s['parent_mid'] && $s['parent_mid'] === $s['mid']) ? true : false);
- if($parent) {
- set_iconfig($s,'activitypub','rawmsg',$act->raw,1);
+ if ($parent) {
+ set_iconfig($s, 'activitypub', 'rawmsg', $act->raw, 1);
}
$hookinfo = [
'act' => $act,
- 's' => $s
+ 's' => $s
];
- call_hooks('decode_note',$hookinfo);
+ call_hooks('decode_note', $hookinfo);
$s = $hookinfo['s'];
@@ -2481,51 +2471,177 @@ class Activity {
}
- static function store($channel,$observer_hash,$act,$item,$fetch_parents = true) {
-
+ static function store($channel, $observer_hash, $act, $item, $fetch_parents = true, $force = false) {
$is_sys_channel = is_sys_channel($channel['channel_id']);
+ $is_child_node = false;
+
+ // TODO: not implemented
+ // Pleroma scrobbles can be really noisy and contain lots of duplicate activities. Disable them by default.
+ /*if (($act->type === 'Listen') && ($is_sys_channel || get_pconfig($channel['channel_id'], 'system', 'allow_scrobbles', false))) {
+ return;
+ }*/
// Mastodon only allows visibility in public timelines if the public inbox is listed in the 'to' field.
// They are hidden in the public timeline if the public inbox is listed in the 'cc' field.
// This is not part of the activitypub protocol - we might change this to show all public posts in pubstream at some point.
$pubstream = ((is_array($act->obj) && array_key_exists('to', $act->obj) && in_array(ACTIVITY_PUBLIC_INBOX, $act->obj['to'])) ? true : false);
- $is_parent = (($item['parent_mid'] && $item['parent_mid'] === $item['mid']) ? true : false);
- if($is_parent && (! perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && ! ($is_sys_channel && $pubstream))) {
- logger('no permission');
- return;
+ // TODO: this his handled in pubcrawl atm.
+ // very unpleasant and imperfect way of determining a Mastodon DM
+ /*if ($act->raw_recips && array_key_exists('to',$act->raw_recips) && is_array($act->raw_recips['to']) && count($act->raw_recips['to']) === 1 && $act->raw_recips['to'][0] === channel_url($channel) && ! $act->raw_recips['cc']) {
+ $item['item_private'] = 2;
+ }*/
+
+ if ($item['parent_mid'] && $item['parent_mid'] !== $item['mid']) {
+ $is_child_node = true;
}
- if(is_array($act->obj)) {
- $content = self::get_content($act->obj);
+ $allowed = false;
+
+ // TODO: not implemented
+ // $permit_mentions = intval(PConfig::Get($channel['channel_id'], 'system','permit_all_mentions') && i_am_mentioned($channel,$item));
+
+ if ($is_child_node) {
+
+ $p = q("select * from item where mid = '%s' and uid = %d and item_wall = 1",
+ dbesc($item['parent_mid']),
+ intval($channel['channel_id'])
+ );
+ if ($p) {
+ // set the owner to the owner of the parent
+ $item['owner_xchan'] = $p[0]['owner_xchan'];
+
+ // check permissions against the author, not the sender
+ $allowed = perm_is_allowed($channel['channel_id'], $item['author_xchan'], 'post_comments');
+ if ((!$allowed)/* && $permit_mentions*/) {
+ if ($p[0]['owner_xchan'] === $channel['channel_hash']) {
+ $allowed = false;
+ }
+ else {
+ $allowed = true;
+ }
+ }
+
+ // TODO: not implemented
+ /*if (absolutely_no_comments($p[0])) {
+ $allowed = false;
+ }*/
+
+ if (!$allowed) {
+ logger('rejected comment from ' . $item['author_xchan'] . ' for ' . $channel['channel_address']);
+ logger('rejected: ' . print_r($item, true), LOGGER_DATA);
+
+ // TODO: not implemented
+ // let the sender know we received their comment but we don't permit spam here.
+ // self::send_rejection_activity($channel,$item['author_xchan'],$item);
+ return;
+ }
+
+ // TODO: not implemented
+ /*if (perm_is_allowed($channel['channel_id'],$item['author_xchan'],'moderated')) {
+ $item['item_blocked'] = ITEM_MODERATED;
+ }*/
+ }
+ else {
+
+ $allowed = true;
+ // reject public stream comments that weren't sent by the conversation owner
+ if ($is_sys_channel && $pubstream && $item['owner_xchan'] !== $observer_hash && !$fetch_parents) {
+ $allowed = false;
+ }
+ }
+
+ if ($p && $p[0]['obj_type'] === 'Question') {
+ if ($item['obj_type'] === 'Note' && $item['title'] && (!$item['content'])) {
+ $item['obj_type'] = 'Answer';
+ }
+ }
}
- if(! $content) {
- logger('no content');
+ else {
+
+ // The $item['item_fetched'] flag is set in fetch_and_store_parents().
+ // In this case we should check against author permissions because sender is not owner.
+ if (perm_is_allowed($channel['channel_id'], (($item['item_fetched']) ? $item['author_xchan'] : $observer_hash), 'send_stream') || ($is_sys_channel && $pubstream)) {
+ $allowed = true;
+ }
+ // TODO: not implemented
+ /*if ($permit_mentions) {
+ $allowed = true;
+ }*/
+ }
+
+ if (tgroup_check($channel['channel_id'], $item) && (!$is_child_node)) {
+ // for forum deliveries, make sure we keep a copy of the signed original
+ set_iconfig($item, 'activitypub', 'rawmsg', $act->raw, 1);
+ $allowed = true;
+ }
+
+
+ if ($is_sys_channel) {
+
+ /* TODO: not implemented
+ if (! check_pubstream_channelallowed($observer_hash)) {
+ $allowed = false;
+ }
+
+ // don't allow pubstream posts if the sender even has a clone on a pubstream denied site
+
+ $h = q("select hubloc_url from hubloc where hubloc_hash = '%s'",
+ dbesc($observer_hash)
+ );
+ if ($h) {
+ foreach ($h as $hub) {
+ if (! check_pubstream_siteallowed($hub['hubloc_url'])) {
+ $allowed = false;
+ break;
+ }
+ }
+ }
+ */
+
+ if (intval($item['item_private'])) {
+ $allowed = false;
+ }
+ }
+
+ // TODO: not implemented
+ /*$blocked = LibBlock::fetch($channel['channel_id'],BLOCKTYPE_SERVER);
+ if ($blocked) {
+ foreach($blocked as $b) {
+ if (strpos($observer_hash,$b['block_entity']) !== false) {
+ $allowed = false;
+ }
+ }
+ }*/
+
+ if (!$allowed && !$force) {
+ logger('no permission');
return;
}
$item['aid'] = $channel['channel_account_id'];
$item['uid'] = $channel['channel_id'];
- // Make sure we use the zot6 identity where applicable
+ // Some authors may be zot6 authors in which case we want to store their nomadic identity
+ // instead of their ActivityPub identity
$item['author_xchan'] = self::find_best_identity($item['author_xchan']);
$item['owner_xchan'] = self::find_best_identity($item['owner_xchan']);
- if(!$item['author_xchan']) {
+ if (!$item['author_xchan']) {
logger('No author: ' . print_r($act, true));
}
- if(!$item['owner_xchan']) {
+ if (!$item['owner_xchan']) {
logger('No owner: ' . print_r($act, true));
}
- if(!$item['author_xchan'] || !$item['owner_xchan'])
+ if (!$item['author_xchan'] || !$item['owner_xchan'])
return;
- if($channel['channel_system']) {
- if(! MessageFilter::evaluate($item,get_config('system','pubstream_incl'),get_config('system','pubstream_excl'))) {
+ if ($channel['channel_system']) {
+ if (!MessageFilter::evaluate($item, get_config('system', 'pubstream_incl'), get_config('system', 'pubstream_excl'))) {
logger('post is filtered');
return;
}
@@ -2536,81 +2652,90 @@ class Activity {
intval($channel['channel_id'])
);
- if($abook) {
- if(! post_is_importable($item,$abook[0])) {
+ if ($abook) {
+ if (!post_is_importable($item, $abook[0])) {
logger('post is filtered');
return;
}
}
-
- if($act->obj['conversation']) {
- set_iconfig($item,'ostatus','conversation',$act->obj['conversation'],1);
+ if ($act->obj['conversation']) {
+ set_iconfig($item, 'ostatus', 'conversation', $act->obj['conversation'], 1);
}
// This isn't perfect but the best we can do for now.
+ $item['comment_policy'] = ((isset($act->data['commentPolicy'])) ? $act->data['commentPolicy'] : 'authenticated');
- $item['comment_policy'] = 'authenticated';
+ set_iconfig($item, 'activitypub', 'recips', $act->raw_recips);
- set_iconfig($item,'activitypub','recips',$act->raw_recips);
+ // TODO: inheritPrivacy should probably be set in encode activity. Zap does not do so yet - check what this is about
+ if (!(isset($act->data['inheritPrivacy']) && $act->data['inheritPrivacy'])) {
+ if ($item['item_private']) {
+ $item['item_restrict'] = $item['item_restrict'] & 1;
+ if ($is_child_node) {
+ $item['allow_cid'] = '<' . $channel['channel_hash'] . '>';
+ $item['allow_gid'] = $item['deny_cid'] = $item['deny_gid'] = '';
+ }
+ logger('restricted');
+ }
+ }
- if(! $is_parent) {
- $p = q("select parent_mid, id, obj_type from item where mid = '%s' and uid = %d limit 1",
+ if (intval($act->sigok)) {
+ $item['item_verified'] = 1;
+ }
+
+ $parent = null;
+
+ if ($is_child_node) {
+
+ $parent = q("select * from item where mid = '%s' and uid = %d limit 1",
dbesc($item['parent_mid']),
intval($item['uid'])
);
- if(! $p) {
- $a = (($fetch_parents) ? self::fetch_and_store_parents($channel,$act,$item) : false);
- if($a) {
- $p = q("select parent_mid from item where mid = '%s' and uid = %d limit 1",
- dbesc($item['parent_mid']),
- intval($item['uid'])
- );
- }
- else {
- logger('could not fetch parents');
+ if (!$parent) {
+ if (!plugin_is_installed('pubcrawl')) {
return;
-
- // @TODO we maybe could accept these is we formatted the body correctly with share_bb()
- // or at least provided a link to the object
- // if(in_array($act->type,[ 'Like','Dislike' ])) {
- // return;
- // }
-
- // @TODO do we actually want that?
- // if no parent was fetched, turn into a top-level post
-
- // turn into a top level post
- // $s['parent_mid'] = $s['mid'];
- // $s['thr_parent'] = $s['mid'];
}
- }
-
-
- if ($p[0]['obj_type'] === 'Question') {
- if ($item['obj_type'] === ACTIVITY_OBJ_NOTE && $item['title'] && (! $item['content'])) {
- $item['obj_type'] = 'Answer';
+ else {
+ $fetch = false;
+ // TODO: debug
+ // if (perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && (PConfig::Get($channel['channel_id'],'system','hyperdrive',true) || $act->type === 'Announce')) {
+ if (perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') || ($is_sys_channel && $pubstream)) {
+ $fetch = (($fetch_parents) ? self::fetch_and_store_parents($channel, $observer_hash, $item, $force) : false);
+ }
+ if ($fetch) {
+ $parent = q("select * from item where mid = '%s' and uid = %d limit 1",
+ dbesc($item['parent_mid']),
+ intval($item['uid'])
+ );
+ }
+ else {
+ logger('no parent');
+ return;
+ }
}
}
-
- if($p[0]['parent_mid'] !== $item['parent_mid']) {
+ if ($parent[0]['parent_mid'] !== $item['parent_mid']) {
$item['thr_parent'] = $item['parent_mid'];
}
else {
- $item['thr_parent'] = $p[0]['parent_mid'];
+ $item['thr_parent'] = $parent[0]['parent_mid'];
}
- $item['parent_mid'] = $p[0]['parent_mid'];
+ $item['parent_mid'] = $parent[0]['parent_mid'];
}
+ // TODO: not implemented
+ // self::rewrite_mentions($item);
+
$r = q("select id, created, edited from item where mid = '%s' and uid = %d limit 1",
dbesc($item['mid']),
intval($item['uid'])
);
- if($r) {
- if($item['edited'] > $r[0]['edited']) {
+ if ($r) {
+ if ($item['edited'] > $r[0]['edited']) {
$item['id'] = $r[0]['id'];
- $x = item_store_update($item);
+ $x = item_store_update($item);
}
else {
return;
@@ -2620,99 +2745,125 @@ class Activity {
$x = item_store($item);
}
- if(is_array($x) && $x['item_id']) {
- if($is_parent) {
- if($item['owner_xchan'] === $channel['channel_hash']) {
+ if ($fetch_parents && $parent && !intval($parent[0]['item_private'])) {
+ logger('topfetch', LOGGER_DEBUG);
+ // if the thread owner is a connnection, we will already receive any additional comments to their posts
+ // but if they are not we can try to fetch others in the background
+ $x = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE abook_channel = %d and abook_xchan = '%s' LIMIT 1",
+ intval($channel['channel_id']),
+ dbesc($parent[0]['owner_xchan'])
+ );
+ if (!$x) {
+ // determine if the top-level post provides a replies collection
+ if ($parent[0]['obj']) {
+ $parent[0]['obj'] = json_decode($parent[0]['obj'], true);
+ }
+ logger('topfetch: ' . print_r($parent[0], true), LOGGER_ALL);
+ $id = ((array_path_exists('obj/replies/id', $parent[0])) ? $parent[0]['obj']['replies']['id'] : false);
+ if (!$id) {
+ $id = ((array_path_exists('obj/replies', $parent[0]) && is_string($parent[0]['obj']['replies'])) ? $parent[0]['obj']['replies'] : false);
+ }
+ if ($id) {
+ Master::Summon(['Convo', $id, $channel['channel_id'], $observer_hash]);
+ }
+ }
+ }
+
+ if (is_array($x) && $x['item_id']) {
+ if ($is_child_node) {
+ if ($item['owner_xchan'] === $channel['channel_hash']) {
// We are the owner of this conversation, so send all received comments back downstream
- Master::Summon(array('Notifier','comment-import',$x['item_id']));
+ Master::Summon(['Notifier', 'comment-import', $x['item_id']]);
}
$r = q("select * from item where id = %d limit 1",
intval($x['item_id'])
);
- if($r) {
- send_status_notifications($x['item_id'],$r[0]);
+ if ($r) {
+ send_status_notifications($x['item_id'], $r[0]);
}
}
- sync_an_item($channel['channel_id'],$x['item_id']);
+ sync_an_item($channel['channel_id'], $x['item_id']);
}
}
- static public function fetch_and_store_parents($channel,$act,$item) {
-
+ static public function fetch_and_store_parents($channel, $observer_hash, $item, $force = false) {
logger('fetching parents');
$p = [];
- $current_act = $act;
$current_item = $item;
- while($current_item['parent_mid'] !== $current_item['mid']) {
+ while ($current_item['parent_mid'] !== $current_item['mid']) {
$n = self::fetch($current_item['parent_mid'], $channel);
- if(! $n) {
+
+ if (!$n) {
break;
}
+
$a = new ActivityStreams($n);
+ if ($a->type === 'Announce' && is_array($a->obj)
+ && array_key_exists('object', $a->obj) && array_key_exists('actor', $a->obj)) {
+ // This is a relayed/forwarded Activity (as opposed to a shared/boosted object)
+ // Reparse the encapsulated Activity and use that instead
+ logger('relayed activity', LOGGER_DEBUG);
+ $a = new ActivityStreams($a->obj);
+ }
- //logger($a->debug());
+ logger($a->debug(), LOGGER_DATA);
- if(! $a->is_valid()) {
+ if (!$a->is_valid()) {
+ logger('not a valid activity');
break;
}
-
- if (is_array($a->actor) && array_key_exists('id',$a->actor)) {
- self::actor_store($a->actor['id'],$a->actor);
- }
-
- $replies = null;
- if(isset($a->obj['replies']['first']['items'])) {
- $replies = $a->obj['replies']['first']['items'];
- // we already have this one
- array_diff($replies, [$current_item['mid']]);
+ if (is_array($a->actor) && array_key_exists('id', $a->actor)) {
+ Activity::actor_store($a->actor['id'], $a->actor);
}
- $item = null;
-
- switch($a->type) {
- case 'Create':
- case 'Update':
- //case 'Like':
- //case 'Dislike':
- case 'Announce':
- $item = self::decode_note($a);
- break;
- default:
- break;
+ $item = Activity::decode_note($a);
+ if (!$item) {
+ break;
}
$hookinfo = [
- 'a' => $a,
+ 'a' => $a,
'item' => $item
];
- call_hooks('fetch_and_store',$hookinfo);
+ call_hooks('fetch_and_store', $hookinfo);
$item = $hookinfo['item'];
- if($item) {
+ if ($item) {
+ $item['item_fetched'] = 1;
+
+ if (intval($channel['channel_system']) && intval($item['item_private'])) {
+ $p = [];
+ break;
+ }
- array_unshift($p,[ $a, $item, $replies]);
-
- if($item['parent_mid'] === $item['mid'] || count($p) > 20) {
+ if (count($p) > 100) {
+ $p = [];
break;
}
+ array_unshift($p, [$a, $item]);
+
+ if ($item['parent_mid'] === $item['mid']) {
+ break;
+ }
}
- $current_act = $a;
+
$current_item = $item;
}
- if($p) {
- foreach($p as $pv) {
- self::store($channel,$pv[0]->actor['id'],$pv[0],$pv[1],false);
- if($pv[2])
- self::fetch_and_store_replies($channel, $pv[2]);
+ if ($p) {
+ foreach ($p as $pv) {
+ if ($pv[0]->is_valid()) {
+ Activity::store($channel, $observer_hash, $pv[0], $pv[1], false, $force);
+ }
}
return true;
}
@@ -2720,29 +2871,110 @@ class Activity {
return false;
}
+ /*
+ static public function fetch_and_store_parents($channel, $item) {
+
+ logger('fetching parents');
+
+ $p = [];
+
+ $current_item = $item;
+
+ while ($current_item['parent_mid'] !== $current_item['mid']) {
+ $n = self::fetch($current_item['parent_mid'], $channel);
+ if (!$n) {
+ break;
+ }
+ $a = new ActivityStreams($n);
+
+ //logger($a->debug());
+
+ if (!$a->is_valid()) {
+ break;
+ }
+
+ if (is_array($a->actor) && array_key_exists('id', $a->actor)) {
+ self::actor_store($a->actor['id'], $a->actor);
+ }
+
+ $replies = null;
+ if (isset($a->obj['replies']['first']['items'])) {
+ $replies = $a->obj['replies']['first']['items'];
+ // we already have this one
+ array_diff($replies, [$current_item['mid']]);
+ }
+
+ $item = null;
+
+ switch ($a->type) {
+ case 'Create':
+ case 'Update':
+ //case 'Like':
+ //case 'Dislike':
+ case 'Announce':
+ $item = self::decode_note($a);
+ break;
+ default:
+ break;
+
+ }
+
+ $hookinfo = [
+ 'a' => $a,
+ 'item' => $item
+ ];
+
+ call_hooks('fetch_and_store', $hookinfo);
+
+ $item = $hookinfo['item'];
+
+ if ($item) {
+
+ array_unshift($p, [$a, $item, $replies]);
+
+ if ($item['parent_mid'] === $item['mid'] || count($p) > 20) {
+ break;
+ }
+
+ }
+ $current_item = $item;
+ }
+
+ if ($p) {
+ foreach ($p as $pv) {
+ self::store($channel, $pv[0]->actor['id'], $pv[0], $pv[1], false);
+ if ($pv[2])
+ self::fetch_and_store_replies($channel, $pv[2]);
+ }
+ return true;
+ }
+
+ return false;
+ }
+ */
static public function fetch_and_store_replies($channel, $arr) {
logger('fetching replies');
- logger(print_r($arr,true));
+ logger(print_r($arr, true));
$p = [];
- foreach($arr as $url) {
+ foreach ($arr as $url) {
$n = self::fetch($url, $channel);
- if(! $n) {
+ if (!$n) {
break;
}
$a = new ActivityStreams($n);
- if(! $a->is_valid()) {
+ if (!$a->is_valid()) {
break;
}
$item = null;
- switch($a->type) {
+ switch ($a->type) {
case 'Create':
case 'Update':
case 'Like':
@@ -2755,29 +2987,29 @@ class Activity {
}
$hookinfo = [
- 'a' => $a,
+ 'a' => $a,
'item' => $item
];
- call_hooks('fetch_and_store',$hookinfo);
+ call_hooks('fetch_and_store', $hookinfo);
$item = $hookinfo['item'];
- if($item) {
- array_unshift($p,[ $a, $item ]);
+ if ($item) {
+ array_unshift($p, [$a, $item]);
}
}
- if($p) {
- foreach($p as $pv) {
- self::store($channel,$pv[0]->actor['id'],$pv[0],$pv[1],false);
+ if ($p) {
+ foreach ($p as $pv) {
+ self::store($channel, $pv[0]->actor['id'], $pv[0], $pv[1], false);
}
}
}
- static function announce_note($channel,$observer_hash,$act) {
+ static function announce_note($channel, $observer_hash, $act) {
$s = [];
@@ -2788,29 +3020,29 @@ class Activity {
// This is not part of the activitypub protocol - we might change this to show all public posts in pubstream at some point.
$pubstream = ((is_array($act->obj) && array_key_exists('to', $act->obj) && in_array(ACTIVITY_PUBLIC_INBOX, $act->obj['to'])) ? true : false);
- if(! perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && ! ($is_sys_channel && $pubstream)) {
+ if (!perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') && !($is_sys_channel && $pubstream)) {
logger('no permission');
return;
}
$content = self::get_content($act->obj);
- if(! $content) {
+ if (!$content) {
logger('no content');
return;
}
$s['owner_xchan'] = $s['author_xchan'] = $observer_hash;
- $s['aid'] = $channel['channel_account_id'];
- $s['uid'] = $channel['channel_id'];
- $s['mid'] = urldecode($act->obj['id']);
+ $s['aid'] = $channel['channel_account_id'];
+ $s['uid'] = $channel['channel_id'];
+ $s['mid'] = urldecode($act->obj['id']);
$s['plink'] = urldecode($act->obj['id']);
- if(! $s['created'])
+ if (!$s['created'])
$s['created'] = datetime_convert();
- if(! $s['edited'])
+ if (!$s['edited'])
$s['edited'] = $s['created'];
@@ -2820,8 +3052,8 @@ class Activity {
$s['obj_type'] = ACTIVITY_OBJ_NOTE;
$s['app'] = t('ActivityPub');
- if($channel['channel_system']) {
- if(! \Zotlabs\Lib\MessageFilter::evaluate($s,get_config('system','pubstream_incl'),get_config('system','pubstream_excl'))) {
+ if ($channel['channel_system']) {
+ if (!MessageFilter::evaluate($s, get_config('system', 'pubstream_incl'), get_config('system', 'pubstream_excl'))) {
logger('post is filtered');
return;
}
@@ -2832,61 +3064,61 @@ class Activity {
intval($channel['channel_id'])
);
- if($abook) {
- if(! post_is_importable($s,$abook[0])) {
+ if ($abook) {
+ if (!post_is_importable($s, $abook[0])) {
logger('post is filtered');
return;
}
}
- if($act->obj['conversation']) {
- set_iconfig($s,'ostatus','conversation',$act->obj['conversation'],1);
+ if ($act->obj['conversation']) {
+ set_iconfig($s, 'ostatus', 'conversation', $act->obj['conversation'], 1);
}
$a = self::decode_taxonomy($act->obj);
- if($a) {
+ if ($a) {
$s['term'] = $a;
}
$a = self::decode_attachment($act->obj);
- if($a) {
+ if ($a) {
$s['attach'] = $a;
}
- $body = "[share author='" . urlencode($act->sharee['name']) .
- "' profile='" . $act->sharee['url'] .
- "' avatar='" . $act->sharee['photo_s'] .
- "' link='" . ((is_array($act->obj['url'])) ? $act->obj['url']['href'] : $act->obj['url']) .
- "' auth='" . ((is_matrix_url($act->obj['url'])) ? 'true' : 'false' ) .
- "' posted='" . $act->obj['published'] .
- "' message_id='" . $act->obj['id'] .
- "']";
+ $body = "[share author='" . urlencode($act->sharee['name']) .
+ "' profile='" . $act->sharee['url'] .
+ "' avatar='" . $act->sharee['photo_s'] .
+ "' link='" . ((is_array($act->obj['url'])) ? $act->obj['url']['href'] : $act->obj['url']) .
+ "' auth='" . ((is_matrix_url($act->obj['url'])) ? 'true' : 'false') .
+ "' posted='" . $act->obj['published'] .
+ "' message_id='" . $act->obj['id'] .
+ "']";
- if($content['name'])
- $body .= self::bb_content($content,'name') . "\r\n";
+ if ($content['name'])
+ $body .= self::bb_content($content, 'name') . "\r\n";
- $body .= self::bb_content($content,'content');
+ $body .= self::bb_content($content, 'content');
- if($act->obj['type'] === 'Note' && $s['attach']) {
- $body .= self::bb_attach($s['attach'],$body);
+ if ($act->obj['type'] === 'Note' && $s['attach']) {
+ $body .= self::bb_attach($s['attach'], $body);
}
$body .= "[/share]";
- $s['title'] = self::bb_content($content,'name');
- $s['body'] = $body;
+ $s['title'] = self::bb_content($content, 'name');
+ $s['body'] = $body;
- if($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips)))
+ if ($act->recips && (!in_array(ACTIVITY_PUBLIC_INBOX, $act->recips)))
$s['item_private'] = 1;
- set_iconfig($s,'activitypub','recips',$act->raw_recips);
+ set_iconfig($s, 'activitypub', 'recips', $act->raw_recips);
$r = q("select created, edited from item where mid = '%s' and uid = %d limit 1",
dbesc($s['mid']),
intval($s['uid'])
);
- if($r) {
- if($s['edited'] > $r[0]['edited']) {
+ if ($r) {
+ if ($s['edited'] > $r[0]['edited']) {
$x = item_store_update($s);
}
else {
@@ -2897,35 +3129,35 @@ class Activity {
$x = item_store($s);
}
- if(is_array($x) && $x['item_id']) {
- if($s['owner_xchan'] === $channel['channel_hash']) {
+ if (is_array($x) && $x['item_id']) {
+ if ($s['owner_xchan'] === $channel['channel_hash']) {
// We are the owner of this conversation, so send all received comments back downstream
- Master::Summon(array('Notifier','comment-import',$x['item_id']));
+ Master::Summon(['Notifier', 'comment-import', $x['item_id']]);
}
$r = q("select * from item where id = %d limit 1",
intval($x['item_id'])
);
- if($r) {
- send_status_notifications($x['item_id'],$r[0]);
+ if ($r) {
+ send_status_notifications($x['item_id'], $r[0]);
}
- sync_an_item($channel['channel_id'],$x['item_id']);
+ sync_an_item($channel['channel_id'], $x['item_id']);
}
}
- static function like_note($channel,$observer_hash,$act) {
+ static function like_note($channel, $observer_hash, $act) {
$s = [];
$parent = $act->obj['id'];
-
- if($act->type === 'Like')
+
+ if ($act->type === 'Like')
$s['verb'] = ACTIVITY_LIKE;
- if($act->type === 'Dislike')
+ if ($act->type === 'Dislike')
$s['verb'] = ACTIVITY_DISLIKE;
- if(! $parent)
+ if (!$parent)
return;
$r = q("select * from item where uid = %d and ( mid = '%s' or mid = '%s' ) limit 1",
@@ -2934,7 +3166,7 @@ class Activity {
dbesc(urldecode(basename($parent)))
);
- if(! $r) {
+ if (!$r) {
logger('parent not found.');
return;
}
@@ -2942,14 +3174,14 @@ class Activity {
xchan_query($r);
$parent_item = $r[0];
- if($parent_item['owner_xchan'] === $channel['channel_hash']) {
- if(! perm_is_allowed($channel['channel_id'],$observer_hash,'post_comments')) {
+ if ($parent_item['owner_xchan'] === $channel['channel_hash']) {
+ if (!perm_is_allowed($channel['channel_id'], $observer_hash, 'post_comments')) {
logger('no comment permission.');
return;
}
}
- if($parent_item['mid'] === $parent_item['parent_mid']) {
+ if ($parent_item['mid'] === $parent_item['parent_mid']) {
$s['parent_mid'] = $parent_item['mid'];
}
else {
@@ -2957,31 +3189,29 @@ class Activity {
$s['parent_mid'] = $parent_item['parent_mid'];
}
- $s['owner_xchan'] = $parent_item['owner_xchan'];
+ $s['owner_xchan'] = $parent_item['owner_xchan'];
$s['author_xchan'] = $observer_hash;
-
+
$s['aid'] = $channel['channel_account_id'];
$s['uid'] = $channel['channel_id'];
$s['mid'] = $act->id;
- if(! $s['parent_mid'])
+ if (!$s['parent_mid'])
$s['parent_mid'] = $s['mid'];
-
- $post_type = (($parent_item['resource_type'] === 'photo') ? t('photo') : t('post'));
- $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $parent_item['plink']));
- $objtype = (($parent_item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
+ $post_type = (($parent_item['resource_type'] === 'photo') ? t('photo') : t('post'));
- $body = $parent_item['body'];
+ $links = [['rel' => 'alternate', 'type' => 'text/html', 'href' => $parent_item['plink']]];
+ $objtype = (($parent_item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE);
$z = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($parent_item['author_xchan'])
);
- if($z)
- $item_author = $z[0];
+ if ($z)
+ $item_author = $z[0];
- $object = json_encode(array(
+ $object = json_encode([
'type' => $post_type,
'id' => $parent_item['mid'],
'parent' => (($parent_item['thr_parent']) ? $parent_item['thr_parent'] : $parent_item['parent_mid']),
@@ -2990,77 +3220,75 @@ class Activity {
'content' => $parent_item['body'],
'created' => $parent_item['created'],
'edited' => $parent_item['edited'],
- 'author' => array(
+ 'author' => [
'name' => $item_author['xchan_name'],
'address' => $item_author['xchan_addr'],
'guid' => $item_author['xchan_guid'],
'guid_sig' => $item_author['xchan_guid_sig'],
- 'link' => array(
- array('rel' => 'alternate', 'type' => 'text/html', 'href' => $item_author['xchan_url']),
- array('rel' => 'photo', 'type' => $item_author['xchan_photo_mimetype'], 'href' => $item_author['xchan_photo_m'])),
- ),
- ), JSON_UNESCAPED_SLASHES
+ 'link' => [
+ ['rel' => 'alternate', 'type' => 'text/html', 'href' => $item_author['xchan_url']],
+ ['rel' => 'photo', 'type' => $item_author['xchan_photo_mimetype'], 'href' => $item_author['xchan_photo_m']]],
+ ],
+ ], JSON_UNESCAPED_SLASHES
);
- if($act->type === 'Like')
+ if ($act->type === 'Like')
$bodyverb = t('%1$s likes %2$s\'s %3$s');
- if($act->type === 'Dislike')
+ if ($act->type === 'Dislike')
$bodyverb = t('%1$s doesn\'t like %2$s\'s %3$s');
- $ulink = '[url=' . $item_author['xchan_url'] . ']' . $item_author['xchan_name'] . '[/url]';
- $alink = '[url=' . $parent_item['author']['xchan_url'] . ']' . $parent_item['author']['xchan_name'] . '[/url]';
- $plink = '[url='. z_root() . '/display/' . urlencode($act->id) . ']' . $post_type . '[/url]';
- $s['body'] = sprintf( $bodyverb, $ulink, $alink, $plink );
+ $ulink = '[url=' . $item_author['xchan_url'] . ']' . $item_author['xchan_name'] . '[/url]';
+ $alink = '[url=' . $parent_item['author']['xchan_url'] . ']' . $parent_item['author']['xchan_name'] . '[/url]';
+ $plink = '[url=' . z_root() . '/display/' . urlencode($act->id) . ']' . $post_type . '[/url]';
+ $s['body'] = sprintf($bodyverb, $ulink, $alink, $plink);
- $s['app'] = t('ActivityPub');
+ $s['app'] = t('ActivityPub');
// set the route to that of the parent so downstream hubs won't reject it.
- $s['route'] = $parent_item['route'];
+ $s['route'] = $parent_item['route'];
$s['item_private'] = $parent_item['item_private'];
- $s['obj_type'] = $objtype;
- $s['obj'] = $object;
+ $s['obj_type'] = $objtype;
+ $s['obj'] = $object;
- if($act->obj['conversation']) {
- set_iconfig($s,'ostatus','conversation',$act->obj['conversation'],1);
+ if ($act->obj['conversation']) {
+ set_iconfig($s, 'ostatus', 'conversation', $act->obj['conversation'], 1);
}
- if($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips)))
+ if ($act->recips && (!in_array(ACTIVITY_PUBLIC_INBOX, $act->recips)))
$s['item_private'] = 1;
- set_iconfig($s,'activitypub','recips',$act->raw_recips);
+ set_iconfig($s, 'activitypub', 'recips', $act->raw_recips);
$result = item_store($s);
- if($result['success']) {
+ if ($result['success']) {
// if the message isn't already being relayed, notify others
- if(intval($parent_item['item_origin']))
- Master::Summon(array('Notifier','comment-import',$result['item_id']));
- sync_an_item($channel['channel_id'],$result['item_id']);
+ if (intval($parent_item['item_origin']))
+ Master::Summon(['Notifier', 'comment-import', $result['item_id']]);
+ sync_an_item($channel['channel_id'], $result['item_id']);
}
return;
}
-
-
- static function bb_attach($attach,$body) {
+ static function bb_attach($attach, $body) {
$ret = false;
- foreach($attach as $a) {
- if(strpos($a['type'],'image') !== false) {
- if(self::media_not_in_body($a['href'],$body)) {
+ foreach ($attach as $a) {
+ if (strpos($a['type'], 'image') !== false) {
+ if (self::media_not_in_body($a['href'], $body)) {
$ret .= "\n\n" . '[img]' . $a['href'] . '[/img]';
}
}
- if(array_key_exists('type',$a) && strpos($a['type'], 'video') === 0) {
- if(self::media_not_in_body($a['href'],$body)) {
+ if (array_key_exists('type', $a) && strpos($a['type'], 'video') === 0) {
+ if (self::media_not_in_body($a['href'], $body)) {
$ret .= "\n\n" . '[video]' . $a['href'] . '[/video]';
}
}
- if(array_key_exists('type',$a) && strpos($a['type'], 'audio') === 0) {
- if(self::media_not_in_body($a['href'],$body)) {
+ if (array_key_exists('type', $a) && strpos($a['type'], 'audio') === 0) {
+ if (self::media_not_in_body($a['href'], $body)) {
$ret .= "\n\n" . '[audio]' . $a['href'] . '[/audio]';
}
}
@@ -3069,116 +3297,109 @@ class Activity {
return $ret;
}
-
// check for the existence of existing media link in body
+ static function media_not_in_body($s, $body) {
- static function media_not_in_body($s,$body) {
-
- if((strpos($body,']' . $s . '[/img]') === false) &&
- (strpos($body,']' . $s . '[/zmg]') === false) &&
- (strpos($body,']' . $s . '[/video]') === false) &&
- (strpos($body,']' . $s . '[/audio]') === false)) {
+ if ((strpos($body, ']' . $s . '[/img]') === false) &&
+ (strpos($body, ']' . $s . '[/zmg]') === false) &&
+ (strpos($body, ']' . $s . '[/video]') === false) &&
+ (strpos($body, ']' . $s . '[/audio]') === false)) {
return true;
}
return false;
}
-
- static function bb_content($content,$field) {
+ static function bb_content($content, $field) {
require_once('include/html2bbcode.php');
require_once('include/event.php');
$ret = false;
- if(is_array($content[$field])) {
- foreach($content[$field] as $k => $v) {
+ if (is_array($content[$field])) {
+ foreach ($content[$field] as $k => $v) {
$ret .= html2bbcode($v);
// save this for auto-translate or dynamic filtering
// $ret .= '[language=' . $k . ']' . html2bbcode($v) . '[/language]';
}
}
else {
- if($field === 'bbcode' && array_key_exists('bbcode',$content)) {
+ if ($field === 'bbcode' && array_key_exists('bbcode', $content)) {
$ret = $content[$field];
}
else {
$ret = html2bbcode($content[$field]);
}
}
- if($field === 'content' && $content['event'] && (! strpos($ret,'[event'))) {
+ if ($field === 'content' && $content['event'] && (!strpos($ret, '[event'))) {
$ret .= format_event_bbcode($content['event']);
}
return $ret;
}
-
static function get_content($act) {
$content = [];
- $event = null;
+ $event = null;
- if ((! $act) || (! is_array($act))) {
+ if ((!$act) || (!is_array($act))) {
return $content;
}
- if($act['type'] === 'Event') {
- $adjust = false;
- $event = [];
- $event['event_hash'] = $act['id'];
- if(array_key_exists('startTime',$act) && strpos($act['startTime'],-1,1) === 'Z') {
- $adjust = true;
- $event['adjust'] = 1;
- $event['dtstart'] = datetime_convert('UTC','UTC',$event['startTime'] . (($adjust) ? '' : 'Z'));
- }
- if(array_key_exists('endTime',$act)) {
- $event['dtend'] = datetime_convert('UTC','UTC',$event['endTime'] . (($adjust) ? '' : 'Z'));
- }
- else {
- $event['nofinish'] = true;
- }
- }
-
- foreach ([ 'name', 'summary', 'content' ] as $a) {
- if (($x = self::get_textfield($act,$a)) !== false) {
+ if ($act['type'] === 'Event') {
+ $adjust = false;
+ $event = [];
+ $event['event_hash'] = $act['id'];
+ if (array_key_exists('startTime', $act) && strpos($act['startTime'], -1, 1) === 'Z') {
+ $adjust = true;
+ $event['adjust'] = 1;
+ $event['dtstart'] = datetime_convert('UTC', 'UTC', $event['startTime'] . (($adjust) ? '' : 'Z'));
+ }
+ if (array_key_exists('endTime', $act)) {
+ $event['dtend'] = datetime_convert('UTC', 'UTC', $event['endTime'] . (($adjust) ? '' : 'Z'));
+ }
+ else {
+ $event['nofinish'] = true;
+ }
+ }
+
+ foreach (['name', 'summary', 'content'] as $a) {
+ if (($x = self::get_textfield($act, $a)) !== false) {
$content[$a] = $x;
}
}
- if($event) {
+ if ($event) {
$event['summary'] = $content['name'];
- if(! $event['summary']) {
- if($content['summary']) {
+ if (!$event['summary']) {
+ if ($content['summary']) {
$event['summary'] = html2plain($content['summary']);
}
}
$event['description'] = html2bbcode($content['content']);
- if($event['summary'] && $event['dtstart']) {
+ if ($event['summary'] && $event['dtstart']) {
$content['event'] = $event;
}
}
- if (array_path_exists('source/mediaType',$act) && array_path_exists('source/content',$act)) {
+ if (array_path_exists('source/mediaType', $act) && array_path_exists('source/content', $act)) {
if ($act['source']['mediaType'] === 'text/bbcode') {
$content['bbcode'] = purify_html($act['source']['content']);
}
}
-
-
return $content;
}
+ static function get_textfield($act, $field) {
- static function get_textfield($act,$field) {
-
$content = false;
- if(array_key_exists($field,$act) && $act[$field])
+ if (array_key_exists($field, $act) && $act[$field])
$content = purify_html($act[$field]);
- elseif(array_key_exists($field . 'Map',$act) && $act[$field . 'Map']) {
- foreach($act[$field . 'Map'] as $k => $v) {
+ elseif (array_key_exists($field . 'Map', $act) && $act[$field . 'Map']) {
+ foreach ($act[$field . 'Map'] as $k => $v) {
$content[escape_tags($k)] = purify_html($v);
}
}
@@ -3187,11 +3408,10 @@ class Activity {
// Find either an Authorization: Bearer token or 'token' request variable
// in the current web request and return it
-
static function token_from_request() {
- foreach ( [ 'REDIRECT_REMOTE_USER', 'HTTP_AUTHORIZATION' ] as $s ) {
- $auth = ((array_key_exists($s,$_SERVER) && strpos($_SERVER[$s],'Bearer ') === 0)
+ foreach (['REDIRECT_REMOTE_USER', 'HTTP_AUTHORIZATION'] as $s) {
+ $auth = ((array_key_exists($s, $_SERVER) && strpos($_SERVER[$s], 'Bearer ') === 0)
? str_replace('Bearer ', EMPTY_STR, $_SERVER[$s])
: EMPTY_STR
);
@@ -3200,8 +3420,8 @@ class Activity {
}
}
- if (! $auth) {
- if (array_key_exists('token',$_REQUEST) && $_REQUEST['token']) {
+ if (!$auth) {
+ if (array_key_exists('token', $_REQUEST) && $_REQUEST['token']) {
$auth = $_REQUEST['token'];
}
}
@@ -3211,7 +3431,7 @@ class Activity {
static function find_best_identity($xchan) {
- if(filter_var($xchan, FILTER_VALIDATE_URL)) {
+ if (filter_var($xchan, FILTER_VALIDATE_URL)) {
$r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_id_url = '%s' and hubloc_network in ('zot6', 'zot') and hubloc_deleted = 0",
dbesc($xchan)
);
diff --git a/Zotlabs/Lib/ActivityStreams.php b/Zotlabs/Lib/ActivityStreams.php
index f877fbb45..ba7ec0c65 100644
--- a/Zotlabs/Lib/ActivityStreams.php
+++ b/Zotlabs/Lib/ActivityStreams.php
@@ -7,25 +7,24 @@ namespace Zotlabs\Lib;
*
* Parses an ActivityStream JSON string.
*/
-
class ActivityStreams {
- public $raw = null;
- public $data = null;
- public $valid = false;
- public $deleted = false;
- public $id = '';
- public $parent_id = '';
- public $type = '';
- public $actor = null;
- public $obj = null;
- public $tgt = null;
- public $origin = null;
- public $owner = null;
- public $signer = null;
- public $ldsig = null;
- public $sigok = false;
- public $recips = null;
+ public $raw = null;
+ public $data = null;
+ public $valid = false;
+ public $deleted = false;
+ public $id = '';
+ public $parent_id = '';
+ public $type = '';
+ public $actor = null;
+ public $obj = null;
+ public $tgt = null;
+ public $origin = null;
+ public $owner = null;
+ public $signer = null;
+ public $ldsig = null;
+ public $sigok = false;
+ public $recips = null;
public $raw_recips = null;
/**
@@ -37,29 +36,29 @@ class ActivityStreams {
*/
function __construct($string) {
- $this->raw = $string;
+ $this->raw = $string;
- if(is_array($string)) {
+ if (is_array($string)) {
$this->data = $string;
}
else {
$this->data = json_decode($string, true);
}
- if($this->data) {
+ if ($this->data) {
// verify and unpack JSalmon signature if present
- if(is_array($this->data) && array_key_exists('signed',$this->data)) {
+ if (is_array($this->data) && array_key_exists('signed', $this->data)) {
$ret = JSalmon::verify($this->data);
$tmp = JSalmon::unpack($this->data['data']);
- if($ret && $ret['success']) {
- if($ret['signer']) {
- $saved = json_encode($this->data,JSON_UNESCAPED_SLASHES);
- $this->data = $tmp;
- $this->data['signer'] = $ret['signer'];
+ if ($ret && $ret['success']) {
+ if ($ret['signer']) {
+ $saved = json_encode($this->data, JSON_UNESCAPED_SLASHES);
+ $this->data = $tmp;
+ $this->data['signer'] = $ret['signer'];
$this->data['signed_data'] = $saved;
- if($ret['hubloc']) {
+ if ($ret['hubloc']) {
$this->data['hubloc'] = $ret['hubloc'];
}
}
@@ -68,57 +67,57 @@ class ActivityStreams {
$this->valid = true;
- if(array_key_exists('type',$this->data) && array_key_exists('actor',$this->data) && array_key_exists('object',$this->data)) {
- if($this->data['type'] === 'Delete' && $this->data['actor'] === $this->data['object']) {
+ if (array_key_exists('type', $this->data) && array_key_exists('actor', $this->data) && array_key_exists('object', $this->data)) {
+ if ($this->data['type'] === 'Delete' && $this->data['actor'] === $this->data['object']) {
$this->deleted = $this->data['actor'];
- $this->valid = false;
+ $this->valid = false;
}
}
}
- if($this->is_valid()) {
+ if ($this->is_valid()) {
$this->id = $this->get_property_obj('id');
$this->type = $this->get_primary_type();
- $this->actor = $this->get_actor('actor','','');
+ $this->actor = $this->get_actor('actor', '', '');
$this->obj = $this->get_compound_property('object');
$this->tgt = $this->get_compound_property('target');
$this->origin = $this->get_compound_property('origin');
$this->recips = $this->collect_recips();
$this->ldsig = $this->get_compound_property('signature');
- if($this->ldsig) {
- $this->signer = $this->get_compound_property('creator',$this->ldsig);
- if($this->signer && is_array($this->signer) && array_key_exists('publicKey',$this->signer) && is_array($this->signer['publicKey']) && $this->signer['publicKey']['publicKeyPem']) {
- $this->sigok = LDSignatures::verify($this->data,$this->signer['publicKey']['publicKeyPem']);
+ if ($this->ldsig) {
+ $this->signer = $this->get_compound_property('creator', $this->ldsig);
+ if ($this->signer && is_array($this->signer) && array_key_exists('publicKey', $this->signer) && is_array($this->signer['publicKey']) && $this->signer['publicKey']['publicKeyPem']) {
+ $this->sigok = LDSignatures::verify($this->data, $this->signer['publicKey']['publicKeyPem']);
}
}
- if(! $this->obj) {
- $this->obj = $this->data;
+ if (!$this->obj) {
+ $this->obj = $this->data;
$this->type = 'Create';
- if(! $this->actor) {
- $this->actor = $this->get_actor('attributedTo',$this->obj);
+ if (!$this->actor) {
+ $this->actor = $this->get_actor('attributedTo', $this->obj);
}
}
// fetch recursive or embedded activities
- if ($this->obj && is_array($this->obj) && array_key_exists('object',$this->obj)) {
+ if ($this->obj && is_array($this->obj) && array_key_exists('object', $this->obj)) {
$this->obj['object'] = $this->get_compound_property($this->obj['object']);
}
- if($this->obj && is_array($this->obj) && $this->obj['actor'])
- $this->obj['actor'] = $this->get_actor('actor',$this->obj);
- if($this->tgt && is_array($this->tgt) && $this->tgt['actor'])
- $this->tgt['actor'] = $this->get_actor('actor',$this->tgt);
+ if ($this->obj && is_array($this->obj) && $this->obj['actor'])
+ $this->obj['actor'] = $this->get_actor('actor', $this->obj);
+ if ($this->tgt && is_array($this->tgt) && $this->tgt['actor'])
+ $this->tgt['actor'] = $this->get_actor('actor', $this->tgt);
$this->parent_id = $this->get_property_obj('inReplyTo');
- if((! $this->parent_id) && is_array($this->obj)) {
+ if ((!$this->parent_id) && is_array($this->obj)) {
$this->parent_id = $this->obj['inReplyTo'];
}
- if((! $this->parent_id) && is_array($this->obj)) {
+ if ((!$this->parent_id) && is_array($this->obj)) {
$this->parent_id = $this->obj['id'];
}
}
@@ -147,19 +146,19 @@ class ActivityStreams {
function collect_recips($base = '', $namespace = '') {
$x = [];
- $fields = [ 'to', 'cc', 'bto', 'bcc', 'audience'];
- foreach($fields as $f) {
+ $fields = ['to', 'cc', 'bto', 'bcc', 'audience'];
+ foreach ($fields as $f) {
$y = $this->get_compound_property($f, $base, $namespace);
- if($y) {
- if (! is_array($this->raw_recips)) {
+ if ($y) {
+ if (!is_array($this->raw_recips)) {
$this->raw_recips = [];
}
- if (! is_array($y)) {
- $y = [ $y ];
+ if (!is_array($y)) {
+ $y = [$y];
}
$this->raw_recips[$f] = $y;
- $x = array_merge($x, $y);
+ $x = array_merge($x, $y);
}
}
// not yet ready for prime time
@@ -167,21 +166,21 @@ class ActivityStreams {
return $x;
}
- function expand($arr,$base = '',$namespace = '') {
+ function expand($arr, $base = '', $namespace = '') {
$ret = [];
// right now use a hardwired recursion depth of 5
- for($z = 0; $z < 5; $z ++) {
- if(is_array($arr) && $arr) {
- foreach($arr as $a) {
- if(is_array($a)) {
+ for ($z = 0; $z < 5; $z++) {
+ if (is_array($arr) && $arr) {
+ foreach ($arr as $a) {
+ if (is_array($a)) {
$ret[] = $a;
}
else {
- $x = $this->get_compound_property($a,$base,$namespace);
- if($x) {
- $ret = array_merge($ret,$x);
+ $x = $this->get_compound_property($a, $base, $namespace);
+ if ($x) {
+ $ret = array_merge($ret, $x);
}
}
}
@@ -202,33 +201,33 @@ class ActivityStreams {
*/
function get_namespace($base, $namespace) {
- if(! $namespace)
+ if (!$namespace)
return '';
$key = null;
- foreach( [ $this->data, $base ] as $b ) {
- if(! $b)
+ foreach ([$this->data, $base] as $b) {
+ if (!$b)
continue;
- if(array_key_exists('@context', $b)) {
- if(is_array($b['@context'])) {
- foreach($b['@context'] as $ns) {
- if(is_array($ns)) {
- foreach($ns as $k => $v) {
- if($namespace === $v)
+ if (array_key_exists('@context', $b)) {
+ if (is_array($b['@context'])) {
+ foreach ($b['@context'] as $ns) {
+ if (is_array($ns)) {
+ foreach ($ns as $k => $v) {
+ if ($namespace === $v)
$key = $k;
}
}
else {
- if($namespace === $ns) {
+ if ($namespace === $ns) {
$key = '';
}
}
}
}
else {
- if($namespace === $b['@context']) {
+ if ($namespace === $b['@context']) {
$key = '';
}
}
@@ -248,14 +247,14 @@ class ActivityStreams {
*/
function get_property_obj($property, $base = '', $namespace = '') {
$prefix = $this->get_namespace($base, $namespace);
- if($prefix === null)
+ if ($prefix === null)
return null;
- $base = (($base) ? $base : $this->data);
+ $base = (($base) ? $base : $this->data);
$propname = (($prefix) ? $prefix . ':' : '') . $property;
- if(! is_array($base)) {
- btlogger('not an array: ' . print_r($base,true));
+ if (!is_array($base)) {
+ btlogger('not an array: ' . print_r($base, true));
return null;
}
@@ -279,14 +278,14 @@ class ActivityStreams {
}
static function is_an_actor($s) {
- return (in_array($s, [ 'Application','Group','Organization','Person','Service' ]));
+ return (in_array($s, ['Application', 'Group', 'Organization', 'Person', 'Service']));
}
static function is_response_activity($s) {
- if (! $s) {
+ if (!$s) {
return false;
}
- return (in_array($s, [ 'Like', 'Dislike', 'Flag', 'Block', 'Accept', 'Reject', 'TentativeAccept', 'TentativeReject', 'emojiReaction', 'EmojiReaction', 'EmojiReact' ]));
+ return (in_array($s, ['Like', 'Dislike', 'Flag', 'Block', 'Accept', 'Reject', 'TentativeAccept', 'TentativeReject', 'emojiReaction', 'EmojiReaction', 'EmojiReact']));
}
/**
@@ -298,9 +297,9 @@ class ActivityStreams {
* @return NULL|mixed
*/
- function get_actor($property,$base='',$namespace = '') {
+ function get_actor($property, $base = '', $namespace = '') {
$x = $this->get_property_obj($property, $base, $namespace);
- if($this->is_url($x)) {
+ if ($this->is_url($x)) {
// SECURITY: If we have already stored the actor profile, re-generate it
// from cached data - don't refetch it from the network
@@ -308,15 +307,15 @@ class ActivityStreams {
$r = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where hubloc_id_url = '%s' limit 1",
dbesc($x)
);
- if($r) {
- $y = Activity::encode_person($r[0]);
+ if ($r) {
+ $y = Activity::encode_person($r[0]);
$y['cached'] = true;
return $y;
}
}
- $actor = $this->get_compound_property($property,$base,$namespace,true);
- if(is_array($actor) && self::is_an_actor($actor['type'])) {
- if(array_key_exists('id',$actor) && (! array_key_exists('inbox',$actor))) {
+ $actor = $this->get_compound_property($property, $base, $namespace, true);
+ if (is_array($actor) && self::is_an_actor($actor['type'])) {
+ if (array_key_exists('id', $actor) && (!array_key_exists('inbox', $actor))) {
$actor = $this->fetch_property($actor['id']);
}
return $actor;
@@ -336,7 +335,7 @@ class ActivityStreams {
*/
function get_compound_property($property, $base = '', $namespace = '', $first = false) {
$x = $this->get_property_obj($property, $base, $namespace);
- if($this->is_url($x)) {
+ if ($this->is_url($x)) {
$y = $this->fetch_property($x);
if (is_array($y)) {
$x = $y;
@@ -345,22 +344,22 @@ class ActivityStreams {
// verify and unpack JSalmon signature if present
- if(is_array($x) && array_key_exists('signed',$x)) {
+ if (is_array($x) && array_key_exists('signed', $x)) {
$ret = JSalmon::verify($x);
$tmp = JSalmon::unpack($x['data']);
- if($ret && $ret['success']) {
- if($ret['signer']) {
- $saved = json_encode($x,JSON_UNESCAPED_SLASHES);
- $x = $tmp;
- $x['signer'] = $ret['signer'];
+ if ($ret && $ret['success']) {
+ if ($ret['signer']) {
+ $saved = json_encode($x, JSON_UNESCAPED_SLASHES);
+ $x = $tmp;
+ $x['signer'] = $ret['signer'];
$x['signed_data'] = $saved;
- if($ret['hubloc']) {
+ if ($ret['hubloc']) {
$x['hubloc'] = $ret['hubloc'];
}
}
}
}
- if($first && is_array($x) && array_key_exists(0,$x)) {
+ if ($first && is_array($x) && array_key_exists(0, $x)) {
return $x[0];
}
@@ -374,7 +373,7 @@ class ActivityStreams {
* @return boolean
*/
function is_url($url) {
- if(($url) && (! is_array($url)) && (strpos($url, 'http') === 0)) {
+ if (($url) && (!is_array($url)) && (strpos($url, 'http') === 0)) {
return true;
}
@@ -389,13 +388,13 @@ class ActivityStreams {
* @return NULL|mixed
*/
function get_primary_type($base = '', $namespace = '') {
- if(! $base)
+ if (!$base)
$base = $this->data;
$x = $this->get_property_obj('type', $base, $namespace);
- if(is_array($x)) {
- foreach($x as $y) {
- if(strpos($y, ':') === false) {
+ if (is_array($x)) {
+ foreach ($x as $y) {
+ if (strpos($y, ':') === false) {
return $y;
}
}
@@ -409,15 +408,32 @@ class ActivityStreams {
return $x;
}
- static function is_as_request() {
+ static function is_as_request($channel = null) {
+
+ $hookdata = [];
+ if ($channel)
+ $hookdata['channel'] = $channel;
+
+ $hookdata['data'] = ['application/x-zot-activity+json'];
+
+ call_hooks('is_as_request', $hookdata);
+
+ $x = getBestSupportedMimeType($hookdata['data']);
+ return (($x) ? true : false);
+
+ }
+
+ static function get_accept_header_string($channel = null) {
+
+ $hookdata = [];
+ if ($channel)
+ $hookdata['channel'] = $channel;
+
+ $hookdata['data'] = 'application/x-zot-activity+json';
- $x = getBestSupportedMimeType([
- 'application/ld+json;profile="https://www.w3.org/ns/activitystreams"',
- 'application/activity+json',
- 'application/ld+json;profile="http://www.w3.org/ns/activitystreams"'
- ]);
+ call_hooks('get_accept_header_string', $hookdata);
- return(($x) ? true : false);
+ return $hookdata['data'];
}
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index 7b980b8d3..05b2ba177 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -524,7 +524,7 @@ class Apps {
}
elseif(remote_channel()) {
$observer = \App::get_observer();
- if($observer && $observer['xchan_network'] === 'zot') {
+ if($observer && in_array($observer['xchan_network'], ['zot6', 'zot'])) {
// some folks might have xchan_url redirected offsite, use the connurl
$x = parse_url($observer['xchan_connurl']);
if($x) {
diff --git a/Zotlabs/Lib/Hashpath.php b/Zotlabs/Lib/Hashpath.php
new file mode 100644
index 000000000..f3b25d2b6
--- /dev/null
+++ b/Zotlabs/Lib/Hashpath.php
@@ -0,0 +1,55 @@
+<?php
+namespace Zotlabs\Lib;
+
+/*
+ * Zotlabs\Lib\Hashpath
+ *
+ * Creates hashed directory structures for fast access and resistance to overloading any single directory with files.
+ *
+ * Takes a $hash which could be any string
+ * a $prefix which is where to place the hash directory in the filesystem, default is current directory
+ * use an empty string for $prefix to place hash directories directly off the root directory
+ * an optional $depth and $slice (default is 2) to indicate the hash level
+ * $depth = 1, 256 directories, suitable for < 384K records/files
+ * $depth = 2, 65536 directories, suitable for < 98M records/files
+ * $depth = 3, 16777216 directories, suitable for < 2.5B records/files
+ * ...
+ * The total number of records anticipated divided by the number of hash directories should generally be kept to
+ * less than 1500 entries for optimum performance though this varies by operating system and filesystem type.
+ * ext4 uses 32 bit inode numbers (~4B record limit) so use caution or alternative filesystem types with $depth above 3.
+ * an optional $mkdir (boolean) to recursively create the directory (ignoring errors) before returning
+ *
+ * examples: for a $hash of 'abcdefg' and prefix of 'path' the following paths are returned for $depth = 1 and $depth = 3
+ * path/7d/7d1a54127b222502f5b79b5fb0803061152a44f92b37e23c6527baf665d4da9a
+ * path/7d/1a/54/7d1a54127b222502f5b79b5fb0803061152a44f92b37e23c6527baf665d4da9a
+ *
+ * see also: boot.php:os_mkdir() - here we provide the equivalent of mkdir -p with permissions of 770.
+ *
+ */
+
+class Hashpath {
+
+ static function path($hash, $prefix = '.', $depth = 1, $slice = 2, $mkdir = true, $alg = false) {
+
+ if ($alg)
+ $hash = hash($alg, $hash);
+
+ $start = 0;
+ if ($depth < 1)
+ $depth = 1;
+ $sluglen = $depth * $slice;
+
+ do {
+ $slug = substr($hash, $start, $slice);
+ $prefix .= '/' . $slug;
+ $start += $slice;
+ $sluglen -= $slice;
+ }
+ while ($sluglen);
+
+ if ($mkdir)
+ os_mkdir($prefix, STORAGE_DEFAULT_PERMISSIONS, true);
+
+ return $prefix . '/' . $hash;
+ }
+}
diff --git a/Zotlabs/Lib/JSalmon.php b/Zotlabs/Lib/JSalmon.php
index 48a4e649b..7f63cf914 100644
--- a/Zotlabs/Lib/JSalmon.php
+++ b/Zotlabs/Lib/JSalmon.php
@@ -40,15 +40,15 @@ class JSalmon {
$ret = [ 'results' => [] ];
if(! is_array($x)) {
- return $false;
+ return false;
}
if(! ( array_key_exists('signed',$x) && $x['signed'])) {
- return $false;
+ return false;
}
- $signed_data = preg_replace('/\s+/','',$x['data']) . '.'
- . base64url_encode($x['data_type'],true) . '.'
- . base64url_encode($x['encoding'],true) . '.'
+ $signed_data = preg_replace('/\s+/','',$x['data']) . '.'
+ . base64url_encode($x['data_type'],true) . '.'
+ . base64url_encode($x['encoding'],true) . '.'
. base64url_encode($x['alg'],true);
$key = HTTPSig::get_key(EMPTY_STR,'zot6',base64url_decode($x['sigs']['key_id']));
diff --git a/Zotlabs/Lib/Libsync.php b/Zotlabs/Lib/Libsync.php
index 7b968532a..e16b68cf8 100644
--- a/Zotlabs/Lib/Libsync.php
+++ b/Zotlabs/Lib/Libsync.php
@@ -2,9 +2,9 @@
namespace Zotlabs\Lib;
-use Zotlabs\Lib\Libzot;
-use Zotlabs\Lib\Queue;
+use App;
+use Zotlabs\Daemon\Master;
class Libsync {
@@ -23,21 +23,21 @@ class Libsync {
logger('build_sync_packet');
- $keychange = (($packet && array_key_exists('keychange',$packet)) ? true : false);
- if($keychange) {
+ $keychange = (($packet && array_key_exists('keychange', $packet)) ? true : false);
+ if ($keychange) {
logger('keychange sync');
}
- if(! $uid)
+ if (!$uid)
$uid = local_channel();
- if(! $uid)
+ if (!$uid)
return;
$r = q("select * from channel where channel_id = %d limit 1",
intval($uid)
);
- if(! $r)
+ if (!$r)
return;
$channel = $r[0];
@@ -49,103 +49,103 @@ class Libsync {
unset($channel['channel_salt']);
- if(intval($channel['channel_removed']))
+ if (intval($channel['channel_removed']))
return;
$h = q("select hubloc.*, site.site_crypto from hubloc left join site on site_url = hubloc_url where hubloc_hash = '%s' and hubloc_deleted = 0",
dbesc(($keychange) ? $packet['keychange']['old_hash'] : $channel['channel_hash'])
);
- if(! $h)
+ if (!$h)
return;
- $synchubs = array();
+ $synchubs = [];
- foreach($h as $x) {
- if($x['hubloc_host'] == \App::get_hostname())
+ foreach ($h as $x) {
+ if ($x['hubloc_host'] == App::get_hostname())
continue;
$y = q("select site_dead from site where site_url = '%s' limit 1",
dbesc($x['hubloc_url'])
);
- if((! $y) || ($y[0]['site_dead'] == 0))
+ if ((!$y) || ($y[0]['site_dead'] == 0))
$synchubs[] = $x;
}
- if(! $synchubs)
+ if (!$synchubs)
return;
- $env_recips = [ $channel['channel_hash'] ];
+ $env_recips = [$channel['channel_hash']];
- if($packet)
- logger('packet: ' . print_r($packet, true),LOGGER_DATA, LOG_DEBUG);
+ if ($packet)
+ logger('packet: ' . print_r($packet, true), LOGGER_DATA, LOG_DEBUG);
- $info = (($packet) ? $packet : array());
- $info['type'] = 'sync';
+ $info = (($packet) ? $packet : []);
+ $info['type'] = 'sync';
$info['encoding'] = 'hz'; // note: not zot, this packet is very platform specific
- $info['relocate'] = ['channel_address' => $channel['channel_address'], 'url' => z_root() ];
+ $info['relocate'] = ['channel_address' => $channel['channel_address'], 'url' => z_root()];
- if(array_key_exists($uid,\App::$config) && array_key_exists('transient',\App::$config[$uid])) {
- $settings = \App::$config[$uid]['transient'];
- if($settings) {
+ if (array_key_exists($uid, App::$config) && array_key_exists('transient', App::$config[$uid])) {
+ $settings = App::$config[$uid]['transient'];
+ if ($settings) {
$info['config'] = $settings;
}
}
- if($channel) {
- $info['channel'] = array();
- foreach($channel as $k => $v) {
+ if ($channel) {
+ $info['channel'] = [];
+ foreach ($channel as $k => $v) {
// filter out any joined tables like xchan
- if(strpos($k,'channel_') !== 0)
+ if (strpos($k, 'channel_') !== 0)
continue;
// don't pass these elements, they should not be synchronised
$disallowed = [
- 'channel_id','channel_account_id','channel_primary','channel_address',
- 'channel_deleted','channel_removed','channel_system'
+ 'channel_id', 'channel_account_id', 'channel_primary', 'channel_address',
+ 'channel_deleted', 'channel_removed', 'channel_system'
];
- if(! $keychange) {
+ if (!$keychange) {
$disallowed[] = 'channel_prvkey';
}
- if(in_array($k,$disallowed))
+ if (in_array($k, $disallowed))
continue;
$info['channel'][$k] = $v;
}
}
- if($groups_changed) {
+ if ($groups_changed) {
$r = q("select hash as collection, visible, deleted, gname as name from pgrp where uid = %d",
intval($uid)
);
- if($r)
+ if ($r)
$info['collections'] = $r;
$r = q("select pgrp.hash as collection, pgrp_member.xchan as member from pgrp left join pgrp_member on pgrp.id = pgrp_member.gid where pgrp_member.uid = %d",
intval($uid)
);
- if($r)
+ if ($r)
$info['collection_members'] = $r;
}
- $interval = ((get_config('system','delivery_interval') !== false)
- ? intval(get_config('system','delivery_interval')) : 2 );
+ $interval = ((get_config('system', 'delivery_interval') !== false)
+ ? intval(get_config('system', 'delivery_interval')) : 2);
- logger('Packet: ' . print_r($info,true), LOGGER_DATA, LOG_DEBUG);
+ logger('Packet: ' . print_r($info, true), LOGGER_DATA, LOG_DEBUG);
$total = count($synchubs);
- foreach($synchubs as $hub) {
+ foreach ($synchubs as $hub) {
$hash = random_string();
- $n = Libzot::build_packet($channel,'sync',$env_recips,json_encode($info),'hz',$hub['hubloc_sitekey'],$hub['site_crypto']);
- Queue::insert(array(
+ $n = Libzot::build_packet($channel, 'sync', $env_recips, json_encode($info), 'hz', $hub['hubloc_sitekey'], $hub['site_crypto']);
+ Queue::insert([
'hash' => $hash,
'account_id' => $channel['channel_account_id'],
'channel_id' => $channel['channel_id'],
@@ -153,29 +153,29 @@ class Libsync {
'driver' => $hub['hubloc_network'],
'notify' => $n,
'msg' => EMPTY_STR
- ));
+ ]);
$x = q("select count(outq_hash) as total from outq where outq_delivered = 0");
- if(intval($x[0]['total']) > intval(get_config('system','force_queue_threshold',3000))) {
+ if (intval($x[0]['total']) > intval(get_config('system', 'force_queue_threshold', 3000))) {
logger('immediate delivery deferred.', LOGGER_DEBUG, LOG_INFO);
Queue::update($hash);
continue;
}
- \Zotlabs\Daemon\Master::Summon(array('Deliver', $hash));
+ Master::Summon(['Deliver', $hash]);
$total = $total - 1;
- if($interval && $total)
- @time_sleep_until(microtime(true) + (float) $interval);
+ if ($interval && $total)
+ @time_sleep_until(microtime(true) + (float)$interval);
}
}
/**
* @brief
*
- * @param array $sender
+ * @param string $sender
* @param array $arr
* @param array $deliveries
* @return array
@@ -187,16 +187,16 @@ class Libsync {
$result = [];
- $keychange = ((array_key_exists('keychange',$arr)) ? true : false);
+ $keychange = ((array_key_exists('keychange', $arr)) ? true : false);
foreach ($deliveries as $d) {
$r = q("select * from channel where channel_hash = '%s' limit 1",
dbesc($sender)
);
- $DR = new \Zotlabs\Lib\DReport(z_root(),$sender,$d,'sync');
+ $DR = new DReport(z_root(), $sender, $d, 'sync');
- if (! $r) {
+ if (!$r) {
$DR->update('recipient not found');
$result[] = $DR->get();
continue;
@@ -206,153 +206,152 @@ class Libsync {
$DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
- $max_friends = service_class_fetch($channel['channel_id'],'total_channels');
- $max_feeds = account_service_class_fetch($channel['channel_account_id'],'total_feeds');
+ $max_friends = service_class_fetch($channel['channel_id'], 'total_channels');
+ $max_feeds = account_service_class_fetch($channel['channel_account_id'], 'total_feeds');
- if($channel['channel_hash'] != $sender) {
+ if ($channel['channel_hash'] != $sender) {
logger('Possible forgery. Sender ' . $sender . ' is not ' . $channel['channel_hash']);
$DR->update('channel mismatch');
$result[] = $DR->get();
continue;
}
- if($keychange) {
- self::keychange($channel,$arr);
+ if ($keychange) {
+ self::keychange($channel, $arr);
continue;
}
// if the clone is active, so are we
- if(substr($channel['channel_active'],0,10) !== substr(datetime_convert(),0,10)) {
+ if (substr($channel['channel_active'], 0, 10) !== substr(datetime_convert(), 0, 10)) {
q("UPDATE channel set channel_active = '%s' where channel_id = %d",
dbesc(datetime_convert()),
intval($channel['channel_id'])
);
}
- if(array_key_exists('config',$arr) && is_array($arr['config']) && count($arr['config'])) {
- foreach($arr['config'] as $cat => $k) {
- foreach($arr['config'][$cat] as $k => $v)
- set_pconfig($channel['channel_id'],$cat,$k,$v);
+ if (array_key_exists('config', $arr) && is_array($arr['config']) && count($arr['config'])) {
+ foreach ($arr['config'] as $cat => $k) {
+ foreach ($arr['config'][$cat] as $k => $v)
+ set_pconfig($channel['channel_id'], $cat, $k, $v);
}
}
- if(array_key_exists('obj',$arr) && $arr['obj'])
- sync_objs($channel,$arr['obj']);
+ if (array_key_exists('obj', $arr) && $arr['obj'])
+ sync_objs($channel, $arr['obj']);
- if(array_key_exists('likes',$arr) && $arr['likes'])
- import_likes($channel,$arr['likes']);
+ if (array_key_exists('likes', $arr) && $arr['likes'])
+ import_likes($channel, $arr['likes']);
- if(array_key_exists('app',$arr) && $arr['app'])
- sync_apps($channel,$arr['app']);
+ if (array_key_exists('app', $arr) && $arr['app'])
+ sync_apps($channel, $arr['app']);
- if(array_key_exists('addressbook',$arr) && $arr['addressbook'])
- sync_addressbook($channel,$arr['addressbook']);
+ if (array_key_exists('addressbook', $arr) && $arr['addressbook'])
+ sync_addressbook($channel, $arr['addressbook']);
- if(array_key_exists('calendar',$arr) && $arr['calendar'])
- sync_calendar($channel,$arr['calendar']);
+ if (array_key_exists('calendar', $arr) && $arr['calendar'])
+ sync_calendar($channel, $arr['calendar']);
- if(array_key_exists('chatroom',$arr) && $arr['chatroom'])
- sync_chatrooms($channel,$arr['chatroom']);
+ if (array_key_exists('chatroom', $arr) && $arr['chatroom'])
+ sync_chatrooms($channel, $arr['chatroom']);
- if(array_key_exists('conv',$arr) && $arr['conv'])
- import_conv($channel,$arr['conv']);
+ if (array_key_exists('conv', $arr) && $arr['conv'])
+ import_conv($channel, $arr['conv']);
- if(array_key_exists('mail',$arr) && $arr['mail'])
- sync_mail($channel,$arr['mail']);
+ if (array_key_exists('mail', $arr) && $arr['mail'])
+ sync_mail($channel, $arr['mail']);
- if(array_key_exists('event',$arr) && $arr['event'])
- sync_events($channel,$arr['event']);
+ if (array_key_exists('event', $arr) && $arr['event'])
+ sync_events($channel, $arr['event']);
- if(array_key_exists('event_item',$arr) && $arr['event_item'])
- sync_items($channel,$arr['event_item'],((array_key_exists('relocate',$arr)) ? $arr['relocate'] : null));
+ if (array_key_exists('event_item', $arr) && $arr['event_item'])
+ sync_items($channel, $arr['event_item'], ((array_key_exists('relocate', $arr)) ? $arr['relocate'] : null));
- if(array_key_exists('item',$arr) && $arr['item'])
- sync_items($channel,$arr['item'],((array_key_exists('relocate',$arr)) ? $arr['relocate'] : null));
+ if (array_key_exists('item', $arr) && $arr['item'])
+ sync_items($channel, $arr['item'], ((array_key_exists('relocate', $arr)) ? $arr['relocate'] : null));
// deprecated, maintaining for a few months for upward compatibility
// this should sync webpages, but the logic is a bit subtle
- if(array_key_exists('item_id',$arr) && $arr['item_id'])
- sync_items($channel,$arr['item_id']);
+ if (array_key_exists('item_id', $arr) && $arr['item_id'])
+ sync_items($channel, $arr['item_id']);
- if(array_key_exists('menu',$arr) && $arr['menu'])
- sync_menus($channel,$arr['menu']);
+ if (array_key_exists('menu', $arr) && $arr['menu'])
+ sync_menus($channel, $arr['menu']);
- if(array_key_exists('file',$arr) && $arr['file'])
- sync_files($channel,$arr['file']);
+ if (array_key_exists('file', $arr) && $arr['file'])
+ sync_files($channel, $arr['file']);
- if(array_key_exists('wiki',$arr) && $arr['wiki'])
- sync_items($channel,$arr['wiki'],((array_key_exists('relocate',$arr)) ? $arr['relocate'] : null));
+ if (array_key_exists('wiki', $arr) && $arr['wiki'])
+ sync_items($channel, $arr['wiki'], ((array_key_exists('relocate', $arr)) ? $arr['relocate'] : null));
- if(array_key_exists('channel',$arr) && is_array($arr['channel']) && count($arr['channel'])) {
+ if (array_key_exists('channel', $arr) && is_array($arr['channel']) && count($arr['channel'])) {
- $remote_channel = $arr['channel'];
+ $remote_channel = $arr['channel'];
$remote_channel['channel_id'] = $channel['channel_id'];
- if(array_key_exists('channel_pageflags',$arr['channel']) && intval($arr['channel']['channel_pageflags'])) {
+ if (array_key_exists('channel_pageflags', $arr['channel']) && intval($arr['channel']['channel_pageflags'])) {
// Several pageflags are site-specific and cannot be sync'd.
// Only allow those bits which are shareable from the remote and then
// logically OR with the local flags
- $arr['channel']['channel_pageflags'] = $arr['channel']['channel_pageflags'] & (PAGE_HIDDEN|PAGE_AUTOCONNECT|PAGE_APPLICATION|PAGE_PREMIUM|PAGE_ADULT);
+ $arr['channel']['channel_pageflags'] = $arr['channel']['channel_pageflags'] & (PAGE_HIDDEN | PAGE_AUTOCONNECT | PAGE_APPLICATION | PAGE_PREMIUM | PAGE_ADULT);
$arr['channel']['channel_pageflags'] = $arr['channel']['channel_pageflags'] | $channel['channel_pageflags'];
}
$disallowed = [
- 'channel_id', 'channel_account_id', 'channel_primary', 'channel_prvkey',
- 'channel_address', 'channel_notifyflags', 'channel_removed', 'channel_deleted',
- 'channel_system', 'channel_r_stream', 'channel_r_profile', 'channel_r_abook',
- 'channel_r_storage', 'channel_r_pages', 'channel_w_stream', 'channel_w_wall',
- 'channel_w_comment', 'channel_w_mail', 'channel_w_like', 'channel_w_tagwall',
- 'channel_w_chat', 'channel_w_storage', 'channel_w_pages', 'channel_a_republish',
+ 'channel_id', 'channel_account_id', 'channel_primary', 'channel_prvkey',
+ 'channel_address', 'channel_notifyflags', 'channel_removed', 'channel_deleted',
+ 'channel_system', 'channel_r_stream', 'channel_r_profile', 'channel_r_abook',
+ 'channel_r_storage', 'channel_r_pages', 'channel_w_stream', 'channel_w_wall',
+ 'channel_w_comment', 'channel_w_mail', 'channel_w_like', 'channel_w_tagwall',
+ 'channel_w_chat', 'channel_w_storage', 'channel_w_pages', 'channel_a_republish',
'channel_a_delegate'
];
- $clean = array();
- foreach($arr['channel'] as $k => $v) {
- if(in_array($k,$disallowed))
+ $clean = [];
+ foreach ($arr['channel'] as $k => $v) {
+ if (in_array($k, $disallowed))
continue;
$clean[$k] = $v;
}
- if(count($clean)) {
- foreach($clean as $k => $v) {
- $r = dbq("UPDATE channel set " . dbesc($k) . " = '" . dbesc($v)
- . "' where channel_id = " . intval($channel['channel_id']) );
+ if (count($clean)) {
+ foreach ($clean as $k => $v) {
+ dbq("UPDATE channel set " . dbesc($k) . " = '" . dbesc($v) . "' where channel_id = " . intval($channel['channel_id']));
}
}
}
- if(array_key_exists('abook',$arr) && is_array($arr['abook']) && count($arr['abook'])) {
+ if (array_key_exists('abook', $arr) && is_array($arr['abook']) && count($arr['abook'])) {
$total_friends = 0;
- $total_feeds = 0;
+ $total_feeds = 0;
$r = q("select abook_id, abook_feed from abook where abook_channel = %d",
intval($channel['channel_id'])
);
- if($r) {
+ if ($r) {
// don't count yourself
$total_friends = ((count($r) > 0) ? count($r) - 1 : 0);
- foreach($r as $rr)
- if(intval($rr['abook_feed']))
- $total_feeds ++;
+ foreach ($r as $rr)
+ if (intval($rr['abook_feed']))
+ $total_feeds++;
}
- $disallowed = array('abook_id','abook_account','abook_channel','abook_rating','abook_rating_text','abook_not_here');
+ $disallowed = ['abook_id', 'abook_account', 'abook_channel', 'abook_rating', 'abook_rating_text', 'abook_not_here'];
$fields = db_columns('abook');
- foreach($arr['abook'] as $abook) {
+ foreach ($arr['abook'] as $abook) {
$abconfig = null;
- if(array_key_exists('abconfig',$abook) && is_array($abook['abconfig']) && count($abook['abconfig']))
+ if (array_key_exists('abconfig', $abook) && is_array($abook['abconfig']) && count($abook['abconfig']))
$abconfig = $abook['abconfig'];
- if(! array_key_exists('abook_blocked',$abook)) {
+ if (!array_key_exists('abook_blocked', $abook)) {
// convert from redmatrix
$abook['abook_blocked'] = (($abook['abook_flags'] & 0x0001) ? 1 : 0);
$abook['abook_ignored'] = (($abook['abook_flags'] & 0x0002) ? 1 : 0);
@@ -364,20 +363,20 @@ class Libsync {
$abook['abook_feed'] = (($abook['abook_flags'] & 0x0100) ? 1 : 0);
}
- $clean = array();
- if($abook['abook_xchan'] && $abook['entry_deleted']) {
+ $clean = [];
+ if ($abook['abook_xchan'] && $abook['entry_deleted']) {
logger('Removing abook entry for ' . $abook['abook_xchan']);
$r = q("select abook_id, abook_feed from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1",
dbesc($abook['abook_xchan']),
intval($channel['channel_id'])
);
- if($r) {
- contact_remove($channel['channel_id'],$r[0]['abook_id']);
- if($total_friends)
- $total_friends --;
- if(intval($r[0]['abook_feed']))
- $total_feeds --;
+ if ($r) {
+ contact_remove($channel['channel_id'], $r[0]['abook_id']);
+ if ($total_friends)
+ $total_friends--;
+ if (intval($r[0]['abook_feed']))
+ $total_feeds--;
}
continue;
}
@@ -386,31 +385,31 @@ class Libsync {
// This relies on the undocumented behaviour that red sites send xchan info with the abook
// and import_author_xchan will look them up on all federated networks
- if($abook['abook_xchan'] && $abook['xchan_addr']) {
+ if ($abook['abook_xchan'] && $abook['xchan_addr']) {
$h = Libzot::get_hublocs($abook['abook_xchan']);
- if(! $h) {
+ if (!$h) {
$xhash = import_author_xchan(encode_item_xchan($abook));
- if(! $xhash) {
+ if (!$xhash) {
logger('Import of ' . $abook['xchan_addr'] . ' failed.');
continue;
}
}
}
- foreach($abook as $k => $v) {
- if(in_array($k,$disallowed) || (strpos($k,'abook') !== 0)) {
+ foreach ($abook as $k => $v) {
+ if (in_array($k, $disallowed) || (strpos($k, 'abook') !== 0)) {
continue;
}
- if(! in_array($k,$fields)) {
+ if (!in_array($k, $fields)) {
continue;
}
$clean[$k] = $v;
}
- if(! array_key_exists('abook_xchan',$clean))
+ if (!array_key_exists('abook_xchan', $clean))
continue;
- if(array_key_exists('abook_instance',$clean) && $clean['abook_instance'] && strpos($clean['abook_instance'],z_root()) === false) {
+ if (array_key_exists('abook_instance', $clean) && $clean['abook_instance'] && strpos($clean['abook_instance'], z_root()) === false) {
$clean['abook_not_here'] = 1;
}
@@ -422,12 +421,12 @@ class Libsync {
// make sure we have an abook entry for this xchan on this system
- if(! $r) {
- if($max_friends !== false && $total_friends > $max_friends) {
+ if (!$r) {
+ if ($max_friends !== false && $total_friends > $max_friends) {
logger('total_channels service class limit exceeded');
continue;
}
- if($max_feeds !== false && intval($clean['abook_feed']) && $total_feeds > $max_feeds) {
+ if ($max_feeds !== false && intval($clean['abook_feed']) && $total_feeds > $max_feeds) {
logger('total_feeds service class limit exceeded');
continue;
}
@@ -438,18 +437,16 @@ class Libsync {
'abook_channel' => $channel['channel_id']
]
);
- $total_friends ++;
- if(intval($clean['abook_feed']))
- $total_feeds ++;
+ $total_friends++;
+ if (intval($clean['abook_feed']))
+ $total_feeds++;
}
- if(count($clean)) {
- foreach($clean as $k => $v) {
- if($k == 'abook_dob')
+ if (count($clean)) {
+ foreach ($clean as $k => $v) {
+ if ($k == 'abook_dob')
$v = dbescdate($v);
-
- $r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v)
- . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id']));
+ dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v) . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id']));
}
}
@@ -459,10 +456,10 @@ class Libsync {
// translate_abook_perms_inbound($channel,$abook);
- if($abconfig) {
+ if ($abconfig) {
/// @fixme does not handle sync of del_abconfig
- foreach($abconfig as $abc) {
- set_abconfig($channel['channel_id'],$abc['xchan'],$abc['cat'],$abc['k'],$abc['v']);
+ foreach ($abconfig as $abc) {
+ set_abconfig($channel['channel_id'], $abc['xchan'], $abc['cat'], $abc['k'], $abc['v']);
}
}
}
@@ -470,21 +467,21 @@ class Libsync {
// sync collections (privacy groups) oh joy...
- if(array_key_exists('collections',$arr) && is_array($arr['collections']) && count($arr['collections'])) {
+ if (array_key_exists('collections', $arr) && is_array($arr['collections']) && count($arr['collections'])) {
$x = q("select * from pgrp where uid = %d",
intval($channel['channel_id'])
);
- foreach($arr['collections'] as $cl) {
+ foreach ($arr['collections'] as $cl) {
$found = false;
- if($x) {
- foreach($x as $y) {
- if($cl['collection'] == $y['hash']) {
+ if ($x) {
+ foreach ($x as $y) {
+ if ($cl['collection'] == $y['hash']) {
$found = true;
break;
}
}
- if($found) {
- if(($y['gname'] != $cl['name'])
+ if ($found) {
+ if (($y['gname'] != $cl['name'])
|| ($y['visible'] != $cl['visible'])
|| ($y['deleted'] != $cl['deleted'])) {
q("update pgrp set gname = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d",
@@ -495,15 +492,15 @@ class Libsync {
intval($channel['channel_id'])
);
}
- if(intval($cl['deleted']) && (! intval($y['deleted']))) {
+ if (intval($cl['deleted']) && (!intval($y['deleted']))) {
q("delete from pgrp_member where gid = %d",
intval($y['id'])
);
}
}
}
- if(! $found) {
- $r = q("INSERT INTO pgrp ( hash, uid, visible, deleted, gname )
+ if (!$found) {
+ q("INSERT INTO pgrp ( hash, uid, visible, deleted, gname )
VALUES( '%s', %d, %d, %d, '%s' ) ",
dbesc($cl['collection']),
intval($channel['channel_id']),
@@ -517,16 +514,16 @@ class Libsync {
// They need to be removed by marking deleted and removing the members.
// This shouldn't happen except for clones created before this function was written.
- if($x) {
+ if ($x) {
$found_local = false;
- foreach($x as $y) {
- foreach($arr['collections'] as $cl) {
- if($cl['collection'] == $y['hash']) {
+ foreach ($x as $y) {
+ foreach ($arr['collections'] as $cl) {
+ if ($cl['collection'] == $y['hash']) {
$found_local = true;
break;
}
}
- if(! $found_local) {
+ if (!$found_local) {
q("delete from pgrp_member where gid = %d",
intval($y['id'])
);
@@ -546,38 +543,38 @@ class Libsync {
// now sync the members
- if(array_key_exists('collection_members', $arr)
+ if (array_key_exists('collection_members', $arr)
&& is_array($arr['collection_members'])
&& count($arr['collection_members'])) {
// first sort into groups keyed by the group hash
- $members = array();
- foreach($arr['collection_members'] as $cm) {
- if(! array_key_exists($cm['collection'],$members))
- $members[$cm['collection']] = array();
+ $members = [];
+ foreach ($arr['collection_members'] as $cm) {
+ if (!array_key_exists($cm['collection'], $members))
+ $members[$cm['collection']] = [];
$members[$cm['collection']][] = $cm['member'];
}
// our group list is already synchronised
- if($x) {
- foreach($x as $y) {
+ if ($x) {
+ foreach ($x as $y) {
// for each group, loop on members list we just received
- if(isset($y['hash']) && isset($members[$y['hash']])) {
- foreach($members[$y['hash']] as $member) {
+ if (isset($y['hash']) && isset($members[$y['hash']])) {
+ foreach ($members[$y['hash']] as $member) {
$found = false;
- $z = q("select xchan from pgrp_member where gid = %d and uid = %d and xchan = '%s' limit 1",
+ $z = q("select xchan from pgrp_member where gid = %d and uid = %d and xchan = '%s' limit 1",
intval($y['id']),
intval($channel['channel_id']),
dbesc($member)
);
- if($z)
+ if ($z)
$found = true;
// if somebody is in the group that wasn't before - add them
- if(! $found) {
+ if (!$found) {
q("INSERT INTO pgrp_member (uid, gid, xchan)
VALUES( %d, %d, '%s' ) ",
intval($channel['channel_id']),
@@ -593,10 +590,10 @@ class Libsync {
intval($y['id']),
intval($channel['channel_id'])
);
- if($m) {
- foreach($m as $mm) {
+ if ($m) {
+ foreach ($m as $mm) {
// if the local existing member isn't in the list we just received - remove them
- if(! in_array($mm['xchan'],$members[$y['hash']])) {
+ if (!in_array($mm['xchan'], $members[$y['hash']])) {
q("delete from pgrp_member where xchan = '%s' and gid = %d and uid = %d",
dbesc($mm['xchan']),
intval($y['id']),
@@ -610,17 +607,17 @@ class Libsync {
}
}
- if(array_key_exists('profile',$arr) && is_array($arr['profile']) && count($arr['profile'])) {
+ if (array_key_exists('profile', $arr) && is_array($arr['profile']) && count($arr['profile'])) {
- $disallowed = array('id','aid','uid','guid');
+ $disallowed = ['id', 'aid', 'uid', 'guid'];
- foreach($arr['profile'] as $profile) {
+ foreach ($arr['profile'] as $profile) {
$x = q("select * from profile where profile_guid = '%s' and uid = %d limit 1",
dbesc($profile['profile_guid']),
intval($channel['channel_id'])
);
- if(! $x) {
+ if (!$x) {
profile_store_lowlevel(
[
'aid' => $channel['channel_account_id'],
@@ -633,24 +630,24 @@ class Libsync {
dbesc($profile['profile_guid']),
intval($channel['channel_id'])
);
- if(! $x)
+ if (!$x)
continue;
}
- $clean = array();
- foreach($profile as $k => $v) {
- if(in_array($k,$disallowed))
+ $clean = [];
+ foreach ($profile as $k => $v) {
+ if (in_array($k, $disallowed))
continue;
- if($profile['is_default'] && in_array($k,['photo','thumb']))
+ if ($profile['is_default'] && in_array($k, ['photo', 'thumb']))
continue;
- if($k === 'name')
+ if ($k === 'name')
$clean['fullname'] = $v;
- elseif($k === 'with')
+ elseif ($k === 'with')
$clean['partner'] = $v;
- elseif($k === 'work')
+ elseif ($k === 'work')
$clean['employment'] = $v;
- elseif(array_key_exists($k,$x[0]))
+ elseif (array_key_exists($k, $x[0]))
$clean[$k] = $v;
/**
@@ -658,7 +655,7 @@ class Libsync {
* We also need to import local photos if a custom photo is selected
*/
- if((strpos($profile['thumb'],'/photo/profile/l/') !== false) || intval($profile['is_default'])) {
+ if ((strpos($profile['thumb'], '/photo/profile/l/') !== false) || intval($profile['is_default'])) {
$profile['photo'] = z_root() . '/photo/profile/l/' . $channel['channel_id'];
$profile['thumb'] = z_root() . '/photo/profile/m/' . $channel['channel_id'];
}
@@ -668,11 +665,11 @@ class Libsync {
}
}
- if(count($clean)) {
- foreach($clean as $k => $v) {
- $r = dbq("UPDATE profile set " . TQUOT . dbesc($k) . TQUOT . " = '" . dbesc($v)
- . "' where profile_guid = '" . dbesc($profile['profile_guid'])
- . "' and uid = " . intval($channel['channel_id']));
+ if (count($clean)) {
+ foreach ($clean as $k => $v) {
+ dbq("UPDATE profile set " . TQUOT . dbesc($k) . TQUOT . " = '" . dbesc($v)
+ . "' where profile_guid = '" . dbesc($profile['profile_guid'])
+ . "' and uid = " . intval($channel['channel_id']));
}
}
}
@@ -687,7 +684,7 @@ class Libsync {
*/
call_hooks('process_channel_sync_delivery', $addon);
- $DR = new \Zotlabs\Lib\DReport(z_root(),$d,$d,'sync','channel sync delivered');
+ $DR = new DReport(z_root(), $d, $d, 'sync', 'channel sync delivered');
$DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
@@ -708,12 +705,12 @@ class Libsync {
static function sync_locations($sender, $arr, $absolute = false) {
- $ret = array();
+ $ret = [];
- if($arr['locations']) {
+ if ($arr['locations']) {
- if($absolute)
- Libzot::check_location_move($sender['hash'],$arr['locations']);
+ if ($absolute)
+ Libzot::check_location_move($sender['hash'], $arr['locations']);
$xisting = q("select * from hubloc where hubloc_hash = '%s'",
dbesc($sender['hash'])
@@ -722,8 +719,8 @@ class Libsync {
// See if a primary is specified
$has_primary = false;
- foreach($arr['locations'] as $location) {
- if($location['primary']) {
+ foreach ($arr['locations'] as $location) {
+ if ($location['primary']) {
$has_primary = true;
break;
}
@@ -731,32 +728,32 @@ class Libsync {
// Ensure that they have one primary hub
- if(! $has_primary)
+ if (!$has_primary)
$arr['locations'][0]['primary'] = true;
- foreach($arr['locations'] as $location) {
- if(! Libzot::verify($location['url'],$location['url_sig'],$sender['public_key'])) {
+ foreach ($arr['locations'] as $location) {
+ if (!Libzot::verify($location['url'], $location['url_sig'], $sender['public_key'])) {
logger('Unable to verify site signature for ' . $location['url']);
- $ret['message'] .= sprintf( t('Unable to verify site signature for %s'), $location['url']) . EOL;
+ $ret['message'] .= sprintf(t('Unable to verify site signature for %s'), $location['url']) . EOL;
continue;
}
- for($x = 0; $x < count($xisting); $x ++) {
- if(($xisting[$x]['hubloc_url'] === $location['url'])
+ for ($x = 0; $x < count($xisting); $x++) {
+ if (($xisting[$x]['hubloc_url'] === $location['url'])
&& ($xisting[$x]['hubloc_sitekey'] === $location['sitekey'])) {
$xisting[$x]['updated'] = true;
}
}
- if(! $location['sitekey']) {
- logger('Empty hubloc sitekey. ' . print_r($location,true));
+ if (!$location['sitekey']) {
+ logger('Empty hubloc sitekey. ' . print_r($location, true));
continue;
}
// Catch some malformed entries from the past which still exist
- if(strpos($location['address'],'/') !== false)
- $location['address'] = substr($location['address'],0,strpos($location['address'],'/'));
+ if (strpos($location['address'], '/') !== false)
+ $location['address'] = substr($location['address'], 0, strpos($location['address'], '/'));
// match as many fields as possible in case anything at all changed.
@@ -773,7 +770,7 @@ class Libsync {
dbesc($location['callback']),
dbesc($location['sitekey'])
);
- if($r) {
+ if ($r) {
logger('Hub exists: ' . $location['url'], LOGGER_DEBUG);
// update connection timestamp if this is the site we're talking to
@@ -781,9 +778,9 @@ class Libsync {
$current_site = false;
- $t = datetime_convert('UTC','UTC','now - 15 minutes');
+ $t = datetime_convert('UTC', 'UTC', 'now - 15 minutes');
- if(array_key_exists('site',$arr) && $location['url'] == $arr['site']['url']) {
+ if (array_key_exists('site', $arr) && $location['url'] == $arr['site']['url']) {
q("update hubloc set hubloc_connected = '%s', hubloc_updated = '%s' where hubloc_id = %d and hubloc_connected < '%s'",
dbesc(datetime_convert()),
dbesc(datetime_convert()),
@@ -793,11 +790,11 @@ class Libsync {
$current_site = true;
}
- if($current_site && intval($r[0]['hubloc_error'])) {
+ if ($current_site && intval($r[0]['hubloc_error'])) {
q("update hubloc set hubloc_error = 0 where hubloc_id = %d",
intval($r[0]['hubloc_id'])
);
- if(intval($r[0]['hubloc_orphancheck'])) {
+ if (intval($r[0]['hubloc_orphancheck'])) {
q("update hubloc set hubloc_orphancheck = 0 where hubloc_id = %d",
intval($r[0]['hubloc_id'])
);
@@ -808,60 +805,60 @@ class Libsync {
}
// Remove pure duplicates
- if(count($r) > 1) {
- for($h = 1; $h < count($r); $h ++) {
+ if (count($r) > 1) {
+ for ($h = 1; $h < count($r); $h++) {
q("delete from hubloc where hubloc_id = %d",
intval($r[$h]['hubloc_id'])
);
- $what .= 'duplicate_hubloc_removed ';
+ $what .= 'duplicate_hubloc_removed ';
$changed = true;
}
}
- if(intval($r[0]['hubloc_primary']) && (! $location['primary'])) {
- $m = q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_id_url = '%s'",
+ if (intval($r[0]['hubloc_primary']) && (!$location['primary'])) {
+ q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_id_url = '%s'",
dbesc(datetime_convert()),
dbesc($r[0]['hubloc_id_url'])
);
$r[0]['hubloc_primary'] = intval($location['primary']);
hubloc_change_primary($r[0]);
- $what .= 'primary_hub ';
+ $what .= 'primary_hub ';
$changed = true;
}
- elseif((! intval($r[0]['hubloc_primary'])) && ($location['primary'])) {
- $m = q("update hubloc set hubloc_primary = 1, hubloc_updated = '%s' where hubloc_id = %d",
+ elseif ((!intval($r[0]['hubloc_primary'])) && ($location['primary'])) {
+ q("update hubloc set hubloc_primary = 1, hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
);
// make sure hubloc_change_primary() has current data
$r[0]['hubloc_primary'] = intval($location['primary']);
hubloc_change_primary($r[0]);
- $what .= 'primary_hub ';
+ $what .= 'primary_hub ';
$changed = true;
}
- elseif($absolute) {
+ elseif ($absolute) {
// Absolute sync - make sure the current primary is correctly reflected in the xchan
$pr = hubloc_change_primary($r[0]);
- if($pr) {
- $what .= 'xchan_primary ';
+ if ($pr) {
+ $what .= 'xchan_primary ';
$changed = true;
}
}
- if(intval($r[0]['hubloc_deleted']) && (! intval($location['deleted']))) {
- $n = q("update hubloc set hubloc_deleted = 0, hubloc_updated = '%s' where hubloc_id_url = '%s'",
+ if (intval($r[0]['hubloc_deleted']) && (!intval($location['deleted']))) {
+ q("update hubloc set hubloc_deleted = 0, hubloc_updated = '%s' where hubloc_id_url = '%s'",
dbesc(datetime_convert()),
dbesc($r[0]['hubloc_id_url'])
);
- $what .= 'undelete_hub ';
+ $what .= 'undelete_hub ';
$changed = true;
}
- elseif((! intval($r[0]['hubloc_deleted'])) && (intval($location['deleted']))) {
+ elseif ((!intval($r[0]['hubloc_deleted'])) && (intval($location['deleted']))) {
logger('deleting hubloc: ' . $r[0]['hubloc_addr']);
- $n = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id_url = '%s'",
+ q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id_url = '%s'",
dbesc(datetime_convert()),
dbesc($r[0]['hubloc_id_url'])
);
- $what .= 'delete_hub ';
+ $what .= 'delete_hub ';
$changed = true;
}
continue;
@@ -870,8 +867,8 @@ class Libsync {
// Existing hubs are dealt with. Now let's process any new ones.
// New hub claiming to be primary. Make it so by removing any existing primaries.
- if(intval($location['primary'])) {
- $r = q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_hash = '%s' and hubloc_primary = 1",
+ if (intval($location['primary'])) {
+ q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_hash = '%s' and hubloc_primary = 1",
dbesc(datetime_convert()),
dbesc($sender['hash'])
);
@@ -879,7 +876,7 @@ class Libsync {
logger('New hub: ' . $location['url']);
- $r = hubloc_store_lowlevel(
+ hubloc_store_lowlevel(
[
'hubloc_guid' => $sender['id'],
'hubloc_guid_sig' => $sender['id_sig'],
@@ -890,7 +887,7 @@ class Libsync {
'hubloc_primary' => intval($location['primary']),
'hubloc_url' => $location['url'],
'hubloc_url_sig' => $location['url_sig'],
- 'hubloc_site_id' => Libzot::make_xchan_hash($location['url'],$location['sitekey']),
+ 'hubloc_site_id' => Libzot::make_xchan_hash($location['url'], $location['sitekey']),
'hubloc_host' => $location['host'],
'hubloc_callback' => $location['callback'],
'hubloc_sitekey' => $location['sitekey'],
@@ -899,15 +896,15 @@ class Libsync {
]
);
- $what .= 'newhub ';
+ $what .= 'newhub ';
$changed = true;
- if($location['primary']) {
+ if ($location['primary']) {
$r = q("select * from hubloc where hubloc_addr = '%s' and hubloc_sitekey = '%s'",
dbesc($location['address']),
dbesc($location['sitekey'])
);
- if($r) {
+ if ($r) {
$r = Libzot::zot_record_preferred($r);
hubloc_change_primary($r);
}
@@ -916,15 +913,15 @@ class Libsync {
// get rid of any hubs we have for this channel which weren't reported.
- if($absolute && $xisting) {
- foreach($xisting as $x) {
- if(! array_key_exists('updated',$x)) {
+ if ($absolute && $xisting) {
+ foreach ($xisting as $x) {
+ if (!array_key_exists('updated', $x)) {
logger('Deleting unreferenced hub location ' . $x['hubloc_addr']);
- $r = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id_url = '%s'",
+ q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id_url = '%s'",
dbesc(datetime_convert()),
dbesc($x['hubloc_id_url'])
);
- $what .= 'removed_hub ';
+ $what .= 'removed_hub ';
$changed = true;
}
}
@@ -935,22 +932,22 @@ class Libsync {
}
$ret['change_message'] = $what;
- $ret['changed'] = $changed;
+ $ret['changed'] = $changed;
return $ret;
}
- static function keychange($channel,$arr) {
+ static function keychange($channel, $arr) {
// verify the keychange operation
- if(! Libzot::verify($arr['channel']['channel_pubkey'],$arr['keychange']['new_sig'],$channel['channel_prvkey'])) {
+ if (!Libzot::verify($arr['channel']['channel_pubkey'], $arr['keychange']['new_sig'], $channel['channel_prvkey'])) {
logger('sync keychange: verification failed');
return;
}
- $sig = Libzot::sign($channel['channel_guid'],$arr['channel']['channel_prvkey']);
- $hash = Libzot::make_xchan_hash($channel['channel_guid'],$arr['channel']['channel_pubkey']);
+ $sig = Libzot::sign($channel['channel_guid'], $arr['channel']['channel_prvkey']);
+ $hash = Libzot::make_xchan_hash($channel['channel_guid'], $arr['channel']['channel_pubkey']);
$r = q("update channel set channel_prvkey = '%s', channel_pubkey = '%s', channel_guid_sig = '%s',
@@ -961,16 +958,16 @@ class Libsync {
dbesc($hash),
intval($channel['channel_id'])
);
- if(! $r) {
+ if (!$r) {
logger('keychange sync: channel update failed');
return;
- }
+ }
$r = q("select * from channel where channel_id = %d",
intval($channel['channel_id'])
);
- if(! $r) {
+ if (!$r) {
logger('keychange sync: channel retrieve failed');
return;
}
@@ -982,11 +979,11 @@ class Libsync {
dbesc(z_root())
);
- if($h) {
- foreach($h as $hv) {
+ if ($h) {
+ foreach ($h as $hv) {
$hv['hubloc_guid_sig'] = $sig;
$hv['hubloc_hash'] = $hash;
- $hv['hubloc_url_sig'] = Libzot::sign(z_root(),$channel['channel_prvkey']);
+ $hv['hubloc_url_sig'] = Libzot::sign(z_root(), $channel['channel_prvkey']);
hubloc_store_lowlevel($hv);
}
}
@@ -999,12 +996,12 @@ class Libsync {
dbesc($hash)
);
- if(($x) && (! $check)) {
+ if (($x) && (!$check)) {
$oldxchan = $x[0];
- foreach($x as $xv) {
- $xv['xchan_guid_sig'] = $sig;
- $xv['xchan_hash'] = $hash;
- $xv['xchan_pubkey'] = $channel['channel_pubkey'];
+ foreach ($x as $xv) {
+ $xv['xchan_guid_sig'] = $sig;
+ $xv['xchan_hash'] = $hash;
+ $xv['xchan_pubkey'] = $channel['channel_pubkey'];
xchan_store_lowlevel($xv);
$newxchan = $xv;
}
@@ -1014,14 +1011,14 @@ class Libsync {
dbesc($arr['keychange']['old_hash'])
);
- if($a) {
+ if ($a) {
q("update abook set abook_xchan = '%s' where abook_id = %d",
dbesc($hash),
intval($a[0]['abook_id'])
);
}
- xchan_change_key($oldxchan,$newxchan,$arr['keychange']);
+ xchan_change_key($oldxchan, $newxchan, $arr['keychange']);
}
diff --git a/Zotlabs/Lib/Libzot.php b/Zotlabs/Lib/Libzot.php
index 972ebe0e9..fd30f05f5 100644
--- a/Zotlabs/Lib/Libzot.php
+++ b/Zotlabs/Lib/Libzot.php
@@ -34,7 +34,7 @@ class Libzot {
*/
static function new_uid($channel_nick) {
$rawstr = z_root() . '/' . $channel_nick . '.' . mt_rand();
- return(base64url_encode(hash('whirlpool', $rawstr, true), true));
+ return (base64url_encode(hash('whirlpool', $rawstr, true), true));
}
@@ -87,7 +87,7 @@ class Libzot {
* packet type: one of 'ping', 'pickup', 'purge', 'refresh', 'keychange', 'force_refresh', 'notify', 'auth_check'
* @param array $recipients
* envelope recipients, array of portable_id's; empty for public posts
- * @param string $msg
+ * @param array $msg
* optional message
* @param string $encoding
* optional encoding, default 'activitystreams'
@@ -98,15 +98,15 @@ class Libzot {
* optional comma separated list of encryption methods @ref best_algorithm()
* @returns string json encoded zot packet
*/
- static function build_packet($channel, $type = 'activity', $recipients = null, $msg = '', $encoding = 'activitystreams', $remote_key = null, $methods = '') {
+ static function build_packet($channel, $type = 'activity', $recipients = null, $msg = [], $encoding = 'activitystreams', $remote_key = null, $methods = '') {
- $sig_method = get_config('system','signature_algorithm','sha256');
+ $sig_method = get_config('system', 'signature_algorithm', 'sha256');
$data = [
'type' => $type,
'encoding' => $encoding,
'sender' => $channel['channel_hash'],
- 'site_id' => self::make_xchan_hash(z_root(), get_config('system','pubkey')),
+ 'site_id' => self::make_xchan_hash(z_root(), get_config('system', 'pubkey')),
'version' => System::get_zot_revision(),
];
@@ -116,8 +116,8 @@ class Libzot {
if ($msg) {
$actor = channel_url($channel);
- if ($encoding === 'activitystreams' && array_key_exists('actor',$msg) && is_string($msg['actor']) && $actor === $msg['actor']) {
- $msg = JSalmon::sign($msg,$actor,$channel['channel_prvkey']);
+ if ($encoding === 'activitystreams' && array_key_exists('actor', $msg) && is_string($msg['actor']) && $actor === $msg['actor']) {
+ $msg = JSalmon::sign($msg, $actor, $channel['channel_prvkey']);
}
$data['data'] = $msg;
}
@@ -125,12 +125,12 @@ class Libzot {
unset($data['encoding']);
}
- logger('packet: ' . print_r($data,true), LOGGER_DATA, LOG_DEBUG);
+ logger('packet: ' . print_r($data, true), LOGGER_DATA, LOG_DEBUG);
if ($remote_key) {
$algorithm = self::best_algorithm($methods);
if ($algorithm) {
- $data = crypto_encapsulate(json_encode($data),$remote_key, $algorithm);
+ $data = crypto_encapsulate(json_encode($data), $remote_key, $algorithm);
}
}
@@ -150,7 +150,7 @@ class Libzot {
$x = [
'methods' => $methods,
- 'result' => ''
+ 'result' => ''
];
/**
@@ -161,18 +161,18 @@ class Libzot {
*/
call_hooks('zot_best_algorithm', $x);
- if($x['result'])
+ if ($x['result'])
return $x['result'];
- if($methods) {
+ if ($methods) {
$x = explode(',', $methods);
- if($x) {
+ if ($x) {
$y = crypto_methods();
- if($y) {
- foreach($y as $yv) {
+ if ($y) {
+ foreach ($y as $yv) {
$yv = trim($yv);
- if(in_array($yv, $x)) {
- return($yv);
+ if (in_array($yv, $x)) {
+ return ($yv);
}
}
}
@@ -186,17 +186,17 @@ class Libzot {
/**
* @brief Send a zot message.
*
- * @see z_post_url()
- *
* @param string $url
- * @param array $data
+ * @param string $data
* @param array $channel (required if using zot6 delivery)
* @param array $crypto (required if encrypted httpsig, requires hubloc_sitekey and site_crypto elements)
* @return array see z_post_url() for returned data format
+ * @see z_post_url()
+ *
*/
- static function zot($url, $data, $channel = null,$crypto = null) {
+ static function zot($url, $data, $channel = null, $crypto = null) {
- if($channel) {
+ if ($channel) {
$headers = [
'X-Zot-Token' => random_string(),
'Digest' => HTTPSig::generate_digest_header($data),
@@ -204,8 +204,8 @@ class Libzot {
'(request-target)' => 'post ' . get_request_string($url)
];
- $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel),false,'sha512',
- (($crypto) ? [ 'key' => $crypto['hubloc_sitekey'], 'algorithm' => self::best_algorithm($crypto['site_crypto']) ] : false));
+ $h = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel), false, 'sha512',
+ (($crypto) ? ['key' => $crypto['hubloc_sitekey'], 'algorithm' => self::best_algorithm($crypto['site_crypto'])] : false));
}
else {
$h = [];
@@ -213,7 +213,7 @@ class Libzot {
$redirects = 0;
- return z_post_url($url,$data,$redirects,((empty($h)) ? [] : [ 'headers' => $h ]));
+ return z_post_url($url, $data, $redirects, ((empty($h)) ? [] : ['headers' => $h]));
}
@@ -237,7 +237,7 @@ class Libzot {
*
* @param array $them => xchan structure of sender
* @param array $channel => local channel structure of target recipient, required for "friending" operations
- * @param array $force (optional) default false
+ * @param boolean $force (optional) default false
*
* @return boolean
* * \b true if successful
@@ -245,9 +245,9 @@ class Libzot {
*/
static function refresh($them, $channel = null, $force = false) {
- logger('them: ' . print_r($them,true), LOGGER_DATA, LOG_DEBUG);
+ logger('them: ' . print_r($them, true), LOGGER_DATA, LOG_DEBUG);
if ($channel)
- logger('channel: ' . print_r($channel,true), LOGGER_DATA, LOG_DEBUG);
+ logger('channel: ' . print_r($channel, true), LOGGER_DATA, LOG_DEBUG);
$url = null;
@@ -261,12 +261,12 @@ class Libzot {
// We'll order by reverse id to try and pick off the newest one first and hopefully end up with the
// correct hubloc. If this doesn't work we may have to re-write this section to try them all.
- if(array_key_exists('xchan_addr',$them) && $them['xchan_addr']) {
+ if (array_key_exists('xchan_addr', $them) && $them['xchan_addr']) {
$r = q("select hubloc_id_url, hubloc_primary from hubloc where hubloc_addr = '%s' and hubloc_network = 'zot6' order by hubloc_id desc",
dbesc($them['xchan_addr'])
);
}
- if(! $r) {
+ if (!$r) {
$r = q("select hubloc_id_url, hubloc_primary from hubloc where hubloc_hash = '%s' order by hubloc_id desc",
dbesc($them['xchan_hash'])
);
@@ -275,16 +275,16 @@ class Libzot {
if ($r) {
foreach ($r as $rr) {
if (intval($rr['hubloc_primary'])) {
- $url = $rr['hubloc_id_url'];
+ $url = $rr['hubloc_id_url'];
$record = $rr;
}
}
- if (! $url) {
+ if (!$url) {
$url = $r[0]['hubloc_id_url'];
}
}
}
- if (! $url) {
+ if (!$url) {
logger('zot_refresh: no url');
return false;
}
@@ -293,64 +293,64 @@ class Libzot {
dbesc($url)
);
- if($s && intval($s[0]['site_dead']) && (! $force)) {
+ if ($s && intval($s[0]['site_dead']) && (!$force)) {
logger('zot_refresh: site ' . $url . ' is marked dead and force flag is not set. Cancelling operation.');
return false;
}
- $record = Zotfinger::exec($url,$channel);
+ $record = Zotfinger::exec($url, $channel);
// Check the HTTP signature
$hsig = $record['signature'];
- if($hsig && $hsig['signer'] === $url && $hsig['header_valid'] === true && $hsig['content_valid'] === true)
+ if ($hsig && $hsig['signer'] === $url && $hsig['header_valid'] === true && $hsig['content_valid'] === true)
$hsig_valid = true;
- if(! $hsig_valid) {
- logger('http signature not valid: ' . print_r($hsig,true));
+ if (!$hsig_valid) {
+ logger('http signature not valid: ' . print_r($hsig, true));
return false;
}
- logger('zot-info: ' . print_r($record,true), LOGGER_DATA, LOG_DEBUG);
+ logger('zot-info: ' . print_r($record, true), LOGGER_DATA, LOG_DEBUG);
$x = self::import_xchan($record['data'], (($force) ? UPDATE_FLAGS_FORCED : UPDATE_FLAGS_UPDATED));
- if(! $x['success'])
+ if (!$x['success'])
return false;
- if($channel && $record['data']['permissions']) {
- $permissions = explode(',',$record['data']['permissions']);
+ if ($channel && $record['data']['permissions']) {
+ $permissions = explode(',', $record['data']['permissions']);
- if($permissions && is_array($permissions)) {
- $old_read_stream_perm = get_abconfig($channel['channel_id'],$x['hash'],'their_perms','view_stream');
+ if ($permissions && is_array($permissions)) {
+ $old_read_stream_perm = get_abconfig($channel['channel_id'], $x['hash'], 'their_perms', 'view_stream');
$permissions = Permissions::FilledPerms($permissions);
- foreach($permissions as $k => $v) {
- set_abconfig($channel['channel_id'],$x['hash'],'their_perms',$k,$v);
+ foreach ($permissions as $k => $v) {
+ set_abconfig($channel['channel_id'], $x['hash'], 'their_perms', $k, $v);
}
}
- if(array_key_exists('profile',$record['data']) && array_key_exists('next_birthday',$record['data']['profile'])) {
- $next_birthday = datetime_convert('UTC','UTC',$record['data']['profile']['next_birthday']);
+ if (array_key_exists('profile', $record['data']) && array_key_exists('next_birthday', $record['data']['profile'])) {
+ $next_birthday = datetime_convert('UTC', 'UTC', $record['data']['profile']['next_birthday']);
}
else {
$next_birthday = NULL_DATE;
}
- $profile_assign = get_pconfig($channel['channel_id'],'system','profile_assign','');
+ $profile_assign = get_pconfig($channel['channel_id'], 'system', 'profile_assign', '');
// Keep original perms to check if we need to notify them
- $previous_perms = get_all_perms($channel['channel_id'],$x['hash']);
+ $previous_perms = get_all_perms($channel['channel_id'], $x['hash']);
$r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1",
dbesc($x['hash']),
intval($channel['channel_id'])
);
- if($r) {
+ if ($r) {
// connection exists
@@ -358,7 +358,7 @@ class Libzot {
// we have as we may have updated the year after sending a notification; and resetting
// to the one we just received would cause us to create duplicated events.
- if(substr($r[0]['abook_dob'],5) == substr($next_birthday,5))
+ if (substr($r[0]['abook_dob'], 5) == substr($next_birthday, 5))
$next_birthday = $r[0]['abook_dob'];
$y = q("update abook set abook_dob = '%s'
@@ -369,30 +369,30 @@ class Libzot {
intval($channel['channel_id'])
);
- if(! $y)
+ if (!$y)
logger('abook update failed');
else {
// if we were just granted read stream permission and didn't have it before, try to pull in some posts
- if((! $old_read_stream_perm) && (intval($permissions['view_stream'])))
- Master::Summon([ 'Onepoll', $r[0]['abook_id'] ]);
+ if ((!$old_read_stream_perm) && (intval($permissions['view_stream'])))
+ Master::Summon(['Onepoll', $r[0]['abook_id']]);
}
}
else {
- $p = Permissions::connect_perms($channel['channel_id']);
+ $p = Permissions::connect_perms($channel['channel_id']);
$my_perms = $p['perms'];
$automatic = $p['automatic'];
// new connection
- if($my_perms) {
- foreach($my_perms as $k => $v) {
- set_abconfig($channel['channel_id'],$x['hash'],'my_perms',$k,$v);
+ if ($my_perms) {
+ foreach ($my_perms as $k => $v) {
+ set_abconfig($channel['channel_id'], $x['hash'], 'my_perms', $k, $v);
}
}
- $closeness = get_pconfig($channel['channel_id'],'system','new_abook_closeness',80);
+ $closeness = get_pconfig($channel['channel_id'], 'system', 'new_abook_closeness', 80);
$y = abook_store_lowlevel(
[
@@ -408,9 +408,9 @@ class Libzot {
]
);
- if($y) {
+ if ($y) {
logger("New introduction received for {$channel['channel_name']}");
- $new_perms = get_all_perms($channel['channel_id'],$x['hash'],false);
+ $new_perms = get_all_perms($channel['channel_id'], $x['hash'], false);
// Send a clone sync packet and a permissions update if permissions have changed
@@ -419,45 +419,45 @@ class Libzot {
intval($channel['channel_id'])
);
- if($new_connection) {
- if(! Permissions::PermsCompare($new_perms,$previous_perms))
- Master::Summon([ 'Notifier', 'permissions_create', $new_connection[0]['abook_id'] ]);
+ if ($new_connection) {
+ if (!Permissions::PermsCompare($new_perms, $previous_perms))
+ Master::Summon(['Notifier', 'permission_create', $new_connection[0]['abook_id']]);
Enotify::submit(
[
- 'type' => NOTIFY_INTRO,
- 'from_xchan' => $x['hash'],
- 'to_xchan' => $channel['channel_hash'],
- 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id']
+ 'type' => NOTIFY_INTRO,
+ 'from_xchan' => $x['hash'],
+ 'to_xchan' => $channel['channel_hash'],
+ 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id']
]
);
- if(intval($permissions['view_stream'])) {
- if(intval(get_pconfig($channel['channel_id'],'perm_limits','send_stream') & PERMS_PENDING)
- || (! intval($new_connection[0]['abook_pending'])))
- Master::Summon([ 'Onepoll', $new_connection[0]['abook_id'] ]);
+ if (intval($permissions['view_stream'])) {
+ if (intval(get_pconfig($channel['channel_id'], 'perm_limits', 'send_stream') & PERMS_PENDING)
+ || (!intval($new_connection[0]['abook_pending'])))
+ Master::Summon(['Onepoll', $new_connection[0]['abook_id']]);
}
// If there is a default group for this channel, add this connection to it
// for pending connections this will happens at acceptance time.
- if(! intval($new_connection[0]['abook_pending'])) {
+ if (!intval($new_connection[0]['abook_pending'])) {
$default_group = $channel['channel_default_group'];
- if($default_group) {
- $g = Group::rec_byhash($channel['channel_id'],$default_group);
- if($g)
- Group::member_add($channel['channel_id'],'',$x['hash'],$g['id']);
+ if ($default_group) {
+ $g = Group::rec_byhash($channel['channel_id'], $default_group);
+ if ($g)
+ Group::member_add($channel['channel_id'], '', $x['hash'], $g['id']);
}
}
unset($new_connection[0]['abook_id']);
unset($new_connection[0]['abook_account']);
unset($new_connection[0]['abook_channel']);
- $abconfig = load_abconfig($channel['channel_id'],$new_connection['abook_xchan']);
- if($abconfig)
+ $abconfig = load_abconfig($channel['channel_id'], $new_connection['abook_xchan']);
+ if ($abconfig)
$new_connection['abconfig'] = $abconfig;
- Libsync::build_sync_packet($channel['channel_id'], array('abook' => $new_connection));
+ Libsync::build_sync_packet($channel['channel_id'], ['abook' => $new_connection]);
}
}
@@ -489,9 +489,9 @@ class Libzot {
static function gethub($arr, $multiple = false) {
- if($arr['id'] && $arr['id_sig'] && $arr['location'] && $arr['location_sig']) {
+ if ($arr['id'] && $arr['id_sig'] && $arr['location'] && $arr['location_sig']) {
- if(! check_siteallowed($arr['location'])) {
+ if (!check_siteallowed($arr['location'])) {
logger('blacklisted site: ' . $arr['location']);
return null;
}
@@ -509,12 +509,12 @@ class Libzot {
dbesc($arr['location_sig']),
dbesc($arr['site_id'])
);
- if($r) {
+ if ($r) {
logger('Found', LOGGER_DEBUG);
return (($multiple) ? $r : $r[0]);
}
}
- logger('Not found: ' . print_r($arr,true), LOGGER_DEBUG);
+ logger('Not found: ' . print_r($arr, true), LOGGER_DEBUG);
return false;
}
@@ -532,16 +532,16 @@ class Libzot {
dbesc($sender),
dbesc($site_id)
);
- if(! $r) {
+ if (!$r) {
return null;
}
- if(! check_siteallowed($r[0]['hubloc_url'])) {
+ if (!check_siteallowed($r[0]['hubloc_url'])) {
logger('blacklisted site: ' . $r[0]['hubloc_url']);
return null;
}
- if(! check_channelallowed($r[0]['hubloc_hash'])) {
+ if (!check_channelallowed($r[0]['hubloc_hash'])) {
logger('blacklisted channel: ' . $r[0]['hubloc_hash']);
return null;
}
@@ -567,9 +567,9 @@ class Libzot {
$hsig_valid = false;
- $result = [ 'success' => false ];
+ $result = ['success' => false];
- if(! $id) {
+ if (!$id) {
return $result;
}
@@ -578,16 +578,16 @@ class Libzot {
// Check the HTTP signature
$hsig = $record['signature'];
- if($hsig['signer'] === $id && $hsig['header_valid'] === true && $hsig['content_valid'] === true) {
+ if ($hsig['signer'] === $id && $hsig['header_valid'] === true && $hsig['content_valid'] === true) {
$hsig_valid = true;
}
- if(! $hsig_valid) {
- logger('http signature not valid: ' . print_r($hsig,true));
+ if (!$hsig_valid) {
+ logger('http signature not valid: ' . print_r($hsig, true));
return $result;
}
$c = self::import_xchan($record['data']);
- if($c['success']) {
+ if ($c['success']) {
$result['success'] = true;
}
else {
@@ -625,26 +625,26 @@ class Libzot {
*/
call_hooks('import_xchan', $arr);
- $ret = array('success' => false);
- $dirmode = intval(get_config('system','directory_mode'));
+ $ret = ['success' => false];
+ $dirmode = intval(get_config('system', 'directory_mode'));
$changed = false;
- $what = '';
+ $what = '';
- if(! ($arr['id'] && $arr['id_sig'])) {
- logger('No identity information provided. ' . print_r($arr,true));
+ if (!($arr['id'] && $arr['id_sig'])) {
+ logger('No identity information provided. ' . print_r($arr, true));
return $ret;
}
- $xchan_hash = self::make_xchan_hash($arr['id'],$arr['public_key']);
+ $xchan_hash = self::make_xchan_hash($arr['id'], $arr['public_key']);
$arr['hash'] = $xchan_hash;
$import_photos = false;
- $sig_methods = ((array_key_exists('signing',$arr) && is_array($arr['signing'])) ? $arr['signing'] : [ 'sha256' ]);
- $verified = false;
+ $sig_methods = ((array_key_exists('signing', $arr) && is_array($arr['signing'])) ? $arr['signing'] : ['sha256']);
+ $verified = false;
- if(! self::verify($arr['id'],$arr['id_sig'],$arr['public_key'])) {
+ if (!self::verify($arr['id'], $arr['id_sig'], $arr['public_key'])) {
logger('Unable to verify channel signature for ' . $arr['address']);
return $ret;
}
@@ -652,7 +652,7 @@ class Libzot {
$verified = true;
}
- if(! $verified) {
+ if (!$verified) {
$ret['message'] = t('Unable to verify channel signature');
return $ret;
}
@@ -663,40 +663,39 @@ class Libzot {
dbesc($xchan_hash)
);
- if(! array_key_exists('connect_url', $arr))
+ if (!array_key_exists('connect_url', $arr))
$arr['connect_url'] = '';
- if($r) {
- if($arr['photo'] && array_key_exists('updated',$arr['photo']) && $r[0]['xchan_photo_date'] != $arr['photo']['updated']) {
+ if ($r) {
+ if ($arr['photo'] && array_key_exists('updated', $arr['photo']) && $arr['photo']['updated'] > $r[0]['xchan_photo_date'])
$import_photos = true;
- }
// if we import an entry from a site that's not ours and either or both of us is off the grid - hide the entry.
/** @TODO: check if we're the same directory realm, which would mean we are allowed to see it */
- $dirmode = get_config('system','directory_mode');
+ $dirmode = get_config('system', 'directory_mode');
- if((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE)) && ($arr['site']['url'] != z_root()))
+ if ((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE)) && ($arr['site']['url'] != z_root()))
$arr['searchable'] = false;
$hidden = (1 - intval($arr['searchable']));
$hidden_changed = $adult_changed = $deleted_changed = $pubforum_changed = 0;
- if(intval($r[0]['xchan_hidden']) != (1 - intval($arr['searchable'])))
+ if (intval($r[0]['xchan_hidden']) != (1 - intval($arr['searchable'])))
$hidden_changed = 1;
- if(intval($r[0]['xchan_selfcensored']) != intval($arr['adult_content']))
+ if (intval($r[0]['xchan_selfcensored']) != intval($arr['adult_content']))
$adult_changed = 1;
- if(intval($r[0]['xchan_deleted']) != intval($arr['deleted']))
+ if (intval($r[0]['xchan_deleted']) != intval($arr['deleted']))
$deleted_changed = 1;
// new style 6-MAR-2019
- if(array_key_exists('channel_type',$arr)) {
- if($arr['channel_type'] === 'collection') {
+ if (array_key_exists('channel_type', $arr)) {
+ if ($arr['channel_type'] === 'collection') {
// do nothing at this time.
}
- elseif($arr['channel_type'] === 'group') {
+ elseif ($arr['channel_type'] === 'group') {
$arr['public_forum'] = 1;
}
else {
@@ -706,27 +705,27 @@ class Libzot {
// old style
- if(intval($r[0]['xchan_pubforum']) != intval($arr['public_forum']))
+ if (intval($r[0]['xchan_pubforum']) != intval($arr['public_forum']))
$pubforum_changed = 1;
- if($arr['protocols']) {
- $protocols = implode(',',$arr['protocols']);
- if($protocols !== 'zot6') {
- set_xconfig($xchan_hash,'system','protocols',$protocols);
+ if ($arr['protocols']) {
+ $protocols = implode(',', $arr['protocols']);
+ if ($protocols !== 'zot6') {
+ set_xconfig($xchan_hash, 'system', 'protocols', $protocols);
}
else {
- del_xconfig($xchan_hash,'system','protocols');
+ del_xconfig($xchan_hash, 'system', 'protocols');
}
}
- if(($r[0]['xchan_name_date'] != $arr['name_updated'])
+ if (($r[0]['xchan_name_date'] != $arr['name_updated'])
|| ($r[0]['xchan_connurl'] != $arr['primary_location']['connections_url'])
|| ($r[0]['xchan_addr'] != $arr['primary_location']['address'])
|| ($r[0]['xchan_follow'] != $arr['primary_location']['follow_url'])
|| ($r[0]['xchan_connpage'] != $arr['connect_url'])
|| ($r[0]['xchan_url'] != $arr['primary_location']['url'])
- || $hidden_changed || $adult_changed || $deleted_changed || $pubforum_changed ) {
+ || $hidden_changed || $adult_changed || $deleted_changed || $pubforum_changed) {
$rup = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
xchan_connpage = '%s', xchan_hidden = %d, xchan_selfcensored = %d, xchan_deleted = %d, xchan_pubforum = %d,
xchan_addr = '%s', xchan_url = '%s' where xchan_hash = '%s'",
@@ -744,18 +743,18 @@ class Libzot {
dbesc($xchan_hash)
);
- logger('Update: existing: ' . print_r($r[0],true), LOGGER_DATA, LOG_DEBUG);
- logger('Update: new: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- $what .= 'xchan ';
+ logger('Update: existing: ' . print_r($r[0], true), LOGGER_DATA, LOG_DEBUG);
+ logger('Update: new: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG);
+ $what .= 'xchan ';
$changed = true;
}
}
else {
$import_photos = true;
- if((($arr['site']['directory_mode'] === 'standalone')
+ if ((($arr['site']['directory_mode'] === 'standalone')
|| ($dirmode & DIRECTORY_MODE_STANDALONE))
- && ($arr['site']['url'] != z_root()))
+ && ($arr['site']['url'] != z_root()))
$arr['searchable'] = false;
$x = xchan_store_lowlevel(
@@ -782,11 +781,11 @@ class Libzot {
]
);
- $what .= 'new_xchan';
+ $what .= 'new_xchan';
$changed = true;
}
- if($import_photos) {
+ if ($import_photos) {
require_once('include/photo/photo_driver.php');
@@ -795,13 +794,16 @@ class Libzot {
$local = q("select channel_account_id, channel_id from channel where channel_hash = '%s' limit 1",
dbesc($xchan_hash)
);
- if($local) {
- $ph = z_fetch_url($arr['photo']['url'], true);
- if($ph['success']) {
+ if ($local) {
+
+ $ph = false;
+ if (strpos($arr['photo']['url'], z_root()) === false)
+ $ph = z_fetch_url($arr['photo']['url'], true);
+ if ($ph['success']) {
$hash = import_channel_photo($ph['body'], $arr['photo']['type'], $local[0]['channel_account_id'], $local[0]['channel_id']);
- if($hash) {
+ if ($hash) {
// unless proven otherwise
$is_default_profile = 1;
@@ -809,13 +811,13 @@ class Libzot {
intval($local[0]['channel_account_id']),
intval($local[0]['channel_id'])
);
- if($profile) {
- if(! intval($profile[0]['is_default']))
+ if ($profile) {
+ if (!intval($profile[0]['is_default']))
$is_default_profile = 0;
}
// If setting for the default profile, unset the profile photo flag from any other photos I own
- if($is_default_profile) {
+ if ($is_default_profile) {
q("UPDATE photo SET photo_usage = %d WHERE photo_usage = %d AND resource_id != '%s' AND aid = %d AND uid = %d",
intval(PHOTO_NORMAL),
intval(PHOTO_PROFILE),
@@ -827,20 +829,20 @@ class Libzot {
}
// reset the names in case they got messed up when we had a bug in this function
- $photos = array(
+ $photos = [
z_root() . '/photo/profile/l/' . $local[0]['channel_id'],
z_root() . '/photo/profile/m/' . $local[0]['channel_id'],
z_root() . '/photo/profile/s/' . $local[0]['channel_id'],
$arr['photo_mimetype'],
false
- );
+ ];
}
}
else {
$photos = import_xchan_photo($arr['photo']['url'], $xchan_hash);
}
- if($photos) {
- if($photos[4]) {
+ if ($photos) {
+ if ($photos[4]) {
// importing the photo failed somehow. Leave the photo_date alone so we can try again at a later date.
// This often happens when somebody joins the matrix with a bad cert.
$r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
@@ -855,7 +857,7 @@ class Libzot {
else {
$r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
where xchan_hash = '%s'",
- dbescdate(datetime_convert('UTC','UTC',$arr['photo_updated'])),
+ dbescdate(datetime_convert('UTC', 'UTC', $arr['photo_updated'])),
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
@@ -863,7 +865,7 @@ class Libzot {
dbesc($xchan_hash)
);
}
- $what .= 'photo ';
+ $what .= 'photo ';
$changed = true;
}
}
@@ -873,12 +875,12 @@ class Libzot {
$s = Libsync::sync_locations($arr, $arr);
- if($s) {
- if($s['change_message'])
+ if ($s) {
+ if ($s['change_message'])
$what .= $s['change_message'];
- if($s['changed'])
+ if ($s['changed'])
$changed = $s['changed'];
- if($s['message'])
+ if ($s['message'])
$ret['message'] .= $s['message'];
}
@@ -890,24 +892,24 @@ class Libzot {
// Are we a directory server of some kind?
$other_realm = false;
- $realm = get_directory_realm();
- if(array_key_exists('site',$arr)
- && array_key_exists('realm',$arr['site'])
- && (strpos($arr['site']['realm'],$realm) === false))
+ $realm = get_directory_realm();
+ if (array_key_exists('site', $arr)
+ && array_key_exists('realm', $arr['site'])
+ && (strpos($arr['site']['realm'], $realm) === false))
$other_realm = true;
- if($dirmode != DIRECTORY_MODE_NORMAL) {
+ if ($dirmode != DIRECTORY_MODE_NORMAL) {
// We're some kind of directory server. However we can only add directory information
// if the entry is in the same realm (or is a sub-realm). Sub-realms are denoted by
// including the parent realm in the name. e.g. 'RED_GLOBAL:foo' would allow an entry to
// be in directories for the local realm (foo) and also the RED_GLOBAL realm.
- if(array_key_exists('profile',$arr) && is_array($arr['profile']) && (! $other_realm)) {
- $profile_changed = Libzotdir::import_directory_profile($xchan_hash,$arr['profile'],$address,$ud_flags, 1);
- if($profile_changed) {
- $what .= 'profile ';
+ if (array_key_exists('profile', $arr) && is_array($arr['profile']) && (!$other_realm)) {
+ $profile_changed = Libzotdir::import_directory_profile($xchan_hash, $arr['profile'], $address, $ud_flags, 1);
+ if ($profile_changed) {
+ $what .= 'profile ';
$changed = true;
}
}
@@ -923,20 +925,20 @@ class Libzot {
}
}
- if(array_key_exists('site',$arr) && is_array($arr['site'])) {
+ if (array_key_exists('site', $arr) && is_array($arr['site'])) {
$profile_changed = self::import_site($arr['site']);
- if($profile_changed) {
- $what .= 'site ';
+ if ($profile_changed) {
+ $what .= 'site ';
$changed = true;
}
}
- if(($changed) || ($ud_flags == UPDATE_FLAGS_FORCED)) {
+ if (($changed) || ($ud_flags == UPDATE_FLAGS_FORCED)) {
$guid = random_string() . '@' . \App::get_hostname();
- Libzotdir::update_modtime($xchan_hash,$guid,$address,$ud_flags);
- logger('Changed: ' . $what,LOGGER_DEBUG);
+ Libzotdir::update_modtime($xchan_hash, $guid, $address, $ud_flags);
+ logger('Changed: ' . $what, LOGGER_DEBUG);
}
- elseif(! $ud_flags) {
+ elseif (!$ud_flags) {
// nothing changed but we still need to update the updates record
q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d) > 0 ",
intval(UPDATE_FLAGS_UPDATED),
@@ -945,12 +947,12 @@ class Libzot {
);
}
- if(! x($ret,'message')) {
+ if (!x($ret, 'message')) {
$ret['success'] = true;
- $ret['hash'] = $xchan_hash;
+ $ret['hash'] = $xchan_hash;
}
- logger('Result: ' . print_r($ret,true), LOGGER_DATA, LOG_DEBUG);
+ logger('Result: ' . print_r($ret, true), LOGGER_DATA, LOG_DEBUG);
return $ret;
}
@@ -967,32 +969,32 @@ class Libzot {
*/
static function process_response($hub, $arr, $outq) {
- logger('remote: ' . print_r($arr,true),LOGGER_DATA);
+ logger('remote: ' . print_r($arr, true), LOGGER_DATA);
- if(! $arr['success']) {
+ if (!$arr['success']) {
logger('Failed: ' . $hub);
return;
}
$x = json_decode($arr['body'], true);
- if(! $x) {
+ if (!$x) {
logger('No json from ' . $hub);
logger('Headers: ' . print_r($arr['header'], true), LOGGER_DATA, LOG_DEBUG);
}
- $x = crypto_unencapsulate($x, get_config('system','prvkey'));
+ $x = crypto_unencapsulate($x, get_config('system', 'prvkey'));
- if(! is_array($x)) {
- $x = json_decode($x,true);
+ if (!is_array($x)) {
+ $x = json_decode($x, true);
}
- if(! is_array($x)) {
+ if (!is_array($x)) {
btlogger('failed communication - no response');
}
- if($x) {
- if(! $x['success']) {
+ if ($x) {
+ if (!$x['success']) {
// handle remote validation issues
@@ -1003,18 +1005,18 @@ class Libzot {
);
}
- if(is_array($x) && array_key_exists('delivery_report',$x) && is_array($x['delivery_report'])) {
+ if (is_array($x) && array_key_exists('delivery_report', $x) && is_array($x['delivery_report'])) {
- foreach($x['delivery_report'] as $xx) {
- call_hooks('dreport_process',$xx);
- if(is_array($xx) && array_key_exists('message_id',$xx) && DReport::is_storable($xx)) {
+ foreach ($x['delivery_report'] as $xx) {
+ call_hooks('dreport_process', $xx);
+ if (is_array($xx) && array_key_exists('message_id', $xx) && DReport::is_storable($xx)) {
// legacy recipients add a space and their name to the xchan. split those if true.
$legacy_recipient = strpos($xx['recipient'], ' ');
- if($legacy_recipient !== false) {
+ if ($legacy_recipient !== false) {
$legacy_recipient_parts = explode(' ', $xx['recipient'], 2);
- $xx['recipient'] = $legacy_recipient_parts[0];
- $xx['name'] = $legacy_recipient_parts[1];
+ $xx['recipient'] = $legacy_recipient_parts[0];
+ $xx['name'] = $legacy_recipient_parts[1];
}
q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_name, dreport_result, dreport_time, dreport_xchan ) values ( '%s', '%s', '%s','%s','%s','%s','%s' ) ",
@@ -1023,7 +1025,7 @@ class Libzot {
dbesc($xx['recipient']),
dbesc($xx['name']),
dbesc($xx['status']),
- dbesc(datetime_convert('UTC','UTC',$xx['date'])),
+ dbesc(datetime_convert('UTC', 'UTC', $xx['date'])),
dbesc($xx['sender'])
);
}
@@ -1046,10 +1048,10 @@ class Libzot {
// synchronous message types are handled immediately
// async messages remain in the queue until processed.
- if(intval($outq['outq_async']))
- Queue::remove($outq['outq_hash'],$outq['outq_channel']);
+ if (intval($outq['outq_async']))
+ Queue::remove($outq['outq_hash'], $outq['outq_channel']);
- logger('zot_process_response: ' . print_r($x,true), LOGGER_DEBUG);
+ logger('zot_process_response: ' . print_r($x, true), LOGGER_DEBUG);
}
/**
@@ -1067,16 +1069,16 @@ class Libzot {
* If everything checks out on the remote end, we will receive back a packet containing one or more messages,
* which will be processed and delivered before this function ultimately returns.
*
- * @see zot_import()
- *
* @param array $arr
* decrypted and json decoded notify packet from remote site
* @return array from zot_import()
+ * @see zot_import()
+ *
*/
static function fetch($arr) {
- logger('zot_fetch: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
+ logger('zot_fetch: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG);
return self::import($arr);
@@ -1101,15 +1103,15 @@ class Libzot {
*/
static function import($arr) {
- $env = $arr;
+ $env = $arr;
$private = false;
- $return = [];
+ $return = [];
$result = null;
- logger('Notify: ' . print_r($env,true), LOGGER_DATA, LOG_DEBUG);
+ logger('Notify: ' . print_r($env, true), LOGGER_DATA, LOG_DEBUG);
- if(! is_array($env)) {
+ if (!is_array($env)) {
logger('decode error');
return;
}
@@ -1117,59 +1119,59 @@ class Libzot {
$message_request = false;
- $has_data = array_key_exists('data',$env) && $env['data'];
- $data = (($has_data) ? $env['data'] : false);
+ $has_data = array_key_exists('data', $env) && $env['data'];
+ $data = (($has_data) ? $env['data'] : false);
$AS = null;
- if($env['encoding'] === 'activitystreams') {
+ if ($env['encoding'] === 'activitystreams') {
- $AS = new ActivityStreams($data);
- if(! $AS->is_valid()) {
- logger('Activity rejected: ' . print_r($data,true));
- return;
- }
- if (is_array($AS->obj)) {
- $arr = Activity::decode_note($AS);
- }
- else {
- $arr = [];
- }
+ $AS = new ActivityStreams($data);
+ if (!$AS->is_valid()) {
+ logger('Activity rejected: ' . print_r($data, true));
+ return;
+ }
+ if (is_array($AS->obj)) {
+ $arr = Activity::decode_note($AS);
+ }
+ else {
+ $arr = [];
+ }
- logger($AS->debug(),LOGGER_DATA);
+ logger($AS->debug(), LOGGER_DATA);
}
$deliveries = null;
- if(array_key_exists('recipients',$env) && count($env['recipients'])) {
+ if (array_key_exists('recipients', $env) && count($env['recipients'])) {
logger('specific recipients');
- logger('recipients: ' . print_r($env['recipients'],true),LOGGER_DEBUG);
+ logger('recipients: ' . print_r($env['recipients'], true), LOGGER_DEBUG);
$recip_arr = [];
- foreach($env['recipients'] as $recip) {
- $recip_arr[] = $recip;
+ foreach ($env['recipients'] as $recip) {
+ $recip_arr[] = $recip;
}
$r = false;
- if($recip_arr) {
- stringify_array_elms($recip_arr,true);
- $recips = implode(',',$recip_arr);
- $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and channel_removed = 0 ");
+ if ($recip_arr) {
+ stringify_array_elms($recip_arr, true);
+ $recips = implode(',', $recip_arr);
+ $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and channel_removed = 0 ");
}
- if(! $r) {
+ if (!$r) {
logger('recips: no recipients on this site');
return;
}
// Response messages will inherit the privacy of the parent
- if($env['type'] !== 'response')
+ if ($env['type'] !== 'response')
$private = true;
- $deliveries = ids_to_array($r,'hash');
+ $deliveries = ids_to_array($r, 'hash');
// We found somebody on this site that's in the recipient list.
}
@@ -1182,33 +1184,33 @@ class Libzot {
// and who are allowed to see them based on the sender's permissions
// @fixme;
- $deliveries = self::public_recips($env,$AS);
+ $deliveries = self::public_recips($env, $AS);
}
$deliveries = array_unique($deliveries);
- if(! $deliveries) {
+ if (!$deliveries) {
logger('No deliveries on this site');
return;
}
- if($has_data) {
+ if ($has_data) {
- if(in_array($env['type'],['activity','response'])) {
+ if (in_array($env['type'], ['activity', 'response'])) {
$r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_id_url = '%s' ",
dbesc($AS->actor['id'])
);
- if($r) {
+ if ($r) {
// selects a zot6 hash if available, otherwise use whatever we have
- $r = self::zot_record_preferred($r);
+ $r = self::zot_record_preferred($r);
$arr['author_xchan'] = $r['hubloc_hash'];
}
- if (! $arr['author_xchan']) {
+ if (!$arr['author_xchan']) {
logger('No author!');
return;
}
@@ -1218,43 +1220,47 @@ class Libzot {
);
// in individual delivery, change owner if needed
- if($s) {
+ if ($s) {
$arr['owner_xchan'] = $s[0]['hubloc_hash'];
}
else {
$arr['owner_xchan'] = $env['sender'];
}
- if ($private && (! intval($arr['item_private']))) {
+ if ($private && (!intval($arr['item_private']))) {
$arr['item_private'] = 1;
}
if ($arr['mid'] === $arr['parent_mid']) {
- if (is_array($AS->obj) && array_key_exists('commentPolicy',$AS->obj)) {
- $p = strstr($AS->obj['commentPolicy'],'until=');
- if($p !== false) {
- $arr['comments_closed'] = datetime_convert('UTC','UTC', substr($p,6));
- $arr['comment_policy'] = trim(str_replace($p,'',$AS->obj['commentPolicy']));
+ if (is_array($AS->obj) && array_key_exists('commentPolicy', $AS->obj)) {
+ $p = strstr($AS->obj['commentPolicy'], 'until=');
+ if ($p !== false) {
+ $comments_closed_at = datetime_convert('UTC', 'UTC', substr($p, 6));
+ if ($comments_closed_at === $arr['created']) {
+ $arr['item_nocomment'] = 1;
+ }
+ else {
+ $arr['comments_closed'] = $comments_closed_at;
+ $arr['comment_policy'] = trim(str_replace($p, '', $AS->obj['commentPolicy']));
+ }
}
else {
- $arr['comment_policy'] = $AS->obj['commentPolicy'];
+ $arr['comment_policy'] = $AS->obj['commentPolicy'];
}
}
}
-
- /// @FIXME - spoofable
- if($AS->data['hubloc']) {
+ if ($AS->data['hubloc']) {
$arr['item_verified'] = true;
- if (! array_key_exists('comment_policy',$arr)) {
+ if (!array_key_exists('comment_policy', $arr)) {
// set comment policy depending on source hub. Unknown or osada is ActivityPub.
// Anything else we'll say is zot - which could have a range of project names
$s = q("select site_project from site where site_url = '%s' limit 1",
dbesc($r[0]['hubloc_url'])
);
- if ((! $s) || (in_array($s[0]['site_project'],[ '', 'osada' ]))) {
+ if ((!$s) || (in_array($s[0]['site_project'], ['', 'osada']))) {
$arr['comment_policy'] = 'authenticated';
}
else {
@@ -1262,28 +1268,27 @@ class Libzot {
}
}
}
- if($AS->data['signed_data']) {
- IConfig::Set($arr,'activitystreams','signed_data',$AS->data['signed_data'],false);
+ if ($AS->data['signed_data']) {
+ IConfig::Set($arr, 'activitystreams', 'signed_data', $AS->data['signed_data'], false);
}
+ logger('Activity received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG);
+ logger('Activity recipients: ' . print_r($deliveries, true), LOGGER_DATA, LOG_DEBUG);
- logger('Activity received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- logger('Activity recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG);
+ $relay = (($env['type'] === 'response') ? true : false);
- $relay = (($env['type'] === 'response') ? true : false );
-
- $result = self::process_delivery($env['sender'],$AS,$arr,$deliveries,$relay,false,$message_request);
+ $result = self::process_delivery($env['sender'], $AS, $arr, $deliveries, $relay, false, $message_request);
}
- elseif($env['type'] === 'sync') {
+ elseif ($env['type'] === 'sync') {
// $arr = get_channelsync_elements($data);
- $arr = json_decode($data,true);
+ $arr = json_decode($data, true);
- logger('Channel sync received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- logger('Channel sync recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG);
+ logger('Channel sync received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG);
+ logger('Channel sync recipients: ' . print_r($deliveries, true), LOGGER_DATA, LOG_DEBUG);
if ($env['encoding'] === 'hz') {
- $result = Libsync::process_channel_sync_delivery($env['sender'],$arr,$deliveries);
+ $result = Libsync::process_channel_sync_delivery($env['sender'], $arr, $deliveries);
}
else {
logger('sync packet type not supported.');
@@ -1305,15 +1310,15 @@ class Libzot {
* @return boolean
*/
static function is_top_level($env, $act) {
- if($env['encoding'] === 'zot' && array_key_exists('flags',$env) && in_array('thread_parent', $env['flags'])) {
+ if ($env['encoding'] === 'zot' && array_key_exists('flags', $env) && in_array('thread_parent', $env['flags'])) {
return true;
}
- if($act) {
- if(in_array($act->type, ['Like','Dislike'])) {
+ if ($act) {
+ if (in_array($act->type, ['Like', 'Dislike'])) {
return false;
}
- $x = self::find_parent($env,$act);
- if($x === $act->id || $x === $act->obj['id']) {
+ $x = self::find_parent($env, $act);
+ if ($x === $act->id || $x === $act->obj['id']) {
return true;
}
}
@@ -1321,12 +1326,12 @@ class Libzot {
}
- static function find_parent($env,$act) {
- if($act) {
- if(in_array($act->type, ['Like','Dislike'])) {
+ static function find_parent($env, $act) {
+ if ($act) {
+ if (in_array($act->type, ['Like', 'Dislike'])) {
return $act->obj['id'];
}
- if($act->parent_id) {
+ if ($act->parent_id) {
return $act->parent_id;
}
}
@@ -1355,58 +1360,57 @@ class Libzot {
require_once('include/channel.php');
$check_mentions = false;
- $include_sys = false;
+ $include_sys = false;
- if($msg['type'] === 'activity') {
- $disable_discover_tab = get_config('system','disable_discover_tab') || get_config('system','disable_discover_tab') === false;
- if(! $disable_discover_tab)
+ if ($msg['type'] === 'activity') {
+ $disable_discover_tab = get_config('system', 'disable_discover_tab') || get_config('system', 'disable_discover_tab') === false;
+ if (!$disable_discover_tab)
$include_sys = true;
$perm = 'send_stream';
- if(self::is_top_level($msg,$act)) {
+ if (self::is_top_level($msg, $act)) {
$check_mentions = true;
}
}
- elseif($msg['type'] === 'mail')
+ elseif ($msg['type'] === 'mail')
$perm = 'post_mail';
$r = [];
$c = q("select channel_id, channel_hash from channel where channel_removed = 0");
- if($c) {
- foreach($c as $cc) {
- if(perm_is_allowed($cc['channel_id'],$msg['sender'],$perm)) {
+ if ($c) {
+ foreach ($c as $cc) {
+ if (perm_is_allowed($cc['channel_id'], $msg['sender'], $perm)) {
$r[] = $cc['channel_hash'];
}
}
}
- if($include_sys) {
+ if ($include_sys) {
$sys = get_sys_channel();
- if($sys)
+ if ($sys)
$r[] = $sys['channel_hash'];
}
-
// look for any public mentions on this site
// They will get filtered by tgroup_check() so we don't need to check permissions now
- if($check_mentions) {
+ if ($check_mentions) {
// It's a top level post. Look at the tags. See if any of them are mentions and are on this hub.
- if($act && $act->obj) {
- if(is_array($act->obj['tag']) && $act->obj['tag']) {
- foreach($act->obj['tag'] as $tag) {
- if($tag['type'] === 'Mention' && (strpos($tag['href'],z_root()) !== false)) {
+ if ($act && $act->obj) {
+ if (is_array($act->obj['tag']) && $act->obj['tag']) {
+ foreach ($act->obj['tag'] as $tag) {
+ if ($tag['type'] === 'Mention' && (strpos($tag['href'], z_root()) !== false)) {
$address = basename($tag['href']);
- if($address) {
+ if ($address) {
$z = q("select channel_hash as hash from channel where channel_address = '%s'
and channel_removed = 0 limit 1",
dbesc($address)
);
- if($z) {
+ if ($z) {
$r[] = $z[0]['hash'];
}
}
@@ -1420,15 +1424,15 @@ class Libzot {
// everybody that stored a copy of the parent. This way we know we're covered. We'll check the
// comment permissions when we deliver them.
- $thread_parent = self::find_parent($msg,$act);
+ $thread_parent = self::find_parent($msg, $act);
- if($thread_parent) {
+ if ($thread_parent) {
$z = q("select channel_hash as hash from channel left join item on channel.channel_id = item.uid where ( item.thr_parent = '%s' OR item.parent_mid = '%s' ) ",
dbesc($thread_parent),
dbesc($thread_parent)
);
- if($z) {
- foreach($z as $zv) {
+ if ($z) {
+ foreach ($z as $zv) {
$r[] = $zv['hash'];
}
}
@@ -1438,11 +1442,11 @@ class Libzot {
// There are probably a lot of duplicates in $r at this point. We need to filter those out.
// It's a bit of work since it's a multi-dimensional array
- if($r) {
+ if ($r) {
$r = array_values(array_unique($r));
}
- logger('public_recips: ' . print_r($r,true), LOGGER_DATA, LOG_DEBUG);
+ logger('public_recips: ' . print_r($r, true), LOGGER_DATA, LOG_DEBUG);
return $r;
}
@@ -1465,22 +1469,22 @@ class Libzot {
// We've validated the sender. Now make sure that the sender is the owner or author
- if(! $public) {
- if($sender != $arr['owner_xchan'] && $sender != $arr['author_xchan']) {
+ if (!$public) {
+ if ($sender != $arr['owner_xchan'] && $sender != $arr['author_xchan']) {
logger("Sender $sender is not owner {$arr['owner_xchan']} or author {$arr['author_xchan']} - mid {$arr['mid']}");
return;
}
}
- foreach($deliveries as $d) {
+ foreach ($deliveries as $d) {
$local_public = $public;
- $DR = new DReport(z_root(),$sender,$d,$arr['mid']);
+ $DR = new DReport(z_root(), $sender, $d, $arr['mid']);
$channel = channelx_by_hash($d);
- if (! $channel) {
+ if (!$channel) {
$DR->update('recipient not found');
$result[] = $DR->get();
continue;
@@ -1488,16 +1492,16 @@ class Libzot {
$DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
- if(($act) && ($act->obj) && (! is_array($act->obj))) {
+ if (($act) && ($act->obj) && (!is_array($act->obj))) {
// The initial object fetch failed using the sys channel credentials.
// Try again using the delivery channel credentials.
// We will also need to re-parse the $item array,
// but preserve any values that were set during anonymous parsing.
- $o = Activity::fetch($act->obj,$channel);
- if($o) {
+ $o = Activity::fetch($act->obj, $channel);
+ if ($o) {
$act->obj = $o;
- $arr = array_merge(Activity::decode_note($act),$arr);
+ $arr = array_merge(Activity::decode_note($act), $arr);
}
else {
@@ -1516,7 +1520,7 @@ class Libzot {
* access checks.
*/
- if($sender === $channel['channel_hash'] && $arr['author_xchan'] === $channel['channel_hash'] && $arr['mid'] === $arr['parent_mid']) {
+ if ($sender === $channel['channel_hash'] && $arr['author_xchan'] === $channel['channel_hash'] && $arr['mid'] === $arr['parent_mid']) {
$DR->update('self delivery ignored');
$result[] = $DR->get();
continue;
@@ -1526,32 +1530,31 @@ class Libzot {
// for comments travelling upstream. Wait and catch them on the way down.
// They may have been blocked by the owner.
- if(intval($channel['channel_system']) && (! $arr['item_private']) && (! $relay)) {
+ if (intval($channel['channel_system']) && (!$arr['item_private']) && (!$relay)) {
$local_public = true;
$r = q("select xchan_selfcensored from xchan where xchan_hash = '%s' limit 1",
dbesc($sender)
);
// don't import sys channel posts from selfcensored authors
- if($r && (intval($r[0]['xchan_selfcensored']))) {
+ if ($r && (intval($r[0]['xchan_selfcensored']))) {
$local_public = false;
continue;
}
- if(! MessageFilter::evaluate($arr,get_config('system','pubstream_incl'),get_config('system','pubstream_excl'))) {
+ if (!MessageFilter::evaluate($arr, get_config('system', 'pubstream_incl'), get_config('system', 'pubstream_excl'))) {
$local_public = false;
continue;
}
}
- $tag_delivery = tgroup_check($channel['channel_id'],$arr);
-
- $perm = 'send_stream';
- if(($arr['mid'] !== $arr['parent_mid']) && ($relay))
+ $tag_delivery = tgroup_check($channel['channel_id'], $arr);
+ $perm = 'send_stream';
+ if (($arr['mid'] !== $arr['parent_mid']) && ($relay))
$perm = 'post_comments';
// This is our own post, possibly coming from a channel clone
- if($arr['owner_xchan'] == $d) {
+ if ($arr['owner_xchan'] == $d) {
$arr['item_wall'] = 1;
}
else {
@@ -1560,15 +1563,15 @@ class Libzot {
$friendofriend = false;
- if ((! $tag_delivery) && (! $local_public)) {
- $allowed = (perm_is_allowed($channel['channel_id'],$sender,$perm));
- if((! $allowed) && $perm === 'post_comments') {
+ if ((!$tag_delivery) && (!$local_public)) {
+ $allowed = (perm_is_allowed($channel['channel_id'], $sender, $perm));
+ if (!$allowed) {
$parent = q("select * from item where mid = '%s' and uid = %d limit 1",
dbesc($arr['parent_mid']),
intval($channel['channel_id'])
);
if ($parent) {
- $allowed = can_comment_on_post($sender,$parent[0]);
+ $allowed = can_comment_on_post($sender, $parent[0]);
}
}
@@ -1588,7 +1591,7 @@ class Libzot {
// doesn't exist.
if ($perm === 'send_stream') {
- if (get_pconfig($channel['channel_id'],'system','hyperdrive',false) || $arr['verb'] === ACTIVITY_SHARE) {
+ if (get_pconfig($channel['channel_id'], 'system', 'hyperdrive', false) || $arr['verb'] === ACTIVITY_SHARE) {
$allowed = true;
}
}
@@ -1599,7 +1602,7 @@ class Libzot {
$friendofriend = true;
}
- if (! $allowed) {
+ if (!$allowed) {
logger("permission denied for delivery to channel {$channel['channel_id']} {$channel['channel_address']}");
$DR->update('permission denied');
$result[] = $DR->get();
@@ -1609,7 +1612,7 @@ class Libzot {
// logger('item: ' . print_r($arr,true), LOGGER_DATA);
- if($arr['mid'] !== $arr['parent_mid']) {
+ if ($arr['mid'] !== $arr['parent_mid']) {
logger('checking source: "' . $arr['mid'] . '" != "' . $arr['parent_mid'] . '"');
@@ -1624,7 +1627,7 @@ class Libzot {
intval($channel['channel_id'])
);
- if(! $r) {
+ if (!$r) {
$DR->update('comment parent not found');
$result[] = $DR->get();
@@ -1639,9 +1642,9 @@ class Libzot {
// the top level post is unlikely to be imported and
// this is just an exercise in futility.
- if((! $relay) && (! $request) && (! $local_public)
- && perm_is_allowed($channel['channel_id'],$sender,'send_stream')) {
- self::fetch_conversation($channel,$arr['parent_mid']);
+ if ((!$relay) && (!$request) && (!$local_public)
+ && perm_is_allowed($channel['channel_id'], $sender, 'send_stream')) {
+ self::fetch_conversation($channel, $arr['parent_mid']);
}
continue;
}
@@ -1650,13 +1653,13 @@ class Libzot {
// route checking doesn't work correctly here because we've changed the privacy
$r[0]['route'] = EMPTY_STR;
// If this is a poll response, convert the obj_type to our (internal-only) "Answer" type
- if ($arr['obj_type'] === ACTIVITY_OBJ_COMMENT && $arr['title'] && (! $arr['body'])) {
+ if ($arr['obj_type'] === ACTIVITY_OBJ_COMMENT && $arr['title'] && (!$arr['body'])) {
$arr['obj_type'] = 'Answer';
}
}
- if($relay || $friendofriend || (intval($r[0]['item_private']) === 0 && intval($arr['item_private']) === 0)) {
+ if ($relay || $friendofriend || (intval($r[0]['item_private']) === 0 && intval($arr['item_private']) === 0)) {
// reset the route in case it travelled a great distance upstream
// use our parent's route so when we go back downstream we'll match
// with whatever route our parent has.
@@ -1664,7 +1667,7 @@ class Libzot {
// but we are now getting comments via listener delivery
// and if there is no privacy on this or the parent, we don't care about the route,
// so just set the owner and route accordingly.
- $arr['route'] = $r[0]['route'];
+ $arr['route'] = $r[0]['route'];
$arr['owner_xchan'] = $r[0]['owner_xchan'];
}
else {
@@ -1676,24 +1679,24 @@ class Libzot {
// Always accept empty routes and firehose items (route contains 'undefined') .
$existing_route = explode(',', $r[0]['route']);
- $routes = count($existing_route);
- if($routes) {
- $last_hop = array_pop($existing_route);
- $last_prior_route = implode(',',$existing_route);
+ $routes = count($existing_route);
+ if ($routes) {
+ $last_hop = array_pop($existing_route);
+ $last_prior_route = implode(',', $existing_route);
}
else {
- $last_hop = '';
+ $last_hop = '';
$last_prior_route = '';
}
- if(in_array('undefined',$existing_route) || $last_hop == 'undefined' || $sender == 'undefined')
+ if (in_array('undefined', $existing_route) || $last_hop == 'undefined' || $sender == 'undefined')
$last_hop = '';
$current_route = (($arr['route']) ? $arr['route'] . ',' : '') . $sender;
- if($last_hop && $last_hop != $sender) {
+ if ($last_hop && $last_hop != $sender) {
logger('comment route mismatch: parent route = ' . $r[0]['route'] . ' expected = ' . $current_route, LOGGER_DEBUG);
- logger('comment route mismatch: parent msg = ' . $r[0]['id'],LOGGER_DEBUG);
+ logger('comment route mismatch: parent msg = ' . $r[0]['id'], LOGGER_DEBUG);
$DR->update('comment route mismatch');
$result[] = $DR->get();
continue;
@@ -1706,16 +1709,16 @@ class Libzot {
}
}
- $ab = q("select * from abook where abook_channel = %d and abook_xchan = '%s'",
+ $ab = q("select * from abook where abook_channel = %d and abook_xchan = '%s'",
intval($channel['channel_id']),
dbesc($arr['owner_xchan'])
);
$abook = (($ab) ? $ab[0] : null);
- if(intval($arr['item_deleted'])) {
+ if (intval($arr['item_deleted'])) {
// remove_community_tag is a no-op if this isn't a community tag activity
- self::remove_community_tag($sender,$arr,$channel['channel_id']);
+ self::remove_community_tag($sender, $arr, $channel['channel_id']);
// set these just in case we need to store a fresh copy of the deleted post.
// This could happen if the delete got here before the original post did.
@@ -1723,13 +1726,13 @@ class Libzot {
$arr['aid'] = $channel['channel_account_id'];
$arr['uid'] = $channel['channel_id'];
- $item_id = self::delete_imported_item($sender,$act,$arr,$channel['channel_id'],$relay);
+ $item_id = self::delete_imported_item($sender, $act, $arr, $channel['channel_id'], $relay);
$DR->update(($item_id) ? 'deleted' : 'delete_failed');
$result[] = $DR->get();
- if($relay && $item_id) {
+ if ($relay && $item_id) {
logger('process_delivery: invoking relay');
- Master::Summon([ 'Notifier', 'relay', intval($item_id) ]);
+ Master::Summon(['Notifier', 'relay', intval($item_id)]);
$DR->update('relayed');
$result[] = $DR->get();
}
@@ -1746,11 +1749,11 @@ class Libzot {
intval($channel['channel_id'])
);
- if($r) {
+ if ($r) {
// We already have this post.
$item_id = $r[0]['id'];
- if(intval($r[0]['item_deleted'])) {
+ if (intval($r[0]['item_deleted'])) {
// It was deleted locally.
$DR->update('update ignored');
$result[] = $DR->get();
@@ -1758,19 +1761,19 @@ class Libzot {
continue;
}
// Maybe it has been edited?
- elseif($arr['edited'] > $r[0]['edited']) {
- $arr['id'] = $r[0]['id'];
+ elseif ($arr['edited'] > $r[0]['edited']) {
+ $arr['id'] = $r[0]['id'];
$arr['uid'] = $channel['channel_id'];
- if(($arr['mid'] == $arr['parent_mid']) && (! post_is_importable($arr,$abook))) {
+ if (($arr['mid'] == $arr['parent_mid']) && (!post_is_importable($arr, $abook))) {
$DR->update('update ignored');
$result[] = $DR->get();
}
else {
- $item_result = self::update_imported_item($sender,$arr,$r[0],$channel['channel_id'],$tag_delivery);
+ $item_result = self::update_imported_item($sender, $arr, $r[0], $channel['channel_id'], $tag_delivery);
$DR->update('updated');
$result[] = $DR->get();
- if(! $relay)
- add_source_route($item_id,$sender);
+ if (!$relay)
+ add_source_route($item_id, $sender);
}
}
else {
@@ -1779,7 +1782,7 @@ class Libzot {
// We need this line to ensure wall-to-wall comments are relayed (by falling through to the relay bit),
// and at the same time not relay any other relayable posts more than once, because to do so is very wasteful.
- if(! intval($r[0]['item_origin']))
+ if (!intval($r[0]['item_origin']))
continue;
}
}
@@ -1790,7 +1793,7 @@ class Libzot {
// if it's a sourced post, call the post_local hooks as if it were
// posted locally so that crosspost connectors will be triggered.
- if(check_item_source($arr['uid'], $arr) || ($channel['xchan_pubforum'] == 1)) {
+ if (check_item_source($arr['uid'], $arr) || ($channel['xchan_pubforum'] == 1)) {
/**
* @hooks post_local
* Called when an item has been posted on this machine via mod/item.php (also via API).
@@ -1801,19 +1804,19 @@ class Libzot {
$item_id = 0;
- if(($arr['mid'] == $arr['parent_mid']) && (! post_is_importable($arr,$abook))) {
+ if (($arr['mid'] == $arr['parent_mid']) && (!post_is_importable($arr, $abook))) {
$DR->update('post ignored');
$result[] = $DR->get();
}
else {
$item_result = item_store($arr);
- if($item_result['success']) {
+ if ($item_result['success']) {
$item_id = $item_result['item_id'];
- $parr = [
- 'item_id' => $item_id,
- 'item' => $arr,
- 'sender' => $sender,
- 'channel' => $channel
+ $parr = [
+ 'item_id' => $item_id,
+ 'item' => $arr,
+ 'sender' => $sender,
+ 'channel' => $channel
];
/**
* @hooks activity_received
@@ -1825,8 +1828,8 @@ class Libzot {
*/
call_hooks('activity_received', $parr);
// don't add a source route if it's a relay or later recipients will get a route mismatch
- if(! $relay)
- add_source_route($item_id,$sender);
+ if (!$relay)
+ add_source_route($item_id, $sender);
}
$DR->update(($item_id) ? 'posted' : 'storage failed: ' . $item_result['message']);
$result[] = $DR->get();
@@ -1836,132 +1839,127 @@ class Libzot {
// preserve conversations with which you are involved from expiration
$stored = (($item_result && $item_result['item']) ? $item_result['item'] : false);
- if((is_array($stored)) && ($stored['id'] != $stored['parent'])
+ if ((is_array($stored)) && ($stored['id'] != $stored['parent'])
&& ($stored['author_xchan'] === $channel['channel_hash'] || $stored['author_xchan'] === $channel['channel_hash'])) {
retain_item($stored['item']['parent']);
}
- if($relay && $item_id) {
+ if ($relay && $item_id) {
logger('Invoking relay');
- Master::Summon([ 'Notifier', 'relay', intval($item_id) ]);
+ Master::Summon(['Notifier', 'relay', intval($item_id)]);
$DR->addto_update('relayed');
$result[] = $DR->get();
}
}
- if(! $deliveries)
- $result[] = array('', 'no recipients', '', $arr['mid']);
+ if (!$deliveries)
+ $result[] = ['', 'no recipients', '', $arr['mid']];
logger('Local results: ' . print_r($result, true), LOGGER_DEBUG);
return $result;
}
- static public function fetch_conversation($channel,$mid) {
+ static public function fetch_conversation($channel, $mid) {
// Use Zotfinger to create a signed request
- $a = Zotfinger::exec($mid,$channel);
+ logger('fetching conversation: ' . $mid, LOGGER_DEBUG);
- logger('received conversation: ' . print_r($a,true), LOGGER_DATA);
+ $a = Zotfinger::exec($mid, $channel);
- if($a['data']['type'] !== 'OrderedCollection') {
- return;
+ logger('received conversation: ' . print_r($a, true), LOGGER_DATA);
+
+ if (!$a) {
+ return false;
}
- if(! intval($a['data']['totalItems'])) {
- return;
+ if ($a['data']['type'] !== 'OrderedCollection') {
+ return false;
+ }
+
+ $obj = new ASCollection($a['data'], $channel);
+ $items = $obj->get();
+
+ if (!$items) {
+ return false;
}
$ret = [];
+
$signer = q("select hubloc_hash, hubloc_url from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1",
dbesc($a['signature']['signer'])
);
- foreach($a['data']['orderedItems'] as $activity) {
+ foreach ($items as $activity) {
$AS = new ActivityStreams($activity);
- if(! $AS->is_valid()) {
- logger('FOF Activity rejected: ' . print_r($activity,true));
+ if ($AS->is_valid() && $AS->type === 'Announce' && is_array($AS->obj)
+ && array_key_exists('object', $AS->obj) && array_key_exists('actor', $AS->obj)) {
+ // This is a relayed/forwarded Activity (as opposed to a shared/boosted object)
+ // Reparse the encapsulated Activity and use that instead
+ logger('relayed activity', LOGGER_DEBUG);
+ $AS = new ActivityStreams($AS->obj);
+ }
+
+ if (!$AS->is_valid()) {
+ logger('FOF Activity rejected: ' . print_r($activity, true));
continue;
}
$arr = Activity::decode_note($AS);
- logger($AS->debug());
-
+ // logger($AS->debug());
- $r = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1",
+ $r = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' limit 1",
dbesc($AS->actor['id'])
);
- if(! $r) {
- $y = import_author_xchan([ 'url' => $AS->actor['id'] ]);
- if($y) {
- $r = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1",
+ if (!$r) {
+ $y = import_author_xchan(['url' => $AS->actor['id']]);
+ if ($y) {
+ $r = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' limit 1",
dbesc($AS->actor['id'])
);
}
- if(! $r) {
+ if (!$r) {
logger('FOF Activity: no actor');
continue;
}
}
- if($AS->obj['actor'] && $AS->obj['actor']['id'] && $AS->obj['actor']['id'] !== $AS->actor['id']) {
- $y = import_author_xchan([ 'url' => $AS->obj['actor']['id'] ]);
- if(! $y) {
+ if ($AS->obj['actor'] && $AS->obj['actor']['id'] && $AS->obj['actor']['id'] !== $AS->actor['id']) {
+ $y = import_author_xchan(['url' => $AS->obj['actor']['id']]);
+ if (!$y) {
logger('FOF Activity: no object actor');
continue;
}
}
- if($r) {
+ if ($r) {
$arr['author_xchan'] = $r[0]['hubloc_hash'];
}
- $s = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1",
- dbesc($a['signature']['signer'])
- );
-
- if($s) {
- $arr['owner_xchan'] = $s[0]['hubloc_hash'];
+ if ($signer) {
+ $arr['owner_xchan'] = $signer[0]['hubloc_hash'];
}
else {
$arr['owner_xchan'] = $a['signature']['signer'];
}
-
- /// @FIXME - spoofable
- if($AS->data['hubloc']) {
+ if ($AS->data['hubloc'] || $arr['author_xchan'] === $arr['owner_xchan']) {
$arr['item_verified'] = true;
}
- // set comment policy depending on source hub. Unknown or osada is ActivityPub.
- // Anything else we'll say is zot - which could have a range of project names
-
- if ($signer) {
- $s = q("select site_project from site where site_url = '%s' limit 1",
- dbesc($signer[0]['hubloc_url'])
- );
- if ((! $s) || (in_array($s[0]['site_project'],[ '', 'osada' ]))) {
- $arr['comment_policy'] = 'authenticated';
- }
- else {
- $arr['comment_policy'] = 'contacts';
- }
- }
-
-
- if($AS->data['signed_data']) {
- IConfig::Set($arr,'activitystreams','signed_data',$AS->data['signed_data'],false);
+ if ($AS->data['signed_data']) {
+ IConfig::Set($arr, 'activitystreams', 'signed_data', $AS->data['signed_data'], false);
}
- logger('FOF Activity received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
+ logger('FOF Activity received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG);
logger('FOF Activity recipient: ' . $channel['channel_hash'], LOGGER_DATA, LOG_DEBUG);
- $result = self::process_delivery($arr['owner_xchan'],$AS, $arr, [ $channel['channel_hash'] ],false,false,true);
+ $result = self::process_delivery($arr['owner_xchan'], $AS, $arr, [$channel['channel_hash']], false, false, true);
if ($result) {
$ret = array_merge($ret, $result);
}
@@ -1970,7 +1968,6 @@ class Libzot {
return $ret;
}
-
/**
* @brief Remove community tag.
*
@@ -1984,12 +1981,12 @@ class Libzot {
*/
static function remove_community_tag($sender, $arr, $uid) {
- if(! (activity_match($arr['verb'], ACTIVITY_TAG) && ($arr['obj_type'] == ACTIVITY_OBJ_TAGTERM)))
+ if (!(activity_match($arr['verb'], ACTIVITY_TAG) && ($arr['obj_type'] == ACTIVITY_OBJ_TAGTERM)))
return;
logger('remove_community_tag: invoked');
- if(! get_pconfig($uid,'system','blocktags')) {
+ if (!get_pconfig($uid, 'system', 'blocktags')) {
logger('Permission denied.');
return;
}
@@ -1998,24 +1995,24 @@ class Libzot {
dbesc($arr['mid']),
intval($uid)
);
- if(! $r) {
+ if (!$r) {
logger('No item');
return;
}
- if(($sender != $r[0]['owner_xchan']) && ($sender != $r[0]['author_xchan'])) {
+ if (($sender != $r[0]['owner_xchan']) && ($sender != $r[0]['author_xchan'])) {
logger('Sender not authorised.');
return;
}
$i = $r[0];
- if($i['target'])
- $i['target'] = json_decode($i['target'],true);
- if($i['object'])
- $i['object'] = json_decode($i['object'],true);
+ if ($i['target'])
+ $i['target'] = json_decode($i['target'], true);
+ if ($i['object'])
+ $i['object'] = json_decode($i['object'], true);
- if(! ($i['target'] && $i['object'])) {
+ if (!($i['target'] && $i['object'])) {
logger('No target/object');
return;
}
@@ -2026,7 +2023,7 @@ class Libzot {
dbesc($message_id),
intval($uid)
);
- if(! $r) {
+ if (!$r) {
logger('No parent message');
return;
}
@@ -2038,28 +2035,28 @@ class Libzot {
intval(TERM_HASHTAG),
intval(TERM_COMMUNITYTAG),
dbesc($i['object']['title']),
- dbesc(get_rel_link($i['object']['link'],'alternate'))
+ dbesc(get_rel_link($i['object']['link'], 'alternate'))
);
}
/**
* @brief Updates an imported item.
*
- * @see item_store_update()
- *
* @param string $sender
* @param array $item
* @param array $orig
* @param int $uid
* @param boolean $tag_delivery
* @return void|array
+ * @see item_store_update()
+ *
*/
static function update_imported_item($sender, $item, $orig, $uid, $tag_delivery) {
// If this is a comment being updated, remove any privacy information
// so that item_store_update will set it from the original.
- if($item['mid'] !== $item['parent_mid']) {
+ if ($item['mid'] !== $item['parent_mid']) {
unset($item['allow_cid']);
unset($item['allow_gid']);
unset($item['deny_cid']);
@@ -2070,7 +2067,7 @@ class Libzot {
// we need the tag_delivery check for downstream flowing posts as the stored post
// may have a different owner than the one being transmitted.
- if(($sender != $orig['owner_xchan'] && $sender != $orig['author_xchan']) && (! $tag_delivery)) {
+ if (($sender != $orig['owner_xchan'] && $sender != $orig['author_xchan']) && (!$tag_delivery)) {
logger('sender is not owner or author');
return;
}
@@ -2081,13 +2078,13 @@ class Libzot {
// If we're updating an event that we've saved locally, we store the item info first
// because event_addtocal will parse the body to get the 'new' event details
- if($orig['resource_type'] === 'event') {
+ if ($orig['resource_type'] === 'event') {
$res = event_addtocal($orig['id'], $uid);
- if(! $res)
+ if (!$res)
logger('update event: failed');
}
- if(! $x['item_id'])
+ if (!$x['item_id'])
logger('update_imported_item: failed: ' . $x['message']);
else
logger('update_imported_item');
@@ -2111,8 +2108,8 @@ class Libzot {
logger('invoked', LOGGER_DEBUG);
$ownership_valid = false;
- $item_found = false;
- $post_id = 0;
+ $item_found = false;
+ $post_id = 0;
if ($item['verb'] === 'Tombstone') {
// The id of the deleted thing is the item mid (activity id)
@@ -2131,17 +2128,17 @@ class Libzot {
dbesc($sender),
dbesc($sender),
dbesc($mid),
- dbesc(str_replace('/activity/','/item/',$mid)),
+ dbesc(str_replace('/activity/', '/item/', $mid)),
intval($uid)
);
- if($r) {
+ if ($r) {
$stored = $r[0];
// we proved ownership in the sql query
$ownership_valid = true;
- $post_id = $stored['id'];
+ $post_id = $stored['id'];
$item_found = true;
}
else {
@@ -2149,7 +2146,7 @@ class Libzot {
logger('delete received for non-existent item or not owned by sender - ignoring.');
}
- if($ownership_valid === false) {
+ if ($ownership_valid === false) {
logger('delete_imported_item: failed: ownership issue');
return false;
}
@@ -2173,10 +2170,10 @@ class Libzot {
}
}
- if($item_found) {
- if(intval($stored['item_deleted'])) {
+ if ($item_found) {
+ if (intval($stored['item_deleted'])) {
logger('delete_imported_item: item was already deleted');
- if(! $relay)
+ if (!$relay)
return false;
// This is a bit hackish, but may have to suffice until the notification/delivery loop is optimised
@@ -2207,22 +2204,22 @@ class Libzot {
static function process_mail_delivery($sender, $arr, $deliveries) {
- $result = array();
+ $result = [];
- if($sender != $arr['from_xchan']) {
+ if ($sender != $arr['from_xchan']) {
logger('process_mail_delivery: sender is not mail author');
return;
}
- foreach($deliveries as $d) {
+ foreach ($deliveries as $d) {
- $DR = new DReport(z_root(),$sender,$d,$arr['mid']);
+ $DR = new DReport(z_root(), $sender, $d, $arr['mid']);
$r = q("select * from channel where channel_hash = '%s' limit 1",
dbesc($d['hash'])
);
- if(! $r) {
+ if (!$r) {
$DR->update('recipient not found');
$result[] = $DR->get();
continue;
@@ -2232,7 +2229,7 @@ class Libzot {
$DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
- if(! perm_is_allowed($channel['channel_id'],$sender,'post_mail')) {
+ if (!perm_is_allowed($channel['channel_id'], $sender, 'post_mail')) {
/*
* Always allow somebody to reply if you initiated the conversation. It's anti-social
@@ -2241,13 +2238,13 @@ class Libzot {
*/
$return = false;
- if($arr['parent_mid']) {
+ if ($arr['parent_mid']) {
$return = q("select * from mail where mid = '%s' and channel_id = %d limit 1",
dbesc($arr['parent_mid']),
intval($channel['channel_id'])
);
}
- if(! $return) {
+ if (!$return) {
logger("permission denied for mail delivery {$channel['channel_id']}");
$DR->update('permission denied');
$result[] = $DR->get();
@@ -2260,8 +2257,8 @@ class Libzot {
dbesc($arr['mid']),
intval($channel['channel_id'])
);
- if($r) {
- if(intval($arr['mail_recalled'])) {
+ if ($r) {
+ if (intval($arr['mail_recalled'])) {
$x = q("delete from mail where id = %d and channel_id = %d",
intval($r[0]['id']),
intval($channel['channel_id'])
@@ -2280,7 +2277,7 @@ class Libzot {
else {
$arr['account_id'] = $channel['channel_account_id'];
$arr['channel_id'] = $channel['channel_id'];
- $item_id = mail_store($arr);
+ $item_id = mail_store($arr);
$DR->update('mail delivered');
$result[] = $DR->get();
}
@@ -2293,12 +2290,12 @@ class Libzot {
/**
* @brief Processes delivery of profile.
*
- * @see import_directory_profile()
- *
* @param string $sender
* @param array $arr
* @param array $deliveries (unused)
* @return void
+ * @see import_directory_profile()
+ *
*/
static function process_profile_delivery($sender, $arr, $deliveries) {
@@ -2307,7 +2304,7 @@ class Libzot {
$r = q("select xchan_addr from xchan where xchan_hash = '%s' limit 1",
dbesc($sender)
);
- if($r) {
+ if ($r) {
Libzotdir::import_directory_profile($sender, $arr, $r[0]['xchan_addr'], UPDATE_FLAGS_UPDATED, 0);
}
}
@@ -2329,16 +2326,16 @@ class Libzot {
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($sender)
);
- if($r) {
- $xchan = [ 'id' => $r[0]['xchan_guid'], 'id_sig' => $r[0]['xchan_guid_sig'],
- 'hash' => $r[0]['xchan_hash'], 'public_key' => $r[0]['xchan_pubkey'] ];
- }
- if(array_key_exists('locations',$arr) && $arr['locations']) {
- $x = Libsync::sync_locations($xchan,$arr,true);
- logger('results: ' . print_r($x,true), LOGGER_DEBUG);
- if($x['changed']) {
+ if ($r) {
+ $xchan = ['id' => $r[0]['xchan_guid'], 'id_sig' => $r[0]['xchan_guid_sig'],
+ 'hash' => $r[0]['xchan_hash'], 'public_key' => $r[0]['xchan_pubkey']];
+ }
+ if (array_key_exists('locations', $arr) && $arr['locations']) {
+ $x = Libsync::sync_locations($xchan, $arr, true);
+ logger('results: ' . print_r($x, true), LOGGER_DEBUG);
+ if ($x['changed']) {
//$guid = random_string() . '@' . App::get_hostname();
- Libzotdir::update_modtime($sender,$r[0]['xchan_guid'],$arr['locations'][0]['address'],UPDATE_FLAGS_UPDATED);
+ Libzotdir::update_modtime($sender, $r[0]['xchan_guid'], $arr['locations'][0]['address'], UPDATE_FLAGS_UPDATED);
}
}
}
@@ -2365,10 +2362,10 @@ class Libzot {
*/
static function check_location_move($sender_hash, $locations) {
- if(! $locations)
+ if (!$locations)
return;
- if(count($locations) != 1)
+ if (count($locations) != 1)
return;
$loc = $locations[0];
@@ -2377,10 +2374,10 @@ class Libzot {
dbesc($sender_hash)
);
- if(! $r)
+ if (!$r)
return;
- if($loc['url'] !== z_root()) {
+ if ($loc['url'] !== z_root()) {
$x = q("update channel set channel_moved = '%s' where channel_hash = '%s' limit 1",
dbesc($loc['url']),
dbesc($sender_hash)
@@ -2390,7 +2387,7 @@ class Libzot {
// of the move on singleton networks
$arr = [
- 'channel' => $r[0],
+ 'channel' => $r[0],
'locations' => $locations
];
/**
@@ -2407,23 +2404,23 @@ class Libzot {
/**
* @brief Returns an array with all known distinct hubs for this channel.
*
- * @see self::get_hublocs()
* @param array $channel an associative array which must contain
* * \e string \b channel_hash the hash of the channel
* @return array an array with associative arrays
+ * @see self::get_hublocs()
*/
static function encode_locations($channel) {
$ret = [];
$x = self::get_hublocs($channel['channel_hash']);
- if($x && count($x)) {
- foreach($x as $hub) {
+ if ($x && count($x)) {
+ foreach ($x as $hub) {
// if this is a local channel that has been deleted, the hubloc is no good - make sure it is marked deleted
// so that nobody tries to use it.
- if(intval($channel['channel_removed']) && $hub['hubloc_url'] === z_root())
+ if (intval($channel['channel_removed']) && $hub['hubloc_url'] === z_root())
$hub['hubloc_deleted'] = 1;
@@ -2442,15 +2439,15 @@ class Libzot {
// version compatibility tweaks
- if(! strpos($z['url_sig'],'.')) {
+ if (!strpos($z['url_sig'], '.')) {
$z['url_sig'] = 'sha256.' . $z['url_sig'];
}
- if(! $z['id_url']) {
- $z['id_url'] = $z['url'] . '/channel/' . substr($z['address'],0,strpos($z['address'],'@'));
+ if (!$z['id_url']) {
+ $z['id_url'] = $z['url'] . '/channel/' . substr($z['address'], 0, strpos($z['address'], '@'));
}
- if(! $z['site_id']) {
- $z['site_id'] = Libzot::make_xchan_hash($z['url'],$z['sitekey']);
+ if (!$z['site_id']) {
+ $z['site_id'] = Libzot::make_xchan_hash($z['url'], $z['sitekey']);
}
$ret[] = $z;
@@ -2469,10 +2466,10 @@ class Libzot {
*/
static function import_site($arr) {
- if( (! is_array($arr)) || (! $arr['url']) || (! $arr['site_sig']))
+ if ((!is_array($arr)) || (!$arr['url']) || (!$arr['site_sig']))
return false;
- if(! self::verify($arr['url'], $arr['site_sig'], $arr['sitekey'])) {
+ if (!self::verify($arr['url'], $arr['site_sig'], $arr['sitekey'])) {
logger('Bad url_sig');
return false;
}
@@ -2483,66 +2480,66 @@ class Libzot {
$r = q("select * from site where site_url = '%s' limit 1",
dbesc($arr['url'])
);
- if($r) {
- $exists = true;
+ if ($r) {
+ $exists = true;
$siterecord = $r[0];
}
$site_directory = 0;
- if($arr['directory_mode'] == 'normal')
+ if ($arr['directory_mode'] == 'normal')
$site_directory = DIRECTORY_MODE_NORMAL;
- if($arr['directory_mode'] == 'primary')
+ if ($arr['directory_mode'] == 'primary')
$site_directory = DIRECTORY_MODE_PRIMARY;
- if($arr['directory_mode'] == 'secondary')
+ if ($arr['directory_mode'] == 'secondary')
$site_directory = DIRECTORY_MODE_SECONDARY;
- if($arr['directory_mode'] == 'standalone')
+ if ($arr['directory_mode'] == 'standalone')
$site_directory = DIRECTORY_MODE_STANDALONE;
$register_policy = 0;
- if($arr['register_policy'] == 'closed')
+ if ($arr['register_policy'] == 'closed')
$register_policy = REGISTER_CLOSED;
- if($arr['register_policy'] == 'open')
+ if ($arr['register_policy'] == 'open')
$register_policy = REGISTER_OPEN;
- if($arr['register_policy'] == 'approve')
+ if ($arr['register_policy'] == 'approve')
$register_policy = REGISTER_APPROVE;
$access_policy = 0;
- if(array_key_exists('access_policy',$arr)) {
- if($arr['access_policy'] === 'private')
+ if (array_key_exists('access_policy', $arr)) {
+ if ($arr['access_policy'] === 'private')
$access_policy = ACCESS_PRIVATE;
- if($arr['access_policy'] === 'paid')
+ if ($arr['access_policy'] === 'paid')
$access_policy = ACCESS_PAID;
- if($arr['access_policy'] === 'free')
+ if ($arr['access_policy'] === 'free')
$access_policy = ACCESS_FREE;
- if($arr['access_policy'] === 'tiered')
+ if ($arr['access_policy'] === 'tiered')
$access_policy = ACCESS_TIERED;
}
// don't let insecure sites register as public hubs
- if(strpos($arr['url'],'https://') === false)
+ if (strpos($arr['url'], 'https://') === false)
$access_policy = ACCESS_PRIVATE;
- if($access_policy != ACCESS_PRIVATE) {
+ if ($access_policy != ACCESS_PRIVATE) {
$x = z_fetch_url($arr['url'] . '/siteinfo.json');
- if(! $x['success'])
+ if (!$x['success'])
$access_policy = ACCESS_PRIVATE;
}
- $directory_url = htmlspecialchars($arr['directory_url'],ENT_COMPAT,'UTF-8',false);
- $url = htmlspecialchars(strtolower($arr['url']),ENT_COMPAT,'UTF-8',false);
- $sellpage = htmlspecialchars($arr['sellpage'],ENT_COMPAT,'UTF-8',false);
- $site_location = htmlspecialchars($arr['location'],ENT_COMPAT,'UTF-8',false);
- $site_realm = htmlspecialchars($arr['realm'],ENT_COMPAT,'UTF-8',false);
- $site_project = htmlspecialchars($arr['project'],ENT_COMPAT,'UTF-8',false);
- $site_crypto = ((array_key_exists('encryption',$arr) && is_array($arr['encryption'])) ? htmlspecialchars(implode(',',$arr['encryption']),ENT_COMPAT,'UTF-8',false) : '');
- $site_version = ((array_key_exists('version',$arr)) ? htmlspecialchars($arr['version'],ENT_COMPAT,'UTF-8',false) : '');
+ $directory_url = htmlspecialchars($arr['directory_url'], ENT_COMPAT, 'UTF-8', false);
+ $url = htmlspecialchars(strtolower($arr['url']), ENT_COMPAT, 'UTF-8', false);
+ $sellpage = htmlspecialchars($arr['sellpage'], ENT_COMPAT, 'UTF-8', false);
+ $site_location = htmlspecialchars($arr['location'], ENT_COMPAT, 'UTF-8', false);
+ $site_realm = htmlspecialchars($arr['realm'], ENT_COMPAT, 'UTF-8', false);
+ $site_project = htmlspecialchars($arr['project'], ENT_COMPAT, 'UTF-8', false);
+ $site_crypto = ((array_key_exists('encryption', $arr) && is_array($arr['encryption'])) ? htmlspecialchars(implode(',', $arr['encryption']), ENT_COMPAT, 'UTF-8', false) : '');
+ $site_version = ((array_key_exists('version', $arr)) ? htmlspecialchars($arr['version'], ENT_COMPAT, 'UTF-8', false) : '');
// You can have one and only one primary directory per realm.
// Downgrade any others claiming to be primary. As they have
// flubbed up this badly already, don't let them be directory servers at all.
- if(($site_directory === DIRECTORY_MODE_PRIMARY)
+ if (($site_directory === DIRECTORY_MODE_PRIMARY)
&& ($site_realm === get_directory_realm())
&& ($arr['url'] != get_directory_primary())) {
$site_directory = DIRECTORY_MODE_NORMAL;
@@ -2550,12 +2547,12 @@ class Libzot {
$site_flags = $site_directory;
- if(array_key_exists('zot',$arr)) {
- set_sconfig($arr['url'],'system','zot_version',$arr['zot']);
+ if (array_key_exists('zot', $arr)) {
+ set_sconfig($arr['url'], 'system', 'zot_version', $arr['zot']);
}
- if($exists) {
- if(($siterecord['site_flags'] != $site_flags)
+ if ($exists) {
+ if (($siterecord['site_flags'] != $site_flags)
|| ($siterecord['site_access'] != $access_policy)
|| ($siterecord['site_directory'] != $directory_url)
|| ($siterecord['site_sellpage'] != $sellpage)
@@ -2564,12 +2561,12 @@ class Libzot {
|| ($siterecord['site_project'] != $site_project)
|| ($siterecord['site_realm'] != $site_realm)
|| ($siterecord['site_crypto'] != $site_crypto)
- || ($siterecord['site_version'] != $site_version) ) {
+ || ($siterecord['site_version'] != $site_version)) {
$update = true;
- // logger('import_site: input: ' . print_r($arr,true));
- // logger('import_site: stored: ' . print_r($siterecord,true));
+ // logger('import_site: input: ' . print_r($arr,true));
+ // logger('import_site: stored: ' . print_r($siterecord,true));
$r = q("update site set site_dead = 0, site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s', site_type = %d, site_project = '%s', site_version = '%s', site_crypto = '%s'
where site_url = '%s'",
@@ -2587,8 +2584,8 @@ class Libzot {
dbesc($site_crypto),
dbesc($url)
);
- if(! $r) {
- logger('Update failed. ' . print_r($arr,true));
+ if (!$r) {
+ logger('Update failed. ' . print_r($arr, true));
}
}
else {
@@ -2620,8 +2617,8 @@ class Libzot {
]
);
- if(! $r) {
- logger('Record create failed. ' . print_r($arr,true));
+ if (!$r) {
+ logger('Record create failed. ' . print_r($arr, true));
}
}
@@ -2631,14 +2628,14 @@ class Libzot {
/**
* @brief Returns path to /rpost
*
- * @todo We probably should make rpost discoverable.
- *
* @param array $observer
* * \e string \b xchan_url
* @return string
+ * @todo We probably should make rpost discoverable.
+ *
*/
static function get_rpost_path($observer) {
- if(! $observer)
+ if (!$observer)
return '';
$parsed = parse_url($observer['xchan_url']);
@@ -2659,11 +2656,11 @@ class Libzot {
// we may only end up with one; which results in posts with no author name or photo and are a bit
// of a hassle to repair. If either or both are missing, do a full discovery probe.
- if(! array_key_exists('id',$x)) {
+ if (!array_key_exists('id', $x)) {
return import_author_activitypub($x);
}
- $hash = self::make_xchan_hash($x['id'],$x['key']);
+ $hash = self::make_xchan_hash($x['id'], $x['key']);
$desturl = $x['url'];
@@ -2680,18 +2677,18 @@ class Libzot {
$site_dead = false;
- if($r1 && intval($r1[0]['site_dead'])) {
+ if ($r1 && intval($r1[0]['site_dead'])) {
$site_dead = true;
}
// We have valid and somewhat fresh information. Always true if it is our own site.
- if($r1 && $r2 && ( $r1[0]['hubloc_updated'] > datetime_convert('UTC','UTC','now - 1 week') || $r1[0]['hubloc_url'] === z_root() ) ) {
+ if ($r1 && $r2 && ($r1[0]['hubloc_updated'] > datetime_convert('UTC', 'UTC', 'now - 1 week') || $r1[0]['hubloc_url'] === z_root())) {
logger('in cache', LOGGER_DEBUG);
return $hash;
}
- logger('not in cache or cache stale - probing: ' . print_r($x,true), LOGGER_DEBUG,LOG_INFO);
+ logger('not in cache or cache stale - probing: ' . print_r($x, true), LOGGER_DEBUG, LOG_INFO);
// The primary hub may be dead. Try to find another one associated with this identity that is
// still alive. If we find one, use that url for the discovery/refresh probe. Otherwise, the dead site
@@ -2699,15 +2696,15 @@ class Libzot {
// cached entry and the identity is valid. It's just unreachable until they bring back their
// server from the grave or create another clone elsewhere.
- if($site_dead) {
- logger('dead site - ignoring', LOGGER_DEBUG,LOG_INFO);
+ if ($site_dead) {
+ logger('dead site - ignoring', LOGGER_DEBUG, LOG_INFO);
$r = q("select hubloc_id_url from hubloc left join site on hubloc_url = site_url
where hubloc_hash = '%s' and site_dead = 0",
dbesc($hash)
);
- if($r) {
- logger('found another site that is not dead: ' . $r[0]['hubloc_url'], LOGGER_DEBUG,LOG_INFO);
+ if ($r) {
+ logger('found another site that is not dead: ' . $r[0]['hubloc_url'], LOGGER_DEBUG, LOG_INFO);
$desturl = $r[0]['hubloc_url'];
}
else {
@@ -2715,8 +2712,8 @@ class Libzot {
}
}
- $them = [ 'hubloc_id_url' => $desturl ];
- if(self::refresh($them))
+ $them = ['hubloc_id_url' => $desturl];
+ if (self::refresh($them))
return $hash;
return false;
@@ -2724,27 +2721,27 @@ class Libzot {
static function zotinfo($arr) {
- logger('arr: ' . print_r($arr,true));
+ logger('arr: ' . print_r($arr, true));
$ret = [];
- $zhash = ((x($arr,'guid_hash')) ? $arr['guid_hash'] : '');
- $zguid = ((x($arr,'guid')) ? $arr['guid'] : '');
- $zguid_sig = ((x($arr,'guid_sig')) ? $arr['guid_sig'] : '');
- $zaddr = ((x($arr,'address')) ? $arr['address'] : '');
- $ztarget = ((x($arr,'target_url')) ? $arr['target_url'] : '');
- $zsig = ((x($arr,'target_sig')) ? $arr['target_sig'] : '');
- $zkey = ((x($arr,'key')) ? $arr['key'] : '');
- $mindate = ((x($arr,'mindate')) ? $arr['mindate'] : '');
- $token = ((x($arr,'token')) ? $arr['token'] : '');
- $feed = ((x($arr,'feed')) ? intval($arr['feed']) : 0);
-
- if($ztarget) {
+ $zhash = ((x($arr, 'guid_hash')) ? $arr['guid_hash'] : '');
+ $zguid = ((x($arr, 'guid')) ? $arr['guid'] : '');
+ $zguid_sig = ((x($arr, 'guid_sig')) ? $arr['guid_sig'] : '');
+ $zaddr = ((x($arr, 'address')) ? $arr['address'] : '');
+ $ztarget = ((x($arr, 'target_url')) ? $arr['target_url'] : '');
+ $zsig = ((x($arr, 'target_sig')) ? $arr['target_sig'] : '');
+ $zkey = ((x($arr, 'key')) ? $arr['key'] : '');
+ $mindate = ((x($arr, 'mindate')) ? $arr['mindate'] : '');
+ $token = ((x($arr, 'token')) ? $arr['token'] : '');
+ $feed = ((x($arr, 'feed')) ? intval($arr['feed']) : 0);
+
+ if ($ztarget) {
$t = q("select * from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1",
dbesc($ztarget)
);
- if($t) {
+ if ($t) {
$ztarget_hash = $t[0]['hubloc_hash'];
@@ -2762,21 +2759,21 @@ class Libzot {
$r = null;
- if(strlen($zhash)) {
+ if (strlen($zhash)) {
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
where channel_hash = '%s' limit 1",
dbesc($zhash)
);
}
- elseif(strlen($zguid) && strlen($zguid_sig)) {
+ elseif (strlen($zguid) && strlen($zguid_sig)) {
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
where channel_guid = '%s' and channel_guid_sig = '%s' limit 1",
dbesc($zguid),
dbesc($zguid_sig)
);
}
- elseif(strlen($zaddr)) {
- if(strpos($zaddr,'[system]') === false) { /* normal address lookup */
+ elseif (strlen($zaddr)) {
+ if (strpos($zaddr, '[system]') === false) { /* normal address lookup */
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
where ( channel_address = '%s' or xchan_addr = '%s' ) limit 1",
dbesc($zaddr),
@@ -2799,7 +2796,7 @@ class Libzot {
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
where channel_system = 1 order by channel_id limit 1");
- if(! $r) {
+ if (!$r) {
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
where channel_removed = 0 order by channel_id limit 1");
}
@@ -2807,45 +2804,45 @@ class Libzot {
}
else {
$ret['message'] = 'Invalid request';
- return($ret);
+ return ($ret);
}
- if(! $r) {
+ if (!$r) {
$ret['message'] = 'Item not found.';
- return($ret);
+ return ($ret);
}
$e = $r[0];
$id = $e['channel_id'];
- $sys_channel = (intval($e['channel_system']) ? true : false);
- $special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false);
- $adult_channel = (($e['channel_pageflags'] & PAGE_ADULT) ? true : false);
+ $sys_channel = (intval($e['channel_system']) ? true : false);
+ $special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false);
+ $adult_channel = (($e['channel_pageflags'] & PAGE_ADULT) ? true : false);
$censored = (($e['channel_pageflags'] & PAGE_CENSORED) ? true : false);
- $searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true);
+ $searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true);
$deleted = (intval($e['xchan_deleted']) ? true : false);
- if($deleted || $censored || $sys_channel)
+ if ($deleted || $censored || $sys_channel)
$searchable = false;
$public_forum = false;
- $role = get_pconfig($e['channel_id'],'system','permissions_role');
- if($role === 'forum' || $role === 'repository') {
+ $role = get_pconfig($e['channel_id'], 'system', 'permissions_role');
+ if ($role === 'forum' || $role === 'repository') {
$public_forum = true;
}
else {
// check if it has characteristics of a public forum based on custom permissions.
$m = Permissions::FilledAutoperms($e['channel_id']);
- if($m) {
- foreach($m as $k => $v) {
- if($k == 'tag_deliver' && intval($v) == 1)
- $ch ++;
- if($k == 'send_stream' && intval($v) == 0)
- $ch ++;
- }
- if($ch == 2)
+ if ($m) {
+ foreach ($m as $k => $v) {
+ if ($k == 'tag_deliver' && intval($v) == 1)
+ $ch++;
+ if ($k == 'send_stream' && intval($v) == 0)
+ $ch++;
+ }
+ if ($ch == 2)
$public_forum = true;
}
}
@@ -2856,128 +2853,128 @@ class Libzot {
intval($e['channel_id'])
);
- $profile = array();
+ $profile = [];
- if($p) {
+ if ($p) {
- if(! intval($p[0]['publish']))
+ if (!intval($p[0]['publish']))
$searchable = false;
- $profile['description'] = $p[0]['pdesc'];
- $profile['birthday'] = $p[0]['dob'];
- if(($profile['birthday'] != '0000-00-00') && (($bd = z_birthday($p[0]['dob'],'UTC')) !== ''))
+ $profile['description'] = $p[0]['pdesc'];
+ $profile['birthday'] = $p[0]['dob'];
+ if (($profile['birthday'] != '0000-00-00') && (($bd = z_birthday($p[0]['dob'], 'UTC')) !== ''))
$profile['next_birthday'] = $bd;
- if($age = age($p[0]['dob'],$e['channel_timezone'],''))
+ if ($age = age($p[0]['dob'], $e['channel_timezone'], ''))
$profile['age'] = $age;
- $profile['gender'] = $p[0]['gender'];
- $profile['marital'] = $p[0]['marital'];
- $profile['sexual'] = $p[0]['sexual'];
- $profile['locale'] = $p[0]['locality'];
- $profile['region'] = $p[0]['region'];
- $profile['postcode'] = $p[0]['postal_code'];
- $profile['country'] = $p[0]['country_name'];
- $profile['about'] = $p[0]['about'];
- $profile['homepage'] = $p[0]['homepage'];
- $profile['hometown'] = $p[0]['hometown'];
-
- if($p[0]['keywords']) {
- $tags = array();
- $k = explode(' ',$p[0]['keywords']);
- if($k) {
- foreach($k as $kk) {
- if(trim($kk," \t\n\r\0\x0B,")) {
- $tags[] = trim($kk," \t\n\r\0\x0B,");
+ $profile['gender'] = $p[0]['gender'];
+ $profile['marital'] = $p[0]['marital'];
+ $profile['sexual'] = $p[0]['sexual'];
+ $profile['locale'] = $p[0]['locality'];
+ $profile['region'] = $p[0]['region'];
+ $profile['postcode'] = $p[0]['postal_code'];
+ $profile['country'] = $p[0]['country_name'];
+ $profile['about'] = $p[0]['about'];
+ $profile['homepage'] = $p[0]['homepage'];
+ $profile['hometown'] = $p[0]['hometown'];
+
+ if ($p[0]['keywords']) {
+ $tags = [];
+ $k = explode(' ', $p[0]['keywords']);
+ if ($k) {
+ foreach ($k as $kk) {
+ if (trim($kk, " \t\n\r\0\x0B,")) {
+ $tags[] = trim($kk, " \t\n\r\0\x0B,");
}
}
}
- if($tags)
+ if ($tags)
$profile['keywords'] = $tags;
}
}
// Communication details
- $ret['id'] = $e['xchan_guid'];
- $ret['id_sig'] = self::sign($e['xchan_guid'], $e['channel_prvkey']);
+ $ret['id'] = $e['xchan_guid'];
+ $ret['id_sig'] = self::sign($e['xchan_guid'], $e['channel_prvkey']);
$ret['primary_location'] = [
- 'address' => $e['xchan_addr'],
- 'url' => $e['xchan_url'],
- 'connections_url' => $e['xchan_connurl'],
- 'follow_url' => $e['xchan_follow'],
+ 'address' => $e['xchan_addr'],
+ 'url' => $e['xchan_url'],
+ 'connections_url' => $e['xchan_connurl'],
+ 'follow_url' => $e['xchan_follow'],
];
- $ret['public_key'] = $e['xchan_pubkey'];
- $ret['username'] = $e['channel_address'];
- $ret['name'] = $e['xchan_name'];
- $ret['name_updated'] = $e['xchan_name_date'];
- $ret['photo'] = [
+ $ret['public_key'] = $e['xchan_pubkey'];
+ $ret['username'] = $e['channel_address'];
+ $ret['name'] = $e['xchan_name'];
+ $ret['name_updated'] = $e['xchan_name_date'];
+ $ret['photo'] = [
'url' => $e['xchan_photo_l'],
'type' => $e['xchan_photo_mimetype'],
'updated' => $e['xchan_photo_date']
];
- $ret['channel_role'] = get_pconfig($e['channel_id'],'system','permissions_role','custom');
- $ret['protocols'] = [ 'zot6', 'zot' ];
- $ret['searchable'] = $searchable;
- $ret['adult_content'] = $adult_channel;
- $ret['public_forum'] = $public_forum;
+ $ret['channel_role'] = get_pconfig($e['channel_id'], 'system', 'permissions_role', 'custom');
+ $ret['protocols'] = ['zot6', 'zot'];
+ $ret['searchable'] = $searchable;
+ $ret['adult_content'] = $adult_channel;
+ $ret['public_forum'] = $public_forum;
- $ret['comments'] = map_scope(PermissionLimits::Get($e['channel_id'],'post_comments'));
- $ret['mail'] = map_scope(PermissionLimits::Get($e['channel_id'],'post_mail'));
+ $ret['comments'] = map_scope(PermissionLimits::Get($e['channel_id'], 'post_comments'));
+ $ret['mail'] = map_scope(PermissionLimits::Get($e['channel_id'], 'post_mail'));
- if($deleted)
- $ret['deleted'] = $deleted;
+ if ($deleted)
+ $ret['deleted'] = $deleted;
- if(intval($e['channel_removed']))
+ if (intval($e['channel_removed']))
$ret['deleted_locally'] = true;
// premium or other channel desiring some contact with potential followers before connecting.
// This is a template - %s will be replaced with the follow_url we discover for the return channel.
- if($special_channel) {
+ if ($special_channel) {
$ret['connect_url'] = (($e['xchan_connpage']) ? $e['xchan_connpage'] : z_root() . '/connect/' . $e['channel_address']);
}
// This is a template for our follow url, %s will be replaced with a webbie
- if(! $ret['follow_url'])
+ if (!$ret['follow_url'])
$ret['follow_url'] = z_root() . '/follow?f=&url=%s';
- $permissions = get_all_perms($e['channel_id'],$ztarget_hash,false,false);
+ $permissions = get_all_perms($e['channel_id'], $ztarget_hash, false, false);
- if($ztarget_hash) {
+ if ($ztarget_hash) {
$permissions['connected'] = false;
- $b = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
+ $b = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
dbesc($ztarget_hash),
intval($e['channel_id'])
);
- if($b)
+ if ($b)
$permissions['connected'] = true;
}
- if($permissions['view_profile'])
- $ret['profile'] = $profile;
+ if ($permissions['view_profile'])
+ $ret['profile'] = $profile;
$concise_perms = [];
- if($permissions) {
- foreach($permissions as $k => $v) {
- if($v) {
+ if ($permissions) {
+ foreach ($permissions as $k => $v) {
+ if ($v) {
$concise_perms[] = $k;
}
}
- $permissions = implode(',',$concise_perms);
+ $permissions = implode(',', $concise_perms);
}
- $ret['permissions'] = $permissions;
- $ret['permissions_for'] = $ztarget;
+ $ret['permissions'] = $permissions;
+ $ret['permissions_for'] = $ztarget;
// array of (verified) hubs this channel uses
$x = self::encode_locations($e);
- if($x)
+ if ($x)
$ret['locations'] = $x;
$ret['site'] = self::site_info();
@@ -2997,58 +2994,58 @@ class Libzot {
*/
static function site_info() {
- $signing_key = get_config('system','prvkey');
- $sig_method = get_config('system','signature_algorithm','sha256');
+ $signing_key = get_config('system', 'prvkey');
+ $sig_method = get_config('system', 'signature_algorithm', 'sha256');
- $ret = [];
- $ret['site'] = [];
- $ret['site']['url'] = z_root();
- $ret['site']['site_sig'] = self::sign(z_root(), $signing_key);
- $ret['site']['post'] = z_root() . '/zot';
+ $ret = [];
+ $ret['site'] = [];
+ $ret['site']['url'] = z_root();
+ $ret['site']['site_sig'] = self::sign(z_root(), $signing_key);
+ $ret['site']['post'] = z_root() . '/zot';
$ret['site']['openWebAuth'] = z_root() . '/owa';
$ret['site']['authRedirect'] = z_root() . '/magic';
- $ret['site']['sitekey'] = get_config('system','pubkey');
+ $ret['site']['sitekey'] = get_config('system', 'pubkey');
- $dirmode = get_config('system','directory_mode');
- if(($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL))
+ $dirmode = get_config('system', 'directory_mode');
+ if (($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL))
$ret['site']['directory_mode'] = 'normal';
- if($dirmode == DIRECTORY_MODE_PRIMARY)
+ if ($dirmode == DIRECTORY_MODE_PRIMARY)
$ret['site']['directory_mode'] = 'primary';
- elseif($dirmode == DIRECTORY_MODE_SECONDARY)
+ elseif ($dirmode == DIRECTORY_MODE_SECONDARY)
$ret['site']['directory_mode'] = 'secondary';
- elseif($dirmode == DIRECTORY_MODE_STANDALONE)
+ elseif ($dirmode == DIRECTORY_MODE_STANDALONE)
$ret['site']['directory_mode'] = 'standalone';
- if($dirmode != DIRECTORY_MODE_NORMAL)
+ if ($dirmode != DIRECTORY_MODE_NORMAL)
$ret['site']['directory_url'] = z_root() . '/dirsearch';
$ret['site']['encryption'] = crypto_methods();
- $ret['site']['zot'] = System::get_zot_revision();
+ $ret['site']['zot'] = System::get_zot_revision();
// hide detailed site information if you're off the grid
- if($dirmode != DIRECTORY_MODE_STANDALONE) {
+ if ($dirmode != DIRECTORY_MODE_STANDALONE) {
- $register_policy = intval(get_config('system','register_policy'));
+ $register_policy = intval(get_config('system', 'register_policy'));
- if($register_policy == REGISTER_CLOSED)
+ if ($register_policy == REGISTER_CLOSED)
$ret['site']['register_policy'] = 'closed';
- if($register_policy == REGISTER_APPROVE)
+ if ($register_policy == REGISTER_APPROVE)
$ret['site']['register_policy'] = 'approve';
- if($register_policy == REGISTER_OPEN)
+ if ($register_policy == REGISTER_OPEN)
$ret['site']['register_policy'] = 'open';
- $access_policy = intval(get_config('system','access_policy'));
+ $access_policy = intval(get_config('system', 'access_policy'));
- if($access_policy == ACCESS_PRIVATE)
+ if ($access_policy == ACCESS_PRIVATE)
$ret['site']['access_policy'] = 'private';
- if($access_policy == ACCESS_PAID)
+ if ($access_policy == ACCESS_PAID)
$ret['site']['access_policy'] = 'paid';
- if($access_policy == ACCESS_FREE)
+ if ($access_policy == ACCESS_FREE)
$ret['site']['access_policy'] = 'free';
- if($access_policy == ACCESS_TIERED)
+ if ($access_policy == ACCESS_TIERED)
$ret['site']['access_policy'] = 'tiered';
$ret['site']['accounts'] = account_total();
@@ -3056,24 +3053,24 @@ class Libzot {
require_once('include/channel.php');
$ret['site']['channels'] = channel_total();
- $ret['site']['admin'] = get_config('system','admin_email');
+ $ret['site']['admin'] = get_config('system', 'admin_email');
- $visible_plugins = array();
- if(is_array(\App::$plugins) && count(\App::$plugins)) {
+ $visible_plugins = [];
+ if (is_array(\App::$plugins) && count(\App::$plugins)) {
$r = q("select * from addon where hidden = 0");
- if($r)
- foreach($r as $rr)
+ if ($r)
+ foreach ($r as $rr)
$visible_plugins[] = $rr['aname'];
}
- $ret['site']['plugins'] = $visible_plugins;
- $ret['site']['sitehash'] = get_config('system','location_hash');
- $ret['site']['sitename'] = get_config('system','sitename');
- $ret['site']['sellpage'] = get_config('system','sellpage');
- $ret['site']['location'] = get_config('system','site_location');
- $ret['site']['realm'] = get_directory_realm();
- $ret['site']['project'] = System::get_platform_name();
- $ret['site']['version'] = System::get_project_version();
+ $ret['site']['plugins'] = $visible_plugins;
+ $ret['site']['sitehash'] = get_config('system', 'location_hash');
+ $ret['site']['sitename'] = get_config('system', 'sitename');
+ $ret['site']['sellpage'] = get_config('system', 'sellpage');
+ $ret['site']['location'] = get_config('system', 'site_location');
+ $ret['site']['realm'] = get_directory_realm();
+ $ret['site']['project'] = System::get_platform_name();
+ $ret['site']['version'] = System::get_project_version();
}
@@ -3154,36 +3151,36 @@ class Libzot {
* @param string $alg (optional) default 'sha256'
* @return string
*/
- static function sign($data,$key,$alg = 'sha256') {
- if(! $key)
+ static function sign($data, $key, $alg = 'sha256') {
+ if (!$key)
return 'no key';
$sig = '';
- openssl_sign($data,$sig,$key,$alg);
+ openssl_sign($data, $sig, $key, $alg);
return $alg . '.' . base64url_encode($sig);
}
- static function verify($data,$sig,$key) {
+ static function verify($data, $sig, $key) {
$verify = 0;
- $x = explode('.',$sig,2);
+ $x = explode('.', $sig, 2);
if ($key && count($x) === 2) {
- $alg = $x[0];
+ $alg = $x[0];
$signature = base64url_decode($x[1]);
- $verify = @openssl_verify($data,$signature,$key,$alg);
+ $verify = @openssl_verify($data, $signature, $key, $alg);
if ($verify === (-1)) {
while ($msg = openssl_error_string()) {
- logger('openssl_verify: ' . $msg,LOGGER_NORMAL,LOG_ERR);
+ logger('openssl_verify: ' . $msg, LOGGER_NORMAL, LOG_ERR);
}
btlogger('openssl_verify: key: ' . $key, LOGGER_DEBUG, LOG_ERR);
}
}
- return(($verify > 0) ? true : false);
+ return (($verify > 0) ? true : false);
}
/**
@@ -3192,25 +3189,25 @@ class Libzot {
* @return boolean
*/
static function is_zot_request() {
- $x = getBestSupportedMimeType([ 'application/x-zot+json' ]);
+ $x = getBestSupportedMimeType(['application/x-zot+json']);
- return(($x) ? true : false);
+ return (($x) ? true : false);
}
static public function zot_record_preferred($arr, $check = 'hubloc_network') {
- if(! $arr) {
+ if (!$arr) {
return $arr;
}
- foreach($arr as $v) {
- if($v[$check] === 'zot6') {
+ foreach ($arr as $v) {
+ if ($v[$check] === 'zot6') {
return $v;
}
}
- foreach($arr as $v) {
- if($v[$check] === 'zot') {
+ foreach ($arr as $v) {
+ if ($v[$check] === 'zot') {
return $v;
}
}
diff --git a/Zotlabs/Lib/Libzotdir.php b/Zotlabs/Lib/Libzotdir.php
index b02516a98..d4c5398ee 100644
--- a/Zotlabs/Lib/Libzotdir.php
+++ b/Zotlabs/Lib/Libzotdir.php
@@ -19,7 +19,6 @@ class Libzotdir {
*/
static function find_upstream_directory($dirmode) {
- global $DIRECTORY_FALLBACK_SERVERS;
$preferred = get_config('system','directory_server');
@@ -31,7 +30,7 @@ class Libzotdir {
);
if(($r) && ($r[0]['site_flags'] & DIRECTORY_MODE_STANDALONE)) {
$preferred = '';
- }
+ }
}
@@ -42,19 +41,21 @@ class Libzotdir {
* from our list of directory servers. However, if we're a directory
* server ourself, point at the local instance
* We will then set this value so this should only ever happen once.
- * Ideally there will be an admin setting to change to a different
+ * Ideally there will be an admin setting to change to a different
* directory server if you don't like our choice or if circumstances change.
*/
+ $directory_fallback_servers = get_directory_fallback_servers();
+
$dirmode = intval(get_config('system','directory_mode'));
if ($dirmode == DIRECTORY_MODE_NORMAL) {
- $toss = mt_rand(0,count($DIRECTORY_FALLBACK_SERVERS));
- $preferred = $DIRECTORY_FALLBACK_SERVERS[$toss];
+ $toss = mt_rand(0,count($directory_fallback_servers));
+ $preferred = $directory_fallback_servers[$toss];
if(! $preferred) {
$preferred = DIRECTORY_FALLBACK_MASTER;
}
set_config('system','directory_server',$preferred);
- }
+ }
else {
set_config('system','directory_server',z_root());
}
@@ -108,7 +109,7 @@ class Libzotdir {
$ret = get_config('directory', $setting);
- // 'safemode' is the default if there is no observer or no established preference.
+ // 'safemode' is the default if there is no observer or no established preference.
if($setting === 'safemode' && $ret === false)
$ret = 1;
@@ -175,8 +176,8 @@ class Libzotdir {
*
* Checks the directory mode of this hub to see if it is some form of directory server. If it is,
* get the directory realm of this hub. Fetch a list of all other directory servers in this realm and request
- * a directory sync packet. This will contain both directory updates and new ratings. Store these all in the DB.
- * In the case of updates, we will query each of them asynchronously from a poller task. Ratings are stored
+ * a directory sync packet. This will contain both directory updates and new ratings. Store these all in the DB.
+ * In the case of updates, we will query each of them asynchronously from a poller task. Ratings are stored
* directly if the rater's signature matches.
*
* @param int $dirmode;
@@ -188,16 +189,17 @@ class Libzotdir {
return;
$realm = get_directory_realm();
+
if ($realm == DIRECTORY_REALM) {
- $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_type = %d and ( site_realm = '%s' or site_realm = '') ",
+ $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_type = %d and ( site_realm = '%s' or site_realm = '') and site_dead = 0",
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root()),
intval(SITE_TYPE_ZOT),
dbesc($realm)
);
- }
+ }
else {
- $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_realm like '%s' and site_type = %d ",
+ $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_realm like '%s' and site_type = %d and site_dead = 0",
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root()),
dbesc(protect_sprintf('%' . $realm . '%')),
@@ -205,6 +207,8 @@ class Libzotdir {
);
}
+
+
// If there are no directory servers, setup the fallback master
/** @FIXME What to do if we're in a different realm? */
@@ -214,14 +218,14 @@ class Libzotdir {
[
'site_url' => DIRECTORY_FALLBACK_MASTER,
'site_flags' => DIRECTORY_MODE_PRIMARY,
- 'site_update' => NULL_DATE,
+ 'site_update' => NULL_DATE,
'site_directory' => DIRECTORY_FALLBACK_MASTER . '/dirsearch',
'site_realm' => DIRECTORY_REALM,
'site_valid' => 1,
]
);
- $r = q("select * from site where site_flags in (%d, %d) and site_url != '%s' and site_type = %d ",
+ $r = q("select * from site where site_flags in (%d, %d) and site_url != '%s' and site_type = %d and site_dead = 0",
intval(DIRECTORY_MODE_PRIMARY),
intval(DIRECTORY_MODE_SECONDARY),
dbesc(z_root()),
@@ -245,7 +249,6 @@ class Libzotdir {
$syncdate = (($rr['site_sync'] <= NULL_DATE) ? datetime_convert('UTC','UTC','now - 2 days') : $rr['site_sync']);
$x = z_fetch_url($rr['site_directory'] . '?f=&sync=' . urlencode($syncdate) . (($token) ? '&t=' . $token : ''));
-
if (! $x['success'])
continue;
@@ -273,7 +276,7 @@ class Libzotdir {
$ud_flags |= UPDATE_FLAGS_DELETED;
if (is_array($t['flags']) && in_array('forced',$t['flags']))
$ud_flags |= UPDATE_FLAGS_FORCED;
-
+
$z = q("insert into updates ( ud_hash, ud_guid, ud_date, ud_flags, ud_addr )
values ( '%s', '%s', '%s', %d, '%s' ) ",
dbesc($t['hash']),
@@ -338,7 +341,7 @@ class Libzotdir {
static function local_dir_update($uid, $force) {
-
+
logger('local_dir_update: uid: ' . $uid, LOGGER_DEBUG);
$p = q("select channel.channel_hash, channel_address, channel_timezone, channel_portable_id, profile.* from profile left join channel on channel_id = uid where uid = %d and is_default = 1",
@@ -354,7 +357,7 @@ class Libzotdir {
$profile['description'] = $p[0]['pdesc'];
$profile['birthday'] = $p[0]['dob'];
- if ($age = age($p[0]['dob'],$p[0]['channel_timezone'],''))
+ if ($age = age($p[0]['dob'],$p[0]['channel_timezone'],''))
$profile['age'] = $age;
$profile['gender'] = $p[0]['gender'];
@@ -415,7 +418,7 @@ class Libzotdir {
dbesc($legacy_hash)
);
}
-
+
}
$ud_hash = random_string() . '@' . \App::get_hostname();
@@ -446,7 +449,7 @@ class Libzotdir {
$arr['xprof_hash'] = $hash;
$arr['xprof_dob'] = (($profile['birthday'] === '0000-00-00') ? $profile['birthday'] : datetime_convert('','',$profile['birthday'],'Y-m-d')); // !!!! check this for 0000 year
$arr['xprof_age'] = (($profile['age']) ? intval($profile['age']) : 0);
- $arr['xprof_desc'] = (($profile['description']) ? htmlspecialchars($profile['description'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_desc'] = (($profile['description']) ? htmlspecialchars($profile['description'], ENT_COMPAT,'UTF-8',false) : '');
$arr['xprof_gender'] = (($profile['gender']) ? htmlspecialchars($profile['gender'], ENT_COMPAT,'UTF-8',false) : '');
$arr['xprof_marital'] = (($profile['marital']) ? htmlspecialchars($profile['marital'], ENT_COMPAT,'UTF-8',false) : '');
$arr['xprof_sexual'] = (($profile['sexual']) ? htmlspecialchars($profile['sexual'], ENT_COMPAT,'UTF-8',false) : '');
@@ -641,7 +644,7 @@ class Libzotdir {
dbesc(datetime_convert()),
intval($flags),
dbesc($addr)
- );
+ );
}
else {
q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d)>0 ",
diff --git a/Zotlabs/Lib/NativeWiki.php b/Zotlabs/Lib/NativeWiki.php
index 3ec032075..c3032d02c 100644
--- a/Zotlabs/Lib/NativeWiki.php
+++ b/Zotlabs/Lib/NativeWiki.php
@@ -9,7 +9,7 @@ define ( 'NWIKI_ITEM_RESOURCE_TYPE', 'nwiki' );
class NativeWiki {
- static public function listwikis($channel, $observer_hash) {
+ public static function listwikis($channel, $observer_hash) {
$sql_extra = item_permissions_sql($channel['channel_id'], $observer_hash);
$wikis = q("SELECT * FROM item
@@ -40,7 +40,7 @@ class NativeWiki {
}
- function create_wiki($channel, $observer_hash, $wiki, $acl) {
+ public static function create_wiki($channel, $observer_hash, $wiki, $acl) {
$resource_id = new_uuid();
$uuid = new_uuid();
@@ -101,7 +101,7 @@ class NativeWiki {
}
}
- function update_wiki($channel_id, $observer_hash, $arr, $acl) {
+ public static function update_wiki($channel_id, $observer_hash, $arr, $acl) {
$w = self::get_wiki($channel_id, $observer_hash, $arr['resource_id']);
$item = $w['wiki'];
@@ -156,7 +156,7 @@ class NativeWiki {
}
}
- static public function sync_a_wiki_item($uid,$id,$resource_id) {
+ public static function sync_a_wiki_item($uid,$id,$resource_id) {
$r = q("SELECT * from item WHERE uid = %d AND ( id = %d OR ( resource_type = '%s' and resource_id = '%s' )) ",
@@ -185,7 +185,7 @@ class NativeWiki {
}
}
- function delete_wiki($channel_id,$observer_hash,$resource_id) {
+ public static function delete_wiki($channel_id,$observer_hash,$resource_id) {
$w = self::get_wiki($channel_id,$observer_hash,$resource_id);
$item = $w['wiki'];
@@ -202,7 +202,7 @@ class NativeWiki {
}
- static public function get_wiki($channel_id, $observer_hash, $resource_id) {
+ public static function get_wiki($channel_id, $observer_hash, $resource_id) {
$sql_extra = item_permissions_sql($channel_id,$observer_hash);
@@ -236,7 +236,7 @@ class NativeWiki {
}
- static public function exists_by_name($uid, $urlName) {
+ public static function exists_by_name($uid, $urlName) {
$sql_extra = item_permissions_sql($uid);
@@ -258,7 +258,7 @@ class NativeWiki {
}
- static public function get_permissions($resource_id, $owner_id, $observer_hash) {
+ public static function get_permissions($resource_id, $owner_id, $observer_hash) {
// TODO: For now, only the owner can edit
$sql_extra = item_permissions_sql($owner_id, $observer_hash);
diff --git a/Zotlabs/Lib/NativeWikiPage.php b/Zotlabs/Lib/NativeWikiPage.php
index d84cc50a8..71f193b70 100644
--- a/Zotlabs/Lib/NativeWikiPage.php
+++ b/Zotlabs/Lib/NativeWikiPage.php
@@ -163,7 +163,7 @@ class NativeWikiPage {
return [ 'success' => true, 'page' => $page ];
}
- return [ 'success' => false, 'item_id' => $c['item_id'], 'message' => t('Page not found') ];
+ return [ 'success' => false, 'message' => t('Page not found') ];
}
@@ -339,7 +339,6 @@ class NativeWikiPage {
}
static public function save_page($arr) {
-
$pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
$content = ((array_key_exists('content',$arr)) ? $arr['content'] : '');
$resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
@@ -385,7 +384,7 @@ class NativeWikiPage {
$ret = item_store($item, false, false);
if($ret['item_id'])
- return array('message' => '', 'item_id' => $ret['item_id'], 'filename' => $filename, 'success' => true);
+ return array('message' => '', 'item_id' => $ret['item_id'], 'filename' => $pageUrlName, 'success' => true);
else
return array('message' => t('Page update failed.'), 'success' => false);
}
@@ -432,12 +431,12 @@ class NativeWikiPage {
$channel_id = ((array_key_exists('channel_id',$arr)) ? $arr['channel_id'] : 0);
if (! $commitHash) {
- return array('content' => $content, 'message' => 'No commit was provided', 'success' => false);
+ return array('message' => 'No commit was provided', 'success' => false);
}
$w = Zlib\NativeWiki::get_wiki($channel_id, $observer_hash, $resource_id);
if (!$w['wiki']) {
- return array('content' => $content, 'message' => 'Error reading wiki', 'success' => false);
+ return array('message' => 'Error reading wiki', 'success' => false);
}
$x = $arr;
@@ -451,7 +450,7 @@ class NativeWikiPage {
$content = $loaded['body'];
return [ 'content' => $content, 'success' => true ];
}
- return [ 'content' => $content, 'success' => false ];
+ return [ 'success' => false ];
}
}
diff --git a/Zotlabs/Lib/Queue.php b/Zotlabs/Lib/Queue.php
index 6acc58bc5..779719d8b 100644
--- a/Zotlabs/Lib/Queue.php
+++ b/Zotlabs/Lib/Queue.php
@@ -2,9 +2,6 @@
namespace Zotlabs\Lib;
-use Zotlabs\Lib\Libzot;
-
-
class Queue {
static function update($id, $add_priority = 0) {
@@ -39,7 +36,7 @@ class Queue {
// queue item is less than 12 hours old, we'll schedule for fifteen
// minutes.
- $r = q("UPDATE outq SET outq_scheduled = '%s' WHERE outq_posturl = '%s'",
+ q("UPDATE outq SET outq_scheduled = '%s' WHERE outq_posturl = '%s'",
dbesc(datetime_convert('UTC','UTC','now + 5 days')),
dbesc($x[0]['outq_posturl'])
);
@@ -88,7 +85,7 @@ class Queue {
static function set_delivered($id,$channel = 0) {
logger('queue: set delivered ' . $id,LOGGER_DEBUG);
- $sql_extra = (($channel_id) ? " and outq_channel = " . intval($channel_id) . " " : '');
+ $sql_extra = (($channel['channel_id']) ? " and outq_channel = " . intval($channel['channel_id']) . " " : '');
// Set the next scheduled run date so far in the future that it will be expired
// long before it ever makes it back into the delivery chain.
@@ -230,11 +227,10 @@ class Queue {
logger('deliver: dest: ' . $outq['outq_posturl'], LOGGER_DEBUG);
-
if($outq['outq_posturl'] === z_root() . '/zot') {
// local delivery
$zot = new \Zotlabs\Zot6\Receiver(new \Zotlabs\Zot6\Zot6Handler(),$outq['outq_notify']);
- $result = $zot->run(true);
+ $result = $zot->run();
logger('returned_json: ' . json_encode($result,JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES), LOGGER_DATA);
logger('deliver: local zot delivery succeeded to ' . $outq['outq_posturl']);
Libzot::process_response($outq['outq_posturl'],[ 'success' => true, 'body' => json_encode($result) ], $outq);
diff --git a/Zotlabs/Lib/Share.php b/Zotlabs/Lib/Share.php
index d34c0eaba..b4cd5a194 100644
--- a/Zotlabs/Lib/Share.php
+++ b/Zotlabs/Lib/Share.php
@@ -2,8 +2,6 @@
namespace Zotlabs\Lib;
-use Zotlabs\Lib\Activity;
-
class Share {
private $item = null;
diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php
index 024502d2a..2fb07c1cb 100644
--- a/Zotlabs/Lib/ThreadItem.php
+++ b/Zotlabs/Lib/ThreadItem.php
@@ -35,7 +35,7 @@ class ThreadItem {
public function __construct($data) {
-
+
$this->data = $data;
$this->toplevel = ($this->get_id() == $this->get_data_value('parent'));
$this->threaded = get_config('system','thread_allow');
@@ -98,10 +98,11 @@ class ThreadItem {
$conv = $this->get_conversation();
$observer = $conv->get_observer();
- $lock = (((intval($item['item_private'])) || (($item['uid'] == local_channel()) && (strlen($item['allow_cid']) || strlen($item['allow_gid'])
+ $lock = (((intval($item['item_private'])) || (($item['uid'] == local_channel()) && (strlen($item['allow_cid']) || strlen($item['allow_gid'])
|| strlen($item['deny_cid']) || strlen($item['deny_gid']))))
? t('Private Message')
: false);
+ $locktype = $item['item_private'];
$shareable = ((($conv->get_profile_owner() == local_channel() && local_channel()) && ($item['item_private'] != 1)) ? true : false);
@@ -151,9 +152,9 @@ class ThreadItem {
if($observer && $observer['xchan_hash']
- && ($observer['xchan_hash'] == $this->get_data_value('author_xchan')
- || $observer['xchan_hash'] == $this->get_data_value('owner_xchan')
- || $observer['xchan_hash'] == $this->get_data_value('source_xchan')
+ && ($observer['xchan_hash'] == $this->get_data_value('author_xchan')
+ || $observer['xchan_hash'] == $this->get_data_value('owner_xchan')
+ || $observer['xchan_hash'] == $this->get_data_value('source_xchan')
|| $this->get_data_value('uid') == local_channel()))
$dropping = true;
@@ -169,15 +170,15 @@ class ThreadItem {
'dropping' => $dropping,
'delete' => t('Delete'),
);
- }
+ }
elseif(is_site_admin()) {
$drop = [ 'dropping' => true, 'delete' => t('Admin Delete') ];
}
// FIXME
- if($observer_is_pageowner) {
+ if($observer_is_pageowner) {
$multidrop = array(
- 'select' => t('Select'),
+ 'select' => t('Select'),
);
}
@@ -223,7 +224,7 @@ class ThreadItem {
if(! feature_enabled($conv->get_profile_owner(),'dislike'))
unset($conv_responses['dislike']);
-
+
$responses = get_responses($conv_responses,$response_verbs,$this,$item);
$my_responses = [];
@@ -254,7 +255,7 @@ class ThreadItem {
}
$showlike = ((x($conv_responses['like'],$item['mid'])) ? format_like($conv_responses['like'][$item['mid']],$conv_responses['like'][$item['mid'] . '-l'],'like',$item['mid']) : '');
- $showdislike = ((x($conv_responses['dislike'],$item['mid']) && feature_enabled($conv->get_profile_owner(),'dislike'))
+ $showdislike = ((x($conv_responses['dislike'],$item['mid']) && feature_enabled($conv->get_profile_owner(),'dislike'))
? format_like($conv_responses['dislike'][$item['mid']],$conv_responses['dislike'][$item['mid'] . '-l'],'dislike',$item['mid']) : '');
/*
@@ -264,7 +265,7 @@ class ThreadItem {
*/
$this->check_wall_to_wall();
-
+
if($this->is_toplevel()) {
// FIXME check this permission
if(($conv->get_profile_owner() == local_channel()) && (! array_key_exists('real_uid',$item))) {
@@ -275,7 +276,7 @@ class ThreadItem {
);
}
- }
+ }
else {
$is_comment = true;
}
@@ -349,7 +350,7 @@ class ThreadItem {
// $viewthread (below) is only valid in list mode. If this is a channel page, build the thread viewing link
// since we can't depend on llink or plink pointing to the right local location.
-
+
$owner_address = substr($item['owner']['xchan_addr'],0,strpos($item['owner']['xchan_addr'],'@'));
$viewthread = $item['llink'];
if($conv->get_mode() === 'channel')
@@ -357,7 +358,7 @@ class ThreadItem {
$comment_count_txt = sprintf( tt('%d comment','%d comments',$total_children),$total_children );
$list_unseen_txt = (($unseen_comments) ? sprintf( t('%d unseen'),$unseen_comments) : '');
-
+
$children = $this->get_children();
$has_tags = (($body['tags'] || $body['categories'] || $body['mentions'] || $body['attachments'] || $body['folders']) ? true : false);
@@ -386,7 +387,7 @@ class ThreadItem {
$tmp_item = array(
'template' => $this->get_template(),
'mode' => $mode,
- 'item_type' => intval($item['item_type']),
+ 'item_type' => intval($item['item_type']),
//'type' => implode("",array_slice(explode("/",$item['verb']),-1)),
'body' => $body['html'],
'tags' => $body['tags'],
@@ -432,6 +433,7 @@ class ThreadItem {
'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''),
'expiretime' => (($item['expires'] > NULL_DATE) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'lock' => $lock,
+ 'locktype' => $locktype,
'delayed' => $item['item_delayed'],
'privacy_warning' => $privacy_warning,
'verified' => $verified,
@@ -518,8 +520,8 @@ class ThreadItem {
// needed for scroll to comment from notification but needs more work
// as we do not want to open all comments unless there is actually an #item_xx anchor
-// and the url fragment is not sent to the server.
-// if(in_array(\App::$module,['display','update_display']))
+// and the url fragment is not sent to the server.
+// if(in_array(\App::$module,['display','update_display']))
// $visible_comments = 99999;
if(($this->get_display_mode() === 'normal') && ($nb_children > 0)) {
@@ -539,7 +541,7 @@ class ThreadItem {
}
}
}
-
+
$result['private'] = $item['item_private'];
$result['toplevel'] = ($this->is_toplevel() ? 'toplevel_item' : '');
@@ -554,7 +556,7 @@ class ThreadItem {
return $result;
}
-
+
public function get_id() {
return $this->get_data_value('id');
}
@@ -609,7 +611,7 @@ class ThreadItem {
if(activity_match($item->get_data_value('verb'),ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'),ACTIVITY_DISLIKE)) {
return false;
}
-
+
$item->set_parent($this);
$this->children[] = $item;
return end($this->children);
@@ -683,7 +685,7 @@ class ThreadItem {
*/
public function set_conversation($conv) {
$previous_mode = ($this->conversation ? $this->conversation->get_mode() : '');
-
+
$this->conversation = $conv;
// Set it on our children too
@@ -792,7 +794,7 @@ class ThreadItem {
if(!$this->is_toplevel() && !get_config('system','thread_allow')) {
return '';
}
-
+
$comment_box = '';
$conv = $this->get_conversation();
@@ -808,7 +810,7 @@ class ThreadItem {
$arr = array('comment_buttons' => '','id' => $this->get_id());
call_hooks('comment_buttons',$arr);
$comment_buttons = $arr['comment_buttons'];
-
+
$comment_box = replace_macros($template,array(
'$return_path' => '',
'$threaded' => $this->is_threaded(),
@@ -865,7 +867,7 @@ class ThreadItem {
if($conv->get_mode() === 'channel')
return;
-
+
if($this->is_toplevel() && ($this->get_data_value('author_xchan') != $this->get_data_value('owner_xchan'))) {
$this->owner_url = chanlink_hash($this->data['owner']['xchan_hash']);
$this->owner_photo = $this->data['owner']['xchan_photo_m'];
diff --git a/Zotlabs/Lib/Verify.php b/Zotlabs/Lib/Verify.php
index 8703e29e6..f8dc8f8d4 100644
--- a/Zotlabs/Lib/Verify.php
+++ b/Zotlabs/Lib/Verify.php
@@ -5,7 +5,7 @@ namespace Zotlabs\Lib;
class Verify {
- function create($type,$channel_id,$token,$meta) {
+ public static function create($type,$channel_id,$token,$meta) {
return q("insert into verify ( vtype, channel, token, meta, created ) values ( '%s', %d, '%s', '%s', '%s' )",
dbesc($type),
intval($channel_id),
@@ -15,7 +15,7 @@ class Verify {
);
}
- function match($type,$channel_id,$token,$meta) {
+ public static function match($type,$channel_id,$token,$meta) {
$r = q("select id from verify where vtype = '%s' and channel = %d and token = '%s' and meta = '%s' limit 1",
dbesc($type),
intval($channel_id),
@@ -31,7 +31,7 @@ class Verify {
return false;
}
- function get_meta($type,$channel_id,$token) {
+ public static function get_meta($type,$channel_id,$token) {
$r = q("select id, meta from verify where vtype = '%s' and channel = %d and token = '%s' limit 1",
dbesc($type),
intval($channel_id),
@@ -52,7 +52,7 @@ class Verify {
* @param string $type Verify type
* @param string $interval SQL compatible time interval
*/
- function purge($type, $interval) {
+ public static function purge($type, $interval) {
q("delete from verify where vtype = '%s' and created < %s - INTERVAL %s",
dbesc($type),
db_utcnow(),
diff --git a/Zotlabs/Lib/ZotURL.php b/Zotlabs/Lib/ZotURL.php
index 98d1febe5..6bb01fd7a 100644
--- a/Zotlabs/Lib/ZotURL.php
+++ b/Zotlabs/Lib/ZotURL.php
@@ -21,9 +21,8 @@ class ZotURL {
}
$portable_url = substr($url,6);
- $u = explode('/',$portable_url);
+ $u = explode('/',$portable_url);
$portable_id = $u[0];
-
$hosts = self::lookup($portable_id);
if(! $hosts) {
@@ -39,8 +38,8 @@ class ZotURL {
if($channel && $m) {
- $headers = [
- 'Accept' => 'application/x-zot+json',
+ $headers = [
+ 'Accept' => 'application/x-zot+json',
'Content-Type' => 'application/x-zot+json',
'X-Zot-Token' => random_string(),
'Digest' => HTTPSig::generate_digest_header($data),
@@ -50,9 +49,9 @@ class ZotURL {
$h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel),false);
}
else {
- $h = [ 'Accept: application/x-zot+json' ];
+ $h = [ 'Accept: application/x-zot+json' ];
}
-
+
$result = [];
$redirects = 0;
diff --git a/Zotlabs/Lib/Zotfinger.php b/Zotlabs/Lib/Zotfinger.php
index e853d6ebc..faaf28f35 100644
--- a/Zotlabs/Lib/Zotfinger.php
+++ b/Zotlabs/Lib/Zotfinger.php
@@ -34,7 +34,6 @@ class Zotfinger {
$result = [];
-
$redirects = 0;
$x = z_post_url($resource,$data,$redirects, [ 'headers' => $h ] );
diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php
index 4b79211a6..fb95b0504 100644
--- a/Zotlabs/Module/Acl.php
+++ b/Zotlabs/Module/Acl.php
@@ -2,6 +2,8 @@
namespace Zotlabs\Module;
+use Zotlabs\Lib\Libzotdir;
+
require_once 'include/acl_selectors.php';
require_once 'include/group.php';
@@ -46,20 +48,20 @@ class Acl extends \Zotlabs\Web\Controller {
// 'a' => autocomplete connections (mod_connections, mod_poke, mod_sources, mod_photos)
// 'x' => nav search bar autocomplete (match any xchan)
// $_REQUEST['query'] contains autocomplete search text.
-
- // List of channels whose connections to also suggest,
+
+ // List of channels whose connections to also suggest,
// e.g. currently viewed channel or channels mentioned in a post
$extra_channels = (x($_REQUEST,'extra_channels') ? $_REQUEST['extra_channels'] : array());
-
+
// The different autocomplete libraries use different names for the search text
// parameter. Internally we'll use $search to represent the search text no matter
- // what request variable it was attached to.
-
+ // what request variable it was attached to.
+
if(array_key_exists('query',$_REQUEST)) {
$search = $_REQUEST['query'];
}
-
+
if( (! local_channel()) && (! in_array($type, [ 'x', 'c', 'f' ])))
killme();
@@ -68,7 +70,7 @@ class Acl extends \Zotlabs\Web\Controller {
if(in_array($type, [ 'm', 'a', 'c', 'f' ])) {
// These queries require permission checking. We'll create a simple array of xchan_hash for those with
- // the requisite permissions which we can check against.
+ // the requisite permissions which we can check against.
$x = q("select xchan from abconfig where chan = %d and cat = 'their_perms' and k = '%s' and v = '1'",
intval(local_channel()),
@@ -85,34 +87,34 @@ class Acl extends \Zotlabs\Web\Controller {
$sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc(punify($search)) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") ";
$sql_extra2_xchan = "AND ( xchan_name LIKE " . protect_sprintf( "'" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'" . dbesc(punify($search)) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") ";
- // This horrible mess is needed because position also returns 0 if nothing is found.
+ // This horrible mess is needed because position also returns 0 if nothing is found.
// Would be MUCH easier if it instead returned a very large value
- // Otherwise we could just
+ // Otherwise we could just
// order by LEAST(POSITION($search IN xchan_name),POSITION($search IN xchan_addr)).
- $order_extra2 = "CASE WHEN xchan_name LIKE "
- . protect_sprintf( "'%" . dbesc($search) . "%'" )
- . " then POSITION('" . protect_sprintf(dbesc($search))
+ $order_extra2 = "CASE WHEN xchan_name LIKE "
+ . protect_sprintf( "'%" . dbesc($search) . "%'" )
+ . " then POSITION('" . protect_sprintf(dbesc($search))
. "' IN xchan_name) else position('" . protect_sprintf(dbesc(punify($search))) . "' IN xchan_addr) end, ";
$sql_extra3 = "AND ( xchan_addr like " . protect_sprintf( "'%" . dbesc(punify($search)) . "%'" ) . " OR xchan_name like " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ) ";
-
+
}
else {
$sql_extra = $sql_extra2 = $sql_extra3 = "";
}
-
-
+
+
$groups = array();
$contacts = array();
-
+
if($type == '' || $type == 'g') {
// virtual groups based on private profile viewing ability
$r = q("select id, profile_guid, profile_name from profile where is_default = 0 and uid = %d",
intval(local_channel())
- );
+ );
if($r) {
foreach($r as $rv) {
$groups[] = array(
@@ -130,19 +132,19 @@ class Acl extends \Zotlabs\Web\Controller {
// Normal privacy groups
$r = q("SELECT pgrp.id, pgrp.hash, pgrp.gname
- FROM pgrp, pgrp_member
- WHERE pgrp.deleted = 0 AND pgrp.uid = %d
+ FROM pgrp, pgrp_member
+ WHERE pgrp.deleted = 0 AND pgrp.uid = %d
AND pgrp_member.gid = pgrp.id
$sql_extra
GROUP BY pgrp.id
- ORDER BY pgrp.gname
+ ORDER BY pgrp.gname
LIMIT %d OFFSET %d",
intval(local_channel()),
intval($count),
intval($start)
);
- if($r) {
+ if($r) {
foreach($r as $g){
// logger('acl: group: ' . $g['gname'] . ' members: ' . group_get_members_xchan($g['id']));
$groups[] = array(
@@ -157,10 +159,10 @@ class Acl extends \Zotlabs\Web\Controller {
}
}
}
-
+
if($type == '' || $type == 'c' || $type === 'f') {
- $extra_channels_sql = '';
+ $extra_channels_sql = '';
// Only include channels who allow the observer to view their connections
if($extra_channels) {
@@ -172,7 +174,7 @@ class Acl extends \Zotlabs\Web\Controller {
}
}
}
-
+
// Getting info from the abook is better for local users because it contains info about permissions
if(local_channel()) {
if($extra_channels_sql != '')
@@ -199,7 +201,7 @@ class Acl extends \Zotlabs\Web\Controller {
$r2 = array();
foreach($r1 as $rr) {
$x = atoken_xchan($rr);
- $r2[] = [
+ $r2[] = [
'id' => 'a' . $rr['atoken_id'] ,
'hash' => $x['xchan_hash'],
'name' => $x['xchan_name'],
@@ -211,12 +213,12 @@ class Acl extends \Zotlabs\Web\Controller {
'abook_self' => 0
];
}
- }
+ }
// add connections
-
- $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, xchan_pubforum, abook_flags, abook_self
- FROM abook left join xchan on abook_xchan = xchan_hash
+
+ $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, xchan_pubforum, abook_flags, abook_self
+ FROM abook left join xchan on abook_xchan = xchan_hash
WHERE (abook_channel = %d $extra_channels_sql) AND abook_blocked = 0 and abook_pending = 0 and xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
intval(local_channel())
);
@@ -230,23 +232,23 @@ class Acl extends \Zotlabs\Web\Controller {
WHERE xlink_xchan = '%s' AND xchan_deleted = 0 $sql_extra2_xchan order by $order_extra2 xchan_name asc" ,
dbesc(get_observer_hash())
);
-
+
// Find contacts of extra channels
// This is probably more complicated than it needs to be
if($extra_channels_sql) {
// Build a list of hashes that we got previously so we don't get them again
$known_hashes = array("'".get_observer_hash()."'");
if($r)
- foreach($r as $rr)
+ foreach($r as $rr)
$known_hashes[] = "'".$rr['hash']."'";
$known_hashes_sql = 'AND xchan_hash not in ('.join(',',$known_hashes).')';
-
- $r2 = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags, abook_self
- FROM abook left join xchan on abook_xchan = xchan_hash
+
+ $r2 = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags, abook_self
+ FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel IN ($extra_channels_sql) $known_hashes_sql AND abook_blocked = 0 and abook_pending = 0 and abook_hidden = 0 and xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc");
if($r2)
$r = array_merge($r,$r2);
-
+
// Sort accoring to match position, then alphabetically. This could be avoided if the above two SQL queries could be combined into one, and the sorting could be done on the SQl server (like in the case of a local user)
$matchpos = function($x) use($search) {
$namepos = strpos($x['name'],$search);
@@ -269,22 +271,22 @@ class Acl extends \Zotlabs\Web\Controller {
}
}
if((count($r) < 100) && $type == 'c') {
- $r2 = q("SELECT substr(xchan_hash,1,18) as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags, 0 as abook_self
- FROM xchan
+ $r2 = q("SELECT substr(xchan_hash,1,18) as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags, 0 as abook_self
+ FROM xchan
WHERE xchan_deleted = 0 and not xchan_network in ('rss','anon','unknown') $sql_extra2_xchan order by $order_extra2 xchan_name asc"
);
if($r2) {
$r = array_merge($r,$r2);
$r = unique_multidim_array($r,'hash');
- }
+ }
}
}
elseif($type == 'm') {
$r = array();
- $z = q("SELECT xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_addr as nick, xchan_photo_s as micro, xchan_url as url
+ $z = q("SELECT xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_addr as nick, xchan_photo_s as micro, xchan_url as url
FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d
+ WHERE abook_channel = %d
and xchan_deleted = 0
and xchan_network IN ('zot', 'diaspora', 'friendica-over-diaspora')
$sql_extra3
@@ -298,10 +300,10 @@ class Acl extends \Zotlabs\Web\Controller {
}
}
}
-
+
}
elseif($type == 'a') {
-
+
$r = q("SELECT abook_id as id, xchan_name as name, xchan_network as net, xchan_hash as hash, xchan_addr as nick, xchan_photo_s as micro, xchan_url as url, xchan_addr as attag , abook_their_perms FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d
and xchan_deleted = 0
@@ -309,7 +311,7 @@ class Acl extends \Zotlabs\Web\Controller {
ORDER BY xchan_name ASC ",
intval(local_channel())
);
-
+
}
elseif($type == 'x') {
$r = $this->navbar_complete($a);
@@ -323,7 +325,7 @@ class Acl extends \Zotlabs\Web\Controller {
);
}
}
-
+
$o = array(
'start' => $start,
'count' => $count,
@@ -334,17 +336,17 @@ class Acl extends \Zotlabs\Web\Controller {
}
else
$r = array();
-
+
if($r) {
$i = count($contacts);
$x = [];
foreach($r as $g) {
-
+
if(in_array($g['net'],['rss','anon','unknown']) && ($type != 'a'))
continue;
$g['hash'] = urlencode($g['hash']);
-
+
if(! $g['nick']) {
$g['nick'] = $g['url'];
}
@@ -386,11 +388,11 @@ class Acl extends \Zotlabs\Web\Controller {
}
}
$i++;
- }
+ }
}
-
+
$items = array_merge($groups, $contacts);
-
+
$o = array(
'start' => $start,
'count' => $count,
@@ -404,50 +406,50 @@ class Acl extends \Zotlabs\Web\Controller {
function navbar_complete(&$a) {
-
+
// logger('navbar_complete');
-
+
if(observer_prohibited()) {
return;
}
-
+
$dirmode = intval(get_config('system','directory_mode'));
$search = ((x($_REQUEST,'search')) ? htmlentities($_REQUEST['search'],ENT_COMPAT,'UTF-8',false) : '');
if(! $search || mb_strlen($search) < 2)
return array();
-
+
$star = false;
$address = false;
-
+
if(substr($search,0,1) === '@')
$search = substr($search,1);
-
+
if(substr($search,0,1) === '*') {
$star = true;
$search = substr($search,1);
}
-
+
if(strpos($search,'@') !== false) {
$address = true;
}
-
+
if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
$url = z_root() . '/dirsearch';
}
-
+
if(! $url) {
require_once("include/dir_fns.php");
- $directory = find_upstream_directory($dirmode);
+ $directory = Libzotdir::find_upstream_directory($dirmode);
$url = $directory['url'] . '/dirsearch';
}
$token = get_config('system','realm_token');
-
+
$count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100);
if($url) {
$query = $url . '?f=' . (($token) ? '&t=' . urlencode($token) : '');
$query .= '&name=' . urlencode($search) . "&limit=$count" . (($address) ? '&address=' . urlencode(punify($search)) : '');
-
+
$x = z_fetch_url($query);
if($x['success']) {
$t = 0;
diff --git a/Zotlabs/Module/Activity.php b/Zotlabs/Module/Activity.php
index b75f0b245..48f2663cf 100644
--- a/Zotlabs/Module/Activity.php
+++ b/Zotlabs/Module/Activity.php
@@ -143,8 +143,8 @@ class Activity extends Controller {
http_status_exit(403, 'Forbidden');
$i = ZlibActivity::encode_item_collection($nitems,'conversation/' . $item_id,'OrderedCollection');
- if($portable_id) {
- ThreadListener::store(z_root() . '/activity/' . $item_id,$portable_id);
+ if($portable_id && (! intval($items[0]['item_private']))) {
+ ThreadListener::store(z_root() . '/activity/' . $item_id, $portable_id);
}
if(! $i)
@@ -239,6 +239,16 @@ class Activity extends Controller {
xchan_query($r,true);
$items = fetch_post_tags($r,false);
+ if ($portable_id && (! intval($items[0]['item_private']))) {
+ $c = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s'",
+ intval($items[0]['uid']),
+ dbesc($portable_id)
+ );
+ if (! $c) {
+ ThreadListener::store(z_root() . '/activity/' . $item_id, $portable_id);
+ }
+ }
+
$channel = channelx_by_n($items[0]['uid']);
$x = array_merge( ['@context' => [
diff --git a/Zotlabs/Module/Attach.php b/Zotlabs/Module/Attach.php
index 172f6a4bc..5f5779b51 100644
--- a/Zotlabs/Module/Attach.php
+++ b/Zotlabs/Module/Attach.php
@@ -1,4 +1,5 @@
<?php
+
namespace Zotlabs\Module;
use ZipArchive;
@@ -12,24 +13,24 @@ class Attach extends Controller {
function post() {
- $attach_ids = ((x($_REQUEST, 'attach_ids')) ? $_REQUEST['attach_ids'] : []);
+ $attach_ids = ((x($_REQUEST, 'attach_ids')) ? $_REQUEST['attach_ids'] : []);
$attach_path = ((x($_REQUEST, 'attach_path')) ? $_REQUEST['attach_path'] : '');
- $channel_id = ((x($_REQUEST, 'channel_id')) ? intval($_REQUEST['channel_id']) : 0);
- $channel = channelx_by_n($channel_id);
+ $channel_id = ((x($_REQUEST, 'channel_id')) ? intval($_REQUEST['channel_id']) : 0);
+ $channel = channelx_by_n($channel_id);
- if (! $channel) {
+ if (!$channel) {
notice(t('Channel not found.') . EOL);
return;
}
- $strip_str = '/cloud/' . $channel['channel_address'] . '/';
- $count = strlen($strip_str);
+ $strip_str = '/cloud/' . $channel['channel_address'] . '/';
+ $count = strlen($strip_str);
$attach_path = substr($attach_path, $count);
if ($attach_ids) {
$zip_dir = 'store/[data]/' . $channel['channel_address'] . '/tmp';
- if (! is_dir($zip_dir))
+ if (!is_dir($zip_dir))
mkdir($zip_dir, STORAGE_DEFAULT_PERMISSIONS, true);
$token = random_string(32);
@@ -47,14 +48,14 @@ class Attach extends Controller {
$meta = [
'zip_filename' => $zip_filename,
- 'zip_path' => $zip_path
+ 'zip_path' => $zip_path
];
Verify::create('zip_token', 0, $token, json_encode($meta));
json_return_and_die([
'success' => true,
- 'token' => $token
+ 'token' => $token
]);
}
@@ -63,28 +64,28 @@ class Attach extends Controller {
function get() {
- if(argc() < 2) {
- notice( t('Item not available.') . EOL);
+ if (argc() < 2) {
+ notice(t('Item not available.') . EOL);
return;
}
$token = ((x($_REQUEST, 'token')) ? $_REQUEST['token'] : '');
- if(argv(1) === 'download') {
+ if (argv(1) === 'download') {
$meta = Verify::get_meta('zip_token', 0, $token);
- if(! $meta)
+ if (!$meta)
killme();
$meta = json_decode($meta, true);
header('Content-Type: application/zip');
- header('Content-Disposition: attachment; filename="'. $meta['zip_filename'] . '"');
+ header('Content-Disposition: attachment; filename="' . $meta['zip_filename'] . '"');
header('Content-Length: ' . filesize($meta['zip_path']));
$istream = fopen($meta['zip_path'], 'rb');
$ostream = fopen('php://output', 'wb');
- if($istream && $ostream) {
+ if ($istream && $ostream) {
pipe_streams($istream, $ostream);
fclose($istream);
fclose($ostream);
@@ -94,10 +95,10 @@ class Attach extends Controller {
killme();
}
- $r = attach_by_hash(argv(1),get_observer_hash(),((argc() > 2) ? intval(argv(2)) : 0));
+ $r = attach_by_hash(argv(1), get_observer_hash(), ((argc() > 2) ? intval(argv(2)) : 0));
- if(! $r['success']) {
- notice( $r['message'] . EOL);
+ if (!$r['success']) {
+ notice($r['message'] . EOL);
return;
}
@@ -105,27 +106,27 @@ class Attach extends Controller {
intval($r['data']['uid'])
);
- if(! $c)
+ if (!$c)
return;
- $unsafe_types = array('text/html','text/css','application/javascript');
+ $unsafe_types = array('text/html', 'text/css', 'application/javascript');
- if(in_array($r['data']['filetype'],$unsafe_types) && (! channel_codeallowed($r['data']['uid']))) {
- header('Content-Type: text/plain');
+ if (in_array($r['data']['filetype'], $unsafe_types) && (!channel_codeallowed($r['data']['uid']))) {
+ header('Content-Type: text/plain');
}
else {
header('Content-Type: ' . $r['data']['filetype']);
}
header('Content-Disposition: attachment; filename="' . $r['data']['filename'] . '"');
- if(intval($r['data']['os_storage'])) {
+ if (intval($r['data']['os_storage'])) {
$fname = $r['data']['content'];
- if(strpos($fname,'store') !== false)
- $istream = fopen($fname,'rb');
+ if (strpos($fname, 'store') !== false)
+ $istream = fopen($fname, 'rb');
else
- $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $fname,'rb');
- $ostream = fopen('php://output','wb');
- if($istream && $ostream) {
+ $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $fname, 'rb');
+ $ostream = fopen('php://output', 'wb');
+ if ($istream && $ostream) {
pipe_streams($istream, $ostream);
fclose($istream);
fclose($ostream);
@@ -140,14 +141,14 @@ class Attach extends Controller {
public function zip_archive_handler($zip, $attach_ids, $attach_path, $pass = 1) {
$observer_hash = get_observer_hash();
- $single = ((count($attach_ids) == 1) ? true : false);
+ $single = ((count($attach_ids) == 1) ? true : false);
$download_name = 'download.zip';
- foreach($attach_ids as $attach_id) {
+ foreach ($attach_ids as $attach_id) {
$r = attach_by_id($attach_id, $observer_hash);
- if (! $r['success']) {
+ if (!$r['success']) {
continue;
}
@@ -158,8 +159,8 @@ class Attach extends Controller {
if ($attach_path) {
$strip_str = $attach_path . '/';
- $count = strlen($strip_str);
- $zip_path = substr($r['data']['display_path'], $count);
+ $count = strlen($strip_str);
+ $zip_path = substr($r['data']['display_path'], $count);
}
if ($r['data']['is_dir']) {
diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php
index 07bee38bd..65dba927b 100644
--- a/Zotlabs/Module/Cal.php
+++ b/Zotlabs/Module/Cal.php
@@ -37,8 +37,6 @@ class Cal extends Controller {
$observer = App::get_observer();
App::$data['observer'] = $observer;
- $observer_xchan = (($observer) ? $observer['xchan_hash'] : '');
-
head_set_icon(App::$data['channel']['xchan_photo_s']);
App::$page['htmlhead'] .= "<script> var profile_uid = " . ((App::$data['channel']) ? App::$data['channel']['channel_id'] : 0) . "; </script>" ;
@@ -159,10 +157,10 @@ class Cal extends Controller {
'timezone' => $tz,
'start'=> $start,
'end' => $end,
- 'drop' => $drop,
+ 'drop' => false,
'allDay' => (($rr['adjust']) ? 0 : 1),
'title' => html_entity_decode($rr['summary'], ENT_COMPAT, 'UTF-8'),
- 'editable' => $edit ? true : false,
+ 'editable' => false,
'item' => $rr,
'plink' => [$rr['plink'], t('Link to source')],
'description' => html_entity_decode($rr['description'], ENT_COMPAT, 'UTF-8'),
@@ -205,9 +203,9 @@ class Cal extends Controller {
'$prev' => t('Previous'),
'$next' => t('Next'),
'$today' => t('Today'),
- '$title' => $title,
- '$dtstart' => $dtstart,
- '$dtend' => $dtend,
+ '$title' => '',
+ '$dtstart' => '',
+ '$dtend' => '',
'$nick' => $nick
]);
diff --git a/Zotlabs/Module/Cdav.php b/Zotlabs/Module/Cdav.php
index f7e43e436..fe697a526 100644
--- a/Zotlabs/Module/Cdav.php
+++ b/Zotlabs/Module/Cdav.php
@@ -50,7 +50,7 @@ class Cdav extends Controller {
if($sigblock) {
$keyId = str_replace('acct:','',$sigblock['keyId']);
if($keyId) {
- $r = q("select * from hubloc where hubloc_addr = '%s'",
+ $r = q("select * from hubloc where hubloc_id_url = '%s'",
dbesc($keyId)
);
if($r) {
@@ -284,7 +284,7 @@ class Cdav extends Controller {
$server->addPlugin(new \Sabre\CardDAV\VCFExportPlugin());
// And off we go!
- $server->exec();
+ $server->start();
killme();
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php
index 7ff394750..915e0ea60 100644
--- a/Zotlabs/Module/Channel.php
+++ b/Zotlabs/Module/Channel.php
@@ -4,10 +4,12 @@ namespace Zotlabs\Module;
use App;
-use Zotlabs\Web\Controller;
+use Zotlabs\Lib\Activity;
+use Zotlabs\Lib\ActivityStreams;
+use Zotlabs\Lib\Libzot;
use Zotlabs\Lib\PermissionDescription;
+use Zotlabs\Web\Controller;
use Zotlabs\Web\HTTPSig;
-use Zotlabs\Lib\Libzot;
require_once('include/items.php');
require_once('include/security.php');
@@ -20,88 +22,117 @@ require_once('include/opengraph.php');
* @brief Channel Controller
*
*/
-
class Channel extends Controller {
function init() {
- if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?']))
+ if (in_array(substr($_GET['search'], 0, 1), ['@', '!', '?']) || strpos($_GET['search'], 'https://') === 0)
goaway('search' . '?f=&search=' . $_GET['search']);
$which = null;
- if(argc() > 1)
+ if (argc() > 1)
$which = argv(1);
- if(! $which) {
- if(local_channel()) {
+ if (!$which) {
+ if (local_channel()) {
$channel = App::get_channel();
- if($channel && $channel['channel_address'])
- $which = $channel['channel_address'];
+ if ($channel && $channel['channel_address'])
+ $which = $channel['channel_address'];
}
}
- if(! $which) {
- notice( t('You must be logged in to see this page.') . EOL );
+ if (!$which) {
+ notice(t('You must be logged in to see this page.') . EOL);
return;
}
$profile = 0;
$channel = App::get_channel();
- if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
- $which = $channel['channel_address'];
+ if ((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
+ $which = $channel['channel_address'];
$profile = argv(1);
}
$channel = channelx_by_nick($which);
- if(! $channel) {
+ if (!$channel) {
http_status_exit(404, 'Not found');
}
- // handle zot6 channel discovery
+ // handle zot6 channel discovery
+
+ if (Libzot::is_zot_request()) {
- if(Libzot::is_zot_request()) {
-
$sigdata = HTTPSig::verify(file_get_contents('php://input'), EMPTY_STR, 'zot6');
- if($sigdata && $sigdata['signer'] && $sigdata['header_valid']) {
- $data = json_encode(Libzot::zotinfo([ 'address' => $channel['channel_address'], 'target_url' => $sigdata['signer'] ]));
- $s = q("select site_crypto, hubloc_sitekey from site left join hubloc on hubloc_url = site_url where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1",
+ if ($sigdata && $sigdata['signer'] && $sigdata['header_valid']) {
+ $data = json_encode(Libzot::zotinfo(['address' => $channel['channel_address'], 'target_url' => $sigdata['signer']]));
+ $s = q("select site_crypto, hubloc_sitekey from site left join hubloc on hubloc_url = site_url where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1",
dbesc($sigdata['signer'])
);
- if($s) {
- $data = json_encode(crypto_encapsulate($data,$s[0]['hubloc_sitekey'],Libzot::best_algorithm($s[0]['site_crypto'])));
+ if ($s) {
+ $data = json_encode(crypto_encapsulate($data, $s[0]['hubloc_sitekey'], Libzot::best_algorithm($s[0]['site_crypto'])));
}
}
else {
- $data = json_encode(Libzot::zotinfo([ 'address' => $channel['channel_address'] ]));
+ $data = json_encode(Libzot::zotinfo(['guid_hash' => $channel['channel_hash']]));
}
- $headers = [
- 'Content-Type' => 'application/x-zot+json',
+ $headers = [
+ 'Content-Type' => 'application/x-zot+json',
'Digest' => HTTPSig::generate_digest_header($data),
'(request-target)' => strtolower($_SERVER['REQUEST_METHOD']) . ' ' . $_SERVER['REQUEST_URI']
- ];
- $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel));
+ ];
+ $h = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel));
HTTPSig::set_headers($h);
echo $data;
killme();
}
+ if (ActivityStreams::is_as_request($channel)) {
+
+ // Somebody may attempt an ActivityStreams fetch on one of our message permalinks
+ // Make it do the right thing.
+
+ $mid = ((x($_REQUEST, 'mid')) ? $_REQUEST['mid'] : '');
+ if ($mid && strpos($mid, 'b64.') === 0) {
+ $decoded = @base64url_decode(substr($mid, 4));
+ if ($decoded) {
+ $mid = $decoded;
+ }
+ }
+ if ($mid) {
+ $obj = null;
+ if (strpos($mid, z_root() . '/item/') === 0) {
+ App::$argc = 2;
+ App::$argv = ['item', basename($mid)];
+ $obj = new Item();
+ }
+ if (strpos($mid, z_root() . '/activity/') === 0) {
+ App::$argc = 2;
+ App::$argv = ['activity', basename($mid)];
+ $obj = new Activity();
+ }
+ if ($obj) {
+ $obj->init();
+ }
+ }
+ as_return_and_die(Activity::encode_person($channel, true), $channel);
+ }
- if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
- $which = $channel['channel_address'];
+ if ((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
+ $which = $channel['channel_address'];
$profile = argv(1);
}
- head_add_link( [
- 'rel' => 'alternate',
+ head_add_link([
+ 'rel' => 'alternate',
'type' => 'application/atom+xml',
'title' => t('Posts and comments'),
'href' => z_root() . '/feed/' . $which
]);
- head_add_link( [
- 'rel' => 'alternate',
+ head_add_link([
+ 'rel' => 'alternate',
'type' => 'application/atom+xml',
'title' => t('Only posts'),
'href' => z_root() . '/feed/' . $which . '?f=&top=1'
@@ -110,19 +141,19 @@ class Channel extends Controller {
// Run profile_load() here to make sure the theme is set before
// we start loading content
- profile_load($which,$profile);
-
+ profile_load($which, $profile);
+
// Add Opengraph markup
- $mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : '');
- if(strpos($mid,'b64.') === 0)
- $mid = @base64url_decode(substr($mid,4));
-
- if($mid)
- $r = q("SELECT * FROM item WHERE mid = '%s' AND uid = %d AND item_private = 0 LIMIT 1",
- dbesc($mid),
- intval($channel['channel_id'])
- );
-
+ $mid = ((x($_REQUEST, 'mid')) ? $_REQUEST['mid'] : '');
+ if (strpos($mid, 'b64.') === 0)
+ $mid = @base64url_decode(substr($mid, 4));
+
+ if ($mid)
+ $r = q("SELECT * FROM item WHERE mid = '%s' AND uid = %d AND item_private = 0 LIMIT 1",
+ dbesc($mid),
+ intval($channel['channel_id'])
+ );
+
opengraph_add_meta($r ? $r[0] : [], $channel);
}
@@ -132,99 +163,99 @@ class Channel extends Controller {
$category = $datequery = $datequery2 = '';
- $mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : '');
+ $mid = ((x($_REQUEST, 'mid')) ? $_REQUEST['mid'] : '');
- if(strpos($mid,'b64.') === 0)
- $decoded = @base64url_decode(substr($mid,4));
- if($decoded)
+ if (strpos($mid, 'b64.') === 0)
+ $decoded = @base64url_decode(substr($mid, 4));
+ if ($decoded)
$mid = $decoded;
- $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
- $datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
+ $datequery = ((x($_GET, 'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
+ $datequery2 = ((x($_GET, 'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
- if(observer_prohibited(true)) {
+ if (observer_prohibited(true)) {
return login();
}
- $category = ((x($_REQUEST,'cat')) ? $_REQUEST['cat'] : '');
- $hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : '');
- $order = ((x($_GET,'order')) ? notags($_GET['order']) : 'post');
- $search = ((x($_GET,'search')) ? $_GET['search'] : EMPTY_STR);
+ $category = ((x($_REQUEST, 'cat')) ? $_REQUEST['cat'] : '');
+ $hashtags = ((x($_REQUEST, 'tag')) ? $_REQUEST['tag'] : '');
+ $order = ((x($_GET, 'order')) ? notags($_GET['order']) : 'post');
+ $search = ((x($_GET, 'search')) ? $_GET['search'] : EMPTY_STR);
- $groups = array();
+ $groups = [];
$o = '';
- if($update) {
+ if ($update) {
// Ensure we've got a profile owner if updating.
App::$profile['profile_uid'] = App::$profile_uid = $update;
}
$is_owner = (((local_channel()) && (App::$profile['profile_uid'] == local_channel())) ? true : false);
- $channel = App::get_channel();
+ $channel = App::get_channel();
$observer = App::get_observer();
- $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
- $perms = get_all_perms(App::$profile['profile_uid'],$ob_hash);
+ $perms = get_all_perms(App::$profile['profile_uid'], $ob_hash);
- if(! $perms['view_stream']) {
+ if (!$perms['view_stream']) {
// We may want to make the target of this redirect configurable
- if($perms['view_profile']) {
- notice( t('Insufficient permissions. Request redirected to profile page.') . EOL);
- goaway (z_root() . "/profile/" . App::$profile['channel_address']);
+ if ($perms['view_profile']) {
+ notice(t('Insufficient permissions. Request redirected to profile page.') . EOL);
+ goaway(z_root() . "/profile/" . App::$profile['channel_address']);
}
- notice( t('Permission denied.') . EOL);
+ notice(t('Permission denied.') . EOL);
return;
}
- if(! $update) {
+ if (!$update) {
nav_set_selected('Channel Home');
// search terms header
- if($search) {
- $o .= replace_macros(get_markup_template("section_title.tpl"),array(
- '$title' => t('Search Results For:') . ' ' . htmlspecialchars($search, ENT_COMPAT,'UTF-8')
- ));
+ if ($search) {
+ $o .= replace_macros(get_markup_template("section_title.tpl"), [
+ '$title' => t('Search Results For:') . ' ' . htmlspecialchars($search, ENT_COMPAT, 'UTF-8')
+ ]);
}
- if($channel && $is_owner) {
- $channel_acl = array(
+ if ($channel && $is_owner) {
+ $channel_acl = [
'allow_cid' => $channel['channel_allow_cid'],
'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
- );
+ 'deny_cid' => $channel['channel_deny_cid'],
+ 'deny_gid' => $channel['channel_deny_gid']
+ ];
}
else {
- $channel_acl = [ 'allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ];
+ $channel_acl = ['allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => ''];
}
- if($perms['post_wall']) {
-
- $x = array(
- 'is_owner' => $is_owner,
- 'allow_location' => ((($is_owner || $observer) && (intval(get_pconfig(App::$profile['profile_uid'],'system','use_browser_location')))) ? true : false),
- 'default_location' => (($is_owner) ? App::$profile['channel_location'] : ''),
- 'nickname' => App::$profile['channel_address'],
- 'lockstate' => (((strlen(App::$profile['channel_allow_cid'])) || (strlen(App::$profile['channel_allow_gid'])) || (strlen(App::$profile['channel_deny_cid'])) || (strlen(App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'),
- 'acl' => (($is_owner) ? populate_acl($channel_acl,true, PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''),
- 'permissions' => $channel_acl,
- 'showacl' => (($is_owner) ? 'yes' : ''),
- 'bang' => '',
- 'visitor' => (($is_owner || $observer) ? true : false),
- 'profile_uid' => App::$profile['profile_uid'],
+ if ($perms['post_wall']) {
+
+ $x = [
+ 'is_owner' => $is_owner,
+ 'allow_location' => ((($is_owner || $observer) && (intval(get_pconfig(App::$profile['profile_uid'], 'system', 'use_browser_location')))) ? true : false),
+ 'default_location' => (($is_owner) ? App::$profile['channel_location'] : ''),
+ 'nickname' => App::$profile['channel_address'],
+ 'lockstate' => (((strlen(App::$profile['channel_allow_cid'])) || (strlen(App::$profile['channel_allow_gid'])) || (strlen(App::$profile['channel_deny_cid'])) || (strlen(App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'),
+ 'acl' => (($is_owner) ? populate_acl($channel_acl, true, PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''),
+ 'permissions' => $channel_acl,
+ 'showacl' => (($is_owner) ? 'yes' : ''),
+ 'bang' => '',
+ 'visitor' => (($is_owner || $observer) ? true : false),
+ 'profile_uid' => App::$profile['profile_uid'],
'editor_autocomplete' => true,
- 'bbco_autocomplete' => 'bbcode',
- 'bbcode' => true,
- 'jotnets' => true,
- 'reset' => t('Reset form')
- );
+ 'bbco_autocomplete' => 'bbcode',
+ 'bbcode' => true,
+ 'jotnets' => true,
+ 'reset' => t('Reset form')
+ ];
- $o .= status_editor($a,$x,false,'Channel');
+ $o .= status_editor($a, $x, false, 'Channel');
}
}
@@ -233,16 +264,16 @@ class Channel extends Controller {
/**
* Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups
*/
-
- $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_deleted = 0
+
+ $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_deleted = 0
and item.item_unpublished = 0 and item.item_pending_remove = 0
and item.item_blocked = 0 ";
- if (! $is_owner)
- $item_normal .= "and item.item_delayed = 0 ";
+ if (!$is_owner)
+ $item_normal .= "and item.item_delayed = 0 ";
$item_normal_update = item_normal_update();
- $sql_extra = item_permissions_sql(App::$profile['profile_uid']);
+ $sql_extra = item_permissions_sql(App::$profile['profile_uid']);
- if(feature_enabled(App::$profile['profile_uid'], 'channel_list_mode') && (! $mid))
+ if (feature_enabled(App::$profile['profile_uid'], 'channel_list_mode') && (!$mid))
$page_mode = 'list';
else
$page_mode = 'client';
@@ -250,13 +281,13 @@ class Channel extends Controller {
$abook_uids = " and abook.abook_channel = " . intval(App::$profile['profile_uid']) . " ";
$simple_update = '';
- if($update && $_SESSION['loadtime'])
- $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) ";
+ if ($update && $_SESSION['loadtime'])
+ $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC', 'UTC', $_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC', 'UTC', $_SESSION['loadtime']) . "' ) ";
- if($search) {
+ if ($search) {
$search = escape_tags($search);
- if(strpos($search,'#') === 0) {
- $sql_extra .= term_query('item',substr($search,1),TERM_HASHTAG,TERM_COMMUNITYTAG);
+ if (strpos($search, '#') === 0) {
+ $sql_extra .= term_query('item', substr($search, 1), TERM_HASHTAG, TERM_COMMUNITYTAG);
}
else {
$sql_extra .= sprintf(" AND (item.body like '%s' OR item.title like '%s') ",
@@ -266,16 +297,16 @@ class Channel extends Controller {
}
}
- head_add_link([
+ head_add_link([
'rel' => 'alternate',
'type' => 'application/json+oembed',
'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . App::$query_string),
'title' => 'oembed'
]);
- if(($update) && (! $load)) {
+ if (($update) && (!$load)) {
- if($mid) {
+ if ($mid) {
$r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal_update
AND item_wall = 1 $simple_update $sql_extra limit 1",
dbesc($mid . '%'),
@@ -296,61 +327,61 @@ class Channel extends Controller {
}
else {
- if(x($category)) {
- $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'],'item', $category, TERM_CATEGORY));
+ if (x($category)) {
+ $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'], 'item', $category, TERM_CATEGORY));
}
- if(x($hashtags)) {
- $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'],'item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
+ if (x($hashtags)) {
+ $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'], 'item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
}
- if($datequery) {
- $sql_extra2 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery))));
- $order = 'post';
+ if ($datequery) {
+ $sql_extra2 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(), '', $datequery))));
+ $order = 'post';
}
- if($datequery2) {
- $sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
+ if ($datequery2) {
+ $sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(), '', $datequery2))));
}
- if($order === 'post')
+ if ($order === 'post')
$ordering = "created";
else
$ordering = "commented";
- $itemspage = get_pconfig(local_channel(),'system','itemspage');
+ $itemspage = get_pconfig(local_channel(), 'system', 'itemspage');
App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
- if($noscript_content || $load) {
- if($mid) {
+ if ($noscript_content || $load) {
+ if ($mid) {
$r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal
AND item_wall = 1 $sql_extra limit 1",
dbesc($mid . '%'),
intval(App::$profile['profile_uid'])
);
- if (! $r) {
- notice( t('Permission denied.') . EOL);
+ if (!$r) {
+ notice(t('Permission denied.') . EOL);
}
}
else {
- $r = q("SELECT DISTINCT item.parent AS item_id, $ordering FROM item
+ $r = q("SELECT DISTINCT item.parent AS item_id, $ordering FROM item
left join abook on ( item.author_xchan = abook.abook_xchan $abook_uids )
WHERE true and item.uid = %d $item_normal
AND (abook.abook_blocked = 0 or abook.abook_flags is null)
AND item.item_wall = 1 AND item.item_thread_top = 1
- $sql_extra $sql_extra2
+ $sql_extra $sql_extra2
ORDER BY $ordering DESC, item_id $pager_sql ",
intval(App::$profile['profile_uid'])
);
}
}
else {
- $r = array();
+ $r = [];
}
}
- if($r) {
+ if ($r) {
- $parents_str = ids_to_querystr($r,'item_id');
+ $parents_str = ids_to_querystr($r, 'item_id');
$r = q("SELECT item.*, item.id AS item_id
FROM item
@@ -363,28 +394,38 @@ class Channel extends Controller {
xchan_query($r);
$items = fetch_post_tags($r, true);
- $items = conv_sort($items,$ordering);
+ $items = conv_sort($items, $ordering);
- if($load && $mid && (! count($items))) {
+ if ($load && $mid && (!count($items))) {
// This will happen if we don't have sufficient permissions
// to view the parent item (or the item itself if it is toplevel)
- notice( t('Permission denied.') . EOL);
+ notice(t('Permission denied.') . EOL);
}
- } else {
- $items = array();
+ }
+ else {
+ $items = [];
}
- if((! $update) && (! $load)) {
+ // Add pinned content
+ if (!x($_REQUEST, 'mid') && !$search) {
+ $pinned = new \Zotlabs\Widget\Pinned;
+ $r = $pinned->widget(intval(App::$profile['profile_uid']), [ITEM_TYPE_POST]);
+ $o .= $r['html'];
+ }
- if($decoded)
+ $mode = (($search) ? 'search' : 'channel');
+
+ if ((!$update) && (!$load)) {
+
+ if ($decoded)
$mid = 'b64.' . base64url_encode($mid);
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
// because browser prefetching might change it on us. We have to deliver it with the page.
- $maxheight = get_pconfig(App::$profile['profile_uid'],'system','channel_divmore_height');
- if(! $maxheight)
+ $maxheight = get_pconfig(App::$profile['profile_uid'], 'system', 'channel_divmore_height');
+ if (!$maxheight)
$maxheight = 400;
$o .= '<div id="live-channel"></div>' . "\r\n";
@@ -392,57 +433,48 @@ class Channel extends Controller {
. "; var netargs = '?f='; var profile_page = " . App::$pager['page']
. "; divmore_height = " . intval($maxheight) . ";</script>\r\n";
- App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
- '$baseurl' => z_root(),
- '$pgtype' => 'channel',
- '$uid' => ((App::$profile['profile_uid']) ? App::$profile['profile_uid'] : '0'),
- '$gid' => '0',
- '$cid' => '0',
- '$cmin' => '(-1)',
- '$cmax' => '(-1)',
- '$star' => '0',
- '$liked' => '0',
- '$conv' => '0',
- '$spam' => '0',
- '$nouveau' => '0',
- '$wall' => '1',
- '$fh' => '0',
- '$dm' => '0',
- '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1),
- '$search' => $search,
- '$xchan' => '',
- '$order' => (($order) ? urlencode($order) : ''),
- '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
- '$file' => '',
- '$cats' => (($category) ? urlencode($category) : ''),
- '$tags' => (($hashtags) ? urlencode($hashtags) : ''),
- '$mid' => (($mid) ? urlencode($mid) : ''),
- '$verb' => '',
- '$net' => '',
- '$dend' => $datequery,
- '$dbegin' => $datequery2,
- '$conv_mode' => 'channel'
- ));
-
+ App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"), [
+ '$baseurl' => z_root(),
+ '$pgtype' => 'channel',
+ '$uid' => ((App::$profile['profile_uid']) ? App::$profile['profile_uid'] : '0'),
+ '$gid' => '0',
+ '$cid' => '0',
+ '$cmin' => '(-1)',
+ '$cmax' => '(-1)',
+ '$star' => '0',
+ '$liked' => '0',
+ '$conv' => '0',
+ '$spam' => '0',
+ '$nouveau' => '0',
+ '$wall' => '1',
+ '$fh' => '0',
+ '$dm' => '0',
+ '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1),
+ '$search' => $search,
+ '$xchan' => '',
+ '$order' => (($order) ? urlencode($order) : ''),
+ '$list' => ((x($_REQUEST, 'list')) ? intval($_REQUEST['list']) : 0),
+ '$file' => '',
+ '$cats' => (($category) ? urlencode($category) : ''),
+ '$tags' => (($hashtags) ? urlencode($hashtags) : ''),
+ '$mid' => (($mid) ? urlencode($mid) : ''),
+ '$verb' => '',
+ '$net' => '',
+ '$dend' => $datequery,
+ '$dbegin' => $datequery2,
+ '$conv_mode' => 'channel',
+ '$page_mode' => $page_mode
+ ]);
}
- // Add pinned content
- if(! x($_REQUEST,'mid') && ! $search) {
- $pinned = new \Zotlabs\Widget\Pinned;
- $r = $pinned->widget(intval(App::$profile['profile_uid']), [ITEM_TYPE_POST]);
- $o .= $r['html'];
- }
-
- $mode = (($search) ? 'search' : 'channel');
-
- if($update) {
- $o .= conversation($items,$mode,$update,$page_mode);
+ if ($update) {
+ $o .= conversation($items, $mode, $update, $page_mode);
}
else {
$o .= '<noscript>';
- if($noscript_content) {
- $o .= conversation($items,$mode,$update,'traditional');
+ if ($noscript_content) {
+ $o .= conversation($items, $mode, $update, 'traditional');
$o .= alt_pager(count($items));
}
else {
@@ -450,14 +482,14 @@ class Channel extends Controller {
}
$o .= '</noscript>';
- $o .= conversation($items,$mode,$update,$page_mode);
+ $o .= conversation($items, $mode, $update, $page_mode);
if ($mid && $items[0]['title'])
App::$page['title'] = $items[0]['title'] . " - " . App::$page['title'];
}
- if($mid)
+ if ($mid)
$o .= '<div id="content-complete"></div>';
$_SESSION['loadtime'] = datetime_convert();
diff --git a/Zotlabs/Module/Channel_calendar.php b/Zotlabs/Module/Channel_calendar.php
index ae4afb2f3..ac1545644 100644
--- a/Zotlabs/Module/Channel_calendar.php
+++ b/Zotlabs/Module/Channel_calendar.php
@@ -1,7 +1,12 @@
<?php
+
namespace Zotlabs\Module;
+use App;
+use Zotlabs\Web\Controller;
use Zotlabs\Lib\Libsync;
+use Zotlabs\Access\AccessList;
+use Zotlabs\Daemon\Master;
require_once('include/conversation.php');
require_once('include/bbcode.php');
@@ -10,37 +15,37 @@ require_once('include/event.php');
require_once('include/items.php');
require_once('include/html2plain.php');
-class Channel_calendar extends \Zotlabs\Web\Controller {
+class Channel_calendar extends Controller {
function post() {
-
- logger('post: ' . print_r($_REQUEST,true), LOGGER_DATA);
-
- if(! local_channel())
- return;
- $event_id = ((x($_POST,'event_id')) ? intval($_POST['event_id']) : 0);
- $event_hash = ((x($_POST,'event_hash')) ? $_POST['event_hash'] : '');
-
- $xchan = ((x($_POST,'xchan')) ? dbesc($_POST['xchan']) : '');
+ logger('post: ' . print_r($_REQUEST, true), LOGGER_DATA);
+
$uid = local_channel();
+ if (!$uid)
+ return;
+
+ $event_id = ((x($_POST, 'event_id')) ? intval($_POST['event_id']) : 0);
+
+ $xchan = ((x($_POST, 'xchan')) ? dbesc($_POST['xchan']) : '');
+
// only allow editing your own events.
- if(($xchan) && ($xchan !== get_observer_hash()))
+ if (($xchan) && ($xchan !== get_observer_hash()))
return;
$categories = escape_tags(trim($_POST['categories']));
-
+
// allday events have adjust = 0, normal events have adjust = 1
$adjust = intval($_POST['adjust']);
- $start = datetime_convert((($adjust) ? $tz : 'UTC'), 'UTC', escape_tags($_REQUEST['dtstart']));
- $finish = datetime_convert((($adjust) ? $tz : 'UTC'), 'UTC', escape_tags($_REQUEST['dtend']));
+ $timezone = ((x($_POST, 'timezone_select')) ? escape_tags(trim($_POST['timezone_select'])) : '');
+ $tz = (($timezone) ? $timezone : date_default_timezone_get());
- $timezone = ((x($_POST,'timezone_select')) ? escape_tags(trim($_POST['timezone_select'])) : '');
- $tz = (($timezone) ? $timezone : date_default_timezone_get());
+ $start = datetime_convert((($adjust) ? $tz : 'UTC'), 'UTC', escape_tags($_REQUEST['dtstart']));
+ $finish = datetime_convert((($adjust) ? $tz : 'UTC'), 'UTC', escape_tags($_REQUEST['dtend']));
- if(! $adjust)
+ if (!$adjust)
$tz = 'UTC';
$summary = escape_tags(trim($_POST['summary']));
@@ -52,88 +57,86 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
// It won't hurt anything, but somebody will file a bug report
// and we'll waste a bunch of time responding to it. Time that
// could've been spent doing something else.
-
- if(strcmp($finish,$start) < 0 && !$nofinish) {
- notice( t('Event can not end before it has started.') . EOL);
- if(intval($_REQUEST['preview'])) {
- echo( t('Unable to generate preview.'));
+
+ if (strcmp($finish, $start) < 0) {
+ notice(t('Event can not end before it has started.') . EOL);
+ if (intval($_REQUEST['preview'])) {
+ echo(t('Unable to generate preview.'));
}
killme();
}
-
- if((! $summary) || (! $start)) {
- notice( t('Event title and start time are required.') . EOL);
- if(intval($_REQUEST['preview'])) {
- echo( t('Unable to generate preview.'));
+
+ if ((!$summary) || (!$start)) {
+ notice(t('Event title and start time are required.') . EOL);
+ if (intval($_REQUEST['preview'])) {
+ echo(t('Unable to generate preview.'));
}
killme();
}
- $channel = \App::get_channel();
-
- $acl = new \Zotlabs\Access\AccessList(false);
-
- if($event_id) {
+ $acl = new AccessList([]);
+
+ if ($event_id) {
$x = q("select * from event where id = %d and uid = %d limit 1",
intval($event_id),
- intval(local_channel())
+ intval($uid)
);
- if(! $x) {
- notice( t('Event not found.') . EOL);
- if(intval($_REQUEST['preview'])) {
- echo( t('Unable to generate preview.'));
+ if (!$x) {
+ notice(t('Event not found.') . EOL);
+ if (intval($_REQUEST['preview'])) {
+ echo(t('Unable to generate preview.'));
killme();
}
return;
}
-
+
$acl->set($x[0]);
-
+
$created = $x[0]['created'];
- $edited = datetime_convert();
+ $edited = datetime_convert();
}
else {
$created = $edited = datetime_convert();
$acl->set_from_array($_POST);
}
-
+
$post_tags = array();
- $channel = \App::get_channel();
- $ac = $acl->get();
+ $channel = App::get_channel();
+ $ac = $acl->get();
$str_contact_allow = $ac['allow_cid'];
$str_group_allow = $ac['allow_gid'];
- $str_contact_deny = $ac['deny_cid'];
- $str_group_deny = $ac['deny_gid'];
+ $str_contact_deny = $ac['deny_cid'];
+ $str_group_deny = $ac['deny_gid'];
$private = $acl->is_private();
require_once('include/text.php');
- $results = linkify_tags($desc, local_channel());
+ $results = linkify_tags($desc, $uid);
- if($results) {
+ if ($results) {
// Set permissions based on tag replacements
- set_linkified_perms($results, $str_contact_allow, $str_group_allow, local_channel(), false, $private);
+ set_linkified_perms($results, $str_contact_allow, $str_group_allow, $uid, false, $private);
- foreach($results as $result) {
+ foreach ($results as $result) {
$success = $result['success'];
- if($success['replaced']) {
+ if ($success['replaced']) {
$post_tags[] = array(
- 'uid' => local_channel(),
+ 'uid' => $uid,
'ttype' => $success['termtype'],
'otype' => TERM_OBJ_POST,
'term' => $success['term'],
'url' => $success['url']
- );
+ );
}
}
}
- if(strlen($categories)) {
- $cats = explode(',',$categories);
- foreach($cats as $cat) {
+ if (strlen($categories)) {
+ $cats = explode(',', $categories);
+ foreach ($cats as $cat) {
$post_tags[] = array(
- 'uid' => local_channel(),
+ 'uid' => $uid,
'ttype' => TERM_CATEGORY,
'otype' => TERM_OBJ_POST,
'term' => trim($cat),
@@ -141,175 +144,170 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
);
}
}
-
- $datarray = array();
- $datarray['dtstart'] = $start;
- $datarray['dtend'] = $finish;
- $datarray['summary'] = $summary;
+
+ $datarray = array();
+ $datarray['dtstart'] = $start;
+ $datarray['dtend'] = $finish;
+ $datarray['summary'] = $summary;
$datarray['description'] = $desc;
- $datarray['location'] = $location;
- $datarray['etype'] = $type;
- $datarray['adjust'] = $adjust;
- $datarray['nofinish'] = 0;
- $datarray['uid'] = local_channel();
- $datarray['account'] = get_account_id();
+ $datarray['location'] = $location;
+ $datarray['etype'] = $type;
+ $datarray['adjust'] = $adjust;
+ $datarray['nofinish'] = 0;
+ $datarray['uid'] = $uid;
+ $datarray['account'] = get_account_id();
$datarray['event_xchan'] = $channel['channel_hash'];
- $datarray['allow_cid'] = $str_contact_allow;
- $datarray['allow_gid'] = $str_group_allow;
- $datarray['deny_cid'] = $str_contact_deny;
- $datarray['deny_gid'] = $str_group_deny;
- $datarray['private'] = intval($private);
- $datarray['id'] = $event_id;
- $datarray['created'] = $created;
- $datarray['edited'] = $edited;
- $datarray['timezone'] = $tz;
-
-
- if(intval($_REQUEST['preview'])) {
+ $datarray['allow_cid'] = $str_contact_allow;
+ $datarray['allow_gid'] = $str_group_allow;
+ $datarray['deny_cid'] = $str_contact_deny;
+ $datarray['deny_gid'] = $str_group_deny;
+ $datarray['private'] = intval($private);
+ $datarray['id'] = $event_id;
+ $datarray['created'] = $created;
+ $datarray['edited'] = $edited;
+ $datarray['timezone'] = $tz;
+
+
+ if (intval($_REQUEST['preview'])) {
$html = format_event_html($datarray);
echo $html;
killme();
}
-
+
$event = event_store_event($datarray);
-
- if($post_tags)
+
+ if ($post_tags)
$datarray['term'] = $post_tags;
-
- $item_id = event_store_item($datarray,$event);
-
- if($item_id) {
+
+ $item_id = event_store_item($datarray, $event);
+
+ if ($item_id) {
$r = q("select * from item where id = %d",
intval($item_id)
);
- if($r) {
+ if ($r) {
xchan_query($r);
$sync_item = fetch_post_tags($r);
- $z = q("select * from event where event_hash = '%s' and uid = %d limit 1",
+ $z = q("select * from event where event_hash = '%s' and uid = %d limit 1",
dbesc($r[0]['resource_id']),
intval($channel['channel_id'])
);
- if($z) {
- Libsync::build_sync_packet($channel['channel_id'],array('event_item' => array(encode_item($sync_item[0],true)),'event' => $z));
+ if ($z) {
+ Libsync::build_sync_packet($channel['channel_id'], array('event_item' => array(encode_item($sync_item[0], true)), 'event' => $z));
}
}
}
-
- \Zotlabs\Daemon\Master::Summon(array('Notifier','event',$item_id));
+
+ Master::Summon(array('Notifier', 'event', $item_id));
killme();
-
+
}
-
-
-
+
+
function get() {
-
- if(argc() > 2 && argv(1) == 'ical') {
+
+ if (argc() > 2 && argv(1) == 'ical') {
$event_id = argv(2);
-
+
require_once('include/security.php');
$sql_extra = permissions_sql(local_channel());
-
+
$r = q("select * from event where event_hash = '%s' $sql_extra limit 1",
dbesc($event_id)
);
- if($r) {
+ if ($r) {
header('Content-type: text/calendar');
- header('content-disposition: attachment; filename="' . t('event') . '-' . $event_id . '.ics"' );
+ header('content-disposition: attachment; filename="' . t('event') . '-' . $event_id . '.ics"');
echo ical_wrapper($r);
killme();
}
else {
- notice( t('Event not found.') . EOL );
+ notice(t('Event not found.') . EOL);
return;
}
}
-
- if(! local_channel()) {
- notice( t('Permission denied.') . EOL);
+
+ if (!local_channel()) {
+ notice(t('Permission denied.') . EOL);
return;
}
- if((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) {
- $r = q("update event set dismissed = 1 where id = %d and uid = %d",
+ if ((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) {
+ q("update event set dismissed = 1 where id = %d and uid = %d",
intval(argv(2)),
intval(local_channel())
);
}
-
- if((argc() > 2) && (argv(1) === 'unignore') && intval(argv(2))) {
- $r = q("update event set dismissed = 0 where id = %d and uid = %d",
+
+ if ((argc() > 2) && (argv(1) === 'unignore') && intval(argv(2))) {
+ q("update event set dismissed = 0 where id = %d and uid = %d",
intval(argv(2)),
intval(local_channel())
);
}
- $channel = \App::get_channel();
-
- $mode = 'view';
- $export = false;
- $ignored = ((x($_REQUEST,'ignored')) ? " and dismissed = " . intval($_REQUEST['ignored']) . " " : '');
+ $mode = 'view';
+ $export = false;
+ $ignored = ((x($_REQUEST, 'ignored')) ? " and dismissed = " . intval($_REQUEST['ignored']) . " " : '');
- if(argc() > 1) {
- if(argc() > 2 && argv(1) === 'add') {
- $mode = 'add';
+ if (argc() > 1) {
+ if (argc() > 2 && argv(1) === 'add') {
+ $mode = 'add';
$item_id = intval(argv(2));
}
- if(argc() > 2 && argv(1) === 'drop') {
- $mode = 'drop';
+ if (argc() > 2 && argv(1) === 'drop') {
+ $mode = 'drop';
$event_id = argv(2);
}
- if(argc() <= 2 && argv(1) === 'export') {
+ if (argc() <= 2 && argv(1) === 'export') {
$export = true;
}
- if(argc() > 2 && intval(argv(1)) && intval(argv(2))) {
+ if (argc() > 2 && intval(argv(1)) && intval(argv(2))) {
$mode = 'view';
}
- if(argc() <= 2) {
- $mode = 'view';
+ if (argc() <= 2) {
+ $mode = 'view';
$event_id = argv(1);
}
}
-
- if($mode === 'add') {
- event_addtocal($item_id,local_channel());
+
+ if ($mode === 'add') {
+ event_addtocal($item_id, local_channel());
killme();
}
-
- if($mode == 'view') {
-
+
+ if ($mode == 'view') {
+
/* edit/create form */
- if($event_id) {
- $r = q("SELECT * FROM event WHERE event_hash = '%s' AND uid = %d LIMIT 1",
+ if ($event_id) {
+ q("SELECT * FROM event WHERE event_hash = '%s' AND uid = %d LIMIT 1",
dbesc($event_id),
intval(local_channel())
);
- if(count($r))
- $orig_event = $r[0];
}
-
- $channel = \App::get_channel();
- if (argv(1) === 'json'){
- if (x($_GET,'start')) $start = $_GET['start'];
- if (x($_GET,'end')) $finish = $_GET['end'];
+ $channel = App::get_channel();
+
+ if (argv(1) === 'json') {
+ if (x($_GET, 'start')) $start = $_GET['start'];
+ if (x($_GET, 'end')) $finish = $_GET['end'];
}
-
- $start = datetime_convert('UTC','UTC',$start);
- $finish = datetime_convert('UTC','UTC',$finish);
- $adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start);
+
+ $start = datetime_convert('UTC', 'UTC', $start);
+ $finish = datetime_convert('UTC', 'UTC', $finish);
+ $adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start);
$adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish);
- if (x($_GET,'id')){
- $r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan, item.id as item_id
+ if (x($_GET, 'id')) {
+ $r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan, item.id as item_id
from event left join item on item.resource_id = event.event_hash
where item.resource_type = 'event' and event.uid = %d and event.id = %d limit 1",
intval(local_channel()),
intval($_GET['id'])
);
}
- elseif($export) {
+ elseif ($export) {
$r = q("SELECT event.*, item.id as item_id
from event left join item on item.resource_id = event.event_hash
where event.uid = %d and event.dtstart > '%s' and event.dtend > event.dtstart",
@@ -335,104 +333,105 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
dbesc($adjust_finish)
);
}
-
- if($r && ! $export) {
+
+ if ($r && !$export) {
xchan_query($r);
- $r = fetch_post_tags($r,true);
+ $r = fetch_post_tags($r, true);
$r = sort_by_date($r);
}
$events = [];
- if($r) {
-
- foreach($r as $rr) {
+ if ($r) {
+
+ foreach ($r as $rr) {
$start = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['dtstart'], 'c') : datetime_convert('UTC', 'UTC', $rr['dtstart'], 'c'));
- if ($rr['nofinish']){
+ if ($rr['nofinish']) {
$end = null;
- } else {
+ }
+ else {
$end = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['dtend'], 'c') : datetime_convert('UTC', 'UTC', $rr['dtend'], 'c'));
}
- $catsenabled = feature_enabled(local_channel(),'categories');
- $categories = '';
- if($catsenabled){
- if($rr['term']) {
+ $catsenabled = feature_enabled(local_channel(), 'categories');
+ $categories = '';
+ if ($catsenabled) {
+ if ($rr['term']) {
$cats = get_terms_oftype($rr['term'], TERM_CATEGORY);
foreach ($cats as $cat) {
- if(strlen($categories))
+ if (strlen($categories))
$categories .= ', ';
$categories .= $cat['term'];
}
}
}
- $edit = ((local_channel() && $rr['author_xchan'] == get_observer_hash()) ? array(z_root().'/events/'.$rr['event_hash'].'?expandform=1',t('Edit event'),'','') : false);
-
- $drop = array(z_root().'/events/drop/'.$rr['event_hash'],t('Delete event'),'','');
-
+ $edit = ((local_channel() && $rr['author_xchan'] == get_observer_hash()) ? array(z_root() . '/events/' . $rr['event_hash'] . '?expandform=1', t('Edit event'), '', '') : false);
+
+ $drop = array(z_root() . '/events/drop/' . $rr['event_hash'], t('Delete event'), '', '');
+
$tz = get_iconfig($rr, 'event', 'timezone');
- if(! $tz)
+ if (!$tz)
$tz = 'UTC';
$events[] = array(
'calendar_id' => 'channel_calendar',
- 'rw' => true,
- 'id'=>$rr['id'],
- 'uri' => $rr['event_hash'],
- 'timezone' => $tz,
- 'start'=> $start,
- 'end' => $end,
- 'drop' => $drop,
- 'allDay' => (($rr['adjust']) ? 0 : 1),
- 'title' => html_entity_decode($rr['summary'], ENT_COMPAT, 'UTF-8'),
- 'editable' => $edit ? true : false,
- 'item' => $rr,
- 'plink' => [$rr['plink'], t('Link to source')],
+ 'rw' => true,
+ 'id' => $rr['id'],
+ 'uri' => $rr['event_hash'],
+ 'timezone' => $tz,
+ 'start' => $start,
+ 'end' => $end,
+ 'drop' => $drop,
+ 'allDay' => (($rr['adjust']) ? 0 : 1),
+ 'title' => html_entity_decode($rr['summary'], ENT_COMPAT, 'UTF-8'),
+ 'editable' => $edit ? true : false,
+ 'item' => $rr,
+ 'plink' => [$rr['plink'], t('Link to source')],
'description' => html_entity_decode($rr['description'], ENT_COMPAT, 'UTF-8'),
- 'location' => html_entity_decode($rr['location'], ENT_COMPAT, 'UTF-8'),
- 'allow_cid' => expand_acl($rr['allow_cid']),
- 'allow_gid' => expand_acl($rr['allow_gid']),
- 'deny_cid' => expand_acl($rr['deny_cid']),
- 'deny_gid' => expand_acl($rr['deny_gid']),
- 'categories' => $categories
+ 'location' => html_entity_decode($rr['location'], ENT_COMPAT, 'UTF-8'),
+ 'allow_cid' => expand_acl($rr['allow_cid']),
+ 'allow_gid' => expand_acl($rr['allow_gid']),
+ 'deny_cid' => expand_acl($rr['deny_cid']),
+ 'deny_gid' => expand_acl($rr['deny_gid']),
+ 'categories' => $categories
);
}
}
-
- if($export) {
+
+ if ($export) {
header('Content-type: text/calendar');
- header('content-disposition: attachment; filename="' . t('calendar') . '-' . $channel['channel_address'] . '.ics"' );
+ header('content-disposition: attachment; filename="' . t('calendar') . '-' . $channel['channel_address'] . '.ics"');
echo ical_wrapper($r);
killme();
}
- if (\App::$argv[1] === 'json'){
+ if (App::$argv[1] === 'json') {
json_return_and_die($events);
}
}
-
- if($mode === 'drop' && $event_id) {
+
+ if ($mode === 'drop' && $event_id) {
$r = q("SELECT * FROM event WHERE event_hash = '%s' AND uid = %d LIMIT 1",
dbesc($event_id),
intval(local_channel())
);
-
+
$sync_event = $r[0];
-
- if($r) {
+
+ if ($r) {
$r = q("delete from event where event_hash = '%s' and uid = %d",
dbesc($event_id),
intval(local_channel())
);
- if($r) {
+ if ($r) {
$sync_event['event_deleted'] = 1;
- Libsync::build_sync_packet(0,array('event' => array($sync_event)));
+ Libsync::build_sync_packet(0, array('event' => array($sync_event)));
$i = q("select * from item where resource_type = 'event' and resource_id = '%s' and uid = %d",
dbesc($event_id),
@@ -441,11 +440,11 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
if ($i) {
- $can_delete = false;
+ $can_delete = false;
$local_delete = true;
$ob_hash = get_observer_hash();
- if($ob_hash && ($ob_hash === $i[0]['author_xchan'] || $ob_hash === $i[0]['owner_xchan'] || $ob_hash === $i[0]['source_xchan'])) {
+ if ($ob_hash && ($ob_hash === $i[0]['author_xchan'] || $ob_hash === $i[0]['owner_xchan'] || $ob_hash === $i[0]['source_xchan'])) {
$can_delete = true;
}
@@ -453,49 +452,49 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
// If the item originated on this site+channel the deletion will propagate downstream.
// Otherwise just the local copy is removed.
- if(is_site_admin()) {
+ if (is_site_admin()) {
$local_delete = true;
- if(intval($i[0]['item_origin']))
+ if (intval($i[0]['item_origin']))
$can_delete = true;
}
- if($can_delete || $local_delete) {
+ if ($can_delete || $local_delete) {
// if this is a different page type or it's just a local delete
// but not by the item author or owner, do a simple deletion
- $complex = false;
+ $complex = false;
- if(intval($i[0]['item_type']) || ($local_delete && (! $can_delete))) {
+ if (intval($i[0]['item_type']) || ($local_delete && (!$can_delete))) {
drop_item($i[0]['id']);
}
else {
// complex deletion that needs to propagate and be performed in phases
- drop_item($i[0]['id'],true,DROPITEM_PHASE1);
+ drop_item($i[0]['id'], true, DROPITEM_PHASE1);
$complex = true;
}
$ii = q("select * from item where id = %d",
intval($i[0]['id'])
);
- if($ii) {
+ if ($ii) {
xchan_query($ii);
$sync_item = fetch_post_tags($ii);
- Libsync::build_sync_packet($i[0]['uid'],array('item' => array(encode_item($sync_item[0],true))));
+ Libsync::build_sync_packet($i[0]['uid'], array('item' => array(encode_item($sync_item[0], true))));
}
- if($complex) {
- tag_deliver($i[0]['uid'],$i[0]['id']);
+ if ($complex) {
+ tag_deliver($i[0]['uid'], $i[0]['id']);
}
}
}
killme();
}
- notice( t('Failed to remove event' ) . EOL);
+ notice(t('Failed to remove event') . EOL);
killme();
}
}
-
+
}
-
+
}
diff --git a/Zotlabs/Module/Chanview.php b/Zotlabs/Module/Chanview.php
index 12e1891d4..8ae4841b4 100644
--- a/Zotlabs/Module/Chanview.php
+++ b/Zotlabs/Module/Chanview.php
@@ -70,7 +70,7 @@ class Chanview extends \Zotlabs\Web\Controller {
$zf = Zotfinger::exec($_REQUEST['url'], null);
if(array_path_exists('signature/signer',$zf) && $zf['signature']['signer'] === $_REQUEST['url'] && intval($zf['signature']['header_valid'])) {
- Libzot::import_xchan($j);
+ Libzot::import_xchan($zf['data']);
$r = q("select * from xchan where xchan_url = '%s'",
dbesc($_REQUEST['url'])
);
diff --git a/Zotlabs/Module/Cloud.php b/Zotlabs/Module/Cloud.php
index 39ae0f92f..3d1b97980 100644
--- a/Zotlabs/Module/Cloud.php
+++ b/Zotlabs/Module/Cloud.php
@@ -105,7 +105,7 @@ class Cloud extends Controller {
// All we need to do now, is to fire up the server
- $server->exec();
+ $server->start();
if($browser->build_page)
construct_page();
diff --git a/Zotlabs/Module/Connections.php b/Zotlabs/Module/Connections.php
index 7dc301623..5025f4e22 100644
--- a/Zotlabs/Module/Connections.php
+++ b/Zotlabs/Module/Connections.php
@@ -109,6 +109,7 @@ class Connections extends \Zotlabs\Web\Controller {
case 'all':
$head = t('All');
+ break;
default:
$search_flags = " and abook_blocked = 0 and abook_ignored = 0 and abook_hidden = 0 and abook_archived = 0 and abook_not_here = 0 ";
$active = true;
@@ -238,7 +239,7 @@ class Connections extends \Zotlabs\Web\Controller {
}
$r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash
- where abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra $sql_extra2 ",
+ where abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra ",
intval(local_channel())
);
if($r) {
@@ -247,7 +248,7 @@ class Connections extends \Zotlabs\Web\Controller {
}
$r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash
- WHERE abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra $sql_extra2 ORDER BY $sql_order LIMIT %d OFFSET %d ",
+ WHERE abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra ORDER BY $sql_order LIMIT %d OFFSET %d ",
intval(local_channel()),
intval(App::$pager['itemspage']),
intval(App::$pager['start'])
diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php
index becf8460d..582563451 100644
--- a/Zotlabs/Module/Connedit.php
+++ b/Zotlabs/Module/Connedit.php
@@ -32,10 +32,10 @@ class Connedit extends Controller {
*/
function init() {
-
+
if(! local_channel())
return;
-
+
if((argc() >= 2) && intval(argv(1))) {
$r = q("SELECT abook.*, xchan.*
FROM abook left join xchan on abook_xchan = xchan_hash
@@ -47,54 +47,54 @@ class Connedit extends Controller {
App::$poi = array_shift($r);
}
}
-
+
$channel = App::get_channel();
if($channel)
head_set_icon($channel['xchan_photo_s']);
-
+
}
-
+
/* @brief Evaluate posted values and set changes
*
*/
-
+
function post() {
-
+
if(! local_channel())
return;
-
+
$contact_id = intval(argv(1));
if(! $contact_id)
return;
-
+
$channel = App::get_channel();
-
+
// TODO if configured for hassle-free permissions, we'll post the form with ajax as soon as the
// connection enable is toggled to a special autopost url and set permissions immediately, leaving
// the other form elements alone pending a manual submit of the form. The downside is that there
// will be a window of opportunity when the permissions have been set but before you've had a chance
// to review and possibly restrict them. The upside is we won't have to warn you that your connection
// can't do anything until you save the bloody form.
-
+
$autopost = (((argc() > 2) && (argv(2) === 'auto')) ? true : false);
-
+
$orig_record = q("SELECT * FROM abook WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
intval($contact_id),
intval(local_channel())
);
-
+
if(! $orig_record) {
notice( t('Could not access contact record.') . EOL);
goaway(z_root() . '/connections');
return; // NOTREACHED
}
-
+
call_hooks('contact_edit_post', $_POST);
-
+
$vc = get_abconfig(local_channel(),$orig_record['abook_xchan'],'system','vcard');
- $vcard = (($vc) ? \Sabre\VObject\Reader::read($vc) : null);
+ $vcard = (($vc) ? \Sabre\VObject\Reader::read($vc) : null);
$serialised_vcard = update_vcard($_REQUEST,$vcard);
if($serialised_vcard)
set_abconfig(local_channel(),$orig_record[0]['abook_xchan'],'system','vcard',$serialised_vcard);
@@ -107,8 +107,8 @@ class Connedit extends Controller {
$autoperms = null;
$is_self = false;
}
-
-
+
+
$profile_id = ((array_key_exists('profile_assign',$_POST)) ? $_POST['profile_assign'] : $orig_record[0]['abook_profile']);
if($profile_id) {
@@ -121,17 +121,17 @@ class Connedit extends Controller {
return;
}
}
-
+
$abook_incl = ((array_key_exists('abook_incl',$_POST)) ? escape_tags($_POST['abook_incl']) : $orig_record[0]['abook_incl']);
$abook_excl = ((array_key_exists('abook_excl',$_POST)) ? escape_tags($_POST['abook_excl']) : $orig_record[0]['abook_excl']);
$hidden = intval($_POST['hidden']);
-
+
$priority = intval($_POST['poll']);
if($priority > 5 || $priority < 0)
$priority = 0;
-
+
if(! array_key_exists('closeness',$_POST)) {
$_POST['closeness'] = 80;
}
@@ -139,15 +139,15 @@ class Connedit extends Controller {
if($closeness < 0 || $closeness > 99) {
$closeness = 80;
}
-
+
$rating = intval($_POST['rating']);
if($rating < (-10))
$rating = (-10);
if($rating > 10)
$rating = 10;
-
+
$rating_text = trim(escape_tags($_REQUEST['rating_text']));
-
+
$all_perms = Permissions::Perms();
if($all_perms) {
@@ -168,27 +168,27 @@ class Connedit extends Controller {
}
}
- if(! is_null($autoperms))
+ if(! is_null($autoperms))
set_pconfig($channel['channel_id'],'system','autoperms',$autoperms);
-
+
$new_friend = false;
-
+
// only store a record and notify the directory if the rating changed
if(! $is_self) {
-
+
$signed = $orig_record[0]['abook_xchan'] . '.' . $rating . '.' . $rating_text;
$sig = base64url_encode(rsa_sign($signed,$channel['channel_prvkey']));
$rated = ((intval($rating) || strlen($rating_text)) ? true : false);
-
+
$record = 0;
-
+
$z = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1 limit 1",
dbesc($channel['channel_hash']),
dbesc($orig_record[0]['abook_xchan'])
);
-
+
if($z) {
if(($z[0]['xlink_rating'] != $rating) || ($z[0]['xlink_rating_text'] != $rating_text)) {
$record = $z[0]['xlink_id'];
@@ -223,18 +223,18 @@ class Connedit extends Controller {
Master::Summon(array('Ratenotif','rating',$record));
}
}
-
+
if(($_REQUEST['pending']) && intval($orig_record[0]['abook_pending'])) {
$new_friend = true;
-
+
// @fixme it won't be common, but when you accept a new connection request
// the permissions will now be that of your permissions role and ignore
// any you may have set manually on the form. We'll probably see a bug if somebody
// tries to set the permissions *and* approve the connection in the same
// request. The workaround is to approve the connection, then go back and
// adjust permissions as desired.
-
+
$p = Permissions::connect_perms(local_channel());
$my_perms = $p['perms'];
if($my_perms) {
@@ -247,7 +247,7 @@ class Connedit extends Controller {
$abook_pending = (($new_friend) ? 0 : $orig_record[0]['abook_pending']);
-
+
$r = q("UPDATE abook SET abook_profile = '%s', abook_closeness = %d, abook_pending = %d,
abook_incl = '%s', abook_excl = '%s'
where abook_id = %d AND abook_channel = %d",
@@ -259,7 +259,7 @@ class Connedit extends Controller {
intval($contact_id),
intval(local_channel())
);
-
+
if($r)
info( t('Connection updated.') . EOL);
else
@@ -267,16 +267,16 @@ class Connedit extends Controller {
if(! intval(App::$poi['abook_self'])) {
if($new_friend) {
- Master::Summon( [ 'Notifier', 'permission_accept', $contact_id ] );
+ Master::Summon( [ 'Notifier', 'permission_accept', $contact_id ] );
}
- Master::Summon( [
- 'Notifier',
- (($new_friend) ? 'permission_create' : 'permission_update'),
- $contact_id
+ Master::Summon( [
+ 'Notifier',
+ (($new_friend) ? 'permission_create' : 'permission_update'),
+ $contact_id
]);
}
-
+
if($new_friend) {
$default_group = $channel['channel_default_group'];
if($default_group) {
@@ -285,11 +285,11 @@ class Connedit extends Controller {
if($g)
group_add_member(local_channel(),'',App::$poi['abook_xchan'],$g['id']);
}
-
+
// Check if settings permit ("post new friend activity" is allowed, and
// friends in general or this friend in particular aren't hidden)
// and send out a new friend activity
-
+
$pr = q("select * from profile where uid = %d and is_default = 1 and hide_friends = 0",
intval($channel['channel_id'])
);
@@ -305,23 +305,23 @@ class Connedit extends Controller {
$xarr['deny_cid'] = $channel['channel_deny_cid'];
$xarr['deny_gid'] = $channel['channel_deny_gid'];
$xarr['item_private'] = (($xarr['allow_cid']||$xarr['allow_gid']||$xarr['deny_cid']||$xarr['deny_gid']) ? 1 : 0);
-
+
$xarr['body'] = '[zrl=' . $channel['xchan_url'] . ']' . $channel['xchan_name'] . '[/zrl]' . ' ' . t('is now connected to') . ' ' . '[zrl=' . App::$poi['xchan_url'] . ']' . App::$poi['xchan_name'] . '[/zrl]';
-
+
$xarr['body'] .= "\n\n\n" . '[zrl=' . App::$poi['xchan_url'] . '][zmg=80x80]' . App::$poi['xchan_photo_m'] . '[/zmg][/zrl]';
-
+
post_activity_item($xarr);
-
+
}
-
-
+
+
// pull in a bit of content if there is any to pull in
Master::Summon(array('Onepoll',$contact_id));
-
+
}
-
+
// Refresh the structure in memory with the new data
-
+
$r = q("SELECT abook.*, xchan.*
FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d and abook_id = %d LIMIT 1",
@@ -331,34 +331,34 @@ class Connedit extends Controller {
if($r) {
App::$poi = $r[0];
}
-
+
if($new_friend) {
$arr = array('channel_id' => local_channel(), 'abook' => App::$poi);
call_hooks('accept_follow', $arr);
}
-
+
$this->connedit_clone($a);
-
+
if(($_REQUEST['pending']) && (!$_REQUEST['done']))
goaway(z_root() . '/connections/ifpending');
-
+
return;
-
+
}
-
+
/* @brief Clone connection
*
*
*/
-
+
function connedit_clone(&$a) {
-
+
if(! App::$poi)
return;
-
-
+
+
$channel = App::get_channel();
-
+
$r = q("SELECT abook.*, xchan.*
FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d and abook_id = %d LIMIT 1",
@@ -368,40 +368,40 @@ class Connedit extends Controller {
if($r) {
App::$poi = array_shift($r);
}
-
+
$clone = App::$poi;
-
+
unset($clone['abook_id']);
unset($clone['abook_account']);
unset($clone['abook_channel']);
-
+
$abconfig = load_abconfig($channel['channel_id'],$clone['abook_xchan']);
if($abconfig)
$clone['abconfig'] = $abconfig;
-
+
Libsync::build_sync_packet(0 /* use the current local_channel */, array('abook' => array($clone)));
}
-
+
/* @brief Generate content of connection edit page
*
*
*/
-
+
function get() {
-
+
$sort_type = 0;
$o = '';
-
+
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
return login();
}
-
+
$section = ((array_key_exists('section',$_REQUEST)) ? $_REQUEST['section'] : '');
$channel = App::get_channel();
-
+
$yes_no = array(t('No'),t('Yes'));
-
+
$connect_perms = Permissions::connect_perms(local_channel());
$o .= "<script>function connectDefaultShare() {
@@ -415,13 +415,13 @@ class Connedit extends Controller {
}
}
$o .= " }\n</script>\n";
-
+
if(argc() == 3) {
-
+
$contact_id = intval(argv(1));
if(! $contact_id)
return;
-
+
$cmd = argv(2);
$orig_record = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash
@@ -429,17 +429,17 @@ class Connedit extends Controller {
intval($contact_id),
intval(local_channel())
);
-
+
if(! count($orig_record)) {
notice( t('Could not access address book record.') . EOL);
goaway(z_root() . '/connections');
}
-
+
if($cmd === 'update') {
// pull feed and consume it, which should subscribe to the hub.
Master::Summon(array('Poller',$contact_id));
goaway(z_root() . '/connedit/' . $contact_id);
-
+
}
if($cmd === 'fetchvc') {
@@ -474,7 +474,7 @@ class Connedit extends Controller {
dbesc($orig_record[0]['xchan_hash'])
);
$cmd = 'refresh';
- }
+ }
if($cmd === 'refresh') {
if($orig_record[0]['xchan_network'] === 'zot') {
@@ -486,13 +486,13 @@ class Connedit extends Controller {
notice( t('Refresh failed - channel is currently unavailable.') );
}
else {
-
+
// if you are on a different network we'll force a refresh of the connection basic info
Master::Summon(array('Notifier','permission_update',$contact_id));
}
goaway(z_root() . '/connedit/' . $contact_id);
}
-
+
if($cmd === 'block') {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_BLOCKED)) {
$this->connedit_clone($a);
@@ -501,7 +501,7 @@ class Connedit extends Controller {
notice(t('Unable to set address book parameters.') . EOL);
goaway(z_root() . '/connedit/' . $contact_id);
}
-
+
if($cmd === 'ignore') {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_IGNORED)) {
$this->connedit_clone($a);
@@ -510,7 +510,7 @@ class Connedit extends Controller {
notice(t('Unable to set address book parameters.') . EOL);
goaway(z_root() . '/connedit/' . $contact_id);
}
-
+
if($cmd === 'archive') {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_ARCHIVED)) {
$this->connedit_clone($a);
@@ -519,7 +519,7 @@ class Connedit extends Controller {
notice(t('Unable to set address book parameters.') . EOL);
goaway(z_root() . '/connedit/' . $contact_id);
}
-
+
if($cmd === 'hide') {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_HIDDEN)) {
$this->connedit_clone($a);
@@ -528,10 +528,10 @@ class Connedit extends Controller {
notice(t('Unable to set address book parameters.') . EOL);
goaway(z_root() . '/connedit/' . $contact_id);
}
-
+
// We'll prevent somebody from unapproving an already approved contact.
// Though maybe somebody will want this eventually (??)
-
+
if($cmd === 'approve') {
if(intval($orig_record[0]['abook_pending'])) {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_PENDING)) {
@@ -542,10 +542,10 @@ class Connedit extends Controller {
}
goaway(z_root() . '/connedit/' . $contact_id);
}
-
-
+
+
if($cmd === 'drop') {
-
+
contact_remove(local_channel(), $orig_record[0]['abook_id']);
Master::Summon( [ 'Notifier', 'purge', local_channel(), $orig_record[0]['xchan_hash'] ] );
@@ -556,17 +556,17 @@ class Connedit extends Controller {
'entry_deleted' => true))
)
);
-
+
info( t('Connection has been removed.') . EOL );
if(x($_SESSION,'return_url'))
goaway(z_root() . '/' . $_SESSION['return_url']);
goaway(z_root() . '/contacts');
-
+
}
}
-
+
if(App::$poi) {
-
+
$abook_prev = 0;
$abook_next = 0;
@@ -595,14 +595,14 @@ class Connedit extends Controller {
}
$tools = array(
-
+
'view' => array(
'label' => t('View Profile'),
'url' => chanlink_cid($contact['abook_id']),
'sel' => '',
'title' => sprintf( t('View %s\'s profile'), $contact['xchan_name']),
),
-
+
'refresh' => array(
'label' => t('Refresh Permissions'),
'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/refresh',
@@ -616,14 +616,14 @@ class Connedit extends Controller {
'sel' => '',
'title' => t('Fetch updated photo'),
),
-
+
'recent' => array(
'label' => t('Recent Activity'),
'url' => z_root() . '/network/?f=&cid=' . $contact['abook_id'],
'sel' => '',
'title' => t('View recent posts and comments'),
),
-
+
'block' => array(
'label' => (intval($contact['abook_blocked']) ? t('Unblock') : t('Block')),
'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/block',
@@ -631,7 +631,7 @@ class Connedit extends Controller {
'title' => t('Block (or Unblock) all communications with this connection'),
'info' => (intval($contact['abook_blocked']) ? t('This connection is blocked!') : ''),
),
-
+
'ignore' => array(
'label' => (intval($contact['abook_ignored']) ? t('Unignore') : t('Ignore')),
'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/ignore',
@@ -639,7 +639,7 @@ class Connedit extends Controller {
'title' => t('Ignore (or Unignore) all inbound communications from this connection'),
'info' => (intval($contact['abook_ignored']) ? t('This connection is ignored!') : ''),
),
-
+
'archive' => array(
'label' => (intval($contact['abook_archived']) ? t('Unarchive') : t('Archive')),
'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/archive',
@@ -647,7 +647,7 @@ class Connedit extends Controller {
'title' => t('Archive (or Unarchive) this connection - mark channel dead but keep content'),
'info' => (intval($contact['abook_archived']) ? t('This connection is archived!') : ''),
),
-
+
'hide' => array(
'label' => (intval($contact['abook_hidden']) ? t('Unhide') : t('Hide')),
'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/hide',
@@ -655,18 +655,18 @@ class Connedit extends Controller {
'title' => t('Hide or Unhide this connection from your other connections'),
'info' => (intval($contact['abook_hidden']) ? t('This connection is hidden!') : ''),
),
-
+
'delete' => array(
'label' => t('Delete'),
'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/drop',
'sel' => '',
'title' => t('Delete this connection'),
),
-
+
);
- if($contact['xchan_network'] === 'zot') {
+ if(in_array($contact['xchan_network'], ['zot6', 'zot'])) {
$tools['fetchvc'] = [
'label' => t('Fetch Vcard'),
'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/fetchvc',
@@ -684,24 +684,24 @@ class Connedit extends Controller {
'sel' => '',
'title' => t('Open Individual Permissions section by default'),
];
-
+
$self = false;
-
+
if(intval($contact['abook_self'])) {
$self = true;
$abook_prev = $abook_next = 0;
}
-
+
$vc = get_abconfig(local_channel(),$contact['abook_xchan'],'system','vcard');
- $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null);
+ $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null);
$vcard = (($vctmp) ? get_vcard_array($vctmp,$contact['abook_id']) : [] );
if(! $vcard)
$vcard['fn'] = $contact['xchan_name'];
$tpl = get_markup_template("abook_edit.tpl");
-
+
if(Apps::system_app_installed(local_channel(),'Affinity Tool')) {
$sections['affinity'] = [
@@ -710,7 +710,7 @@ class Connedit extends Controller {
'sel' => '',
'title' => t('Open Set Affinity section by default'),
];
-
+
$labels = [
t('Me'),
t('Family'),
@@ -720,7 +720,7 @@ class Connedit extends Controller {
];
call_hooks('affinity_labels',$labels);
$label_str = '';
-
+
if($labels) {
foreach($labels as $l) {
if($label_str) {
@@ -731,11 +731,11 @@ class Connedit extends Controller {
$label_str .= "'" . $l . "'";
}
}
-
+
$slider_tpl = get_markup_template('contact_slider.tpl');
-
+
$slideval = intval($contact['abook_closeness']);
-
+
$slide = replace_macros($slider_tpl,array(
'$min' => 1,
'$val' => $slideval,
@@ -751,22 +751,22 @@ class Connedit extends Controller {
'title' => t('Open Custom Filter section by default'),
];
}
-
+
$rating_val = 0;
$rating_text = '';
-
+
$xl = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1",
dbesc($channel['channel_hash']),
dbesc($contact['xchan_hash'])
);
-
+
if($xl) {
$rating_val = intval($xl[0]['xlink_rating']);
$rating_text = $xl[0]['xlink_rating_text'];
}
-
+
$rating_enabled = get_config('system','rating_enabled');
-
+
if($rating_enabled) {
$rating = replace_macros(get_markup_template('rating_slider.tpl'),array(
'$min' => -10,
@@ -776,28 +776,28 @@ class Connedit extends Controller {
else {
$rating = false;
}
-
-
+
+
$perms = array();
$channel = App::get_channel();
-
+
$global_perms = Permissions::Perms();
$existing = get_all_perms(local_channel(),$contact['abook_xchan'],false);
-
+
$unapproved = array('pending', t('Approve this connection'), '', t('Accept connection to allow communication'), array(t('No'),('Yes')));
-
+
$multiprofs = ((feature_enabled(local_channel(),'multi_profiles')) ? true : false);
-
+
if($slide && !$multiprofs)
$affinity = t('Set Affinity');
-
+
if(!$slide && $multiprofs)
$affinity = t('Set Profile');
-
+
if($slide && $multiprofs)
$affinity = t('Set Affinity & Profile');
-
+
$theirs = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'their_perms'",
intval(local_channel()),
dbesc($contact['abook_xchan'])
@@ -812,20 +812,20 @@ class Connedit extends Controller {
foreach($global_perms as $k => $v) {
$thisperm = get_abconfig(local_channel(),$contact['abook_xchan'],'my_perms',$k);
//fixme
-
+
$checkinherited = PermissionLimits::Get(local_channel(),$k);
-
+
// For auto permissions (when $self is true) we don't want to look at existing
// permissions because they are enabled for the channel owner
if((! $self) && ($existing[$k]))
$thisperm = "1";
-
-
+
+
$perms[] = array('perms_' . $k, $v, ((array_key_exists($k,$their_perms)) ? intval($their_perms[$k]) : ''),$thisperm, 1, (($checkinherited & PERMS_SPECIFIC) ? '' : '1'), '', $checkinherited);
}
-
+
$pcat = new Permcat(local_channel());
$pcatlist = $pcat->listing();
$permcats = [];
@@ -838,23 +838,23 @@ class Connedit extends Controller {
$locstr = locations_by_netid($contact['xchan_hash']);
if(! $locstr)
$locstr = unpunify($contact['xchan_url']);
-
+
$clone_warn = '';
$clonable = (in_array($contact['xchan_network'],['zot', 'zot6', 'rss']) ? true : false);
if(! $clonable) {
$clone_warn = '<strong>';
- $clone_warn .= ((intval($contact['abook_not_here']))
+ $clone_warn .= ((intval($contact['abook_not_here']))
? t('This connection is unreachable from this location.')
: t('This connection may be unreachable from other channel locations.')
);
$clone_warn .= '</strong><br>' . t('Location independence is not supported by their network.');
}
-
+
if(intval($contact['abook_not_here']) && $unclonable)
$not_here = t('This connection is unreachable from this location. Location independence is not supported by their network.');
-
+
$o .= replace_macros($tpl, [
'$header' => (($self) ? t('Connection Default Permissions') : sprintf( t('Connection: %s'),$contact['xchan_name'])),
'$autoperms' => array('autoperms',t('Apply these permissions automatically'), ((get_pconfig(local_channel(),'system','autoperms')) ? 1 : 0), t('Connection requests will be approved without your interaction'), $yes_no),
@@ -910,7 +910,7 @@ class Connedit extends Controller {
'$name' => $contact['xchan_name'],
'$abook_prev' => $abook_prev,
'$abook_next' => $abook_next,
- '$vcard_label' => t('Details'),
+ '$vcard_label' => t('Details'),
'$displayname' => $displayname,
'$name_label' => t('Name'),
'$org_label' => t('Organisation'),
@@ -939,13 +939,13 @@ class Connedit extends Controller {
'$zip_code' => t('ZIP Code'),
'$country' => t('Country')
]);
-
+
$arr = array('contact' => $contact,'output' => $o);
-
+
call_hooks('contact_edit', $arr);
-
+
return $arr['output'];
-
- }
+
+ }
}
}
diff --git a/Zotlabs/Module/Dav.php b/Zotlabs/Module/Dav.php
index 949b89950..96fe2c898 100644
--- a/Zotlabs/Module/Dav.php
+++ b/Zotlabs/Module/Dav.php
@@ -51,7 +51,7 @@ class Dav extends \Zotlabs\Web\Controller {
if($sigblock) {
$keyId = str_replace('acct:','',$sigblock['keyId']);
if($keyId) {
- $r = q("select * from hubloc where hubloc_addr = '%s'",
+ $r = q("select * from hubloc where hubloc_id_url = '%s'",
dbesc($keyId)
);
if($r) {
@@ -124,7 +124,7 @@ class Dav extends \Zotlabs\Web\Controller {
// $server->addPlugin(new \Zotlabs\Storage\QuotaPlugin($auth));
// All we need to do now, is to fire up the server
- $server->exec();
+ $server->start();
killme();
}
diff --git a/Zotlabs/Module/Directory.php b/Zotlabs/Module/Directory.php
index e1bf0f6cf..7295f3099 100644
--- a/Zotlabs/Module/Directory.php
+++ b/Zotlabs/Module/Directory.php
@@ -4,6 +4,8 @@ namespace Zotlabs\Module;
use App;
use Zotlabs\Web\Controller;
+use Zotlabs\Lib\Libzotdir;
+
require_once('include/socgraph.php');
require_once('include/dir_fns.php');
@@ -15,7 +17,7 @@ class Directory extends Controller {
function init() {
App::set_pager_itemspage(30);
-
+
if(local_channel() && x($_GET,'ignore')) {
q("insert into xign ( uid, xchan ) values ( %d, '%s' ) ",
intval(local_channel()),
@@ -26,12 +28,12 @@ class Directory extends Controller {
if(local_channel())
App::$profile_uid = local_channel();
-
+
$observer = get_observer_hash();
$global_changed = false;
$safe_changed = false;
$pubforums_changed = false;
-
+
if(array_key_exists('global',$_REQUEST)) {
$globaldir = intval($_REQUEST['global']);
$global_changed = true;
@@ -41,7 +43,7 @@ class Directory extends Controller {
if($observer)
set_xconfig($observer,'directory','globaldir',$globaldir);
}
-
+
if(array_key_exists('safe',$_REQUEST)) {
$safemode = intval($_REQUEST['safe']);
$safe_changed = true;
@@ -51,8 +53,8 @@ class Directory extends Controller {
if($observer)
set_xconfig($observer,'directory','safemode',$safemode);
}
-
-
+
+
if(array_key_exists('pubforums',$_REQUEST)) {
$pubforums = intval($_REQUEST['pubforums']);
$pubforums_changed = true;
@@ -64,52 +66,52 @@ class Directory extends Controller {
}
}
-
+
function get() {
-
+
if(observer_prohibited()) {
notice( t('Public access denied.') . EOL);
return;
}
-
+
if(get_config('system','block_public_directory',false) && (! get_observer_hash())) {
notice( t('Public access denied.') . EOL);
return;
}
-
+
$observer = get_observer_hash();
-
- $globaldir = get_directory_setting($observer, 'globaldir');
+
+ $globaldir = Libzotdir::get_directory_setting($observer, 'globaldir');
// override your personal global search pref if we're doing a navbar search of the directory
if(intval($_REQUEST['navsearch']))
$globaldir = 1;
-
- $safe_mode = get_directory_setting($observer, 'safemode');
-
- $pubforums = get_directory_setting($observer, 'pubforums');
-
+
+ $safe_mode = Libzotdir::get_directory_setting($observer, 'safemode');
+
+ $pubforums = Libzotdir::get_directory_setting($observer, 'pubforums');
+
$o = '';
nav_set_selected('Directory');
-
+
if(x($_POST,'search'))
$search = notags(trim($_POST['search']));
else
$search = ((x($_GET,'search')) ? notags(trim(rawurldecode($_GET['search']))) : '');
-
-
+
+
if(strpos($search,'=') && local_channel() && feature_enabled(local_channel(), 'advanced_dirsearch'))
$advanced = $search;
-
+
$keywords = (($_GET['keywords']) ? $_GET['keywords'] : '');
-
+
// Suggest channels if no search terms or keywords are given
$suggest = (local_channel() && x($_REQUEST,'suggest')) ? $_REQUEST['suggest'] : '';
-
+
if($suggest) {
// the directory options have no effect in suggestion mode
-
+
$globaldir = 1;
$safe_mode = 1;
$type = 0;
@@ -120,7 +122,7 @@ class Directory extends Controller {
notice( t('No default suggestions were found.') . EOL);
return;
}
-
+
// Remember in which order the suggestions were
$addresses = array();
$common = array();
@@ -129,7 +131,7 @@ class Directory extends Controller {
$common[$rr['xchan_addr']] = ((intval($rr['total']) > 0) ? intval($rr['total']) - 1 : 0);
$addresses[$rr['xchan_addr']] = $index++;
}
-
+
// Build query to get info about suggested people
$advanced = '';
foreach(array_keys($addresses) as $address) {
@@ -137,13 +139,13 @@ class Directory extends Controller {
}
// Remove last space in the advanced query
$advanced = rtrim($advanced);
-
+
}
-
+
$tpl = get_markup_template('directory_header.tpl');
-
+
$dirmode = intval(get_config('system','directory_mode'));
-
+
$directory_admin = false;
if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
@@ -154,19 +156,19 @@ class Directory extends Controller {
}
if(! $url) {
- $directory = find_upstream_directory($dirmode);
+ $directory = Libzotdir::find_upstream_directory($dirmode);
if((! $directory) || (! array_key_exists('url',$directory)) || (! $directory['url']))
logger('CRITICAL: No directory server URL');
$url = $directory['url'] . '/dirsearch';
}
-
+
$token = get_config('system','realm_token');
-
-
+
+
logger('mod_directory: URL = ' . $url, LOGGER_DEBUG);
-
+
$contacts = array();
-
+
if(local_channel()) {
$x = q("select abook_xchan from abook where abook_channel = %d",
intval(local_channel())
@@ -176,24 +178,24 @@ class Directory extends Controller {
$contacts[] = $xx['abook_xchan'];
}
}
-
+
if($url) {
-
+
$numtags = get_config('system','directorytags');
-
+
$kw = ((intval($numtags) > 0) ? intval($numtags) : 50);
-
+
if(get_config('system','disable_directory_keywords'))
$kw = 0;
-
+
$query = $url . '?f=&kw=' . $kw . (($safe_mode != 1) ? '&safe=' . $safe_mode : '');
-
+
if($token)
$query .= '&t=' . $token;
-
+
if(! $globaldir)
$query .= '&hub=' . App::get_hostname();
-
+
if($search)
$query .= '&name=' . urlencode($search) . '&keywords=' . urlencode($search);
if(strpos($search,'@'))
@@ -204,29 +206,29 @@ class Directory extends Controller {
$query .= '&query=' . urlencode($advanced);
if(! is_null($pubforums))
$query .= '&pubforums=' . intval($pubforums);
-
+
$directory_sort_order = get_config('system','directory_sort_order');
if(! $directory_sort_order)
$directory_sort_order = 'date';
-
+
$sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : $directory_sort_order);
-
+
if($sort_order)
$query .= '&order=' . urlencode($sort_order);
-
+
if(App::$pager['page'] != 1)
$query .= '&p=' . App::$pager['page'];
-
+
logger('mod_directory: query: ' . $query);
-
+
$x = z_fetch_url($query);
logger('directory: return from upstream: ' . print_r($x,true), LOGGER_DATA);
-
+
if($x['success']) {
$t = 0;
$j = json_decode($x['body'],true);
if($j) {
-
+
if($j['results']) {
$results = $j['results'];
@@ -235,23 +237,23 @@ class Directory extends Controller {
}
$entries = array();
-
+
$photo = 'thumb';
-
+
foreach($results as $rr) {
-
+
$profile_link = chanlink_url($rr['url']);
-
+
$pdesc = (($rr['description']) ? $rr['description'] . '<br />' : '');
- $connect_link = ((local_channel()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : '');
-
+ $connect_link = ((local_channel()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : '');
+
// Checking status is disabled ATM until someone checks the performance impact more carefully
//$online = remote_online_status($rr['address']);
$online = '';
-
+
if(in_array($rr['hash'],$contacts))
$connect_link = '';
-
+
$location = '';
if(strlen($rr['locale']))
$location .= $rr['locale'];
@@ -265,53 +267,53 @@ class Directory extends Controller {
$location .= ', ';
$location .= $rr['country'];
}
-
+
$age = '';
if(strlen($rr['birthday'])) {
if(($years = age($rr['birthday'],'UTC','')) > 0)
$age = $years;
}
-
+
$page_type = '';
-
+
$rating_enabled = get_config('system','rating_enabled');
if($rr['total_ratings'] && $rating_enabled)
$total_ratings = sprintf( tt("%d rating", "%d ratings", $rr['total_ratings']), $rr['total_ratings']);
else
$total_ratings = '';
-
+
$profile = $rr;
-
+
if ((x($profile,'locale') == 1)
|| (x($profile,'region') == 1)
|| (x($profile,'postcode') == 1)
|| (x($profile,'country') == 1))
-
+
$gender = ((x($profile,'gender') == 1) ? t('Gender: ') . $profile['gender']: False);
-
+
$marital = ((x($profile,'marital') == 1) ? t('Status: ') . $profile['marital']: False);
-
+
$homepage = ((x($profile,'homepage') == 1) ? t('Homepage: ') : False);
- $homepageurl = ((x($profile,'homepage') == 1) ? html2plain($profile['homepage']) : '');
-
+ $homepageurl = ((x($profile,'homepage') == 1) ? html2plain($profile['homepage']) : '');
+
$hometown = ((x($profile,'hometown') == 1) ? html2plain($profile['hometown']) : False);
-
+
$about = ((x($profile,'about') == 1) ? zidify_links(bbcode($profile['about'], ['tryoembed' => false])) : False);
if ($about && $safe_mode) {
$about = html2plain($about);
}
-
+
$keywords = ((x($profile,'keywords')) ? $profile['keywords'] : '');
-
+
$out = '';
-
+
if($keywords) {
$keywords = str_replace(',',' ', $keywords);
$keywords = str_replace(' ',' ', $keywords);
$karr = explode(' ', $keywords);
-
+
if($karr) {
if(local_channel()) {
$r = q("select keywords from profile where uid = %d and is_default = 1 limit 1",
@@ -332,9 +334,9 @@ class Directory extends Controller {
$out .= '<a href="' . z_root() . '/directory/f=&keywords=' . urlencode($k) .'">' . $k . '</a>';
}
}
-
+
}
-
+
$entry = array(
'id' => ++$t,
'profile_link' => $profile_link,
@@ -366,7 +368,7 @@ class Directory extends Controller {
'about' => $about,
'about_label' => t('About:'),
'conn_label' => t('Connect'),
- 'forum_label' => t('Public Forum:'),
+ 'forum_label' => t('Public Forum:'),
'connect' => $connect_link,
'online' => $online,
'kw' => (($out) ? t('Keywords: ') : ''),
@@ -378,36 +380,36 @@ class Directory extends Controller {
'common_count' => intval($common[$rr['address']]),
'safe' => $safe_mode
);
-
+
$arr = array('contact' => $rr, 'entry' => $entry);
-
+
call_hooks('directory_item', $arr);
-
+
unset($profile);
unset($location);
-
+
if(! $arr['entry']) {
continue;
- }
-
+ }
+
if($sort_order == '' && $suggest) {
$entries[$addresses[$rr['address']]] = $arr['entry']; // Use the same indexes as originally to get the best suggestion first
}
-
+
else {
$entries[] = $arr['entry'];
}
}
-
+
ksort($entries); // Sort array by key so that foreach-constructs work as expected
-
+
if($j['keywords']) {
App::$data['directory_keywords'] = $j['keywords'];
}
-
+
logger('mod_directory: entries: ' . print_r($entries,true), LOGGER_DATA);
-
-
+
+
if($_REQUEST['aj']) {
if($entries) {
$o = replace_macros(get_markup_template('directajax.tpl'),array(
@@ -422,9 +424,9 @@ class Directory extends Controller {
}
else {
$maxheight = 94;
-
+
$dirtitle = (($globaldir) ? t('Global Directory') : t('Local Directory'));
-
+
$o .= "<script> var page_query = '" . escape_tags(urlencode($_GET['q'])) . "'; var extra_args = '" . extra_query_args() . "' ; divmore_height = " . intval($maxheight) . "; </script>";
$o .= replace_macros($tpl, array(
'$search' => $search,
@@ -442,10 +444,10 @@ class Directory extends Controller {
'$reversedate' => t('Oldest to Newest'),
'$suggest' => $suggest ? '&suggest=1' : ''
));
-
-
+
+
}
-
+
}
else {
if($_REQUEST['aj']) {
@@ -463,7 +465,7 @@ class Directory extends Controller {
}
return $o;
}
-
+
static public function reorder_results($results,$suggests) {
if(! $suggests)
diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php
index 81ac0f7b8..04aeb6d5c 100644
--- a/Zotlabs/Module/Display.php
+++ b/Zotlabs/Module/Display.php
@@ -19,21 +19,21 @@ class Display extends \Zotlabs\Web\Controller {
if(argc() > 1) {
$module_format = substr(argv(1),strrpos(argv(1),'.') + 1);
if(! in_array($module_format,['atom','zot','json']))
- $module_format = 'html';
+ $module_format = 'html';
}
if(observer_prohibited()) {
notice( t('Public access denied.') . EOL);
return;
}
-
+
if(argc() > 1) {
$item_hash = argv(1);
if($module_format !== 'html') {
$item_hash = substr($item_hash,0,strrpos($item_hash,'.'));
}
}
-
+
if($_REQUEST['mid'])
$item_hash = $_REQUEST['mid'];
@@ -42,19 +42,19 @@ class Display extends \Zotlabs\Web\Controller {
notice( t('Item not found.') . EOL);
return;
}
-
+
$observer_is_owner = false;
if(local_channel() && (! $update)) {
-
+
$channel = \App::get_channel();
$channel_acl = array(
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
+ 'allow_cid' => $channel['channel_allow_cid'],
+ 'allow_gid' => $channel['channel_allow_gid'],
+ 'deny_cid' => $channel['channel_deny_cid'],
'deny_gid' => $channel['channel_deny_gid']
- );
+ );
$x = array(
'is_owner' => true,
@@ -62,7 +62,7 @@ class Display extends \Zotlabs\Web\Controller {
'default_location' => $channel['channel_location'],
'nickname' => $channel['channel_address'],
'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
- 'acl' => populate_acl($channel_acl,true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'),
+ 'acl' => populate_acl($channel_acl,true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'),
'permissions' => $channel_acl,
'bang' => '',
'visitor' => true,
@@ -75,21 +75,21 @@ class Display extends \Zotlabs\Web\Controller {
'jotnets' => true,
'reset' => t('Reset form')
);
-
+
$o = '<div id="jot-popup">';
$o .= status_editor($a,$x,false,'Display');
$o .= '</div>';
}
-
+
// This page can be viewed by anybody so the query could be complicated
// First we'll see if there is a copy of the item which is owned by us - if we're logged in locally.
- // If that fails (or we aren't logged in locally),
+ // If that fails (or we aren't logged in locally),
// query an item in which the observer (if logged in remotely) has cid or gid rights
- // and if that fails, look for a copy of the post that has no privacy restrictions.
+ // and if that fails, look for a copy of the post that has no privacy restrictions.
// If we find the post, but we don't find a copy that we're allowed to look at, this fact needs to be reported.
-
+
// find a copy of the item somewhere
-
+
$target_item = null;
if(strpos($item_hash,'b64.') === 0)
@@ -100,7 +100,7 @@ class Display extends \Zotlabs\Web\Controller {
$r = q("select id, uid, mid, parent, parent_mid, thr_parent, verb, item_type, item_deleted, author_xchan, item_blocked from item where mid like '%s' limit 1",
dbesc($item_hash . '%')
);
-
+
if($r) {
$target_item = $r[0];
}
@@ -117,14 +117,14 @@ class Display extends \Zotlabs\Web\Controller {
if($target_item['item_blocked'] == ITEM_MODERATED) {
goaway(z_root() . '/moderate/' . $target_item['id']);
}
-
+
$r = null;
-
+
if($target_item['item_type'] == ITEM_TYPE_WEBPAGE) {
$x = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid'])
);
- $y = q("select * from iconfig left join item on iconfig.iid = item.id
+ $y = q("select * from iconfig left join item on iconfig.iid = item.id
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' and item.id = %d limit 1",
intval($target_item['uid']),
intval($target_item['parent'])
@@ -141,7 +141,7 @@ class Display extends \Zotlabs\Web\Controller {
$x = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid'])
);
- $y = q("select * from iconfig left join item on iconfig.iid = item.id
+ $y = q("select * from iconfig left join item on iconfig.iid = item.id
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'ARTICLE' and item.id = %d limit 1",
intval($target_item['uid']),
intval($target_item['parent'])
@@ -160,7 +160,7 @@ class Display extends \Zotlabs\Web\Controller {
intval($target_item['uid'])
);
- $y = q("select * from iconfig left join item on iconfig.iid = item.id
+ $y = q("select * from iconfig left join item on iconfig.iid = item.id
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'CARD' and item.id = %d limit 1",
intval($target_item['uid']),
intval($target_item['parent'])
@@ -179,7 +179,7 @@ class Display extends \Zotlabs\Web\Controller {
notice( t('Page not found.') . EOL);
return '';
}
-
+
$simple_update = '';
if($update && $_SESSION['loadtime'])
$simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) ";
@@ -191,14 +191,14 @@ class Display extends \Zotlabs\Web\Controller {
//$mid = ((($target_item['verb'] == ACTIVITY_LIKE) || ($target_item['verb'] == ACTIVITY_DISLIKE)) ? $target_item['thr_parent'] : $target_item['mid']);
$mid = $target_item['mid'];
- // if we got a decoded hash we must encode it again before handing to javascript
+ // if we got a decoded hash we must encode it again before handing to javascript
if($decoded)
$mid = 'b64.' . base64url_encode($mid);
$o .= '<div id="live-display"></div>' . "\r\n";
$o .= "<script> var profile_uid = " . ((intval(local_channel())) ? local_channel() : (-1))
. "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . "; </script>\r\n";
-
+
\App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
'$baseurl' => z_root(),
'$pgtype' => 'display',
@@ -230,7 +230,7 @@ class Display extends \Zotlabs\Web\Controller {
'$mid' => (($mid) ? urlencode($mid) : '')
));
- head_add_link([
+ head_add_link([
'rel' => 'alternate',
'type' => 'application/json+oembed',
'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string),
@@ -270,8 +270,8 @@ class Display extends \Zotlabs\Web\Controller {
$r = q("SELECT item.id as item_id from item
WHERE mid = '%s'
- AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = ''
- AND item.deny_gid = '' AND item_private = 0 )
+ AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = ''
+ AND item.deny_gid = '' AND item_private = 0 )
and uid in ( " . stream_perms_api_uids(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
OR uid = %d )
$sql_extra )
@@ -282,7 +282,7 @@ class Display extends \Zotlabs\Web\Controller {
);
}
}
-
+
elseif($update && !$load) {
$r = null;
@@ -307,8 +307,8 @@ class Display extends \Zotlabs\Web\Controller {
$sysid = 0;
$r = q("SELECT item.parent AS item_id from item
WHERE parent_mid = '%s'
- AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = ''
- AND item.deny_gid = '' AND item_private = 0 )
+ AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = ''
+ AND item.deny_gid = '' AND item_private = 0 )
and uid in ( " . stream_perms_api_uids(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
OR uid = %d )
$sql_extra )
@@ -320,7 +320,7 @@ class Display extends \Zotlabs\Web\Controller {
);
}
}
-
+
else {
$r = array();
}
@@ -328,7 +328,7 @@ class Display extends \Zotlabs\Web\Controller {
if($r) {
$parents_str = ids_to_querystr($r,'item_id');
if($parents_str) {
- $items = q("SELECT item.*, item.id AS item_id
+ $items = q("SELECT item.*, item.id AS item_id
FROM item
WHERE parent in ( %s ) $item_normal ",
dbesc($parents_str)
@@ -341,10 +341,10 @@ class Display extends \Zotlabs\Web\Controller {
else {
$items = array();
}
-
+
switch($module_format) {
-
+
case 'html':
if ($update) {
@@ -363,7 +363,7 @@ class Display extends \Zotlabs\Web\Controller {
\App::$page['title'] = (($items[0]['title']) ? $items[0]['title'] . " - " . \App::$page['title'] : \App::$page['title']);
$o .= conversation($items, 'display', $update, 'client');
- }
+ }
break;
@@ -380,7 +380,7 @@ class Display extends \Zotlabs\Web\Controller {
'$owner' => '',
'$profile_page' => xmlify(z_root() . '/display/' . $target_item['mid']),
));
-
+
$x = [ 'xml' => $atom, 'channel' => $channel, 'observer_hash' => $observer_hash, 'params' => $params ];
call_hooks('atom_feed_top',$x);
@@ -406,13 +406,13 @@ class Display extends \Zotlabs\Web\Controller {
header('Content-type: application/atom+xml');
echo $atom;
killme();
-
+
}
$o .= '<div id="content-complete"></div>';
if((($update && $load) || $noscript_content) && (! $items)) {
-
+
$r = q("SELECT id, item_deleted FROM item WHERE mid = '%s' LIMIT 1",
dbesc($item_hash)
);
@@ -421,14 +421,14 @@ class Display extends \Zotlabs\Web\Controller {
if(intval($r[0]['item_deleted'])) {
notice( t('Item has been removed.') . EOL );
}
- else {
- notice( t('Permission denied.') . EOL );
+ else {
+ notice( t('Permission denied.') . EOL );
}
}
else {
notice( t('Item not found.') . EOL );
}
-
+
}
$_SESSION['loadtime'] = datetime_convert();
diff --git a/Zotlabs/Module/Embedphotos.php b/Zotlabs/Module/Embedphotos.php
index 9b0884197..ed5b24724 100644
--- a/Zotlabs/Module/Embedphotos.php
+++ b/Zotlabs/Module/Embedphotos.php
@@ -40,7 +40,8 @@ class Embedphotos extends \Zotlabs\Web\Controller {
if (!$href) {
json_return_and_die(array('errormsg' => 'Error retrieving link ' . $href, 'status' => false));
}
- $resource_id = array_pop(explode('/', $href));
+ $arr = explode('/', $href);
+ $resource_id = array_pop($arr);
$x = self::photolink($resource_id);
if($x)
json_return_and_die(array('status' => true, 'photolink' => $x, 'resource_id' => $resource_id));
diff --git a/Zotlabs/Module/File_upload.php b/Zotlabs/Module/File_upload.php
index 6794dceee..e18067e20 100644
--- a/Zotlabs/Module/File_upload.php
+++ b/Zotlabs/Module/File_upload.php
@@ -64,7 +64,7 @@ class File_upload extends \Zotlabs\Web\Controller {
if($x['partial']) {
header('Range: bytes=0-' . (($x['length']) ? $x['length'] - 1 : 0));
- json_return_and_die($result);
+ json_return_and_die($x);
}
else {
header('Range: bytes=0-' . (($x['size']) ? $x['size'] - 1 : 0));
diff --git a/Zotlabs/Module/Getfile.php b/Zotlabs/Module/Getfile.php
index 17d1c84b8..20cc23ac0 100644
--- a/Zotlabs/Module/Getfile.php
+++ b/Zotlabs/Module/Getfile.php
@@ -6,20 +6,20 @@ use Zotlabs\Lib\Libzot;
/**
* module: getfile
- *
+ *
* used for synchronising files and photos across clones
- *
+ *
* The site initiating the file operation will send a sync packet to known clones.
* They will respond by building the DB structures they require, then will provide a
* post request to this site to grab the file data. This is sent as a stream direct to
* disk at the other end, avoiding memory issues.
*
* Since magic-auth cannot easily be used by the CURL process at the other end,
- * we will require a signed request which includes a timestamp. This should not be
- * used without SSL and is potentially vulnerable to replay if an attacker decrypts
+ * we will require a signed request which includes a timestamp. This should not be
+ * used without SSL and is potentially vulnerable to replay if an attacker decrypts
* the SSL traffic fast enough. The amount of time slop is configurable but defaults
* to 3 minutes.
- *
+ *
*/
@@ -54,13 +54,13 @@ class Getfile extends \Zotlabs\Web\Controller {
$keyId = $sigblock['keyId'];
if($keyId) {
- $r = q("select * from hubloc left join xchan on hubloc_hash = xchan_hash
- where hubloc_addr = '%s'",
+ $r = q("select * from hubloc left join xchan on hubloc_hash = xchan_hash
+ where hubloc_id_url = '%s'",
dbesc(str_replace('acct:','',$keyId))
);
if($r) {
$hubloc = Libzot::zot_record_preferred($r);
- $verified = HTTPSig::verify('',$hubloc['xchan_pubkey']);
+ $verified = HTTPSig::verify('',$hubloc['xchan_pubkey']);
if($verified && $verified['header_signed'] && $verified['header_valid'] && $hash == $hubloc['hubloc_hash']) {
$header_verified = true;
}
@@ -74,15 +74,15 @@ class Getfile extends \Zotlabs\Web\Controller {
logger('post: ' . print_r($_POST,true),LOGGER_DEBUG,LOG_INFO);
if($header_verified) {
logger('HTTPSig verified');
- }
-
+ }
+
$channel = channelx_by_hash($hash);
if((! $channel) || (! $time) || (! $sig)) {
logger('error: missing info');
killme();
}
-
+
if(isset($_POST['resolution']))
$resolution = intval($_POST['resolution']);
elseif(substr($resource,-2,1) == '-') {
@@ -91,21 +91,21 @@ class Getfile extends \Zotlabs\Web\Controller {
}
else {
$resolution = (-1);
- }
+ }
$slop = intval(get_pconfig($channel['channel_id'],'system','getfile_time_slop'));
if($slop < 1)
$slop = 3;
-
+
$d1 = datetime_convert('UTC','UTC',"now + $slop minutes");
- $d2 = datetime_convert('UTC','UTC',"now - $slop minutes");
-
+ $d2 = datetime_convert('UTC','UTC',"now - $slop minutes");
+
if(! $header_verified) {
if(($time > $d1) || ($time < $d2)) {
logger('time outside allowable range');
killme();
}
-
+
if(! rsa_verify($hash . '.' . $time,base64url_decode($sig),$channel['channel_pubkey'])) {
logger('verify failed.');
killme();
@@ -137,20 +137,20 @@ class Getfile extends \Zotlabs\Web\Controller {
else {
echo dbunescbin($r[0]['content']);
}
- }
+ }
killme();
}
$r = attach_by_hash($resource,$channel['channel_hash'],$revision);
-
+
if(! $r['success']) {
logger('attach_by_hash failed: ' . $r['message']);
notice( $r['message'] . EOL);
return;
}
-
+
$unsafe_types = array('text/html','text/css','application/javascript');
-
+
if(in_array($r['data']['filetype'],$unsafe_types) && (! channel_codeallowed($channel['channel_id']))) {
header('Content-type: text/plain');
}
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index f74b1e321..b30adeb53 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -132,13 +132,14 @@ class Item extends Controller {
$i = Activity::encode_item_collection($items, 'conversation/' . $item_id, 'OrderedCollection');
- if($portable_id) {
- ThreadListener::store(z_root() . '/item/' . $item_id,$portable_id);
- }
if(! $i)
http_status_exit(404, 'Not found');
+ if($portable_id && (! intval($items[0]['item_private']))) {
+ ThreadListener::store(z_root() . '/item/' . $item_id, $portable_id);
+ }
+
$x = array_merge(['@context' => [
ACTIVITYSTREAMS_JSONLD_REV,
'https://w3id.org/security/v1',
@@ -237,6 +238,16 @@ class Item extends Controller {
if(! $i)
http_status_exit(404, 'Not found');
+ if ($portable_id && (! intval($items[0]['item_private']))) {
+ $c = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s'",
+ intval($items[0]['uid']),
+ dbesc($portable_id)
+ );
+ if (! $c) {
+ ThreadListener::store(z_root() . '/item/' . $item_id, $portable_id);
+ }
+ }
+
$x = array_merge(['@context' => [
ACTIVITYSTREAMS_JSONLD_REV,
'https://w3id.org/security/v1',
@@ -976,7 +987,7 @@ class Item extends Controller {
$item_unseen = ((local_channel() != $profile_uid) ? 1 : 0);
- $item_wall = (($post_type === 'wall' || $post_type === 'wall-comment') ? 1 : 0);
+ $item_wall = (($_REQUEST['type'] === 'wall' || $_REQUEST['type'] === 'wall-comment') ? 1 : 0);
$item_origin = (($origin) ? 1 : 0);
$item_consensus = (($consensus) ? 1 : 0);
$item_nocomment = (($nocomment) ? 1 : 0);
diff --git a/Zotlabs/Module/Like.php b/Zotlabs/Module/Like.php
index bb5c6db7a..e3fe4a954 100644
--- a/Zotlabs/Module/Like.php
+++ b/Zotlabs/Module/Like.php
@@ -1,37 +1,42 @@
<?php
+
namespace Zotlabs\Module;
+use App;
use Zotlabs\Lib\Activity;
use Zotlabs\Lib\Libsync;
+use Zotlabs\Web\Controller;
+use Zotlabs\Daemon\Master;
+
require_once('include/security.php');
require_once('include/bbcode.php');
require_once('include/items.php');
require_once('include/conversation.php');
-class Like extends \Zotlabs\Web\Controller {
+class Like extends Controller {
private function reaction_to_activity($reaction) {
$acts = [
- 'like' => ACTIVITY_LIKE ,
- 'dislike' => ACTIVITY_DISLIKE ,
- 'agree' => ACTIVITY_AGREE ,
- 'disagree' => ACTIVITY_DISAGREE ,
- 'abstain' => ACTIVITY_ABSTAIN ,
- 'attendyes' => ACTIVITY_ATTEND ,
- 'attendno' => ACTIVITY_ATTENDNO ,
- 'attendmaybe' => ACTIVITY_ATTENDMAYBE
+ 'like' => ACTIVITY_LIKE,
+ 'dislike' => ACTIVITY_DISLIKE,
+ 'agree' => ACTIVITY_AGREE,
+ 'disagree' => ACTIVITY_DISAGREE,
+ 'abstain' => ACTIVITY_ABSTAIN,
+ 'attendyes' => ACTIVITY_ATTEND,
+ 'attendno' => ACTIVITY_ATTENDNO,
+ 'attendmaybe' => ACTIVITY_ATTENDMAYBE
];
// unlike (etc.) reactions are an undo of positive reactions, rather than a negative action.
// The activity is the same in undo actions and will have the same activity mapping
- if(substr($reaction,0,2) === 'un') {
- $reaction = substr($reaction,2);
+ if (substr($reaction, 0, 2) === 'un') {
+ $reaction = substr($reaction, 2);
}
- if(array_key_exists($reaction,$acts)) {
+ if (array_key_exists($reaction, $acts)) {
return $acts[$reaction];
}
@@ -41,117 +46,124 @@ class Like extends \Zotlabs\Web\Controller {
private function like_response($arr) {
- if($arr['conv_mode'] === 'channel') {
+ $page_mode = (($arr['item']['item_thread_top'] && $_REQUEST['page_mode']) ? $_REQUEST['page_mode'] : 'r_preview');
+ $conv_mode = (($_REQUEST['conv_mode']) ? $_REQUEST['conv_mode'] : 'network');
+
+ if ($conv_mode === 'channel') {
$parts = explode('@', $arr['owner_xchan']['xchan_addr']);
profile_load($parts[0]);
}
-
$item_normal = item_normal();
- $activities = q("SELECT item.*, item.id AS item_id FROM item
- WHERE uid = %d $item_normal
- AND thr_parent = '%s'
- AND verb IN ('%s', '%s', '%s', '%s', '%s')",
- intval($arr['item']['uid']),
- dbesc($arr['item']['mid']),
- dbesc(ACTIVITY_LIKE),
- dbesc(ACTIVITY_DISLIKE),
- dbesc(ACTIVITY_ATTEND),
- dbesc(ACTIVITY_ATTENDNO),
- dbesc(ACTIVITY_ATTENDMAYBE)
- );
-
- xchan_query($activities,true);
-
- $convitems[] = $arr['item'];
- $convitems = array_merge($convitems, $activities);
-
- $convitems = fetch_post_tags($convitems,true);
+ if ($page_mode === 'list') {
+ $items = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE uid = %d $item_normal
+ AND parent = %d",
+ intval($arr['item']['uid']),
+ intval($arr['item']['parent'])
+ );
+ xchan_query($items, true);
+ $items = fetch_post_tags($items, true);
+ $items = conv_sort($items, 'commented');
+ }
+ else {
+ $activities = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE uid = %d $item_normal
+ AND thr_parent = '%s'
+ AND verb IN ('%s', '%s', '%s', '%s', '%s')",
+ intval($arr['item']['uid']),
+ dbesc($arr['item']['mid']),
+ dbesc(ACTIVITY_LIKE),
+ dbesc(ACTIVITY_DISLIKE),
+ dbesc(ACTIVITY_ATTEND),
+ dbesc(ACTIVITY_ATTENDNO),
+ dbesc(ACTIVITY_ATTENDMAYBE)
+ );
+ xchan_query($activities, true);
+ $items = array_merge([$arr['item']], $activities);
+ $items = fetch_post_tags($items, true);
+ }
$ret = [
'success' => 1,
'orig_id' => $arr['orig_item_id'], //this is required for pubstream items where $item_id != $item['id']
- 'id' => $arr['item']['id'],
- 'html' => conversation($convitems, $arr['conv_mode'], true, 'r_preview'),
+ 'id' => $arr['item']['id'],
+ 'html' => conversation($items, $conv_mode, true, $page_mode),
];
-
return $ret;
}
public function get() {
-
- $o = EMPTY_STR;
+ $o = EMPTY_STR;
$sys_channel = get_sys_channel();
- $sys_channel_id = (($sys_channel) ? $sys_channel['channel_id'] : 0);
-
- $observer = \App::get_observer();
+ $observer = App::get_observer();
$interactive = $_REQUEST['interactive'];
- if((! $observer) || ($interactive)) {
+
+ if ((!$observer) || ($interactive)) {
$o .= '<h1>' . t('Like/Dislike') . '</h1>';
$o .= EOL . EOL;
-
- if(! $observer) {
- $_SESSION['return_url'] = \App::$query_string;
+
+ if (!$observer) {
+ $_SESSION['return_url'] = App::$query_string;
+
$o .= t('This action is restricted to members.') . EOL;
$o .= t('Please <a href="rmagic">login with your $Projectname ID</a> or <a href="register">register as a new $Projectname member</a> to continue.') . EOL;
return $o;
}
}
-
+
$verb = notags(trim($_GET['verb']));
- $mode = (($_GET['conv_mode'] === 'channel') ? 'channel' : 'network');
- if(! $verb)
+ if (!$verb)
$verb = 'like';
-
+
$activity = $this->reaction_to_activity($verb);
- if(! $activity) {
- return EMPTY_STR;
+ if (!$activity) {
+ return EMPTY_STR;
}
$is_rsvp = false;
- if (in_array($activity, [ ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE ])) {
+ if (in_array($activity, [ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE])) {
$is_rsvp = true;
}
-
$extended_like = false;
- $object = $target = null;
- $post_type = EMPTY_STR;
- $objtype = EMPTY_STR;
-
- if(argc() == 3) {
-
- if(! $observer)
+ $object = $target = null;
+ $post_type = EMPTY_STR;
+ $objtype = EMPTY_STR;
+
+ if (argc() == 3) {
+
+ if (!$observer)
killme();
-
+
$extended_like = true;
- $obj_type = argv(1);
- $obj_id = argv(2);
- $public = true;
-
- if($obj_type == 'profile') {
+ $obj_type = argv(1);
+ $obj_id = argv(2);
+ $public = true;
+
+ if ($obj_type == 'profile') {
$r = q("select * from profile where profile_guid = '%s' limit 1",
dbesc(argv(2))
);
- if(! $r)
- killme();
+ if (!$r)
+ killme();
$owner_uid = $r[0]['uid'];
- if($r[0]['is_default'])
+ if ($r[0]['is_default'])
$public = true;
- if(! $public) {
+ if (!$public) {
$d = q("select abook_xchan from abook where abook_profile = '%s' and abook_channel = %d",
dbesc($r[0]['profile_guid']),
intval($owner_uid)
);
- if(! $d) {
+ if (!$d) {
// forgery - illegal
- if($interactive) {
- notice( t('Invalid request.') . EOL);
+ if ($interactive) {
+ notice(t('Invalid request.') . EOL);
return $o;
}
killme();
@@ -159,122 +171,122 @@ class Like extends \Zotlabs\Web\Controller {
// $d now contains a list of those who can see this profile - only send the status notification
// to them.
$allow_cid = $allow_gid = $deny_cid = $deny_gid = '';
- foreach($d as $dd) {
+ foreach ($d as $dd) {
$allow_cid .= '<' . $dd['abook_xchan'] . '>';
}
}
$post_type = t('channel');
- $objtype = ACTIVITY_OBJ_PROFILE;
-
+ $objtype = ACTIVITY_OBJ_PROFILE;
+
$profile = $r[0];
}
- elseif($obj_type == 'thing') {
-
+ elseif ($obj_type == 'thing') {
+
$r = q("select * from obj where obj_type = %d and obj_obj = '%s' limit 1",
- intval(TERM_OBJ_THING),
- dbesc(argv(2))
- );
-
- if(! $r) {
- if($interactive) {
- notice( t('Invalid request.') . EOL);
+ intval(TERM_OBJ_THING),
+ dbesc(argv(2))
+ );
+
+ if (!$r) {
+ if ($interactive) {
+ notice(t('Invalid request.') . EOL);
return $o;
}
- killme();
+ killme();
}
-
+
$owner_uid = $r[0]['obj_channel'];
-
+
$allow_cid = $r[0]['allow_cid'];
$allow_gid = $r[0]['allow_gid'];
- $deny_cid = $r[0]['deny_cid'];
- $deny_gid = $r[0]['deny_gid'];
- if($allow_cid || $allow_gid || $deny_cid || $deny_gid)
+ $deny_cid = $r[0]['deny_cid'];
+ $deny_gid = $r[0]['deny_gid'];
+ if ($allow_cid || $allow_gid || $deny_cid || $deny_gid)
$public = false;
-
+
$post_type = t('thing');
- $objtype = ACTIVITY_OBJ_PROFILE;
- $tgttype = ACTIVITY_OBJ_THING;
-
+ $objtype = ACTIVITY_OBJ_PROFILE;
+ $tgttype = ACTIVITY_OBJ_THING;
+
$links = array();
- $links[] = array('rel' => 'alternate', 'type' => 'text/html',
- 'href' => z_root() . '/thing/' . $r[0]['obj_obj']);
- if($r[0]['imgurl'])
+ $links[] = array('rel' => 'alternate', 'type' => 'text/html',
+ 'href' => z_root() . '/thing/' . $r[0]['obj_obj']);
+ if ($r[0]['imgurl'])
$links[] = array('rel' => 'photo', 'href' => $r[0]['obj_imgurl']);
-
+
$target = json_encode(array(
'type' => $tgttype,
'title' => $r[0]['obj_term'],
'id' => z_root() . '/thing/' . $r[0]['obj_obj'],
'link' => $links
));
-
+
$plink = '[zrl=' . z_root() . '/thing/' . $r[0]['obj_obj'] . ']' . $r[0]['obj_term'] . '[/zrl]';
-
+
}
-
- if(! ($owner_uid && $r)) {
- if($interactive) {
- notice( t('Invalid request.') . EOL);
+
+ if (!($owner_uid && $r)) {
+ if ($interactive) {
+ notice(t('Invalid request.') . EOL);
return $o;
}
killme();
}
-
+
// The resultant activity is going to be a wall-to-wall post, so make sure this is allowed
-
- $perms = get_all_perms($owner_uid,$observer['xchan_hash']);
-
- if(! ($perms['post_like'] && $perms['view_profile'])) {
- if($interactive) {
- notice( t('Permission denied.') . EOL);
+
+ $perms = get_all_perms($owner_uid, $observer['xchan_hash']);
+
+ if (!($perms['post_like'] && $perms['view_profile'])) {
+ if ($interactive) {
+ notice(t('Permission denied.') . EOL);
return $o;
}
killme();
}
-
+
$ch = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1",
intval($owner_uid)
);
- if(! $ch) {
- if($interactive) {
- notice( t('Channel unavailable.') . EOL);
+ if (!$ch) {
+ if ($interactive) {
+ notice(t('Channel unavailable.') . EOL);
return $o;
}
killme();
}
-
- if(! $plink)
+
+ if (!$plink)
$plink = '[zrl=' . z_root() . '/profile/' . $ch[0]['channel_address'] . ']' . $post_type . '[/zrl]';
-
- $object = json_encode(Activity::fetch_profile([ 'id' => channel_url($ch[0]) ]));
+
+ $object = json_encode(Activity::fetch_profile(['id' => channel_url($ch[0])]));
// second like of the same thing is "undo" for the first like
-
+
$z = q("select * from likes where channel_id = %d and liker = '%s' and verb = '%s' and target_type = '%s' and target_id = '%s' limit 1",
intval($ch[0]['channel_id']),
dbesc($observer['xchan_hash']),
dbesc($activity),
- dbesc(($tgttype)?$tgttype:$objtype),
+ dbesc(($tgttype) ? $tgttype : $objtype),
dbesc($obj_id)
);
-
- if($z) {
+
+ if ($z) {
$z[0]['deleted'] = 1;
- Libsync::build_sync_packet($ch[0]['channel_id'],array('likes' => $z));
-
+ Libsync::build_sync_packet($ch[0]['channel_id'], array('likes' => $z));
+
q("delete from likes where id = %d",
intval($z[0]['id'])
);
- if($z[0]['i_mid']) {
+ if ($z[0]['i_mid']) {
$r = q("select id from item where mid = '%s' and uid = %d limit 1",
dbesc($z[0]['i_mid']),
intval($ch[0]['channel_id'])
);
- if($r)
- drop_item($r[0]['id'],false);
- if($interactive) {
- notice( t('Previous action reversed.') . EOL);
+ if ($r)
+ drop_item($r[0]['id'], false);
+ if ($interactive) {
+ notice(t('Previous action reversed.') . EOL);
return $o;
}
}
@@ -283,19 +295,19 @@ class Like extends \Zotlabs\Web\Controller {
}
else {
- if(! $observer)
+ if (!$observer)
killme();
-
+
// this is used to like an item or comment
-
+
$item_id = ((argc() == 2) ? notags(trim(argv(1))) : 0);
-
+
logger('like: verb ' . $verb . ' item ' . $item_id, LOGGER_DEBUG);
-
+
// get the item. Allow linked photos (which are normally hidden) to be liked
- $r = q("SELECT * FROM item WHERE id = %d
- and item_type in (0,6,7) and item_deleted = 0 and item_unpublished = 0
+ $r = q("SELECT * FROM item WHERE id = %d
+ and item_type in (0,6,7) and item_deleted = 0 and item_unpublished = 0
and item_delayed = 0 and item_pending_remove = 0 and item_blocked = 0 LIMIT 1",
intval($item_id)
);
@@ -304,32 +316,30 @@ class Like extends \Zotlabs\Web\Controller {
// create a copy of the parent in your stream. If not the conversation
// parent, copy that as well.
- if($r) {
- if($r[0]['uid'] === $sys_channel['channel_id'] && local_channel()) {
- $r = [ copy_of_pubitem(\App::get_channel(), $r[0]['mid']) ];
+ if ($r) {
+ if ($r[0]['uid'] === $sys_channel['channel_id'] && local_channel()) {
+ $r = [copy_of_pubitem(App::get_channel(), $r[0]['mid'])];
}
}
- if(! $item_id || (! $r)) {
+ if (!$item_id || (!$r)) {
logger('like: no item ' . $item_id);
killme();
}
- xchan_query($r,true);
-
- $item = $r[0];
+ xchan_query($r, true);
+ $item = $r[0];
$owner_uid = $r[0]['uid'];
$owner_aid = $r[0]['aid'];
- $can_comment = false;
- if((array_key_exists('owner',$item)) && intval($item['owner']['abook_self']))
- $can_comment = perm_is_allowed($item['uid'],$observer['xchan_hash'],'post_comments');
- else
- $can_comment = can_comment_on_post($observer['xchan_hash'],$item);
+ if ((array_key_exists('owner', $item)) && intval($item['owner']['abook_self']))
+ $can_comment = perm_is_allowed($item['uid'], $observer['xchan_hash'], 'post_comments');
+ else
+ $can_comment = can_comment_on_post($observer['xchan_hash'], $item);
- if(! $can_comment) {
- notice( t('Permission denied') . EOL);
+ if (!$can_comment) {
+ notice(t('Permission denied') . EOL);
killme();
}
@@ -337,7 +347,7 @@ class Like extends \Zotlabs\Web\Controller {
dbesc($item['owner_xchan'])
);
- if($r)
+ if ($r)
$thread_owner = $r[0];
else
killme();
@@ -345,223 +355,207 @@ class Like extends \Zotlabs\Web\Controller {
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($item['author_xchan'])
);
- if($r)
+ if ($r)
$item_author = $r[0];
else
killme();
- $verbs = " '".dbesc($activity)."' ";
-
- $multi_undo = false;
-
+ $verbs = " '" . dbesc($activity) . "' ";
+
+ $multi_undo = false;
+
// event participation and consensus items are essentially radio toggles. If you make a subsequent choice,
- // we need to eradicate your first choice.
-
- if($activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE) {
- $verbs = " '" . dbesc(ACTIVITY_ATTEND) . "','" . dbesc(ACTIVITY_ATTENDNO) . "','" . dbesc(ACTIVITY_ATTENDMAYBE) . "' ";
+ // we need to eradicate your first choice.
+
+ if ($activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE) {
+ $verbs = " '" . dbesc(ACTIVITY_ATTEND) . "','" . dbesc(ACTIVITY_ATTENDNO) . "','" . dbesc(ACTIVITY_ATTENDMAYBE) . "' ";
$multi_undo = 1;
}
- if($activity === ACTIVITY_AGREE || $activity === ACTIVITY_DISAGREE || $activity === ACTIVITY_ABSTAIN) {
- $verbs = " '" . dbesc(ACTIVITY_AGREE) . "','" . dbesc(ACTIVITY_DISAGREE) . "','" . dbesc(ACTIVITY_ABSTAIN) . "' ";
+ if ($activity === ACTIVITY_AGREE || $activity === ACTIVITY_DISAGREE || $activity === ACTIVITY_ABSTAIN) {
+ $verbs = " '" . dbesc(ACTIVITY_AGREE) . "','" . dbesc(ACTIVITY_DISAGREE) . "','" . dbesc(ACTIVITY_ABSTAIN) . "' ";
$multi_undo = true;
}
-
+
$item_normal = item_normal();
-
+
$r = q("SELECT id, parent, uid, verb FROM item WHERE verb in ( $verbs ) $item_normal
AND author_xchan = '%s' AND thr_parent = '%s' and uid = %d ",
dbesc($observer['xchan_hash']),
dbesc($item['mid']),
intval($owner_uid)
);
-
- if($r) {
+
+ if ($r) {
// already liked it. Drop that item.
require_once('include/items.php');
- foreach($r as $rr) {
- drop_item($rr['id'],false,DROPITEM_PHASE1);
+ foreach ($r as $rr) {
+ drop_item($rr['id'], false, DROPITEM_PHASE1);
// set the changed timestamp on the parent so we'll see the update without a page reload
- $z = q("update item set changed = '%s' where id = %d and uid = %d",
+ q("update item set changed = '%s' where id = %d and uid = %d",
dbesc(datetime_convert()),
intval($rr['parent']),
intval($rr['uid'])
);
- // Prior activity was a duplicate of the one we're submitting, just undo it;
+ // Prior activity was a duplicate of the one we're submitting, just undo it;
// don't fall through and create another
- if(activity_match($rr['verb'],$activity))
+ if (activity_match($rr['verb'], $activity))
$multi_undo = false;
-
+
// drop_item was not done interactively, so we need to invoke the notifier
// in order to push the changes to connections
- \Zotlabs\Daemon\Master::Summon(array('Notifier','drop',$rr['id']));
+ Master::Summon(array('Notifier', 'drop', $rr['id']));
-
}
-
- if($interactive)
+
+ if ($interactive)
return;
-
- if(! $multi_undo) {
+
+ if (!$multi_undo) {
$ret = self::like_response([
- 'item' => $item,
- 'orig_item_id' => $item_id,
- 'owner_xchan' => $thread_owner,
- 'conv_mode' => $mode
+ 'item' => $item,
+ 'orig_item_id' => $item_id,
+ 'owner_xchan' => $thread_owner
]);
json_return_and_die($ret);
}
-
-
}
}
-
+
$uuid = item_message_id();
-
+
$arr = array();
-
- $arr['uuid'] = $uuid;
- $arr['mid'] = z_root() . (($is_rsvp) ? '/activity/' : '/item/') . $uuid;
- if($extended_like) {
+ $arr['uuid'] = $uuid;
+ $arr['mid'] = z_root() . (($is_rsvp) ? '/activity/' : '/item/') . $uuid;
+
+ if ($extended_like) {
$arr['item_thread_top'] = 1;
- $arr['item_origin'] = 1;
- $arr['item_wall'] = 1;
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = 1;
}
else {
$post_type = (($item['resource_type'] === 'photo') ? t('photo') : t('status'));
- if($item['obj_type'] === ACTIVITY_OBJ_EVENT)
+ if ($item['obj_type'] === ACTIVITY_OBJ_EVENT)
$post_type = t('event');
-
- $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $item['plink']));
- $objtype = (($item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
- if($objtype === ACTIVITY_OBJ_NOTE && (! intval($item['item_thread_top'])))
+ $objtype = (($item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE);
+
+ if ($objtype === ACTIVITY_OBJ_NOTE && (!intval($item['item_thread_top'])))
$objtype = ACTIVITY_OBJ_COMMENT;
-
- $body = $item['body'];
-
- $object = json_encode(Activity::fetch_item( [ 'id' => $item['mid'] ]));
+ $object = json_encode(Activity::fetch_item(['id' => $item['mid']]));
+
+ if (!intval($item['item_thread_top']))
+ $post_type = 'comment';
- if(! intval($item['item_thread_top']))
- $post_type = 'comment';
-
- $arr['item_origin'] = 1;
+ $arr['item_origin'] = 1;
$arr['item_notshown'] = 1;
- $arr['item_type'] = $item['item_type'];
-
- if(intval($item['item_wall']))
+ $arr['item_type'] = $item['item_type'];
+
+ if (intval($item['item_wall']))
$arr['item_wall'] = 1;
-
+
// if this was a linked photo and was hidden, unhide it.
-
- if(intval($item['item_hidden'])) {
+
+ if (intval($item['item_hidden'])) {
$r = q("update item set item_hidden = 0 where id = %d",
intval($item['id'])
);
- }
-
+ }
+
}
-
- if($verb === 'like')
+
+ if ($verb === 'like')
$bodyverb = t('%1$s likes %2$s\'s %3$s');
- if($verb === 'dislike')
+ if ($verb === 'dislike')
$bodyverb = t('%1$s doesn\'t like %2$s\'s %3$s');
- if($verb === 'agree')
+ if ($verb === 'agree')
$bodyverb = t('%1$s agrees with %2$s\'s %3$s');
- if($verb === 'disagree')
+ if ($verb === 'disagree')
$bodyverb = t('%1$s doesn\'t agree with %2$s\'s %3$s');
- if($verb === 'abstain')
+ if ($verb === 'abstain')
$bodyverb = t('%1$s abstains from a decision on %2$s\'s %3$s');
- if($verb === 'attendyes')
+ if ($verb === 'attendyes')
$bodyverb = t('%1$s is attending %2$s\'s %3$s');
- if($verb === 'attendno')
+ if ($verb === 'attendno')
$bodyverb = t('%1$s is not attending %2$s\'s %3$s');
- if($verb === 'attendmaybe')
+ if ($verb === 'attendmaybe')
$bodyverb = t('%1$s may attend %2$s\'s %3$s');
-
- if(! isset($bodyverb))
- killme();
-
-
-
- if($extended_like) {
- $ulink = '[zrl=' . $ch[0]['xchan_url'] . '][bdi]' . $ch[0]['xchan_name'] . '[/bdi][/zrl]';
- $alink = '[zrl=' . $observer['xchan_url'] . '][bdi]' . $observer['xchan_name'] . '[/bdi][/zrl]';
+
+ if (!isset($bodyverb))
+ killme();
+
+ if ($extended_like) {
+ $ulink = '[zrl=' . $ch[0]['xchan_url'] . '][bdi]' . $ch[0]['xchan_name'] . '[/bdi][/zrl]';
+ $alink = '[zrl=' . $observer['xchan_url'] . '][bdi]' . $observer['xchan_name'] . '[/bdi][/zrl]';
$private = (($public) ? 0 : 1);
}
else {
- $arr['parent'] = $item['id'];
- $arr['thr_parent'] = $item['mid'];
- $ulink = '[zrl=' . $item_author['xchan_url'] . '][bdi]' . $item_author['xchan_name'] . '[/bdi][/zrl]';
- $alink = '[zrl=' . $observer['xchan_url'] . '][bdi]' . $observer['xchan_name'] . '[/bdi][/zrl]';
- $plink = '[zrl=' . z_root() . '/display/' . gen_link_id($item['mid']) . ']' . $post_type . '[/zrl]';
- $allow_cid = $item['allow_cid'];
- $allow_gid = $item['allow_gid'];
- $deny_cid = $item['deny_cid'];
- $deny_gid = $item['deny_gid'];
- $private = $item['private'];
-
+ $arr['parent'] = $item['id'];
+ $arr['thr_parent'] = $item['mid'];
+ $ulink = '[zrl=' . $item_author['xchan_url'] . '][bdi]' . $item_author['xchan_name'] . '[/bdi][/zrl]';
+ $alink = '[zrl=' . $observer['xchan_url'] . '][bdi]' . $observer['xchan_name'] . '[/bdi][/zrl]';
+ $plink = '[zrl=' . z_root() . '/display/' . gen_link_id($item['mid']) . ']' . $post_type . '[/zrl]';
+ $allow_cid = $item['allow_cid'];
+ $allow_gid = $item['allow_gid'];
+ $deny_cid = $item['deny_cid'];
+ $deny_gid = $item['deny_gid'];
+ $private = $item['private'];
+
}
-
-
+
$arr['aid'] = (($extended_like) ? $ch[0]['channel_account_id'] : $owner_aid);
$arr['uid'] = $owner_uid;
-
-
- $arr['item_flags'] = $item_flags;
- $arr['item_wall'] = $item_wall;
+ $arr['item_flags'] = $item['item_flags'];
+ $arr['item_wall'] = $item['item_wall'];
$arr['parent_mid'] = (($extended_like) ? $arr['mid'] : $item['mid']);
$arr['owner_xchan'] = (($extended_like) ? $ch[0]['xchan_hash'] : $thread_owner['xchan_hash']);
$arr['author_xchan'] = $observer['xchan_hash'];
-
-
- $arr['body'] = sprintf( $bodyverb, $alink, $ulink, $plink );
- if($obj_type === 'thing' && $r[0]['imgurl']) {
+ $arr['body'] = sprintf($bodyverb, $alink, $ulink, $plink);
+
+ if ($obj_type === 'thing' && $r[0]['imgurl']) {
$arr['body'] .= "\n\n[zmg=80x80]" . $r[0]['imgurl'] . '[/zmg]';
- }
- if($obj_type === 'profile') {
- if($public) {
- $arr['body'] .= "\n\n" . '[embed]' . z_root() . '/profile/' . $ch[0]['channel_address'] . '[/embed]';
+ }
+ if ($obj_type === 'profile') {
+ if ($public) {
+ $arr['body'] .= "\n\n" . '[embed]' . z_root() . '/profile/' . $ch[0]['channel_address'] . '[/embed]';
}
else
$arr['body'] .= "\n\n[zmg=80x80]" . $profile['thumb'] . '[/zmg]';
- }
-
-
- $arr['verb'] = $activity;
- $arr['obj_type'] = $objtype;
- $arr['obj'] = $object;
-
- if($target) {
- $arr['tgt_type'] = $tgttype;
- $arr['target'] = $target;
}
-
- $arr['allow_cid'] = $allow_cid;
- $arr['allow_gid'] = $allow_gid;
- $arr['deny_cid'] = $deny_cid;
- $arr['deny_gid'] = $deny_gid;
- $arr['item_private'] = $private;
-
- call_hooks('post_local',$arr);
-
- $post = item_store($arr);
+
+ $arr['verb'] = $activity;
+ $arr['obj_type'] = $objtype;
+ $arr['obj'] = $object;
+
+ if ($target) {
+ $arr['tgt_type'] = $tgttype;
+ $arr['target'] = $target;
+ }
+
+ $arr['allow_cid'] = $allow_cid;
+ $arr['allow_gid'] = $allow_gid;
+ $arr['deny_cid'] = $deny_cid;
+ $arr['deny_gid'] = $deny_gid;
+ $arr['item_private'] = $private;
+
+ call_hooks('post_local', $arr);
+
+ $post = item_store($arr);
$post_id = $post['item_id'];
// save the conversation from expiration
- if(local_channel() && array_key_exists('item',$post) && (intval($post['item']['id']) != intval($post['item']['parent'])))
- retain_item($post['item']['parent']);
-
+ if (local_channel() && array_key_exists('item', $post) && (intval($post['item']['id']) != intval($post['item']['parent'])))
+ retain_item($post['item']['parent']);
+
$arr['id'] = $post_id;
-
+
call_hooks('post_local_end', $arr);
-
-
- if($extended_like) {
+
+ if ($extended_like) {
$r = q("insert into likes (channel_id,liker,likee,iid,i_mid,verb,target_type,target_id,target) values (%d,'%s','%s',%d,'%s','%s','%s','%s','%s')",
intval($ch[0]['channel_id']),
dbesc($observer['xchan_hash']),
@@ -569,39 +563,38 @@ class Like extends \Zotlabs\Web\Controller {
intval($post_id),
dbesc($arr['mid']),
dbesc($activity),
- dbesc(($tgttype)? $tgttype : $objtype),
+ dbesc(($tgttype) ? $tgttype : $objtype),
dbesc($obj_id),
- dbesc(($target) ? $target : $object)
+ dbesc(($target) ? $target : $object)
);
$r = q("select * from likes where liker = '%s' and likee = '%s' and i_mid = '%s' and verb = '%s' and target_type = '%s' and target_id = '%s' ",
dbesc($observer['xchan_hash']),
dbesc($ch[0]['channel_hash']),
dbesc($arr['mid']),
dbesc($activity),
- dbesc(($tgttype)? $tgttype : $objtype),
+ dbesc(($tgttype) ? $tgttype : $objtype),
dbesc($obj_id)
);
- if($r)
- Libsync::build_sync_packet($ch[0]['channel_id'],array('likes' => $r));
-
+ if ($r)
+ Libsync::build_sync_packet($ch[0]['channel_id'], array('likes' => $r));
+
}
-
- \Zotlabs\Daemon\Master::Summon(array('Notifier','like',$post_id));
-
- if($interactive) {
- notice( t('Action completed.') . EOL);
+
+ Master::Summon(array('Notifier', 'like', $post_id));
+
+ if ($interactive) {
+ notice(t('Action completed.') . EOL);
$o .= t('Thank you.');
return $o;
}
$ret = self::like_response([
- 'item' => $item,
- 'orig_item_id' => $item_id,
- 'owner_xchan' => $thread_owner,
- 'conv_mode' => $mode
+ 'item' => $item,
+ 'orig_item_id' => $item_id,
+ 'owner_xchan' => $thread_owner
]);
json_return_and_die($ret);
}
-
+
}
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index 4a1692d64..84c2463d6 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -20,44 +20,44 @@ class Network extends \Zotlabs\Web\Controller {
return;
}
- if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?']))
+ if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?']) || strpos($_GET['search'], 'https://') === 0)
goaway('search' . '?f=&search=' . $_GET['search']);
-
+
if(count($_GET) < 2) {
$network_options = get_pconfig(local_channel(),'system','network_page_default');
if($network_options)
goaway('network' . '?f=&' . $network_options);
}
-
+
$channel = App::get_channel();
App::$profile_uid = local_channel();
head_set_icon($channel['xchan_photo_s']);
-
+
}
-
+
function get($update = 0, $load = false) {
-
+
if(! local_channel()) {
$_SESSION['return_url'] = App::$query_string;
return login(false);
}
-
+
$o = '';
$arr = array('query' => App::$query_string);
-
+
call_hooks('network_content_init', $arr);
-
+
$channel = App::get_channel();
$item_normal = item_normal();
$item_normal_update = item_normal_update();
-
+
$datequery = $datequery2 = '';
-
+
$group = 0;
-
+
$nouveau = false;
-
+
$datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
$datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
$gid = ((x($_GET,'gid')) ? intval($_GET['gid']) : 0);
@@ -87,13 +87,13 @@ class Network extends \Zotlabs\Web\Controller {
$search = '';
}
}
-
+
if($datequery)
$order = 'post';
-
-
+
+
// filter by collection (e.g. group)
-
+
if($gid) {
$r = q("SELECT * FROM pgrp WHERE id = %d AND uid = %d LIMIT 1",
intval($gid),
@@ -106,12 +106,12 @@ class Network extends \Zotlabs\Web\Controller {
goaway(z_root() . '/network');
// NOTREACHED
}
-
+
$group = $gid;
$group_hash = $r[0]['hash'];
$def_acl = array('allow_gid' => '<' . $r[0]['hash'] . '>');
}
-
+
$default_cmin = ((Apps::system_app_installed(local_channel(),'Affinity Tool')) ? get_pconfig(local_channel(),'affinity','cmin',0) : (-1));
$default_cmax = ((Apps::system_app_installed(local_channel(),'Affinity Tool')) ? get_pconfig(local_channel(),'affinity','cmax',99) : (-1));
@@ -127,7 +127,7 @@ class Network extends \Zotlabs\Web\Controller {
$net = ((x($_GET,'net')) ? $_GET['net'] : '');
$pf = ((x($_GET,'pf')) ? $_GET['pf'] : '');
$unseen = ((x($_GET,'unseen')) ? $_GET['unseen'] : '');
-
+
if (Apps::system_app_installed(local_channel(),'Affinity Tool')) {
$affinity_locked = intval(get_pconfig(local_channel(),'affinity','lock',1));
if ($affinity_locked) {
@@ -155,16 +155,16 @@ class Network extends \Zotlabs\Web\Controller {
}
$def_acl = [ 'allow_cid' => '<' . $cid_r[0]['abook_xchan'] . '>', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ];
}
-
+
if(! $update) {
-
+
// search terms header
if($search || $hashtags) {
$o .= replace_macros(get_markup_template("section_title.tpl"),array(
'$title' => t('Search Results For:') . ' ' . (($search) ? htmlspecialchars($search, ENT_COMPAT,'UTF-8') : '#' . htmlspecialchars($hashtags, ENT_COMPAT,'UTF-8'))
));
}
-
+
nav_set_selected('Network');
$bang = '!';
@@ -179,14 +179,14 @@ class Network extends \Zotlabs\Web\Controller {
}
$channel_acl = array(
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
+ 'allow_cid' => $channel['channel_allow_cid'],
+ 'allow_gid' => $channel['channel_allow_gid'],
+ 'deny_cid' => $channel['channel_deny_cid'],
'deny_gid' => $channel['channel_deny_gid']
);
$private_editing = (($group || $cid) ? true : false);
-
+
$x = array(
'is_owner' => true,
'allow_location' => ((intval(get_pconfig($channel['channel_id'],'system','use_browser_location'))) ? '1' : ''),
@@ -204,28 +204,28 @@ class Network extends \Zotlabs\Web\Controller {
'jotnets' => true,
'reset' => t('Reset form')
);
-
+
$status_editor = status_editor($a,$x,false,'Network');
$o .= $status_editor;
}
-
-
+
+
// We don't have to deal with ACL's on this page. You're looking at everything
// that belongs to you, hence you can see all of it. We will filter by group if
// desired.
-
-
+
+
$sql_options = (($star)
? " and item_starred = 1 "
: '');
-
+
$sql_nets = '';
$item_thread_top = ' AND item_thread_top = 1 ';
-
+
$sql_extra = '';
-
+
if($group) {
$contact_str = '';
@@ -241,18 +241,18 @@ class Network extends \Zotlabs\Web\Controller {
}
$item_thread_top = '';
$sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent $item_normal ) ";
-
+
$x = group_rec_byhash(local_channel(), $group_hash);
-
+
if($x) {
$title = replace_macros(get_markup_template("section_title.tpl"),array(
'$title' => t('Privacy group: ') . $x['gname']
));
}
-
+
$o = $title;
$o .= $status_editor;
-
+
}
elseif($cid_r) {
$item_thread_top = '';
@@ -324,75 +324,26 @@ class Network extends \Zotlabs\Web\Controller {
}
}
-
+
if(x($category)) {
$sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY));
}
if(x($hashtags)) {
$sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
}
-
- if(! $update) {
- // The special div is needed for liveUpdate to kick in for this page.
- // We only launch liveUpdate if you aren't filtering in some incompatible
- // way and also you aren't writing a comment (discovered in javascript).
- $maxheight = get_pconfig(local_channel(),'system','network_divmore_height');
- if(! $maxheight)
- $maxheight = 400;
-
-
- $o .= '<div id="live-network"></div>' . "\r\n";
- $o .= "<script> var profile_uid = " . local_channel()
- . "; var profile_page = " . App::$pager['page']
- . "; divmore_height = " . intval($maxheight) . "; </script>\r\n";
-
- App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
- '$baseurl' => z_root(),
- '$pgtype' => 'network',
- '$uid' => ((local_channel()) ? local_channel() : '0'),
- '$gid' => (($gid) ? $gid : '0'),
- '$cid' => (($cid) ? $cid : '0'),
- '$cmin' => (($cmin) ? $cmin : '(-1)'),
- '$cmax' => (($cmax) ? $cmax : '(-1)'),
- '$star' => (($star) ? $star : '0'),
- '$liked' => (($liked) ? $liked : '0'),
- '$conv' => (($conv) ? $conv : '0'),
- '$spam' => (($spam) ? $spam : '0'),
- '$fh' => '0',
- '$dm' => (($dm) ? $dm : '0'),
- '$nouveau' => (($nouveau) ? $nouveau : '0'),
- '$wall' => '0',
- '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
- '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1),
- '$search' => (($search) ? urlencode($search) : ''),
- '$xchan' => (($xchan) ? urlencode($xchan) : ''),
- '$order' => $order,
- '$file' => (($file) ? urlencode($file) : ''),
- '$cats' => (($category) ? urlencode($category) : ''),
- '$tags' => (($hashtags) ? urlencode($hashtags) : ''),
- '$dend' => $datequery,
- '$mid' => '',
- '$verb' => (($verb) ? urlencode($verb) : ''),
- '$net' => (($net) ? urlencode($net) : ''),
- '$dbegin' => $datequery2,
- '$pf' => (($pf) ? intval($pf) : 0),
- '$unseen' => (($unseen) ? urlencode($unseen) : '')
- ));
- }
-
$sql_extra3 = '';
-
+
if($datequery) {
$sql_extra3 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery))));
}
if($datequery2) {
$sql_extra3 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
}
-
+
$sql_extra2 = (($nouveau) ? '' : " AND item.parent = item.id ");
$sql_extra3 = (($nouveau) ? '' : $sql_extra3);
-
+
if(x($_GET,'search')) {
$search = escape_tags($_GET['search']);
if(strpos($search,'#') === 0) {
@@ -405,7 +356,7 @@ class Network extends \Zotlabs\Web\Controller {
);
}
}
-
+
if ($verb) {
// the presence of a leading dot in the verb determines
@@ -425,7 +376,7 @@ class Network extends \Zotlabs\Web\Controller {
);
}
}
-
+
if(strlen($file)) {
$sql_extra .= term_query('item',$file,TERM_FILE);
}
@@ -433,52 +384,52 @@ class Network extends \Zotlabs\Web\Controller {
if ($dm) {
$sql_extra .= " AND item_private = 2 ";
}
-
+
if($conv) {
$item_thread_top = '';
$sql_extra .= " AND ( author_xchan = '" . dbesc($channel['channel_hash']) . "' OR item_mentionsme = 1 ) ";
}
-
+
if($update && ! $load) {
-
+
// only setup pagination on initial page view
$pager_sql = '';
-
+
}
else {
$itemspage = get_pconfig(local_channel(),'system','itemspage');
App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
}
-
+
// cmin and cmax are both -1 when the affinity tool is disabled
if(($cmin != (-1)) || ($cmax != (-1))) {
-
+
// Not everybody who shows up in the network stream will be in your address book.
// By default those that aren't are assumed to have closeness = 99; but this isn't
// recorded anywhere. So if cmax is 99, we'll open the search up to anybody in
// the stream with a NULL address book entry.
-
+
$sql_nets .= " AND ";
-
+
if($cmax == 99)
$sql_nets .= " ( ";
-
+
$sql_nets .= "( abook.abook_closeness >= " . intval($cmin) . " ";
$sql_nets .= " AND abook.abook_closeness <= " . intval($cmax) . " ) ";
-
+
if($cmax == 99)
$sql_nets .= " OR abook.abook_closeness IS NULL ) ";
-
+
}
- $net_query = (($net) ? " left join xchan on xchan_hash = author_xchan " : '');
+ $net_query = (($net) ? " left join xchan on xchan_hash = author_xchan " : '');
$net_query2 = (($net) ? " and xchan_network = '" . protect_sprintf(dbesc($net)) . "' " : '');
$abook_uids = " and abook.abook_channel = " . local_channel() . " ";
$uids = " and item.uid = " . local_channel() . " ";
-
+
if(feature_enabled(local_channel(), 'network_list_mode'))
$page_mode = 'list';
else
@@ -504,7 +455,7 @@ class Network extends \Zotlabs\Web\Controller {
if($nouveau && $load) {
// "New Item View" - show all items unthreaded in reverse created date order
- $items = q("SELECT item.*, item.id AS item_id, created FROM item
+ $items = q("SELECT item.*, item.id AS item_id, created FROM item
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
$net_query
WHERE true $uids $item_normal
@@ -517,23 +468,23 @@ class Network extends \Zotlabs\Web\Controller {
$parents_str = ids_to_querystr($items,'item_id');
require_once('include/items.php');
-
+
xchan_query($items);
-
+
$items = fetch_post_tags($items,true);
}
elseif($update) {
-
+
// Normal conversation view
-
+
if($order === 'post')
$ordering = "created";
else
$ordering = "commented";
-
+
if($load) {
// Fetch a page full of parent items for this page
- $r = q("SELECT item.parent AS item_id FROM item
+ $r = q("SELECT item.parent AS item_id FROM item
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
$net_query
WHERE true $uids $item_thread_top $item_normal
@@ -557,18 +508,18 @@ class Network extends \Zotlabs\Web\Controller {
}
// Then fetch all the children of the parents that are on this page
-
+
if($r) {
-
+
$parents_str = ids_to_querystr($r,'item_id');
-
+
$items = q("SELECT item.*, item.id AS item_id FROM item
WHERE true $uids $item_normal
AND item.parent IN ( %s )
$sql_extra ",
dbesc($parents_str)
);
-
+
xchan_query($items,true);
$items = fetch_post_tags($items,true);
$items = conv_sort($items,$ordering);
@@ -578,20 +529,70 @@ class Network extends \Zotlabs\Web\Controller {
}
}
-
+
$mode = (($nouveau) ? 'network-new' : 'network');
if($search)
$mode = 'search';
-
+
+ if(! $update) {
+ // The special div is needed for liveUpdate to kick in for this page.
+ // We only launch liveUpdate if you aren't filtering in some incompatible
+ // way and also you aren't writing a comment (discovered in javascript).
+
+ $maxheight = get_pconfig(local_channel(),'system','network_divmore_height');
+ if(! $maxheight)
+ $maxheight = 400;
+
+
+ $o .= '<div id="live-network"></div>' . "\r\n";
+ $o .= "<script> var profile_uid = " . local_channel()
+ . "; var profile_page = " . App::$pager['page']
+ . "; divmore_height = " . intval($maxheight) . "; </script>\r\n";
+
+ App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
+ '$baseurl' => z_root(),
+ '$pgtype' => 'network',
+ '$uid' => ((local_channel()) ? local_channel() : '0'),
+ '$gid' => (($gid) ? $gid : '0'),
+ '$cid' => (($cid) ? $cid : '0'),
+ '$cmin' => (($cmin) ? $cmin : '(-1)'),
+ '$cmax' => (($cmax) ? $cmax : '(-1)'),
+ '$star' => (($star) ? $star : '0'),
+ '$liked' => (($liked) ? $liked : '0'),
+ '$conv' => (($conv) ? $conv : '0'),
+ '$spam' => (($spam) ? $spam : '0'),
+ '$fh' => '0',
+ '$dm' => (($dm) ? $dm : '0'),
+ '$nouveau' => (($nouveau) ? $nouveau : '0'),
+ '$wall' => '0',
+ '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
+ '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1),
+ '$search' => (($search) ? urlencode($search) : ''),
+ '$xchan' => (($xchan) ? urlencode($xchan) : ''),
+ '$order' => $order,
+ '$file' => (($file) ? urlencode($file) : ''),
+ '$cats' => (($category) ? urlencode($category) : ''),
+ '$tags' => (($hashtags) ? urlencode($hashtags) : ''),
+ '$dend' => $datequery,
+ '$mid' => '',
+ '$verb' => (($verb) ? urlencode($verb) : ''),
+ '$net' => (($net) ? urlencode($net) : ''),
+ '$dbegin' => $datequery2,
+ '$pf' => (($pf) ? intval($pf) : 0),
+ '$unseen' => (($unseen) ? urlencode($unseen) : ''),
+ '$page_mode' => $page_mode
+ ));
+ }
+
$o .= conversation($items,$mode,$update,$page_mode);
-
+
if(($items) && (! $update))
$o .= alt_pager(count($items));
$_SESSION['loadtime'] = datetime_convert();
-
+
return $o;
}
-
+
}
diff --git a/Zotlabs/Module/Notifications.php b/Zotlabs/Module/Notifications.php
index 1762ad5f6..55268e0a2 100644
--- a/Zotlabs/Module/Notifications.php
+++ b/Zotlabs/Module/Notifications.php
@@ -19,7 +19,7 @@ class Notifications extends \Zotlabs\Web\Controller {
$r = q("select count(*) as total from notify where uid = %d and seen = 0",
intval(local_channel())
);
- if($r && intval($t[0]['total']) > 49) {
+ if($r && intval($r[0]['total']) > 49) {
$r = q("select * from notify where uid = %d
and seen = 0 order by created desc limit 50",
intval(local_channel())
@@ -32,7 +32,7 @@ class Notifications extends \Zotlabs\Web\Controller {
$r2 = q("select * from notify where uid = %d
and seen = 1 order by created desc limit %d",
intval(local_channel()),
- intval(50 - intval($t[0]['total']))
+ intval(50 - intval($r[0]['total']))
);
$r = array_merge($r1,$r2);
}
@@ -41,7 +41,7 @@ class Notifications extends \Zotlabs\Web\Controller {
$notifications_available = 1;
foreach ($r as $rr) {
$x = strip_tags(bbcode($rr['msg']));
- $notif_content .= replace_macros(get_markup_template('notify.tpl'),array(
+ $notif_content = replace_macros(get_markup_template('notify.tpl'),array(
'$item_link' => z_root().'/notify/view/'. $rr['id'],
'$item_image' => $rr['photo'],
'$item_text' => $x,
@@ -52,7 +52,7 @@ class Notifications extends \Zotlabs\Web\Controller {
}
}
else {
- $notif_content .= t('No more system notifications.');
+ $notif_content = t('No more system notifications.');
}
$o .= replace_macros(get_markup_template('notifications.tpl'),array(
diff --git a/Zotlabs/Module/Owa.php b/Zotlabs/Module/Owa.php
index d6aeb8af5..9a3513f34 100644
--- a/Zotlabs/Module/Owa.php
+++ b/Zotlabs/Module/Owa.php
@@ -39,7 +39,7 @@ class Owa extends Controller {
$found = discover_by_webbie(str_replace('acct:','',$keyId));
if ($found) {
$r = q("SELECT * FROM hubloc LEFT JOIN xchan ON hubloc_hash = xchan_hash
- WHERE OR hubloc_id_url = '%s'",
+ WHERE hubloc_id_url = '%s'",
dbesc($keyId)
);
}
diff --git a/Zotlabs/Module/Photo.php b/Zotlabs/Module/Photo.php
index 814705a85..ee360dac5 100644
--- a/Zotlabs/Module/Photo.php
+++ b/Zotlabs/Module/Photo.php
@@ -147,7 +147,7 @@ class Photo extends \Zotlabs\Web\Controller {
);
if($r) {
$allowed = (-1);
-
+ $filename = $r[0]['filename'];
$u = intval($r[0]['photo_usage']);
if($u) {
$allowed = 1;
@@ -194,9 +194,9 @@ class Photo extends \Zotlabs\Web\Controller {
$mimetype = $e[0]['mimetype'];
$modified = strtotime($e[0]['edited'] . 'Z');
- if(intval($e[0]['os_storage'])) {
+ if(intval($e[0]['os_storage']))
$streaming = $data;
- }
+
if($e[0]['allow_cid'] != '' || $e[0]['allow_gid'] != '' || $e[0]['deny_gid'] != '' || $e[0]['deny_gid'] != '')
$prvcachecontrol = 'no-store, no-cache, must-revalidate';
}
@@ -282,7 +282,7 @@ class Photo extends \Zotlabs\Web\Controller {
header("Content-Length: " . (isset($filesize) ? $filesize : strlen($data)));
// If it's a file resource, stream it.
- if($streaming && $channel) {
+ if($streaming) {
if(strpos($streaming,'store') !== false)
$istream = fopen($streaming,'rb');
else
diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php
index fa9216c97..099289c03 100644
--- a/Zotlabs/Module/Photos.php
+++ b/Zotlabs/Module/Photos.php
@@ -16,66 +16,66 @@ require_once('include/text.php');
class Photos extends \Zotlabs\Web\Controller {
function init() {
-
+
if(observer_prohibited()) {
return;
}
-
+
if(argc() > 1) {
$nick = argv(1);
-
+
profile_load($nick);
-
+
$channelx = channelx_by_nick($nick);
-
+
if(! $channelx)
return;
-
+
\App::$data['channel'] = $channelx;
-
+
$observer = \App::get_observer();
\App::$data['observer'] = $observer;
-
+
$observer_xchan = (($observer) ? $observer['xchan_hash'] : '');
-
+
head_set_icon(\App::$data['channel']['xchan_photo_s']);
-
+
\App::$page['htmlhead'] .= "<script> var profile_uid = " . ((\App::$data['channel']) ? \App::$data['channel']['channel_id'] : 0) . "; </script>" ;
-
+
}
-
+
return;
}
-
-
-
+
+
+
function post() {
-
+
logger('mod-photos: photos_post: begin' , LOGGER_DEBUG);
-
+
logger('mod_photos: REQUEST ' . print_r($_REQUEST,true), LOGGER_DATA);
logger('mod_photos: FILES ' . print_r($_FILES,true), LOGGER_DATA);
-
+
$ph = photo_factory('');
-
+
$phototypes = $ph->supportedTypes();
-
+
$can_post = false;
-
+
$page_owner_uid = \App::$data['channel']['channel_id'];
-
+
if(perm_is_allowed($page_owner_uid,get_observer_hash(),'write_storage'))
$can_post = true;
-
+
if(! $can_post) {
notice( t('Permission denied.') . EOL );
if(is_ajax())
killme();
return;
}
-
+
$s = abook_self($page_owner_uid);
-
+
if(! $s) {
notice( t('Page owner information could not be retrieved.') . EOL);
logger('mod_photos: post: unable to locate contact record for page owner. uid=' . $page_owner_uid);
@@ -83,30 +83,30 @@ class Photos extends \Zotlabs\Web\Controller {
killme();
return;
}
-
- $owner_record = $s[0];
-
+
+ $owner_record = $s[0];
+
$acl = new \Zotlabs\Access\AccessList(\App::$data['channel']);
-
+
if((argc() > 3) && (argv(2) === 'album')) {
-
+
$album = argv(3);
if(! photos_album_exists($page_owner_uid, get_observer_hash(), $album)) {
notice( t('Album not found.') . EOL);
goaway(z_root() . '/' . $_SESSION['photo_return']);
}
-
-
+
+
/*
* DELETE photo album and all its photos
*/
-
+
if($_REQUEST['dropalbum'] == t('Delete Album')) {
-
-
+
+
$folder_hash = '';
-
+
$r = q("select * from attach where is_dir = 1 and uid = %d and hash = '%s'",
intval($page_owner_uid),
dbesc($album)
@@ -116,13 +116,13 @@ class Photos extends \Zotlabs\Web\Controller {
return;
}
$folder_hash = $r[0]['hash'];
-
-
+
+
$res = array();
$admin_delete = false;
// get the list of photos we are about to delete
-
+
if(remote_channel() && (! local_channel())) {
$str = photos_album_get_db_idstr($page_owner_uid,$album,remote_channel());
}
@@ -139,7 +139,7 @@ class Photos extends \Zotlabs\Web\Controller {
if(! $str) {
goaway(z_root() . '/' . $_SESSION['photo_return']);
}
-
+
$r = q("select id from item where resource_id in ( $str ) and resource_type = 'photo' and uid = %d " . item_normal(),
intval($page_owner_uid)
);
@@ -148,34 +148,34 @@ class Photos extends \Zotlabs\Web\Controller {
attach_delete($page_owner_uid, $i['resource_id'], true );
}
}
-
+
// remove the associated photos in case they weren't attached to an item
-
+
q("delete from photo where resource_id in ( $str ) and uid = %d",
intval($page_owner_uid)
);
-
+
// @FIXME do the same for the linked attach
-
+
if($folder_hash) {
attach_delete($page_owner_uid, $folder_hash, true );
- if(! $admin_delete) {
+ if(! $admin_delete) {
$sync = attach_export_data(\App::$data['channel'],$folder_hash, true);
-
- if($sync)
+
+ if($sync)
Libsync::build_sync_packet($page_owner_uid,array('file' => array($sync)));
}
}
-
+
}
-
+
goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address']);
}
-
+
if((argc() > 2) && (x($_REQUEST,'delete')) && ($_REQUEST['delete'] === t('Delete Photo'))) {
// same as above but remove single photo
-
+
$ob_hash = get_observer_hash();
if(! $ob_hash)
goaway(z_root() . '/' . $_SESSION['photo_return']);
@@ -185,18 +185,18 @@ class Photos extends \Zotlabs\Web\Controller {
intval(local_channel()),
dbesc(argv(2))
);
-
+
if($r) {
attach_delete($page_owner_uid, $r[0]['resource_id'], true );
$sync = attach_export_data(\App::$data['channel'],$r[0]['resource_id'], true);
-
- if($sync)
+
+ if($sync)
Libsync::build_sync_packet($page_owner_uid,array('file' => array($sync)));
}
elseif(is_site_admin()) {
// If the admin deletes a photo, don't sync
attach_delete($page_owner_uid, argv(2), true);
- }
+ }
goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $_SESSION['album_return']);
@@ -208,10 +208,10 @@ class Photos extends \Zotlabs\Web\Controller {
intval($page_owner_uid)
);
if(($m) && ($m[0]['folder'] != $_POST['move_to_album'])) {
- attach_move($page_owner_uid,argv(2),$_POST['move_to_album']);
+ attach_move($page_owner_uid,argv(2),$_POST['move_to_album']);
$sync = attach_export_data(\App::$data['channel'], argv(2), false);
- if($sync)
+ if($sync)
Libsync::build_sync_packet($page_owner_uid,array('file' => array($sync)));
if(! ($_POST['desc'] && $_POST['newtag']))
@@ -220,28 +220,28 @@ class Photos extends \Zotlabs\Web\Controller {
}
if((argc() > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false))) {
-
+
$desc = ((x($_POST,'desc')) ? notags(trim($_POST['desc'])) : '');
$rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : '');
$item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0);
$is_nsfw = ((x($_POST,'adult')) ? intval($_POST['adult']) : 0);
-
+
$acl->set_from_array($_POST);
$perm = $acl->get();
-
+
$resource_id = argv(2);
-
- if((x($_POST,'rotate') !== false) &&
+
+ if((x($_POST,'rotate') !== false) &&
( (intval($_POST['rotate']) == 1) || (intval($_POST['rotate']) == 2) )) {
logger('rotate');
-
+
$r = q("select * from photo where resource_id = '%s' and uid = %d and imgscale = 0 limit 1",
dbesc($resource_id),
intval($page_owner_uid)
);
if(count($r)) {
-
+
$ph = photo_factory(@file_get_contents(dbunescbin($r[0]['content'])), $r[0]['mimetype']);
if($ph->is_valid()) {
$rotate_deg = ( (intval($_POST['rotate']) == 1) ? 270 : 90 );
@@ -255,12 +255,12 @@ class Photos extends \Zotlabs\Web\Controller {
dbesc($resource_id),
intval($page_owner_uid)
);
-
+
$ph->saveImage(dbunescbin($r[0]['content']));
-
- $arr = [
+
+ $arr = [
'aid' => get_account_id(),
- 'uid' => intval($page_owner_uid),
+ 'uid' => intval($page_owner_uid),
'resource_id' => dbesc($resource_id),
'filename' => $r[0]['filename'],
'imgscale' => 0,
@@ -277,28 +277,31 @@ class Photos extends \Zotlabs\Web\Controller {
unset($arr['os_syspath']);
- if($width > 1024 || $height > 1024)
+ $width = $r[0]['width'];
+ $height = $r[0]['height'];
+
+ if($width > 1024 || $height > 1024)
$ph->scaleImage(1024);
$ph->storeThumbnail($arr, PHOTO_RES_1024);
- if($width > 640 || $height > 640)
+ if($width > 640 || $height > 640)
$ph->scaleImage(640);
$ph->storeThumbnail($arr, PHOTO_RES_640);
- if($width > 320 || $height > 320)
+ if($width > 320 || $height > 320)
$ph->scaleImage(320);
$ph->storeThumbnail($arr, PHOTO_RES_320);
}
}
}
-
+
$p = q("SELECT mimetype, is_nsfw, description, resource_id, imgscale, allow_cid, allow_gid, deny_cid, deny_gid FROM photo WHERE resource_id = '%s' AND uid = %d ORDER BY imgscale DESC",
dbesc($resource_id),
intval($page_owner_uid)
);
if($p) {
$ext = $phototypes[$p[0]['mimetype']];
-
+
$r = q("UPDATE photo SET description = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' WHERE resource_id = '%s' AND uid = %d",
dbesc($desc),
dbesc($perm['allow_cid']),
@@ -309,9 +312,7 @@ class Photos extends \Zotlabs\Web\Controller {
intval($page_owner_uid)
);
}
-
- $item_private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false);
-
+
$old_is_nsfw = $p[0]['is_nsfw'];
if($old_is_nsfw != $is_nsfw) {
$r = q("update photo set is_nsfw = %d where resource_id = '%s' and uid = %d",
@@ -320,31 +321,31 @@ class Photos extends \Zotlabs\Web\Controller {
intval($page_owner_uid)
);
}
-
+
/* Don't make the item visible if the only change was the album name */
-
+
$visibility = 0;
if($p[0]['description'] !== $desc || strlen($rawtags))
$visibility = 1;
-
+
if(! $item_id) {
$item_id = photos_create_item(\App::$data['channel'],get_observer_hash(),$p[0],$visibility);
-
+
}
-
+
if($item_id) {
$r = q("SELECT * FROM item WHERE id = %d AND uid = %d LIMIT 1",
intval($item_id),
intval($page_owner_uid)
);
-
+
if($r) {
$old_tag = $r[0]['tag'];
$old_inform = $r[0]['inform'];
}
}
-
-
+
+
// make sure the linked item has the same permissions as the photo regardless of any other changes
$x = q("update item set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
where id = %d",
@@ -355,7 +356,7 @@ class Photos extends \Zotlabs\Web\Controller {
intval($acl->is_private()),
intval($item_id)
);
-
+
// make sure the attach has the same permissions as the photo regardless of any other changes
$x = q("update attach set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where hash = '%s' and uid = %d and is_photo = 1",
dbesc($perm['allow_cid']),
@@ -365,46 +366,46 @@ class Photos extends \Zotlabs\Web\Controller {
dbesc($resource_id),
intval($page_owner_uid)
);
-
-
-
+
+
+
if(strlen($rawtags)) {
-
+
$str_tags = '';
$inform = '';
-
+
// if the new tag doesn't have a namespace specifier (@foo or #foo) give it a mention
-
+
$x = substr($rawtags,0,1);
if($x !== '@' && $x !== '#')
$rawtags = '@' . $rawtags;
-
+
require_once('include/text.php');
$profile_uid = \App::$profile['profile_uid'];
-
+
$results = linkify_tags($rawtags, (local_channel()) ? local_channel() : $profile_uid);
-
+
$success = $results['success'];
$post_tags = array();
-
+
foreach($results as $result) {
$success = $result['success'];
if($success['replaced']) {
$post_tags[] = array(
- 'uid' => $profile_uid,
+ 'uid' => $profile_uid,
'ttype' => $success['termtype'],
'otype' => TERM_OBJ_POST,
'term' => $success['term'],
'url' => $success['url']
- );
+ );
}
}
-
+
$r = q("select * from item where id = %d and uid = %d limit 1",
intval($item_id),
intval($page_owner_uid)
);
-
+
if($r) {
$r = fetch_post_tags($r,true);
$datarray = $r[0];
@@ -412,42 +413,42 @@ class Photos extends \Zotlabs\Web\Controller {
if((! array_key_exists('term',$datarray)) || (! is_array($datarray['term'])))
$datarray['term'] = $post_tags;
else
- $datarray['term'] = array_merge($datarray['term'],$post_tags);
+ $datarray['term'] = array_merge($datarray['term'],$post_tags);
}
item_store_update($datarray,$execflag);
}
-
+
}
$sync = attach_export_data(\App::$data['channel'],$resource_id);
-
- if($sync)
+
+ if($sync)
Libsync::build_sync_packet($page_owner_uid,array('file' => array($sync)));
-
+
goaway(z_root() . '/' . $_SESSION['photo_return']);
return; // NOTREACHED
-
-
+
+
}
-
-
+
+
/**
* default post action - upload a photo
*/
-
+
$channel = \App::$data['channel'];
$observer = \App::$data['observer'];
-
+
$_REQUEST['source'] = 'photos';
require_once('include/attach.php');
-
+
if(! local_channel()) {
$_REQUEST['contact_allow'] = expand_acl($channel['channel_allow_cid']);
$_REQUEST['group_allow'] = expand_acl($channel['channel_allow_gid']);
$_REQUEST['contact_deny'] = expand_acl($channel['channel_deny_cid']);
$_REQUEST['group_deny'] = expand_acl($channel['channel_deny_gid']);
}
-
+
$matches = [];
$partial = false;
@@ -467,7 +468,7 @@ class Photos extends \Zotlabs\Web\Controller {
if($x['partial']) {
header('Range: bytes=0-' . (($x['length']) ? $x['length'] - 1 : 0));
- json_return_and_die($result);
+ json_return_and_die($x);
}
else {
header('Range: bytes=0-' . (($x['size']) ? $x['size'] - 1 : 0));
@@ -481,7 +482,7 @@ class Photos extends \Zotlabs\Web\Controller {
];
}
}
- else {
+ else {
if(! array_key_exists('userfile',$_FILES)) {
$_FILES['userfile'] = [
'name' => $_FILES['files']['name'],
@@ -494,53 +495,53 @@ class Photos extends \Zotlabs\Web\Controller {
}
$r = attach_store($channel,get_observer_hash(), '', $_REQUEST);
-
+
if(! $r['success']) {
notice($r['message'] . EOL);
goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address']);
- }
+ }
goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $r['data']['folder']);
-
+
}
-
-
-
+
+
+
function get() {
-
+
// URLs:
// photos/name
// photos/name/album/xxxxx (xxxxx is album name)
// photos/name/image/xxxxx
-
-
+
+
if(observer_prohibited()) {
notice( t('Public access denied.') . EOL);
return;
}
-
+
$unsafe = ((array_key_exists('unsafe',$_REQUEST) && $_REQUEST['unsafe']) ? 1 : 0);
-
+
require_once('include/bbcode.php');
require_once('include/security.php');
require_once('include/conversation.php');
-
+
if(! x(\App::$data,'channel')) {
notice( t('No photos selected') . EOL );
return;
}
-
+
$ph = photo_factory('');
$phototypes = $ph->supportedTypes();
-
+
$_SESSION['photo_return'] = \App::$cmd;
-
+
//
- // Parse arguments
+ // Parse arguments
//
-
+
$can_comment = perm_is_allowed(\App::$profile['profile_uid'],get_observer_hash(),'post_comments');
-
+
if(argc() > 3) {
$datatype = argv(2);
$datum = argv(3);
@@ -552,70 +553,70 @@ class Photos extends \Zotlabs\Web\Controller {
else
$datatype = 'summary';
}
-
+
if(argc() > 4)
$cmd = argv(4);
else
$cmd = 'view';
-
+
//
// Setup permissions structures
//
-
+
$can_post = false;
$visitor = 0;
-
-
+
+
$owner_uid = \App::$data['channel']['channel_id'];
$owner_aid = \App::$data['channel']['channel_account_id'];
-
+
$observer = \App::get_observer();
-
+
$can_post = perm_is_allowed($owner_uid,$observer['xchan_hash'],'write_storage');
$can_view = perm_is_allowed($owner_uid,$observer['xchan_hash'],'view_storage');
-
+
if(! $can_view) {
notice( t('Access to this item is restricted.') . EOL);
return;
}
-
+
$sql_item = item_permissions_sql($owner_uid,get_observer_hash());
$sql_extra = permissions_sql($owner_uid,get_observer_hash(),'photo');
$sql_attach = permissions_sql($owner_uid,get_observer_hash(),'attach');
nav_set_selected('Photos');
-
+
$o = '<script src="vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js"></script>
<script src="vendor/blueimp/jquery-file-upload/js/jquery.iframe-transport.js"></script>
<script src="vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js"></script>';
- $o .= "<script> var profile_uid = " . \App::$profile['profile_uid']
+ $o .= "<script> var profile_uid = " . \App::$profile['profile_uid']
. "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . "; </script>\r\n";
-
+
$_is_owner = (local_channel() && (local_channel() == $owner_uid));
-
+
/**
* Display upload form
*/
-
+
if( $can_post) {
-
+
$uploader = '';
-
+
$ret = array('post_url' => z_root() . '/photos/' . \App::$data['channel']['channel_address'],
'addon_text' => $uploader,
'default_upload' => true);
-
+
call_hooks('photo_upload_form',$ret);
-
+
/* Show space usage */
-
+
$r = q("select sum(filesize) as total from photo where aid = %d and imgscale = 0 ",
intval(\App::$data['channel']['channel_account_id'])
);
-
-
+
+
$limit = engr_units_to_bytes(service_class_fetch(\App::$data['channel']['channel_id'],'photo_upload_limit'));
if($limit !== false) {
$usage_message = sprintf( t("%1$.2f MB of %2$.2f MB photo storage used."), $r[0]['total'] / 1024000, $limit / 1024000 );
@@ -623,22 +624,22 @@ class Photos extends \Zotlabs\Web\Controller {
else {
$usage_message = sprintf( t('%1$.2f MB photo storage used.'), $r[0]['total'] / 1024000 );
}
-
+
if($_is_owner) {
$channel = \App::get_channel();
-
+
$acl = new \Zotlabs\Access\AccessList($channel);
$channel_acl = $acl->get();
-
+
$lockstate = (($acl->is_private()) ? 'lock' : 'unlock');
}
-
+
$aclselect = (($_is_owner) ? populate_acl($channel_acl,false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')) : '');
-
+
// this is wrong but is to work around an issue with js_upload wherein it chokes if these variables
- // don't exist. They really should be set to a parseable representation of the channel's default permissions
- // which can be processed by getSelected()
-
+ // don't exist. They really should be set to a parseable representation of the channel's default permissions
+ // which can be processed by getSelected()
+
if(! $aclselect) {
$aclselect = '<input id="group_allow" type="hidden" name="allow_gid[]" value="" /><input id="contact_allow" type="hidden" name="allow_cid[]" value="" /><input id="group_deny" type="hidden" name="deny_gid[]" value="" /><input id="contact_deny" type="hidden" name="deny_cid[]" value="" />';
}
@@ -648,11 +649,11 @@ class Photos extends \Zotlabs\Web\Controller {
if($datum) {
$h = attach_by_hash_nodata($datum,get_observer_hash());
$selname = $h['data']['display_path'];
- }
+ }
+
-
$albums = ((array_key_exists('albums', \App::$data)) ? \App::$data['albums'] : photos_albums_list(\App::$data['channel'],\App::$data['observer']));
-
+
if(! $selname) {
$def_album = get_pconfig(\App::$data['channel']['channel_id'],'system','photo_path');
if($def_album) {
@@ -660,7 +661,7 @@ class Photos extends \Zotlabs\Web\Controller {
$albums['album'][] = array('text' => $selname);
}
}
-
+
$tpl = get_markup_template('photos_upload.tpl');
$upload_form = replace_macros($tpl,array(
'$pagename' => t('Upload Photos'),
@@ -685,22 +686,22 @@ class Photos extends \Zotlabs\Web\Controller {
'$default' => (($ret['default_upload']) ? true : false),
'$uploadurl' => $ret['post_url'],
'$submit' => t('Upload')
-
+
));
-
+
}
-
+
//
// dispatch request
//
-
+
/*
* Display a single photo album
*/
-
+
if($datatype === 'album') {
- head_add_link([
+ head_add_link([
'rel' => 'alternate',
'type' => 'application/json+oembed',
'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string),
@@ -710,7 +711,7 @@ class Photos extends \Zotlabs\Web\Controller {
if($x = photos_album_exists($owner_uid, get_observer_hash(), $datum)) {
\App::set_pager_itemspage(30);
$album = $x['display_path'];
- }
+ }
else {
goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address']);
}
@@ -721,7 +722,7 @@ class Photos extends \Zotlabs\Web\Controller {
$order = 'DESC';
$r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.imgscale, p.description, p.created FROM photo p INNER JOIN
- (SELECT resource_id, max(imgscale) imgscale FROM photo left join attach on folder = '%s' and photo.resource_id = attach.hash WHERE attach.uid = %d AND imgscale <= 4 AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id) ph
+ (SELECT resource_id, max(imgscale) imgscale FROM photo left join attach on folder = '%s' and photo.resource_id = attach.hash WHERE attach.uid = %d AND imgscale <= 4 AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id) ph
ON (p.resource_id = ph.resource_id AND p.imgscale = ph.imgscale)
ORDER BY created $order LIMIT %d OFFSET %d",
dbesc($x['hash']),
@@ -739,9 +740,9 @@ class Photos extends \Zotlabs\Web\Controller {
if($can_post) {
$album_e = $album;
$albums = ((array_key_exists('albums', \App::$data)) ? \App::$data['albums'] : photos_albums_list(\App::$data['channel'],\App::$data['observer']));
-
+
// @fixme - syncronise actions with DAV
-
+
// $edit_tpl = get_markup_template('album_edit.tpl');
// $album_edit = replace_macros($edit_tpl,array(
// '$nametext' => t('Enter a new album name'),
@@ -753,32 +754,32 @@ class Photos extends \Zotlabs\Web\Controller {
// '$submit' => t('Submit'),
// '$dropsubmit' => t('Delete Album')
// ));
-
+
}
-
+
if($_GET['order'] === 'posted')
$order = array(t('Show Newest First'), z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $datum);
else
$order = array(t('Show Oldest First'), z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $datum . '?f=&order=posted');
-
+
$photos = array();
if(count($r)) {
$twist = 'rotright';
foreach($r as $rr) {
-
+
if($twist == 'rotright')
$twist = 'rotleft';
else
$twist = 'rotright';
-
+
$ext = $phototypes[$rr['mimetype']];
-
+
$imgalt_e = $rr['filename'];
$desc_e = $rr['description'];
-
+
$imagelink = (z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/image/' . $rr['resource_id']
. (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''));
-
+
$photos[] = array(
'id' => $rr['id'],
'twist' => ' ' . $twist . rand(2,4),
@@ -793,7 +794,7 @@ class Photos extends \Zotlabs\Web\Controller {
);
}
}
-
+
if($_REQUEST['aj']) {
if($photos) {
$o = replace_macros(get_markup_template('photosajax.tpl'),array(
@@ -821,71 +822,71 @@ class Photos extends \Zotlabs\Web\Controller {
'$upload_form' => $upload_form,
'$usage' => $usage_message
));
-
+
}
-
+
if((! $photos) && ($_REQUEST['aj'])) {
$o .= '<div id="content-complete"></div>';
echo $o;
killme();
}
-
+
return $o;
-
- }
-
- /**
+
+ }
+
+ /**
* Display one photo
*/
-
+
if($datatype === 'image') {
-
+
\App::$page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$cmd) . '" title="oembed" />' . "\r\n";
-
+
$x = q("select folder from attach where hash = '%s' and uid = %d $sql_attach limit 1",
dbesc($datum),
intval($owner_uid)
);
// fetch image, item containing image, then comments
-
- $ph = q("SELECT id,aid,uid,xchan,resource_id,created,edited,title,description,album,filename,mimetype,height,width,filesize,imgscale,photo_usage,is_nsfw,allow_cid,allow_gid,deny_cid,deny_gid FROM photo WHERE uid = %d AND resource_id = '%s'
+
+ $ph = q("SELECT id,aid,uid,xchan,resource_id,created,edited,title,description,album,filename,mimetype,height,width,filesize,imgscale,photo_usage,is_nsfw,allow_cid,allow_gid,deny_cid,deny_gid FROM photo WHERE uid = %d AND resource_id = '%s'
$sql_extra ORDER BY imgscale ASC ",
intval($owner_uid),
dbesc($datum)
);
-
+
if(! ($ph && $x)) {
-
+
/* Check again - this time without specifying permissions */
-
+
$ph = q("SELECT id FROM photo WHERE uid = %d AND resource_id = '%s' LIMIT 1",
intval($owner_uid),
dbesc($datum)
);
- if($ph)
+ if($ph)
notice( t('Permission denied. Access to this item may be restricted.') . EOL);
else
notice( t('Photo not available') . EOL );
return;
}
-
-
-
+
+
+
$prevlink = '';
$nextlink = '';
-
+
if($_GET['order'] === 'posted')
$order = 'ASC';
else
$order = 'DESC';
-
+
$prvnxt = q("SELECT hash FROM attach WHERE folder = '%s' AND uid = %d AND is_photo = 1
$sql_attach ORDER BY created $order ",
dbesc($x[0]['folder']),
intval($owner_uid)
- );
+ );
if(count($prvnxt)) {
for($z = 0; $z < count($prvnxt); $z++) {
@@ -899,12 +900,12 @@ class Photos extends \Zotlabs\Web\Controller {
break;
}
}
-
+
$prevlink = z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/image/' . $prvnxt[$prv]['hash'] . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
$nextlink = z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/image/' . $prvnxt[$nxt]['hash'] . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
}
-
-
+
+
if(count($ph) == 1)
$hires = $lores = $ph[0];
if(count($ph) > 1) {
@@ -917,74 +918,74 @@ class Photos extends \Zotlabs\Web\Controller {
$lores = $ph[1];
}
}
-
+
$album_link = z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $x[0]['folder'];
$tools = Null;
$lock = Null;
-
+
if($can_post && ($ph[0]['uid'] == $owner_uid)) {
$tools = array(
'profile'=>array(z_root() . '/profile_photo/use/'.$ph[0]['resource_id'], t('Use as profile photo')),
'cover'=>array(z_root() . '/cover_photo/use/'.$ph[0]['resource_id'], t('Use as cover photo')),
);
}
-
+
// lockstate
$lockstate = ( ( (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid'])
|| strlen($ph[0]['deny_cid']) || strlen($ph[0]['deny_gid'])) )
? array('lock', t('Private Photo'))
: array('unlock', Null));
-
+
\App::$page['htmlhead'] .= '<script>$(document).keydown(function(event) {' . "\n";
if($prevlink)
\App::$page['htmlhead'] .= 'if(event.ctrlKey && event.keyCode == 37) { event.preventDefault(); window.location.href = \'' . $prevlink . '\'; }' . "\n";
if($nextlink)
\App::$page['htmlhead'] .= 'if(event.ctrlKey && event.keyCode == 39) { event.preventDefault(); window.location.href = \'' . $nextlink . '\'; }' . "\n";
\App::$page['htmlhead'] .= '});</script>';
-
+
if($prevlink)
$prevlink = array($prevlink, t('Previous'));
-
+
$photo = array(
'href' => z_root() . '/photo/' . $hires['resource_id'] . '-' . $hires['imgscale'] . '.' . $phototypes[$hires['mimetype']],
'title'=> t('View Full Size'),
'src' => z_root() . '/photo/' . $lores['resource_id'] . '-' . $lores['imgscale'] . '.' . $phototypes[$lores['mimetype']]
);
-
+
if($nextlink)
$nextlink = array($nextlink, t('Next'));
-
-
+
+
// Do we have an item for this photo?
-
- $linked_items = q("SELECT * FROM item WHERE resource_id = '%s' and resource_type = 'photo'
+
+ $linked_items = q("SELECT * FROM item WHERE resource_id = '%s' and resource_type = 'photo'
$sql_item LIMIT 1",
dbesc($datum)
);
-
+
$map = null;
-
+
if($linked_items) {
-
+
xchan_query($linked_items);
$linked_items = fetch_post_tags($linked_items,true);
-
+
$link_item = $linked_items[0];
$item_normal = item_normal();
-
- $r = q("select * from item where parent_mid = '%s'
+
+ $r = q("select * from item where parent_mid = '%s'
$item_normal and uid = %d $sql_item ",
dbesc($link_item['mid']),
intval($link_item['uid'])
-
+
);
-
+
if($r) {
xchan_query($r);
$r = fetch_post_tags($r,true);
$r = conv_sort($r,'commented');
}
-
+
$tags = array();
if($link_item['term']) {
$cnt = 0;
@@ -997,23 +998,23 @@ class Photos extends \Zotlabs\Web\Controller {
$cnt ++;
}
}
-
+
if((local_channel()) && (local_channel() == $link_item['uid'])) {
q("UPDATE item SET item_unseen = 0 WHERE parent = %d and uid = %d and item_unseen = 1",
intval($link_item['parent']),
intval(local_channel())
);
}
-
+
if($link_item['coord']) {
$map = generate_map($link_item['coord']);
}
}
-
+
// logger('mod_photo: link_item' . print_r($link_item,true));
-
- // FIXME - remove this when we move to conversation module
-
+
+ // FIXME - remove this when we move to conversation module
+
$r = $r[0]['children'];
$edit = null;
@@ -1023,11 +1024,11 @@ class Photos extends \Zotlabs\Web\Controller {
$caption_e = $ph[0]['description'];
$aclselect_e = (($_is_owner) ? populate_acl($ph[0], true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')) : '');
$albums = ((array_key_exists('albums', \App::$data)) ? \App::$data['albums'] : photos_albums_list(\App::$data['channel'],\App::$data['observer']));
-
+
$_SESSION['album_return'] = bin2hex($ph[0]['album']);
$folder_list = attach_folder_select_list($ph[0]['uid']);
-
+
$edit = [
'edit' => t('Edit photo'),
'id' => $link_item['id'],
@@ -1058,17 +1059,17 @@ class Photos extends \Zotlabs\Web\Controller {
'delete' => t('Delete Photo')
];
}
-
+
if(count($linked_items)) {
-
+
$cmnt_tpl = get_markup_template('comment_item.tpl');
$tpl = get_markup_template('photo_item.tpl');
$return_url = \App::$cmd;
-
+
$like_tpl = get_markup_template('like_noshare.tpl');
-
+
$likebuttons = '';
-
+
if($observer && ($can_post || $can_comment)) {
$likebuttons = [
'id' => $link_item['id'],
@@ -1078,12 +1079,12 @@ class Photos extends \Zotlabs\Web\Controller {
'wait' => t('Please wait')
];
}
-
+
$comments = '';
if(! $r) {
if($observer && ($can_post || $can_comment)) {
$commentbox = replace_macros($cmnt_tpl,array(
- '$return_path' => '',
+ '$return_path' => '',
'$mode' => 'photos',
'$jsreload' => $return_url,
'$type' => 'wall-comment',
@@ -1101,28 +1102,28 @@ class Photos extends \Zotlabs\Web\Controller {
));
}
}
-
+
$alike = array();
$dlike = array();
-
+
$like = '';
$dislike = '';
-
+
$conv_responses = array(
'like' => array('title' => t('Likes','title')),'dislike' => array('title' => t('Dislikes','title')),
- 'agree' => array('title' => t('Agree','title')),'disagree' => array('title' => t('Disagree','title')), 'abstain' => array('title' => t('Abstain','title')),
+ 'agree' => array('title' => t('Agree','title')),'disagree' => array('title' => t('Disagree','title')), 'abstain' => array('title' => t('Abstain','title')),
'attendyes' => array('title' => t('Attending','title')), 'attendno' => array('title' => t('Not attending','title')), 'attendmaybe' => array('title' => t('Might attend','title'))
);
-
-
-
-
+
+
+
+
if($r) {
-
+
foreach($r as $item) {
builtin_activity_puller($item, $conv_responses);
}
-
+
$like_count = ((x($alike,$link_item['mid'])) ? $alike[$link_item['mid']] : '');
$like_list = ((x($alike,$link_item['mid'])) ? $alike[$link_item['mid'] . '-l'] : '');
@@ -1133,7 +1134,7 @@ class Photos extends \Zotlabs\Web\Controller {
$like_list_part = '';
}
$like_button_label = tt('Like','Likes',$like_count,'noun');
-
+
//if (feature_enabled($conv->get_profile_owner(),'dislike')) {
$dislike_count = ((x($dlike,$link_item['mid'])) ? $dlike[$link_item['mid']] : '');
$dislike_list = ((x($dlike,$link_item['mid'])) ? $dlike[$link_item['mid'] . '-l'] : '');
@@ -1145,44 +1146,44 @@ class Photos extends \Zotlabs\Web\Controller {
$dislike_list_part = '';
}
//}
-
-
+
+
$like = ((isset($alike[$link_item['mid']])) ? format_like($alike[$link_item['mid']],$alike[$link_item['mid'] . '-l'],'like',$link_item['mid']) : '');
$dislike = ((isset($dlike[$link_item['mid']])) ? format_like($dlike[$link_item['mid']],$dlike[$link_item['mid'] . '-l'],'dislike',$link_item['mid']) : '');
-
+
// display comments
-
+
foreach($r as $item) {
$comment = '';
$template = $tpl;
$sparkle = '';
-
+
if(((activity_match($item['verb'],ACTIVITY_LIKE)) || (activity_match($item['verb'],ACTIVITY_DISLIKE))) && ($item['id'] != $item['parent']))
continue;
-
+
$redirect_url = z_root() . '/redir/' . $item['cid'] ;
-
-
+
+
$profile_url = zid($item['author']['xchan_url']);
$sparkle = '';
-
-
+
+
$profile_name = $item['author']['xchan_name'];
$profile_avatar = $item['author']['xchan_photo_m'];
-
+
$profile_link = $profile_url;
-
+
$drop = '';
-
+
if($observer['xchan_hash'] === $item['author_xchan'] || $observer['xchan_hash'] === $item['owner_xchan'])
$drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete')));
-
-
+
+
$name_e = $profile_name;
$title_e = $item['title'];
unobscure($item);
$body_e = prepare_text($item['body'],$item['mimetype']);
-
+
$comments .= replace_macros($template,array(
'$id' => $item['id'],
'$mode' => 'photos',
@@ -1197,9 +1198,9 @@ class Photos extends \Zotlabs\Web\Controller {
'$drop' => $drop,
'$comment' => $comment
));
-
+
}
-
+
if($observer && ($can_post || $can_comment)) {
$commentbox = replace_macros($cmnt_tpl,array(
'$return_path' => '',
@@ -1216,20 +1217,20 @@ class Photos extends \Zotlabs\Web\Controller {
'$ww' => ''
));
}
-
+
}
$paginate = paginate($a);
}
-
+
$album_e = array($album_link,$ph[0]['album']);
$like_e = $like;
$dislike_e = $dislike;
-
-
+
+
$response_verbs = array('like');
if(feature_enabled($owner_uid,'dislike'))
$response_verbs[] = 'dislike';
-
+
$responses = get_responses($conv_responses,$response_verbs,'',$link_item);
$hookdata = [
@@ -1238,7 +1239,7 @@ class Photos extends \Zotlabs\Web\Controller {
'nickname' => \App::$data['channel']['channel_address']
];
call_hooks('photo_view_filter', $hookdata);
-
+
$photo_tpl = get_markup_template('photo_view.tpl');
$o .= replace_macros($photo_tpl, array(
'$id' => $ph[0]['id'],
@@ -1255,7 +1256,7 @@ class Photos extends \Zotlabs\Web\Controller {
'$tag_hdr' => t('In This Photo:'),
'$tags' => $tags,
'responses' => $responses,
- '$edit' => $edit,
+ '$edit' => $edit,
'$map' => $map,
'$map_text' => t('Map'),
'$likebuttons' => $likebuttons,
@@ -1277,26 +1278,26 @@ class Photos extends \Zotlabs\Web\Controller {
'$paginate' => $paginate,
'$onclick' => $hookdata['onclick']
));
-
+
\App::$data['photo_html'] = $o;
-
+
return $o;
}
-
+
// Default - show recent photos with upload link (if applicable)
//$o = '';
-
+
\App::$page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$cmd) . '" title="oembed" />' . "\r\n";
-
+
\App::set_pager_itemspage(30);
-
- $r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.album, p.imgscale, p.created, p.display_path
- FROM photo p
- INNER JOIN ( SELECT resource_id, max(imgscale) imgscale FROM photo
- WHERE photo.uid = %d AND photo_usage IN ( %d, %d )
- AND is_nsfw = %d $sql_extra group by resource_id ) ph
- ON (p.resource_id = ph.resource_id and p.imgscale = ph.imgscale)
+
+ $r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.album, p.imgscale, p.created, p.display_path
+ FROM photo p
+ INNER JOIN ( SELECT resource_id, max(imgscale) imgscale FROM photo
+ WHERE photo.uid = %d AND photo_usage IN ( %d, %d )
+ AND is_nsfw = %d $sql_extra group by resource_id ) ph
+ ON (p.resource_id = ph.resource_id and p.imgscale = ph.imgscale)
ORDER by p.created DESC LIMIT %d OFFSET %d",
intval(\App::$data['channel']['channel_id']),
intval(PHOTO_NORMAL),
@@ -1305,9 +1306,9 @@ class Photos extends \Zotlabs\Web\Controller {
intval(\App::$pager['itemspage']),
intval(\App::$pager['start'])
);
-
-
-
+
+
+
$photos = array();
if($r) {
$twist = 'rotright';
@@ -1321,7 +1322,7 @@ class Photos extends \Zotlabs\Web\Controller {
else
$twist = 'rotright';
$ext = $phototypes[$rr['mimetype']];
-
+
$alt_e = $rr['filename'];
$name_e = dirname($rr['display_path']);
@@ -1335,11 +1336,11 @@ class Photos extends \Zotlabs\Web\Controller {
'album' => array(
'name' => $name_e,
),
-
+
);
}
}
-
+
if($_REQUEST['aj']) {
if($photos) {
$o = replace_macros(get_markup_template('photosajax.tpl'),array(
@@ -1355,7 +1356,7 @@ class Photos extends \Zotlabs\Web\Controller {
}
else {
$o .= "<script> var page_query = '" . escape_tags(urlencode($_GET['q'])) . "'; var extra_args = '" . extra_query_args() . "' ; </script>";
- $tpl = get_markup_template('photos_recent.tpl');
+ $tpl = get_markup_template('photos_recent.tpl');
$o .= replace_macros($tpl, array(
'$title' => t('Recent Photos'),
'$album_id' => bin2hex(t('Recent Photos')),
@@ -1365,18 +1366,18 @@ class Photos extends \Zotlabs\Web\Controller {
'$upload_form' => $upload_form,
'$usage' => $usage_message
));
-
+
}
-
+
if((! $photos) && ($_REQUEST['aj'])) {
$o .= '<div id="content-complete"></div>';
echo $o;
killme();
}
-
+
// paginate($a);
return $o;
}
-
-
+
+
}
diff --git a/Zotlabs/Module/Pin.php b/Zotlabs/Module/Pin.php
index 63b28754b..e02fb017b 100644
--- a/Zotlabs/Module/Pin.php
+++ b/Zotlabs/Module/Pin.php
@@ -6,6 +6,7 @@ namespace Zotlabs\Module;
*/
use App;
+use Zotlabs\Lib\Libsync;
class Pin extends \Zotlabs\Web\Controller {
@@ -64,6 +65,6 @@ class Pin extends \Zotlabs\Web\Controller {
http_status_exit(404, 'Not found');
}
- build_sync_packet($r[0]['uid'], [ 'config' ]);
+ Libsync::build_sync_packet($r[0]['uid'], [ 'config' ]);
}
}
diff --git a/Zotlabs/Module/Profile.php b/Zotlabs/Module/Profile.php
index 4235f0b97..118f11f64 100644
--- a/Zotlabs/Module/Profile.php
+++ b/Zotlabs/Module/Profile.php
@@ -1,5 +1,13 @@
<?php
-namespace Zotlabs\Module; /** @file */
+
+namespace Zotlabs\Module;
+
+use App;
+use Zotlabs\Lib\ActivityStreams;
+use Zotlabs\Lib\Activity;
+use Zotlabs\Web\Controller;
+
+/** @file */
require_once('include/contact_widgets.php');
require_once('include/items.php');
@@ -9,110 +17,115 @@ require_once('include/conversation.php');
require_once('include/acl_selectors.php');
-
-class Profile extends \Zotlabs\Web\Controller {
+class Profile extends Controller {
function init() {
-
- if(argc() > 1)
+
+ if (argc() > 1)
$which = argv(1);
else {
- notice( t('Requested profile is not available.') . EOL );
- \App::$error = 404;
+ notice(t('Requested profile is not available.') . EOL);
+ App::$error = 404;
return;
}
- nav_set_selected('Profile');
-
$profile = '';
- $channel = \App::get_channel();
-
- if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
- $which = $channel['channel_address'];
- $profile = argv(1);
- $r = q("select profile_guid from profile where id = %d and uid = %d limit 1",
+ $channel = App::get_channel();
+
+ if (!$channel)
+ http_status_exit(404, 'Not found');
+
+ if (ActivityStreams::is_as_request()) {
+ $p = Activity::encode_person($channel, true);
+ as_return_and_die(['type' => 'Profile', 'describes' => $p], $channel);
+ }
+
+ nav_set_selected('Profile');
+
+ if ((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
+ $which = $channel['channel_address'];
+ $profile = argv(1);
+ $r = q("select profile_guid from profile where id = %d and uid = %d limit 1",
intval($profile),
intval(local_channel())
);
- if(! $r)
+ if (!$r)
$profile = '';
$profile = $r[0]['profile_guid'];
}
-
- head_add_link( [
- 'rel' => 'alternate',
+
+ head_add_link([
+ 'rel' => 'alternate',
'type' => 'application/atom+xml',
'title' => t('Posts and comments'),
'href' => z_root() . '/feed/' . $which
]);
- head_add_link( [
- 'rel' => 'alternate',
+ head_add_link([
+ 'rel' => 'alternate',
'type' => 'application/atom+xml',
'title' => t('Only posts'),
'href' => z_root() . '/feed/' . $which . '?f=&top=1'
]);
- if(! $profile) {
+ if (!$profile) {
$x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1",
dbesc(argv(1))
);
- if($x) {
- \App::$profile = $x[0];
+ if ($x) {
+ App::$profile = $x[0];
}
}
-
- profile_load($which,$profile);
-
-
+
+ profile_load($which, $profile);
+
+
}
-
+
function get() {
-
- if(observer_prohibited(true)) {
+
+ if (observer_prohibited(true)) {
return login();
}
-
- $groups = array();
+ $groups = [];
$tab = 'profile';
- $o = '';
-
- if(! (perm_is_allowed(\App::$profile['profile_uid'],get_observer_hash(), 'view_profile'))) {
- notice( t('Permission denied.') . EOL);
+ $o = '';
+
+ if (!(perm_is_allowed(App::$profile['profile_uid'], get_observer_hash(), 'view_profile'))) {
+ notice(t('Permission denied.') . EOL);
return;
}
-
- if(argc() > 2 && argv(2) === 'vcard') {
+ if (argc() > 2 && argv(2) === 'vcard') {
header('Content-type: text/vcard');
- header('content-disposition: attachment; filename="' . t('vcard') . '-' . $profile['channel_address'] . '.vcf"' );
- echo \App::$profile['profile_vcard'];
+ header('content-disposition: attachment; filename="' . t('vcard') . '-' . App::$profile['channel_address'] . '.vcf"');
+ echo App::$profile['profile_vcard'];
killme();
}
-
- $is_owner = ((local_channel()) && (local_channel() == \App::$profile['profile_uid']) ? true : false);
-
- if(\App::$profile['hidewall'] && (! $is_owner) && (! remote_channel())) {
- notice( t('Permission denied.') . EOL);
+
+ $is_owner = ((local_channel()) && (local_channel() == App::$profile['profile_uid']) ? true : false);
+
+ if (App::$profile['hidewall'] && (!$is_owner) && (!remote_channel())) {
+ notice(t('Permission denied.') . EOL);
return;
}
-
- head_add_link([
+
+ head_add_link([
'rel' => 'alternate',
'type' => 'application/json+oembed',
- 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string),
+ 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . App::$query_string),
'title' => 'oembed'
]);
$o .= advanced_profile();
- call_hooks('profile_advanced',$o);
+ call_hooks('profile_advanced', $o);
return $o;
-
+
}
-
+
}
diff --git a/Zotlabs/Module/Profiles.php b/Zotlabs/Module/Profiles.php
index 9ac0e725e..ca6ab435f 100644
--- a/Zotlabs/Module/Profiles.php
+++ b/Zotlabs/Module/Profiles.php
@@ -12,11 +12,11 @@ class Profiles extends \Zotlabs\Web\Controller {
function init() {
nav_set_selected('Profiles', 'settings/profiles');
-
+
if(! local_channel()) {
return;
}
-
+
if((argc() > 2) && (argv(1) === "drop") && intval(argv(2))) {
$r = q("SELECT * FROM profile WHERE id = %d AND uid = %d AND is_default = 0 LIMIT 1",
intval(argv(2)),
@@ -28,11 +28,11 @@ class Profiles extends \Zotlabs\Web\Controller {
return; // NOTREACHED
}
$profile_guid = $r['profile_guid'];
-
+
check_form_security_token_redirectOnErr('/profiles', 'profile_drop', 't');
-
+
// move every contact using this profile as their default to the user default
-
+
$r = q("UPDATE abook SET abook_profile = (SELECT profile_guid FROM profile WHERE is_default = 1 AND uid = %d LIMIT 1) WHERE abook_profile = '%s' AND abook_channel = %d ",
intval(local_channel()),
dbesc($profile_guid),
@@ -44,34 +44,34 @@ class Profiles extends \Zotlabs\Web\Controller {
);
if($r)
info( t('Profile deleted.') . EOL);
-
- // @fixme this is a much more complicated sync - add any changed abook entries and
+
+ // @fixme this is a much more complicated sync - add any changed abook entries and
// also add deleted flag to profile structure
// profiles_build_sync is just here as a placeholder - it doesn't work at all here
-
+
// profiles_build_sync(local_channel());
-
+
goaway(z_root() . '/profiles');
return; // NOTREACHED
}
-
-
-
-
-
+
+
+
+
+
if((argc() > 1) && (argv(1) === 'new')) {
-
+
// check_form_security_token_redirectOnErr('/profiles', 'profile_new', 't');
-
+
$r0 = q("SELECT id FROM profile WHERE uid = %d",
intval(local_channel()));
$num_profiles = count($r0);
-
+
$name = t('Profile-') . ($num_profiles + 1);
-
+
$r1 = q("SELECT fullname, photo, thumb FROM profile WHERE uid = %d AND is_default = 1 LIMIT 1",
intval(local_channel()));
-
+
$r2 = profile_store_lowlevel(
[
'aid' => intval(get_account_id()),
@@ -83,27 +83,27 @@ class Profiles extends \Zotlabs\Web\Controller {
'thumb' => $r1[0]['thumb']
]
);
-
+
$r3 = q("SELECT id FROM profile WHERE uid = %d AND profile_name = '%s' LIMIT 1",
intval(local_channel()),
dbesc($name)
);
-
+
info( t('New profile created.') . EOL);
if(count($r3) == 1)
goaway(z_root() . '/profiles/' . $r3[0]['id']);
-
+
goaway(z_root() . '/profiles');
- }
-
+ }
+
if((argc() > 2) && (argv(1) === 'clone')) {
-
+
check_form_security_token_redirectOnErr('/profiles', 'profile_clone', 't');
-
+
$r0 = q("SELECT id FROM profile WHERE uid = %d",
intval(local_channel()));
$num_profiles = count($r0);
-
+
$name = t('Profile-') . ($num_profiles + 1);
$r1 = q("SELECT * FROM profile WHERE uid = %d AND id = %d LIMIT 1",
intval(local_channel()),
@@ -116,30 +116,30 @@ class Profiles extends \Zotlabs\Web\Controller {
}
unset($r1[0]['id']);
$r1[0]['is_default'] = 0;
- $r1[0]['publish'] = 0;
+ $r1[0]['publish'] = 0;
$r1[0]['profile_name'] = dbesc($name);
$r1[0]['profile_guid'] = dbesc(random_string());
-
+
create_table_from_array('profile', $r1[0]);
-
+
$r3 = q("SELECT id FROM profile WHERE uid = %d AND profile_name = '%s' LIMIT 1",
intval(local_channel()),
dbesc($name)
);
info( t('New profile created.') . EOL);
-
+
profiles_build_sync(local_channel());
-
+
if(($r3) && (count($r3) == 1))
goaway(z_root() . '/profiles/' . $r3[0]['id']);
-
+
goaway(z_root() . '/profiles');
-
+
return; // NOTREACHED
}
-
+
if((argc() > 2) && (argv(1) === 'export')) {
-
+
$r1 = q("SELECT * FROM profile WHERE uid = %d AND id = %d LIMIT 1",
intval(local_channel()),
intval(argv(2))
@@ -151,7 +151,7 @@ class Profiles extends \Zotlabs\Web\Controller {
}
header('content-type: application/octet_stream');
header('content-disposition: attachment; filename="' . $r1[0]['profile_name'] . '.json"' );
-
+
unset($r1[0]['id']);
unset($r1[0]['aid']);
unset($r1[0]['uid']);
@@ -162,10 +162,10 @@ class Profiles extends \Zotlabs\Web\Controller {
echo json_encode($r1[0]);
killme();
}
-
-
-
-
+
+
+
+
// Run profile_load() here to make sure the theme is set before
// we start loading content
if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_channel(),'multi_profiles')) {
@@ -187,28 +187,28 @@ class Profiles extends \Zotlabs\Web\Controller {
\App::$error = 404;
return;
}
-
+
$chan = \App::get_channel();
-
+
profile_load($chan['channel_address'],$r[0]['id']);
}
}
-
+
function post() {
-
+
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
return;
}
-
+
require_once('include/activities.php');
-
+
$namechanged = false;
-
-
+
+
// import from json export file.
// Only import fields that are allowed on this hub
-
+
if(x($_FILES,'userfile')) {
$src = $_FILES['userfile']['tmp_name'];
$filesize = intval($_FILES['userfile']['size']);
@@ -230,10 +230,10 @@ class Profiles extends \Zotlabs\Web\Controller {
}
}
}
-
+
call_hooks('profile_post', $_POST);
-
-
+
+
if((argc() > 1) && (argv(1) !== "new") && intval(argv(1))) {
$orig = q("SELECT * FROM profile WHERE id = %d AND uid = %d LIMIT 1",
intval(\App::$argv[1]),
@@ -243,26 +243,26 @@ class Profiles extends \Zotlabs\Web\Controller {
notice( t('Profile not found.') . EOL);
return;
}
-
+
check_form_security_token_redirectOnErr('/profiles', 'profile_edit');
-
+
$is_default = (($orig[0]['is_default']) ? 1 : 0);
-
+
$profile_name = notags(trim($_POST['profile_name']));
if(! strlen($profile_name)) {
notice( t('Profile Name is required.') . EOL);
return;
}
-
+
$dob = $_POST['dob'] ? escape_tags(trim($_POST['dob'])) : '0000-00-00'; // FIXME: Needs to be validated?
-
+
$y = substr($dob,0,4);
if((! ctype_digit($y)) || ($y < 1900))
$ignore_year = true;
else
$ignore_year = false;
-
+
if($dob != '0000-00-00') {
if(strpos($dob,'0000-') === 0) {
$ignore_year = true;
@@ -272,12 +272,12 @@ class Profiles extends \Zotlabs\Web\Controller {
if($ignore_year)
$dob = '0000-' . $dob;
}
-
+
$name = escape_tags(trim($_POST['name']));
-
+
if($orig[0]['fullname'] != $name) {
$namechanged = true;
-
+
$v = validate_channelname($name);
if($v) {
notice($v);
@@ -285,7 +285,7 @@ class Profiles extends \Zotlabs\Web\Controller {
$name = $orig[0]['fullname'];
}
}
-
+
$pdesc = escape_tags(trim($_POST['pdesc']));
$gender = escape_tags(trim($_POST['gender']));
$address = escape_tags(trim($_POST['address']));
@@ -301,10 +301,10 @@ class Profiles extends \Zotlabs\Web\Controller {
$hometown = escape_tags(trim($_POST['hometown']));
$politic = escape_tags(trim($_POST['politic']));
$religion = escape_tags(trim($_POST['religion']));
-
+
$likes = fix_mce_lf(escape_tags(trim($_POST['likes'])));
$dislikes = fix_mce_lf(escape_tags(trim($_POST['dislikes'])));
-
+
$about = fix_mce_lf(escape_tags(trim($_POST['about'])));
$interest = fix_mce_lf(escape_tags(trim($_POST['interest'])));
$contact = fix_mce_lf(escape_tags(trim($_POST['contact'])));
@@ -316,11 +316,11 @@ class Profiles extends \Zotlabs\Web\Controller {
$romance = fix_mce_lf(escape_tags(trim($_POST['romance'])));
$work = fix_mce_lf(escape_tags(trim($_POST['work'])));
$education = fix_mce_lf(escape_tags(trim($_POST['education'])));
-
+
$hide_friends = ((intval($_POST['hide_friends'])) ? 1: 0);
-
+
// start fresh and create a new vcard. TODO: preserve the original guid or whatever else needs saving
-// $orig_vcard = (($orig[0]['profile_vcard']) ? \Sabre\VObject\Reader::read($orig[0]['profile_vcard']) : null);
+// $orig_vcard = (($orig[0]['profile_vcard']) ? \Sabre\VObject\Reader::read($orig[0]['profile_vcard']) : null);
$orig_vcard = null;
@@ -347,7 +347,7 @@ class Profiles extends \Zotlabs\Web\Controller {
5 => $postal_code,
6 => $country_name
];
-
+
$profile_vcard = update_vcard($defcard,$orig_vcard);
$orig_vcard = \Sabre\VObject\Reader::read($profile_vcard);
@@ -370,19 +370,19 @@ class Profiles extends \Zotlabs\Web\Controller {
linkify_tags($romance, local_channel());
linkify_tags($work, local_channel());
linkify_tags($education, local_channel());
-
-
+
+
$with = ((x($_POST,'with')) ? escape_tags(trim($_POST['with'])) : '');
-
+
if(! strlen($howlong))
$howlong = NULL_DATE;
else
$howlong = datetime_convert(date_default_timezone_get(),'UTC',$howlong);
-
+
// linkify the relationship target if applicable
-
+
$withchanged = false;
-
+
if(strlen($with)) {
if($with != strip_tags($orig[0]['partner'])) {
$withchanged = true;
@@ -392,7 +392,7 @@ class Profiles extends \Zotlabs\Web\Controller {
$lookup = substr($lookup,1);
$lookup = str_replace('_',' ', $lookup);
$newname = $lookup;
-
+
$r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1",
dbesc($newname),
intval(local_channel())
@@ -407,8 +407,8 @@ class Profiles extends \Zotlabs\Web\Controller {
$prf = $r[0]['xchan_url'];
$newname = $r[0]['xchan_name'];
}
-
-
+
+
if($prf) {
$with = str_replace($lookup,'<a href="' . $prf . '">' . $newname . '</a>', $with);
if(strpos($with,'@') === 0)
@@ -418,7 +418,7 @@ class Profiles extends \Zotlabs\Web\Controller {
else
$with = $orig[0]['partner'];
}
-
+
$profile_fields_basic = get_profile_fields_basic();
$profile_fields_advanced = get_profile_fields_advanced();
$advanced = ((feature_enabled(local_channel(),'advanced_profiles')) ? true : false);
@@ -426,7 +426,7 @@ class Profiles extends \Zotlabs\Web\Controller {
$fields = $profile_fields_advanced;
else
$fields = $profile_fields_basic;
-
+
$z = q("select * from profdef where true");
if($z) {
foreach($z as $zz) {
@@ -453,7 +453,7 @@ class Profiles extends \Zotlabs\Web\Controller {
}
}
}
-
+
$changes = array();
$value = '';
if($is_default) {
@@ -513,12 +513,12 @@ class Profiles extends \Zotlabs\Web\Controller {
$comma2 = (($region && $country_name) ? ', ' : '');
$value = $locality . $comma1 . $region . $comma2 . $country_name;
}
-
+
profile_activity($changes,$value);
-
- }
-
- $r = q("UPDATE profile
+
+ }
+
+ $r = q("UPDATE profile
SET profile_name = '%s',
fullname = '%s',
pdesc = '%s',
@@ -591,10 +591,10 @@ class Profiles extends \Zotlabs\Web\Controller {
intval(argv(1)),
intval(local_channel())
);
-
+
if($r)
info( t('Profile updated.') . EOL);
-
+
$r = q("select * from profile where id = %d and uid = %d limit 1",
intval(argv(1)),
intval(local_channel())
@@ -603,9 +603,9 @@ class Profiles extends \Zotlabs\Web\Controller {
require_once('include/zot.php');
Libsync::build_sync_packet(local_channel(),array('profile' => $r));
}
-
+
$channel = \App::get_channel();
-
+
if($namechanged && $is_default) {
$r = q("UPDATE xchan SET xchan_name = '%s', xchan_name_date = '%s' WHERE xchan_url = '%s'",
dbesc($name),
@@ -617,7 +617,7 @@ class Profiles extends \Zotlabs\Web\Controller {
dbesc($channel['xchan_hash'])
);
}
-
+
if($is_default) {
// reload the info for the sidebar widget - why does this not work?
profile_load($channel['channel_address']);
@@ -625,24 +625,24 @@ class Profiles extends \Zotlabs\Web\Controller {
}
}
}
-
-
+
+
function get() {
-
+
$o = '';
-
+
$channel = \App::get_channel();
-
+
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
return;
}
-
+
require_once('include/channel.php');
-
+
$profile_fields_basic = get_profile_fields_basic();
$profile_fields_advanced = get_profile_fields_advanced();
-
+
if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_channel(),'multi_profiles')) {
if(feature_enabled(local_channel(),'multi_profiles'))
$id = \App::$argv[1];
@@ -652,7 +652,7 @@ class Profiles extends \Zotlabs\Web\Controller {
);
if($x)
$id = $x[0]['id'];
- }
+ }
$r = q("SELECT * FROM profile WHERE id = %d AND uid = %d LIMIT 1",
intval($id),
intval(local_channel())
@@ -661,20 +661,20 @@ class Profiles extends \Zotlabs\Web\Controller {
notice( t('Profile not found.') . EOL);
return;
}
-
+
$editselect = 'none';
-
+
\App::$page['htmlhead'] .= replace_macros(get_markup_template('profed_head.tpl'), array(
'$baseurl' => z_root(),
'$editselect' => $editselect,
));
-
+
$advanced = ((feature_enabled(local_channel(),'advanced_profiles')) ? true : false);
if($advanced)
$fields = $profile_fields_advanced;
else
$fields = $profile_fields_basic;
-
+
$hide_friends = array(
'hide_friends',
t('Hide your connections list from viewers of this profile'),
@@ -682,36 +682,36 @@ class Profiles extends \Zotlabs\Web\Controller {
'',
array(t('No'),t('Yes'))
);
-
+
$q = q("select * from profdef where true");
if($q) {
$extra_fields = array();
-
+
foreach($q as $qq) {
$mine = q("select v from profext where k = '%s' and hash = '%s' and channel_id = %d limit 1",
- dbesc($qq['field_name']),
+ dbesc($qq['field_name']),
dbesc($r[0]['profile_guid']),
intval(local_channel())
);
-
+
if(array_key_exists($qq['field_name'],$fields)) {
$extra_fields[] = array($qq['field_name'],$qq['field_desc'],(($mine) ? $mine[0]['v'] : ''), $qq['field_help']);
}
}
}
-
+
//logger('extra_fields: ' . print_r($extra_fields,true));
$vc = $r[0]['profile_vcard'];
- $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null);
+ $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null);
$vcard = (($vctmp) ? get_vcard_array($vctmp,$r[0]['id']) : [] );
-
+
$f = get_config('system','birthday_input_format');
if(! $f)
$f = 'ymd';
-
+
$is_default = (($r[0]['is_default']) ? 1 : 0);
-
+
$tpl = get_markup_template("profile_edit.tpl");
$o .= replace_macros($tpl,array(
'$multi_profiles' => ((feature_enabled(local_channel(),'multi_profiles')) ? true : false),
@@ -749,7 +749,7 @@ class Profiles extends \Zotlabs\Web\Controller {
'$default' => t('This is your default profile.') . EOL . translate_scope(map_scope(\Zotlabs\Access\PermissionLimits::Get($channel['channel_id'],'view_profile'))),
'$advanced' => $advanced,
'$name' => array('name', t('Your full name'), $r[0]['fullname'], t('Required'), '*'),
- '$pdesc' => array('pdesc', t('Title/Description'), $r[0]['pdesc']),
+ '$pdesc' => array('pdesc', t('Short title/tescription'), $r[0]['pdesc'], t('Maximal 190 characters'), '', 'maxlength="190"'),
'$dob' => dob($r[0]['dob']),
'$hide_friends' => $hide_friends,
'$address' => array('address', t('Street address'), $r[0]['address']),
@@ -802,18 +802,18 @@ class Profiles extends \Zotlabs\Web\Controller {
'$delete' => t('Delete'),
'$cancel' => t('Cancel'),
));
-
+
$arr = array('profile' => $r[0], 'entry' => $o);
call_hooks('profile_edit', $arr);
-
+
return $o;
}
else {
-
+
$r = q("SELECT * FROM profile WHERE uid = %d",
local_channel());
if($r) {
-
+
$tpl = get_markup_template('profile_entry.tpl');
foreach($r as $rr) {
$profiles .= replace_macros($tpl, array(
@@ -821,24 +821,24 @@ class Profiles extends \Zotlabs\Web\Controller {
'$id' => $rr['id'],
'$alt' => t('Profile Image'),
'$profile_name' => $rr['profile_name'],
- '$visible' => (($rr['is_default'])
- ? '<strong>' . translate_scope(map_scope(\Zotlabs\Access\PermissionLimits::Get($channel['channel_id'],'view_profile'))) . '</strong>'
+ '$visible' => (($rr['is_default'])
+ ? '<strong>' . translate_scope(map_scope(\Zotlabs\Access\PermissionLimits::Get($channel['channel_id'],'view_profile'))) . '</strong>'
: '<a href="' . z_root() . '/profperm/' . $rr['id'] . '" />' . t('Edit visibility') . '</a>')
));
}
-
+
$tpl_header = get_markup_template('profile_listing_header.tpl');
$o .= replace_macros($tpl_header,array(
'$header' => t('Edit Profiles'),
'$cr_new' => t('Create New'),
'$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new"),
'$profiles' => $profiles
- ));
-
+ ));
+
}
return $o;
}
-
+
}
-
+
}
diff --git a/Zotlabs/Module/Pubsites.php b/Zotlabs/Module/Pubsites.php
index daec5dde3..4b64d9af6 100644
--- a/Zotlabs/Module/Pubsites.php
+++ b/Zotlabs/Module/Pubsites.php
@@ -1,18 +1,19 @@
<?php
namespace Zotlabs\Module;
+use Zotlabs\Lib\Libzotdir;
class Pubsites extends \Zotlabs\Web\Controller {
function get() {
- require_once('include/dir_fns.php');
+ require_once('include/dir_fns.php');
$dirmode = intval(get_config('system','directory_mode'));
-
+
if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
$url = z_root() . '/dirsearch';
}
if(! $url) {
- $directory = find_upstream_directory($dirmode);
+ $directory = Libzotdir::find_upstream_directory($dirmode);
$url = $directory['url'] . '/dirsearch';
}
$url .= '/sites';
@@ -20,12 +21,12 @@ class Pubsites extends \Zotlabs\Web\Controller {
$rating_enabled = get_config('system','rating_enabled');
$o .= '<div class="generic-content-wrapper">';
-
+
$o .= '<div class="section-title-wrapper"><h2>' . t('Public Hubs') . '</h2></div>';
-
- $o .= '<div class="section-content-tools-wrapper"><div class="descriptive-text">' .
+
+ $o .= '<div class="section-content-tools-wrapper"><div class="descriptive-text">' .
t('The listed hubs allow public registration for the $Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details.') . '</div>' . EOL;
-
+
$ret = z_fetch_url($url);
if($ret['success']) {
$j = json_decode($ret['body'],true);
@@ -48,8 +49,8 @@ class Pubsites extends \Zotlabs\Web\Controller {
$host = strtolower(substr($jj['url'],strpos($jj['url'],'://')+3));
$rate_links = ((local_channel()) ? '<td><a href="rate?f=&target=' . $host . '" class="btn-btn-default"><i class="fa fa-check-square-o"></i> ' . t('Rate') . '</a></td>' : '');
$location = '';
- if(!empty($jj['location'])) {
- $location = '<p title="' . t('Location') . '" style="margin: 5px 5px 0 0; text-align: right"><i class="fa fa-globe"></i> ' . $jj['location'] . '</p>';
+ if(!empty($jj['location'])) {
+ $location = '<p title="' . t('Location') . '" style="margin: 5px 5px 0 0; text-align: right"><i class="fa fa-globe"></i> ' . $jj['location'] . '</p>';
}
else {
$location = '<br />&nbsp;';
@@ -61,14 +62,14 @@ class Pubsites extends \Zotlabs\Web\Controller {
$o .= '</tr>';
}
}
-
+
$o .= '</table>';
-
+
$o .= '</div></div>';
-
+
}
}
return $o;
}
-
+
}
diff --git a/Zotlabs/Module/Regver.php b/Zotlabs/Module/Regver.php
index 82b162f56..c45723063 100644
--- a/Zotlabs/Module/Regver.php
+++ b/Zotlabs/Module/Regver.php
@@ -6,8 +6,6 @@ class Regver extends \Zotlabs\Web\Controller {
function get() {
- global $lang;
-
$_SESSION['return_url'] = \App::$cmd;
if(argc() != 3)
diff --git a/Zotlabs/Module/Search.php b/Zotlabs/Module/Search.php
index c22bf2836..eeeff9613 100644
--- a/Zotlabs/Module/Search.php
+++ b/Zotlabs/Module/Search.php
@@ -1,85 +1,116 @@
<?php
+
namespace Zotlabs\Module;
+use App;
+use Zotlabs\Lib\Activity;
+use Zotlabs\Lib\ActivityStreams;
+use Zotlabs\Web\Controller;
-class Search extends \Zotlabs\Web\Controller {
+class Search extends Controller {
function init() {
- if(x($_REQUEST,'search'))
- \App::$data['search'] = escape_tags($_REQUEST['search']);
+ if (x($_REQUEST, 'search'))
+ App::$data['search'] = escape_tags($_REQUEST['search']);
}
-
-
+
+
function get($update = 0, $load = false) {
-
- if((get_config('system','block_public')) || (get_config('system','block_public_search'))) {
- if ((! local_channel()) && (! remote_channel())) {
- notice( t('Public access denied.') . EOL);
+
+ if ((get_config('system', 'block_public')) || (get_config('system', 'block_public_search'))) {
+ if ((!local_channel()) && (!remote_channel())) {
+ notice(t('Public access denied.') . EOL);
return;
}
}
-
+
nav_set_selected('Search');
-
+
require_once("include/bbcode.php");
require_once('include/security.php');
require_once('include/conversation.php');
require_once('include/items.php');
-
+
$format = (($_REQUEST['format']) ? $_REQUEST['format'] : '');
- if($format !== '') {
+ if ($format !== '') {
$update = $load = 1;
}
-
- $observer = \App::get_observer();
+
+ $observer = App::get_observer();
$observer_hash = (($observer) ? $observer['xchan_hash'] : '');
-
+
$o = '<div id="live-search"></div>' . "\r\n";
$o .= '<div class="generic-content-wrapper-styled">' . "\r\n";
-
+
$o .= '<h3>' . t('Search') . '</h3>';
-
- if(x(\App::$data,'search'))
- $search = trim(\App::$data['search']);
+
+ if (x(App::$data, 'search'))
+ $search = trim(App::$data['search']);
else
- $search = ((x($_GET,'search')) ? trim(escape_tags(rawurldecode($_GET['search']))) : '');
-
+ $search = ((x($_GET, 'search')) ? trim(escape_tags(rawurldecode($_GET['search']))) : '');
+
$tag = false;
- if(x($_GET,'tag')) {
- $tag = true;
- $search = ((x($_GET,'tag')) ? trim(escape_tags(rawurldecode($_GET['tag']))) : '');
+ if (x($_GET, 'tag')) {
+ $tag = true;
+ $search = ((x($_GET, 'tag')) ? trim(escape_tags(rawurldecode($_GET['tag']))) : '');
}
- $o .= search($search,'search-box','/search',((local_channel()) ? true : false));
-
- if(strpos($search,'#') === 0) {
- $tag = true;
- $search = substr($search,1);
+ $o .= search($search, 'search-box', '/search', ((local_channel()) ? true : false));
+
+ if (local_channel() && strpos($search, 'https://') === 0 && !$update && !$load) {
+ $j = Activity::fetch($search, App::get_channel());
+ if ($j) {
+ $AS = new ActivityStreams($j);
+ if ($AS->is_valid()) {
+ // check if is_an_actor, otherwise import activity
+ if (is_array($AS->obj) && !ActivityStreams::is_an_actor($AS->obj)) {
+ $item = Activity::decode_note($AS);
+ if ($item) {
+ logger('parsed_item: ' . print_r($item, true), LOGGER_DATA);
+ Activity::store(App::get_channel(), $observer_hash, $AS, $item, true, true);
+ goaway(z_root() . '/display/' . gen_link_id($item['mid']));
+ }
+ }
+ }
+ }
+ else {
+ // try other fetch providers (e.g. diaspora)
+ $hookdata = [
+ 'channel' => App::get_channel(),
+ 'data' => $search
+ ];
+ call_hooks('fetch_provider', $hookdata);
+ }
+ }
+
+ if (strpos($search, '#') === 0) {
+ $tag = true;
+ $search = substr($search, 1);
}
- if(strpos($search,'@') === 0) {
- $search = substr($search,1);
+ if (strpos($search, '@') === 0) {
+ $search = substr($search, 1);
goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search);
}
- if(strpos($search,'!') === 0) {
- $search = substr($search,1);
+ if (strpos($search, '!') === 0) {
+ $search = substr($search, 1);
goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search);
}
- if(strpos($search,'?') === 0) {
- $search = substr($search,1);
+ if (strpos($search, '?') === 0) {
+ $search = substr($search, 1);
goaway(z_root() . '/help' . '?f=1&navsearch=1&search=' . $search);
}
-
+
// look for a naked webbie
- if(strpos($search,'@') !== false) {
+ if (strpos($search, '@') !== false) {
goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search);
}
-
- if(! $search)
+
+ if (!$search)
return $o;
-
- if($tag) {
- $wildtag = str_replace('*','%',$search);
+
+ if ($tag) {
+ $wildtag = str_replace('*', '%', $search);
$sql_extra = sprintf(" AND item.id IN (select oid from term where otype = %d and ttype in ( %d , %d) and term like '%s') ",
intval(TERM_OBJ_POST),
intval(TERM_HASHTAG),
@@ -88,80 +119,80 @@ class Search extends \Zotlabs\Web\Controller {
);
}
else {
- $regstr = db_getfunc('REGEXP');
+ $regstr = db_getfunc('REGEXP');
$sql_extra = sprintf(" AND (item.title $regstr '%s' OR item.body $regstr '%s') ", dbesc(protect_sprintf(preg_quote($search))), dbesc(protect_sprintf(preg_quote($search))));
}
-
+
// Here is the way permissions work in the search module...
// Only public posts can be shown
// OR your own posts if you are a logged in member
- // No items will be shown if the member has a blocked profile wall.
-
+ // No items will be shown if the member has a blocked profile wall.
+
+
+ if ((!$update) && (!$load)) {
- if((! $update) && (! $load)) {
-
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
// because browser prefetching might change it on us. We have to deliver it with the page.
-
+
$o .= '<div id="live-search"></div>' . "\r\n";
$o .= "<script> var profile_uid = " . ((intval(local_channel())) ? local_channel() : (-1))
- . "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . "; </script>\r\n";
-
- \App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
+ . "; var netargs = '?f='; var profile_page = " . App::$pager['page'] . "; </script>\r\n";
+
+ App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"), [
'$baseurl' => z_root(),
- '$pgtype' => 'search',
- '$uid' => ((\App::$profile['profile_uid']) ? \App::$profile['profile_uid'] : '0'),
- '$gid' => '0',
- '$cid' => '0',
- '$cmin' => '(-1)',
- '$cmax' => '(-1)',
- '$star' => '0',
- '$liked' => '0',
- '$conv' => '0',
- '$spam' => '0',
- '$fh' => '0',
- '$dm' => '0',
+ '$pgtype' => 'search',
+ '$uid' => ((App::$profile['profile_uid']) ? App::$profile['profile_uid'] : '0'),
+ '$gid' => '0',
+ '$cid' => '0',
+ '$cmin' => '(-1)',
+ '$cmax' => '(-1)',
+ '$star' => '0',
+ '$liked' => '0',
+ '$conv' => '0',
+ '$spam' => '0',
+ '$fh' => '0',
+ '$dm' => '0',
'$nouveau' => '0',
- '$wall' => '0',
- '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
- '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
- '$search' => (($tag) ? urlencode('#') : '') . $search,
- '$xchan' => '',
- '$order' => '',
- '$file' => '',
- '$cats' => '',
- '$tags' => '',
- '$mid' => '',
- '$verb' => '',
- '$net' => '',
- '$dend' => '',
- '$dbegin' => ''
- ));
-
-
- }
-
+ '$wall' => '0',
+ '$list' => ((x($_REQUEST, 'list')) ? intval($_REQUEST['list']) : 0),
+ '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1),
+ '$search' => (($tag) ? urlencode('#') : '') . $search,
+ '$xchan' => '',
+ '$order' => '',
+ '$file' => '',
+ '$cats' => '',
+ '$tags' => '',
+ '$mid' => '',
+ '$verb' => '',
+ '$net' => '',
+ '$dend' => '',
+ '$dbegin' => ''
+ ]);
+
+
+ }
+
$item_normal = item_normal_search();
- $pub_sql = public_permissions_sql($observer_hash);
-
+ $pub_sql = public_permissions_sql($observer_hash);
+
require_once('include/channel.php');
-
+
$sys = get_sys_channel();
-
- if(($update) && ($load)) {
- $itemspage = get_pconfig(local_channel(),'system','itemspage');
- \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
- $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
-
+
+ if (($update) && ($load)) {
+ $itemspage = get_pconfig(local_channel(), 'system', 'itemspage');
+ App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
+
// in case somebody turned off public access to sys channel content with permissions
-
- if(! perm_is_allowed($sys['channel_id'],$observer_hash,'view_stream'))
+
+ if (!perm_is_allowed($sys['channel_id'], $observer_hash, 'view_stream'))
$sys['xchan_hash'] .= 'disabled';
-
- if($load) {
+
+ if ($load) {
$r = null;
-
- if(local_channel()) {
+
+ if (local_channel()) {
$r = q("SELECT mid, MAX(id) as item_id from item
WHERE ((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' AND item.deny_gid = '' AND item_private = 0 )
OR ( item.uid = %d )) OR item.owner_xchan = '%s' )
@@ -172,11 +203,11 @@ class Search extends \Zotlabs\Web\Controller {
dbesc($sys['xchan_hash'])
);
}
- if($r === null) {
+ if ($r === null) {
$r = q("SELECT mid, MAX(id) as item_id from item
WHERE (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = ''
AND item.deny_gid = '' AND item_private = 0 )
- and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
+ and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK | PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
$pub_sql ) OR owner_xchan = '%s')
$item_normal
$sql_extra
@@ -184,51 +215,49 @@ class Search extends \Zotlabs\Web\Controller {
dbesc($sys['xchan_hash'])
);
}
- if($r) {
- $str = ids_to_querystr($r,'item_id');
- $r = q("select *, id as item_id from item where id in ( " . $str . ") order by created desc ");
+ if ($r) {
+ $str = ids_to_querystr($r, 'item_id');
+ $r = q("select *, id as item_id from item where id in ( " . $str . ") order by created desc ");
}
}
else {
- $r = array();
+ $r = [];
}
-
-
}
-
- if($r) {
+
+ if ($r) {
xchan_query($r);
- $items = fetch_post_tags($r,true);
- } else {
- $items = array();
- }
-
-
- if($format == 'json') {
- $result = array();
+ $items = fetch_post_tags($r, true);
+ }
+ else {
+ $items = [];
+ }
+
+ if ($format == 'json') {
+ $result = [];
require_once('include/conversation.php');
- foreach($items as $item) {
+ foreach ($items as $item) {
$item['html'] = zidify_links(bbcode($item['body']));
- $x = encode_item($item);
- $x['html'] = prepare_text($item['body'],$item['mimetype']);
- $result[] = $x;
+ $x = encode_item($item);
+ $x['html'] = prepare_text($item['body'], $item['mimetype']);
+ $result[] = $x;
}
- json_return_and_die(array('success' => true,'messages' => $result));
+ json_return_and_die(['success' => true, 'messages' => $result]);
}
-
- if($tag)
- $o .= '<h2>' . sprintf( t('Items tagged with: %s'),$search) . '</h2>';
+
+ if ($tag)
+ $o .= '<h2>' . sprintf(t('Items tagged with: %s'), $search) . '</h2>';
else
- $o .= '<h2>' . sprintf( t('Search results for: %s'),$search) . '</h2>';
-
- $o .= conversation($items,'search',$update,'client');
-
+ $o .= '<h2>' . sprintf(t('Search results for: %s'), $search) . '</h2>';
+
+ $o .= conversation($items, 'search', $update, 'client');
+
$o .= '</div>';
-
+
return $o;
}
-
-
+
+
}
diff --git a/Zotlabs/Module/Sse_bs.php b/Zotlabs/Module/Sse_bs.php
index 534c63d46..396e07001 100644
--- a/Zotlabs/Module/Sse_bs.php
+++ b/Zotlabs/Module/Sse_bs.php
@@ -123,7 +123,7 @@ class Sse_bs extends Controller {
$mids[] = '\'' . dbesc(@base64url_decode(substr($a,4))) . '\'';
}
- $str = implode($mids, ',');
+ $str = implode(',', $mids);
$x = [ 'channel_id' => self::$uid, 'update' => 'unset' ];
call_hooks('update_unseen',$x);
diff --git a/Zotlabs/Module/Zfinger.php b/Zotlabs/Module/Zfinger.php
index 533f0a5db..ce7117ad8 100644
--- a/Zotlabs/Module/Zfinger.php
+++ b/Zotlabs/Module/Zfinger.php
@@ -7,7 +7,7 @@ use Zotlabs\Lib\Libzot;
class Zfinger extends \Zotlabs\Web\Controller {
function init() {
-
+
require_once('include/zot.php');
require_once('include/crypto.php');
@@ -26,7 +26,7 @@ class Zfinger extends \Zotlabs\Web\Controller {
if($chan) {
$headers['Digest'] = HTTPSig::generate_digest_header($ret);
- $h = HTTPSig::create_sig($headers,$chan['channel_prvkey'],'acct:' . channel_reddress($chan));
+ $h = HTTPSig::create_sig($headers,$chan['channel_prvkey'], channel_url($chan));
HTTPSig::set_headers($h);
}
else {
@@ -37,7 +37,7 @@ class Zfinger extends \Zotlabs\Web\Controller {
echo $ret;
killme();
-
+
}
-
+
}
diff --git a/Zotlabs/Module/Zotfeed.php b/Zotlabs/Module/Zotfeed.php
index 8c13682b4..2566924aa 100644
--- a/Zotlabs/Module/Zotfeed.php
+++ b/Zotlabs/Module/Zotfeed.php
@@ -1,29 +1,142 @@
<?php
-namespace Zotlabs\Module;
-require_once('include/items.php');
-require_once('include/zot.php');
+namespace Zotlabs\Module;
+use App;
+use Zotlabs\Lib\Activity;
+use Zotlabs\Lib\ActivityStreams;
+use Zotlabs\Lib\Config;
+use Zotlabs\Lib\ThreadListener;
+use Zotlabs\Web\Controller;
+use Zotlabs\Web\HTTPSig;
-class Zotfeed extends \Zotlabs\Web\Controller {
+class Zotfeed extends Controller {
function init() {
-
+ if (ActivityStreams::is_as_request()) {
+
+ if (observer_prohibited(true)) {
+ killme();
+ }
+
+ $channel = ((argv(1)) ? channelx_by_nick(argv(1)) : get_sys_channel());
+ if (!$channel) {
+ killme();
+ }
+
+ if (intval($channel['channel_system'])) {
+ killme();
+ }
+
+ $sigdata = HTTPSig::verify(($_SERVER['REQUEST_METHOD'] === 'POST') ? file_get_contents('php://input') : EMPTY_STR);
+ if ($sigdata['portable_id'] && $sigdata['header_valid']) {
+ $portable_id = $sigdata['portable_id'];
+ if (!check_channelallowed($portable_id)) {
+ http_status_exit(403, 'Permission denied');
+ }
+ if (!check_siteallowed($sigdata['signer'])) {
+ http_status_exit(403, 'Permission denied');
+ }
+ observer_auth($portable_id);
+ }
+ elseif (Config::get('system', 'require_authenticated_fetch', false)) {
+ http_status_exit(403, 'Permission denied');
+ }
+
+ $observer_hash = get_observer_hash();
+
+ $params = [];
+
+ $params['begin'] = ((x($_REQUEST, 'date_begin')) ? $_REQUEST['date_begin'] : NULL_DATE);
+ $params['end'] = ((x($_REQUEST, 'date_end')) ? $_REQUEST['date_end'] : '');
+ $params['type'] = 'json';
+ $params['pages'] = ((x($_REQUEST, 'pages')) ? intval($_REQUEST['pages']) : 0);
+ $params['top'] = ((x($_REQUEST, 'top')) ? intval($_REQUEST['top']) : 0);
+ $params['direction'] = ((x($_REQUEST, 'direction')) ? dbesc($_REQUEST['direction']) : 'desc'); // unimplemented
+ $params['cat'] = ((x($_REQUEST, 'cat')) ? escape_tags($_REQUEST['cat']) : '');
+ $params['compat'] = 1;
+
+ $total = items_fetch(
+ [
+ 'total' => true,
+ 'wall' => 1,
+ 'datequery' => $params['end'],
+ 'datequery2' => $params['begin'],
+ 'direction' => dbesc($params['direction']),
+ 'pages' => $params['pages'],
+ 'order' => dbesc('post'),
+ 'top' => $params['top'],
+ 'cat' => $params['cat'],
+ 'compat' => $params['compat']
+ ], $channel, $observer_hash, CLIENT_MODE_NORMAL, App::$module
+ );
+
+ if ($total) {
+ App::set_pager_total($total);
+ App::set_pager_itemspage(30);
+ }
+
+ if (App::$pager['unset'] && $total > 30) {
+ $ret = Activity::paged_collection_init($total, App::$query_string);
+ }
+ else {
+
+ $items = items_fetch(
+ [
+ 'wall' => 1,
+ 'datequery' => $params['end'],
+ 'datequery2' => $params['begin'],
+ 'records' => intval(App::$pager['itemspage']),
+ 'start' => intval(App::$pager['start']),
+ 'direction' => dbesc($params['direction']),
+ 'pages' => $params['pages'],
+ 'order' => dbesc('post'),
+ 'top' => $params['top'],
+ 'cat' => $params['cat'],
+ 'compat' => $params['compat']
+ ], $channel, $observer_hash, CLIENT_MODE_NORMAL, App::$module
+ );
+
+ if ($items && $observer_hash) {
+
+ // check to see if this observer is a connection. If not, register any items
+ // belonging to this channel for notification of deletion/expiration
+
+ $x = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s'",
+ intval($channel['channel_id']),
+ dbesc($observer_hash)
+ );
+ if (!$x) {
+ foreach ($items as $item) {
+ if (strpos($item['mid'], z_root()) === 0) {
+ ThreadListener::store($item['mid'], $observer_hash);
+ }
+ }
+ }
+ }
+
+ $ret = Activity::encode_item_collection($items, App::$query_string, 'OrderedCollection', $total);
+ }
+
+ as_return_and_die($ret, $channel);
+ }
+
+ /*
$result = array('success' => false);
-
+
$mindate = (($_REQUEST['mindate']) ? datetime_convert('UTC','UTC',$_REQUEST['mindate']) : '');
if(! $mindate)
$mindate = datetime_convert('UTC','UTC', 'now - 14 days');
-
+
if(observer_prohibited()) {
$result['message'] = 'Public access denied';
json_return_and_die($result);
}
-
- $observer = \App::get_observer();
-
+
+ $observer = App::get_observer();
+
logger('observer: ' . get_observer_hash(), LOGGER_DEBUG);
-
+
$channel_address = ((argc() > 1) ? argv(1) : '');
if($channel_address) {
$r = q("select channel_id, channel_name from channel where channel_address = '%s' and channel_removed = 0 limit 1",
@@ -40,12 +153,12 @@ class Zotfeed extends \Zotlabs\Web\Controller {
$result['message'] = 'Channel not found.';
json_return_and_die($result);
}
-
+
logger('zotfeed request: ' . $r[0]['channel_name'], LOGGER_DEBUG);
- $result['project'] = 'Hubzilla';
+ $result['project'] = 'Hubzilla';
$result['messages'] = zot_feed($r[0]['channel_id'],$observer['xchan_hash'],array('mindate' => $mindate));
$result['success'] = true;
json_return_and_die($result);
+ */
}
-
}
diff --git a/Zotlabs/Photo/PhotoDriver.php b/Zotlabs/Photo/PhotoDriver.php
index 94d2c3436..4c4f26e32 100644
--- a/Zotlabs/Photo/PhotoDriver.php
+++ b/Zotlabs/Photo/PhotoDriver.php
@@ -2,6 +2,8 @@
namespace Zotlabs\Photo;
+use Zotlabs\Lib\Hashpath;
+
/**
* @brief Abstract photo driver class.
*
@@ -505,18 +507,25 @@ abstract class PhotoDriver {
* @return boolean
*/
public function storeThumbnail($arr, $scale = 0) {
-
- // We only process thumbnails here
- if($scale == 0)
- return false;
-
- $arr['imgscale'] = $scale;
-
- if(boolval(get_config('system','filesystem_storage_thumbnails', 0))) {
- $channel = channelx_by_n($arr['uid']);
+
+ // We only process thumbnails here
+ if($scale == 0)
+ return false;
+
+ $arr['imgscale'] = $scale;
+
+ if(boolval(get_config('system','photo_storage_type', 1))) {
+
$arr['os_storage'] = 1;
- $arr['os_syspath'] = 'store/' . $channel['channel_address'] . '/' . $arr['os_path'] . '-' . $scale;
- if(! $this->saveImage($arr['os_syspath']))
+
+ if (array_key_exists('uid', $arr) && ! in_array($scale, [ PHOTO_RES_PROFILE_300, PHOTO_RES_PROFILE_80, PHOTO_RES_PROFILE_48 ])) {
+ $channel = channelx_by_n($arr['uid']);
+ $arr['os_syspath'] = 'store/' . $channel['channel_address'] . '/' . $arr['os_path'] . '-' . $scale;
+ }
+ else
+ $arr['os_syspath'] = Hashpath::path($arr['resource_id'], 'store/[data]/[xchan]', 2, 1) . '-' . $scale;
+
+ if (! $this->saveImage($arr['os_syspath']))
return false;
}
else
diff --git a/Zotlabs/Render/SimpleTemplate.php b/Zotlabs/Render/SimpleTemplate.php
index ff1bb5c3c..ff1bb5c3c 100755..100644
--- a/Zotlabs/Render/SimpleTemplate.php
+++ b/Zotlabs/Render/SimpleTemplate.php
diff --git a/Zotlabs/Render/SmartyInterface.php b/Zotlabs/Render/SmartyInterface.php
index a40effecf..a40effecf 100755..100644
--- a/Zotlabs/Render/SmartyInterface.php
+++ b/Zotlabs/Render/SmartyInterface.php
diff --git a/Zotlabs/Render/SmartyTemplate.php b/Zotlabs/Render/SmartyTemplate.php
index 61fb72f8a..61fb72f8a 100755..100644
--- a/Zotlabs/Render/SmartyTemplate.php
+++ b/Zotlabs/Render/SmartyTemplate.php
diff --git a/Zotlabs/Render/TemplateEngine.php b/Zotlabs/Render/TemplateEngine.php
index 600ff913e..600ff913e 100755..100644
--- a/Zotlabs/Render/TemplateEngine.php
+++ b/Zotlabs/Render/TemplateEngine.php
diff --git a/Zotlabs/Storage/Browser.php b/Zotlabs/Storage/Browser.php
index 7b20e9ddb..fdef35210 100644
--- a/Zotlabs/Storage/Browser.php
+++ b/Zotlabs/Storage/Browser.php
@@ -264,7 +264,6 @@ class Browser extends DAV\Browser\Plugin {
$ft['attach_id'] = $id;
$ft['icon'] = $icon;
$ft['photo_icon'] = $photo_icon;
- $ft['is_owner'] = $is_owner;
$ft['is_creator'] = $is_creator;
$ft['rel_path'] = (($data) ? '/cloud/' . $nick .'/' . $data['display_path'] : $href);
$ft['full_path'] = z_root() . (($data) ? '/cloud/' . $nick .'/' . $data['display_path'] : $href);
@@ -295,9 +294,16 @@ class Browser extends DAV\Browser\Plugin {
// create a copy of the list which we can alter for the current resource
$folders = $folder_list;
+
if($data['is_dir']) {
- // can not copy a folder into itself
- unset($folders[$folder_hash]);
+
+ $rm_path = $folders[$folder_hash];
+ // can not copy a folder into itself or own child folders
+ foreach($folders as $k => $v) {
+ if(strpos($v, $rm_path) === 0)
+ unset($folders[$k]);
+ }
+
}
$ft['newfolder'] = ['newfolder_' . $id, t('Select a target location'), $data['folder'], '', $folders];
@@ -325,7 +331,7 @@ class Browser extends DAV\Browser\Plugin {
}
$ft['attach_bbcode'] = $attach_bbcode;
- $link_bbcode = '[zrl]' . $ft['full_path'] . '[/zrl]';
+ $link_bbcode = '[zrl=' . $ft['full_path'] . ']' . $ft['name'] . '[/zrl]';
$ft['link_bbcode'] = $link_bbcode;
$f[] = $ft;
@@ -360,7 +366,7 @@ class Browser extends DAV\Browser\Plugin {
'$upload' => t('Add Files'),
'$is_owner' => $is_owner,
'$is_admin' => is_site_admin(),
- '$admin_delete' => t('Admin Delete'),
+ '$admin_delete_label' => t('Admin Delete'),
'$parentpath' => $parent_path,
'$folder_parent' => $folder_parent,
'$folder' => $parent->folder_hash,
@@ -373,26 +379,36 @@ class Browser extends DAV\Browser\Plugin {
'$size' => t('Size'),
'$lastmod' => t('Last Modified'),
'$parent' => t('parent'),
- '$edit' => t('Submit'),
- '$delete' => t('Delete'),
+ '$submit_label' => t('Submit'),
+ '$cancel_label' => t('Cancel'),
+ '$delete_label' => t('Delete'),
'$channel_id' => $channel_id,
'$cpdesc' => t('Copy/paste this code to attach file to a post'),
'$cpldesc' => t('Copy/paste this URL to link file from a web page'),
-
'$categories' => ['categories', t('Categories')],
'$recurse' => ['recurse', t('Set permissions for all files and sub folders'), 0, '', [t('No'), t('Yes')]],
-
'$newfolder' => ['newfolder', t('Select a target location'), $parent->folder_hash, '', $folder_list],
'$copy' => ['copy', t('Copy to target location'), 0, '', [t('No'), t('Yes')]],
'$return_path' => $path,
-
'$lockstate' => $lockstate,
'$allow_cid' => acl2json($channel_acl['allow_cid']),
'$allow_gid' => acl2json($channel_acl['allow_gid']),
'$deny_cid' => acl2json($channel_acl['deny_cid']),
- '$deny_gid' => acl2json($channel_acl['deny_gid'])
-
-
+ '$deny_gid' => acl2json($channel_acl['deny_gid']),
+ '$is_owner' => $is_owner,
+ '$select_all_label' => t('Select All'),
+ '$bulk_actions_label' => t('Bulk Actions'),
+ '$adjust_permissions_label' => t('Adjust Permissions'),
+ '$move_copy_label' => t('Move or Copy'),
+ '$categories_label' => t('Categories'),
+ '$download_label' => t('Download'),
+ '$info_label' => t('Info'),
+ '$rename_label' => t('Rename'),
+ '$post_label' => t('Post'),
+ '$attach_bbcode_label' => t('Attachment BBcode'),
+ '$embed_bbcode_label' => t('Embed BBcode'),
+ '$link_bbcode_label' => t('Link BBcode'),
+ '$close_label' => t('Close')
));
$a = false;
@@ -491,7 +507,7 @@ class Browser extends DAV\Browser\Plugin {
$breadcrumbs_html = '';
- if($display_path && ! $_REQUEST['cat']){
+ if($display_path && ! $_REQUEST['cat'] && ! $_SESSION['cloud_tiles']){
$breadcrumbs = [];
$folders = explode('/', $display_path);
$folder_hashes = explode('/', $node->os_path);
@@ -534,7 +550,8 @@ class Browser extends DAV\Browser\Plugin {
'$folder' => $node->folder_hash,
'$dragdroptext' => t('Drop files here to immediately upload'),
'$notify' => ['notify', t('Show in your contacts shared folder'), 0, '', [t('No'), t('Yes')]],
- '$breadcrumbs_html' => $breadcrumbs_html
+ '$breadcrumbs_html' => $breadcrumbs_html,
+ '$drop_area_label' => t('You can select files via the upload button or drop them right here or into an existing folder.')
));
}
diff --git a/Zotlabs/Update/_1241.php b/Zotlabs/Update/_1241.php
new file mode 100644
index 000000000..1b2024aad
--- /dev/null
+++ b/Zotlabs/Update/_1241.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1241 {
+
+ function run() {
+
+ q("START TRANSACTION");
+
+ // remove duplicated profile photos
+ $r = dbq("DELETE FROM photo WHERE imgscale IN (4, 5, 6) AND photo_usage = 0");
+
+ if($r) {
+ q("COMMIT");
+ return UPDATE_SUCCESS;
+ }
+
+ q("ROLLBACK");
+ return UPDATE_FAILED;
+
+ }
+
+}
diff --git a/Zotlabs/Web/HTTPSig.php b/Zotlabs/Web/HTTPSig.php
index 1f6979191..0b3e2bf2e 100644
--- a/Zotlabs/Web/HTTPSig.php
+++ b/Zotlabs/Web/HTTPSig.php
@@ -225,7 +225,7 @@ class HTTPSig {
}
if($keytype === 'zot6') {
- $key = self::get_zotfinger_key($id,$force);
+ $key = self::get_zotfinger_key($id);
if($key) {
return $key;
}
diff --git a/Zotlabs/Widget/Dirsort.php b/Zotlabs/Widget/Dirsort.php
index e75a00e50..2fb38b7df 100644
--- a/Zotlabs/Widget/Dirsort.php
+++ b/Zotlabs/Widget/Dirsort.php
@@ -2,10 +2,10 @@
namespace Zotlabs\Widget;
-require_once('include/dir_fns.php');
+use Zotlabs\Lib\Libzotdir;
class Dirsort {
function widget($arr) {
- return dir_sort_links();
+ return Libzotdir::dir_sort_links();
}
}
diff --git a/Zotlabs/Zot6/Finger.php b/Zotlabs/Zot6/Finger.php
index 22ce4685d..cec3f98ab 100644
--- a/Zotlabs/Zot6/Finger.php
+++ b/Zotlabs/Zot6/Finger.php
@@ -88,7 +88,7 @@ class Finger {
$headers = [];
$headers['X-Zot-Channel'] = $channel['channel_address'] . '@' . \App::get_hostname();
$headers['X-Zot-Nonce'] = random_string();
- $xhead = HTTPSig::create_sig($headers,$channel['channel_prvkey'],'acct:' . channel_reddress($channel));
+ $xhead = HTTPSig::create_sig($headers,$channel['channel_prvkey'], channel_url($channel));
$retries = 0;
@@ -100,7 +100,7 @@ class Finger {
$result = z_post_url('http://' . $host . $rhs,$postvars, $retries, [ 'headers' => $xhead ]);
}
}
- }
+ }
else {
$rhs .= '?f=&address=' . urlencode($address) . '&token=' . self::$token;
diff --git a/Zotlabs/Zot6/Zot6Handler.php b/Zotlabs/Zot6/Zot6Handler.php
index d717b147b..bd321c4b1 100644
--- a/Zotlabs/Zot6/Zot6Handler.php
+++ b/Zotlabs/Zot6/Zot6Handler.php
@@ -226,18 +226,18 @@ class Zot6Handler implements IHandler {
if ($recipients) {
// basically this means "unfriend"
foreach ($recipients as $recip) {
- $r = q("select channel.*,xchan.* from channel
+ $channel = q("select channel.*,xchan.* from channel
left join xchan on channel_hash = xchan_hash
where channel_hash = '%s' limit 1",
dbesc($recip)
);
- if ($r) {
- $r = q("select abook_id from abook where uid = %d and abook_xchan = '%s' limit 1",
- intval($r[0]['channel_id']),
+ if ($channel) {
+ $abook = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s' limit 1",
+ intval($channel[0]['channel_id']),
dbesc($sender)
);
- if ($r) {
- contact_remove($r[0]['channel_id'],$r[0]['abook_id']);
+ if ($abook) {
+ contact_remove($channel[0]['channel_id'],$abook[0]['abook_id']);
}
}
}
diff --git a/app/mail.apd b/app/mail.apd
deleted file mode 100644
index f94a2b3c7..000000000
--- a/app/mail.apd
+++ /dev/null
@@ -1,6 +0,0 @@
-version: 2
-url: $baseurl/mail/combined
-requires: local_channel
-name: Mail
-photo: icon:envelope
-categories: nav_featured_app, Personal
diff --git a/app/mail.png b/app/mail.png
deleted file mode 100644
index bbd9f8449..000000000
--- a/app/mail.png
+++ /dev/null
Binary files differ
diff --git a/boot.php b/boot.php
index fc3e65e08..490e847af 100755..100644
--- a/boot.php
+++ b/boot.php
@@ -50,10 +50,10 @@ require_once('include/attach.php');
require_once('include/bbcode.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '5.1.11' );
+define ( 'STD_VERSION', '5.3.2' );
define ( 'ZOT_REVISION', '6.0' );
-define ( 'DB_UPDATE_VERSION', 1240 );
+define ( 'DB_UPDATE_VERSION', 1241 );
define ( 'PROJECT_BASE', __DIR__ );
@@ -82,11 +82,16 @@ define ( 'DIRECTORY_MODE_STANDALONE', 0x0100); // A detached (off the grid) hub
define ( 'DIRECTORY_REALM', 'RED_GLOBAL');
define ( 'DIRECTORY_FALLBACK_MASTER', 'https://hub.netzgemeinde.eu');
-$DIRECTORY_FALLBACK_SERVERS = array(
- 'https://hub.netzgemeinde.eu',
- 'https://zotsite.net',
- 'https://hub.libranet.de'
-);
+
+function get_directory_fallback_servers() {
+ $ret = [
+ 'https://hub.netzgemeinde.eu',
+ 'https://zotsite.net',
+ 'https://hub.libranet.de'
+ ];
+
+ return $ret;
+}
/**
@@ -355,6 +360,7 @@ define ( 'UPDATE_FLAGS_UPDATED', 0x0001);
define ( 'UPDATE_FLAGS_FORCED', 0x0002);
define ( 'UPDATE_FLAGS_DELETED', 0x1000);
+define ( 'HUBLOC_OFFLINE', 0x0001);
define ( 'DROPITEM_NORMAL', 0);
define ( 'DROPITEM_PHASE1', 1);
@@ -2017,7 +2023,7 @@ function proc_run(){
}
$args = array_map('escapeshellarg',$args);
- $cmdline = implode($args," ");
+ $cmdline = implode(' ', $args);
if(is_windows()) {
$cwd = getcwd();
diff --git a/composer.json b/composer.json
index 5d4baa6dd..d138ccc43 100644
--- a/composer.json
+++ b/composer.json
@@ -23,12 +23,15 @@
"source": "https://framagit.org/hubzilla/core/"
},
"require": {
- "php": ">=5.5",
+ "php": ">=7.3",
"ext-curl": "*",
"ext-gd": "*",
"ext-mbstring": "*",
"ext-xml": "*",
"ext-openssl": "*",
+ "ext-json": "*",
+ "ext-zip": "*",
+ "ext-posix": "*",
"sabre/dav": "^4.0",
"michelf/php-markdown": "^1.7",
"bshaffer/oauth2-server-php": "^1.9",
diff --git a/doc/context/pl/admin/addons/assets/addon_repo_gui_1.png b/doc/context/pl/admin/addons/assets/addon_repo_gui_1.png
new file mode 100644
index 000000000..37139b345
--- /dev/null
+++ b/doc/context/pl/admin/addons/assets/addon_repo_gui_1.png
Binary files differ
diff --git a/doc/context/pl/admin/addons/help.html b/doc/context/pl/admin/addons/help.html
new file mode 100644
index 000000000..fe63718df
--- /dev/null
+++ b/doc/context/pl/admin/addons/help.html
@@ -0,0 +1,14 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>Ta strona zarządza instalacją dodatków (zwanych też <i>wtyczkami</i>).</dd>
+ <dt>ZarzÄ…dzanie repozytorium</dt>
+ <dd>Jeśli serwer internetowy ma niezbędne uprawnienia do zapisu, zobaczysz przycisk <b>Zarządzaj repozytoriami</b>,
+ co otwiera panel sterowania do zarzÄ…dzania zainstalowanymi <i>repozytoriami</i> wtyczek. Te repozytoria sÄ…
+ przechowywane w katalogu <span style = "font-family: monospace;">extension/addon/[nazwa repozytorium]/</span>.
+ Oficjalne repozytorium dodatków Hubzilla można dodać, wprowadzając adres URL repozytorium
+ <span style = "font-family: monospace;"> https://framagit.org/hubzilla/addons.git </span>
+ i wybierając nazwę repozytorium, na przykład <b>oficjalne</b>. Powinieneś zobaczyć to repozytorium na liście
+ podobnej do tej:
+ <br>
+ <img class="img-responsive" src="doc/context/en/admin/addons/assets/addon_repo_gui_1.png"></dd>
+</dl>
diff --git a/doc/context/pl/admin/logs/help.html b/doc/context/pl/admin/logs/help.html
new file mode 100644
index 000000000..1d79d6a8c
--- /dev/null
+++ b/doc/context/pl/admin/logs/help.html
@@ -0,0 +1,20 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Ta strona umożliwia dostosowanie ustawień dziennika oraz przeglądanie
+ istniejÄ…cego dziennika.
+ </dd>
+ <dt>Ustawienia dziennika</dt>
+ <dd>
+ Po włączeniu opcji debugowania informacje o zdarzeniach systemowych zaczną
+ być dołączane do pliku określonego w polu "Plik dziennika" (ścieżka jest
+ względna w stosunku do katalogu głównego huba, na przykład /var/www).
+ Zauważ, że ten plik musi być możliwy do zapisywania przez serwer WWW.</dd>
+ <dt>Pozion rejestracji</dt>
+ <dd>
+ Opcja poziomu dziennika umożliwia ustawienie ilości informacji dołączanych
+ do pliku dziennika. Ostrzeżenie: zwiększenie tego poziomu może szybko
+ zwiększyć rozmiar pliku dziennika do ponad 100 MB, szczególnie w hubach z
+ więcej niż kilkoma członkami.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/admin/queue/help.html b/doc/context/pl/admin/queue/help.html
new file mode 100644
index 000000000..76277e0c2
--- /dev/null
+++ b/doc/context/pl/admin/queue/help.html
@@ -0,0 +1,7 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Statystyki kolejki pokazują, ile postów znajduje się w kolejce do dostarczenia
+ do innych hubów. Priorytet jest powiązany z liczbą nieudanych prób dostawy.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/admin/security/help.html b/doc/context/pl/admin/security/help.html
new file mode 100644
index 000000000..0e582e6b4
--- /dev/null
+++ b/doc/context/pl/admin/security/help.html
@@ -0,0 +1,8 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Ta strona zawiera różne ustawienia administratora związane z bezpieczeństwem.
+ Aby zapisać zmiany wprowadzone w tych ustawieniach, musisz nacisnąć przycisk
+ "Prześlij".
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/appman/help.html b/doc/context/pl/appman/help.html
new file mode 100644
index 000000000..867b5b482
--- /dev/null
+++ b/doc/context/pl/appman/help.html
@@ -0,0 +1,10 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Edytowanie poszczególnych właściwości wybranej aplikacji. Kategorie umożliwiają
+ sortowanie aplikacji, aby ułatwić znajdowanie ich na liście. Wsparcie dla
+ niestandardowych aplikacji, które Ty lub Twój administrator możecie wybrać,
+ obejmuje pola, takie jak ""Cena aplikacji"" i "Lokalizacja zakupu"", które nie
+ sÄ… zastosowane w podstawowych aplikacjach Hubzilla.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/apps/edit/help.html b/doc/context/pl/apps/edit/help.html
new file mode 100644
index 000000000..42db07d17
--- /dev/null
+++ b/doc/context/pl/apps/edit/help.html
@@ -0,0 +1,7 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Edytowanie lub usuwanie aplikacje za pomocą przycisków sterowania widocznych
+ na liście obok każdej ikony aplikacji.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/apps/help.html b/doc/context/pl/apps/help.html
new file mode 100644
index 000000000..7ad3bef5c
--- /dev/null
+++ b/doc/context/pl/apps/help.html
@@ -0,0 +1,15 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Ta strona pokazuje, jakie aplikacje są dostępne na Twoim kanale, w tym zarówno
+ aplikacje podstawowe, jak i te dostarczane przez dodatki. Aby dodać aplikację
+ do <a href = '#' onclick = 'contextualHelpFocus("# app-menu",1); return false;'
+ title = "Kliknij, aby otworzyć ...">menu aplikacji</a> oznacz gwiazdką
+ aplikację na poniższej liście.
+ </dd>
+ <dt>ZarzÄ…dzanie aplikacjami</dt>
+ <dd>
+ Naciśnij przycisk "Zarządzaj aplikacjami", aby otworzyć stronę, na której
+ możesz edytować nazwę, kategorie i inne właściwości swoich aplikacji.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/cards/help.html b/doc/context/pl/cards/help.html
new file mode 100644
index 000000000..f60d66f1c
--- /dev/null
+++ b/doc/context/pl/cards/help.html
@@ -0,0 +1,31 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Karty reprezentują trwały obszar współpracy, który jest niezależny od
+ strumienia społecznościowego. Są nieco lżejsze niż strony internetowe i wiki,
+ dzięki czemu zapewniają szybką organizację informacji i mają tę zaletę, że
+ umożliwiają współpracę i komentowanie. Są dobrze przystosowane do pomocy w
+ organizowaniu złożonych zadań, w przypadku których często pojawiają się
+ aktualizacje i informacje zwrotne.
+ </dd>
+ <dt>Dodanie karty</dt>
+ <dd>
+ Tworzenie nowej karty jest bardzo podobne do tworzenia nowego postaa.<br><br>
+ <ul>
+ <li>
+ <b>Nazwa linku do strony</b>: nazwa linku do strony jest nazwÄ…
+ karty dla statycznego adresu URL
+ </li>
+ <li>
+ <b>Tytuł</b>: Tytuł jest wyświetlany u góry karty
+ </li>
+ <li>
+ <b>Kategorie</b>: Jeśli na swoim kanale masz włączoną
+ <a href="/settings/features"> funkcjonalność kategorii postów </a>,
+ możesz dodawać kategorie do karty. Te kategorie zapełniają listę
+ <b>Kategorie</b> na lewym panelu i umożliwiają filtrowanie
+ kolekcji kart.
+ </li>
+ </ul>
+ </dd>
+</dl>
diff --git a/doc/context/pl/channel/help.html b/doc/context/pl/channel/help.html
new file mode 100644
index 000000000..bd454c361
--- /dev/null
+++ b/doc/context/pl/channel/help.html
@@ -0,0 +1,13 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ To jest strona główna kanału. Jest ona podobna do "ściany" profilu w kontekście
+ sieci społecznościowej. Posty utworzone w kanale są wyświetlane zgodnie z
+ uprawnieniami obserwatora do oglądania treści.
+ </dd>
+ <dt>Tworzenie posta</dt>
+ <dd>
+ Jeśli masz uprawnienia do tworzenia postów na stronie kanału, u góry zobaczysz
+ edytor postów.
+ </dd>
+</dl>
diff --git a/doc/context/pl/chat/help.html b/doc/context/pl/chat/help.html
new file mode 100644
index 000000000..3cd4e346f
--- /dev/null
+++ b/doc/context/pl/chat/help.html
@@ -0,0 +1,19 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Twórz pokoje rozmów i wykorzystuj je do komunikacji w czasie rzeczywistym,
+ używając standardowego systemu uprawnień Hubzilla do kontroli dostępu do
+ pokojów rozmów.
+ </dd>
+ <dt>Tworzenie nowego pokoju rozmów</dt>
+ <dd>
+ Użyj przycisku "Utwórz nowy", aby utworzyć nowy pokój rozmów. Wpisz nazwę i
+ jak długo wiadomości mają być przechowywane.
+ </dd>
+ <dt>Czatowanie</dt>
+ <dd>
+ Wpisz wiadomość w polu wiadomości i naciśnij "Prześlij". Możesz ustawić status,
+ wybierając przycisk menu pokoju rozmów sieciowych obok przycisku "Wyślij".
+ Inne osoby "w pokoju"" sÄ… widoczne w panelu bocznym w panelu „CzÅ‚onkowie czatuâ€.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/cloud/help.html b/doc/context/pl/cloud/help.html
new file mode 100644
index 000000000..419ed01ee
--- /dev/null
+++ b/doc/context/pl/cloud/help.html
@@ -0,0 +1,17 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Ta strona wyświetla pliki "w chmurze" kanału. To co widi przeglądajacy zależy
+ od jego indywidualnych uprawnień do plików, które ustawia właściciel kanału.
+ Jeśli masz uprawnienia do tworzenia i przesyłania plików, zobaczysz przyciski
+ kontrolne nad listą plików.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#tabs-collapse-1", 0); return false;'
+ title="Kliknij, aby podświetlić element...">Karty zawartości kanału</a></dt>
+ <dd>
+ Karty zawarości kanału to linki do innych treści publikowanych przez kanał.
+ Karta <b>Informacje</b> prowadzi do profilu kanału. Karta <b>Zdjęcia</b>
+ prowadzi do galerii zdjęć kanału. Zakładka <b>Pliki</b> zawiera linki do
+ ogólnych plików udostępnionych do publikacji w kanale.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/connections/help.html b/doc/context/pl/connections/help.html
new file mode 100644
index 000000000..837184334
--- /dev/null
+++ b/doc/context/pl/connections/help.html
@@ -0,0 +1,24 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Ta strona wyświetla listę wszystkich połączeń tego kanału. Lista można
+ <a href = '#' onclick = 'contextualHelpFocus (".section-title-wrapper", 0); return false; '
+ title = "Kliknij, aby podświetlić element ..."> posortować i przefiltrować
+ za pomocÄ… przycisku menu obok przycisku wyszukiwania </a>.
+ </dd>
+ <dt>Szczegóły połączenia</dt>
+ <dd>
+ Każdy wpis na liście przedstawia szczegóły określonego połączenia.
+ Przezroczysty obraz awatara wskazuje na zarchiwizowane połączenie.
+ </dd>
+ <dt>Stan połączenie</dt>
+ <dd>
+ Połączenie może mieć różne stany:
+ <ul>
+ <li> Zarchiwizowane</li>
+ <li> Zignorowane</li>
+ <li> Zablokowane</li>
+ <li> Ukryte</li>
+ </ul>
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/connections/ifpending/help.html b/doc/context/pl/connections/ifpending/help.html
new file mode 100644
index 000000000..b2d05947a
--- /dev/null
+++ b/doc/context/pl/connections/ifpending/help.html
@@ -0,0 +1,24 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Ta strona wyświetla listę wszystkich połączeń tego kanału. Lista można
+ <a href = '#' onclick = 'contextualHelpFocus (".section-title-wrapper", 0); return false; '
+ title = "Kliknij, aby podświetlić element ..."> posortować i przefiltrować
+ za pomocÄ… przycisku menu obok przycisku wyszukiwania</a>.
+ </dd>
+ <dt>Szczegóły połączenia</dt>
+ <dd>
+ Każdy wpis na liście przedstawia szczegóły określonego połączenia.
+ Przezroczysty obraz awatara wskazuje na zarchiwizowane połączenie.
+ </dd>
+ <dt>Stan połączenia</dt>
+ <dd>
+ Połączenie może mieć różne stany:
+ <ul>
+ <li> Zarchiwizowane</li>
+ <li> Zignorowane</li>
+ <li> Zablokowane</li>
+ <li> Ukryte</li>
+ </ul>
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/connedit/help.html b/doc/context/pl/connedit/help.html
new file mode 100644
index 000000000..31a47c1fc
--- /dev/null
+++ b/doc/context/pl/connedit/help.html
@@ -0,0 +1,44 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Ta strona umożliwia zmianę lub edycję dowolnych indywidualnych ustawień dla
+ określonego połączenia lub całkowite usunięcie połączenia. Być może dotarłeś
+ do tej strony po utworzeniu lub zatwierdzeniu nowego połączenia. Jeśli tak,
+ nie musisz nic robić. Twoje połączenie zostało już nawiązane.
+ <strong>Możesz</strong> chcieć dodać je do grupy lub dostosować specjalne
+ uprawnienia, a ta strona jest prezentowana, abyś mógł to zrobić przy okazji
+ ustanowienie nowego połączenia.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus(".section-title-wrapper", 0); return false;'
+ title="Kliknij, aby podświetlić element...">Narzędzia do połączeń</a></dt>
+ <dd>
+ <A href = '#' onclick = 'contextualHelpFocus (".section-title-wrapper", 0); return false; '
+ title = "Kliknij, aby podświetlić element ..."> Menu naarzędzi połączeń</a>
+ umożliwia dostęp do kilku ustawień. Wyświetl profil, wyświetl ostatnią aktywność,
+ odśwież uprawnienia, ustaw lub zresetuj flagi (blokuj, ignoruj, archiwizuj, ukryj)
+ i usuń połączenie.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#group-sidebar", 0); return false;'
+ title="Kliknij, aby podświetlić element...">Grupy prywatności</a></dt>
+ <dd>
+ Każde połączenie może być przypisane do jednej lub więcej grup prywatności
+ w celu grupowania kolekcji znajomych z dostępem do określonych postów,
+ multimediów i innych treści. Możesz dodać je tutaj do istniejącej grupy
+ prywatności lub utworzyć nową grupę prywatności. Po dodaniu ich do istniejącej
+ grupy akcja jest natychmiastowa i nie musisz przesyłać formularza.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#perms-tool", 0); return false;'
+ title="Kliknij, aby podświetlić element...">Indywidualne uprawniena</a></dt>
+ <dd>
+ Udzielanie uprawnień jest zwykle automatyczne i nie wymaga żadnych działań
+ z Twojej strony. Możesz jednak chcieć dostosować określone uprawnienia dla
+ tego połączenia, które są inne niż dla innych.
+ </dd>
+ <dt>Ustawienia specyficznych funkcji</dt>
+ <dd>
+ Szereg indywidualnych ustawień jest kontrolowanych za pomocą dodatkowych
+ funkcji, które mogą, ale nie muszą być aktywowane na Twoim hubie lub na Twoim
+ kanale. Kilka opcjonalnych funkcji ma ustawienia dla każdego połączenia,
+ które można ustawić na tej stronie za pomocą dodatkowych zakładek formularza.
+ </dd>
+</dl>
diff --git a/doc/context/pl/events/help.html b/doc/context/pl/events/help.html
new file mode 100644
index 000000000..542661fa5
--- /dev/null
+++ b/doc/context/pl/events/help.html
@@ -0,0 +1,18 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Na tej stronie wyświetlany jest kalendarz wydarzeń, który należy do Ciebie
+ oraz kalendarze, które zostały Ci udostępnione z innych kanałów.
+ /dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#title", 0); return false;'
+ title="Kliknij, aby podświetlić element...">Widok kalendarza</a></dt>
+ <dd>
+ Kalendarz może być wyświetlany w trybie miesiąca, tygodnia lub dnia, przy użyciu
+ opcji widocznych na panelu bocznym.
+ </dd>
+ <dt>Eksport/Import</dt>
+ <dd>
+ Eksportuj lub importuj wydarzenia kalendarza przy użyciu plików w standardowym
+ formacie iCalendar (.ics).
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/mail/help.html b/doc/context/pl/mail/help.html
new file mode 100644
index 000000000..b8497709c
--- /dev/null
+++ b/doc/context/pl/mail/help.html
@@ -0,0 +1,25 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Wiadomości wyświetlane w poczcie prywatnej są widoczne tylko dla Ciebie i
+ pojedynczego odbiorcy.
+ </dd>
+ <dt>Widok łączony</dt>
+ <dd>
+ Wybór opcji <b>Widok łączony</b> spowoduje wyświetlanie całych rozmów w ciągłym
+ wątku. Dostępne rozmowy są wyświetlane poniżej menu w panelu bocznym.
+ </dd>
+ <dt>Skrzynka odbiorcza/nadawcza</dt>
+ <dd>
+ Poszczególne wysłane wiadomości można wyświetlić, wybierając opcję
+ <b>Skrzynka nadawcza</b>, a wiadomości przychodzące - za pomocą filtru
+ <b>Skrzynka odbiorcza</b>.
+ </dd>
+ <dt>Nowa wiadomość</dt>
+ <dd>
+ Poszczególne wiadomości mają raporty doręczenia, które można wyświetlić za
+ pomocą rozwijanego menu. Wysłane wiadomości można również odwołać, posługując
+ się tym samym menu, co może uniemożliwić odbiorcy przegląd takich wiadomości,
+ <i>jeśli jeszcze ich nie przeczytał</i>.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/network/help.html b/doc/context/pl/network/help.html
new file mode 100644
index 000000000..cbc6c035c
--- /dev/null
+++ b/doc/context/pl/network/help.html
@@ -0,0 +1,36 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Strona strumienia sieciowego wyświetla strumień postów i rozmów, zwykle
+ uporządkowanych według ostatnio zaktualizowanych. Jest to strona wysoce konfigurowalna.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#profile-jot-wrapper", 0);
+ return false;' title="Kliknij, aby podświetlić element...">Tworzenie posta</a></dt>
+ <dd>
+ U góry strony znajduje się pole tekstowe z napisem "Udostępnij". Kliknięcie
+ tego pola otwiera nowy edytor postówów. Edytor postów można dostosowywać, ale
+ podstawowy edytor udostępnia pola dla treści posta i opcjonalnego <b>tytułu</b>.
+ Przyciski poniżej obszaru tekstowego po lewej stronie zapewniają skróty do
+ formatowania tekstu i wstawiania linków, obrazów i innych danych do posta.
+ Przyciski po prawej stronie zapewniają podgląd posta, ustawienia uprawnień do
+ publikowania oraz przycisk <b>Prześlij</b> do wysłania posta.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#group-sidebar", 1);
+ return false;' title="Kliknij, aby podświetlić element...">Grupy prywatności</a></dt>
+ <dd>
+ Utworzone grupy prywatności są wyświetlane w panelu bocznym. Wybranie ich
+ powoduje filtrowanie postów do tych utworzonych przez kanały w wybranej grupie.
+ </dd>
+ <dt><a href='#' onclick='$("#dbtn-acl").click(); return false;'
+ title="Kliknij, aby podświetlić element...">Uprawnienia do posta</a></dt>
+ <dd>
+ Lista kontroli dostępu (ACL) służy do określania, kto może zobaczyć Twój nowy
+ post. Naciśnięcie przycisku ACL obok przycisku Prześlij spowoduje wyświetlenie
+ okna dialogowego, w którym możesz wybrać kanały albo grupy prywatności, które
+ będą widzieć post. Możesz także wybrać, komu wyraźnie odmówiono dostęp.
+ Załóżmy na przykład, że planujesz przyjęcie niespodziankę dla znajomego.
+ Możesz wysłać zaproszenie do wszystkich w swojej grupie <b>Znajomi</b>
+ <i>oprócz</i> znajomego, którego zaskakujesz. W tym przypadku "pokazujesz"
+ go grupie <b>Znajomi</b>, ale "nie pokazujesz" tej jednej osobie.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/photos/help.html b/doc/context/pl/photos/help.html
new file mode 100644
index 000000000..e9ff7ee9d
--- /dev/null
+++ b/doc/context/pl/photos/help.html
@@ -0,0 +1,15 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Na tej stronie wyświetlane są albumy ze zdjęciami opublikowane w kanale.
+ Widoczność obrazów zależy od indywidualnych uprawnień odwiedzającego do tych zdjęć.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#tabs-collapse-1", 0); return false;'
+ title="Kliknij, aby podświetlić element...">Zakładki treści kanału</a></dt>
+ <dd>
+ Karty treści kanału to odnośniki do innych treści publikowanych przez kanał.
+ Karta <b>Informacje</b> prowadzi do profilu kanału. Karta <b>Zdjęcia</b>
+ prowadzi do galerii zdjęć kanału. Zakładka <b>Pliki</b> zawiera linki do
+ ogólnych plików udostępnionych w kanale.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/profile/help.html b/doc/context/pl/profile/help.html
new file mode 100644
index 000000000..9ec5b0e73
--- /dev/null
+++ b/doc/context/pl/profile/help.html
@@ -0,0 +1,17 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ To jest strona profilu kanału. Zwykle wyświetla informacje opisujące kanał.
+ Jeśli na przykład kanał reprezentuje osobę w sieci społecznościowej, profil
+ może zawierać informacje kontaktowe i inne dane osobowe tej osoby. Kanały mogą
+ mieć wiele profili, przy czym wyświetlany profil zależy od obserwatora.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#tabs-collapse-1", 0); return false;'
+ title="Klknij, aby podświetlić element...">Zakładki treści kanału</a></dt>
+ <dd>
+ Karty treści kanału to odnośniki do innych treści publikowanych przez kanał.
+ Karta <b>Informacje</b> prowadzi do profilu kanału. Karta <b>Zdjęcia</b>
+ prowadzi do galerii zdjęć kanału. Zakładka <b>Pliki</b> zawiera linki do ogólnych
+ plików opublikowanych i udostępnionych w kanale.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/profiles/help.html b/doc/context/pl/profiles/help.html
new file mode 100644
index 000000000..18953a829
--- /dev/null
+++ b/doc/context/pl/profiles/help.html
@@ -0,0 +1,49 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Po zarejestrowaniu <i>konta</i> w matrycy, utworzony został również
+ <i>profil</i> i <i>kanał</i>.
+ </dd>
+ <dt>Konto</dt>
+ <dd>
+ Masz teraz <i>jedno</i> konto. Składa się z Twojego adresu e-mail i
+ hasła. Za pomocą swojego konta uzyskujesz dostęp do profili i kanałów.
+ <i>Pomyśl o swoim koncie jak o sposobie uwierzytelniania w jednym
+ serwisie Hubzilla. To pozwala wykonywać różne czynności, takie jak
+ tworzenie profili i kanałów, za pomocą których można łączyć się z
+ innymi osobami.</i>
+ </dd>
+ <dt>Profil</dt>
+ <dd>
+ Z pewnością już zarejestrowałeś/zarejestrowałaś się w innych usługach
+ internetowych, takich jak fora lub społeczności internetowe. W nich
+ wszystkich trzeba było podać pewne informacje o sobie, takie jak data
+ urodzenia, kraj, wiek i upodobania. W przeciwieństwie do nich
+ usługi Hubzilla daje Ci przewagę tworzenia <i>wielu profili </i>.
+ W ten sposób możesz rozróżniać profil przeznaczone specjalnie dla
+ wszystkich (Twój profil publiczny), od profili przeznaczonych dla
+ współpracowników, rodziny czy partnera. <i> Potraktuj swój profil
+ jak pojemnik zawierajÄ…cy podstawowe informacje o Tobie, jakie
+ przekazujesz innym osobom. </i>
+ </dd>
+ <dt>Kanał</dt>
+ <dd>
+ Podczas rejestracji utworzyłeś/utworzyłaś swój pierwszy <i>kanał</i>.
+ Tak, poza kilkoma profilami, również możesz mieć kilka kanałów. Na
+ początku może to być nieco zagmatwane, ale wyjaśnijmy to. Już masz
+ utworzony jeden kanał. Możesz używać go do publicznego komunikowania
+ się z osobami w życiu codziennym. Lecz być może jesteś zapalonym
+ czytelnikiem książek a wielu ludzi się tym nudzi. Otwierasz więc
+ <i>drugi kanał</i> dla miłośników książek, gdzie wszyscy mogą rozmawiać
+ o książkach tyle, ile zechcą. Oczywiście jest to nowy strumień postów,
+ z nowym profilem (... lub nowymi profilami) i zupełnie z innymi
+ kontaktami. Niektóre połączenia mogą istnieć w obu kanałach, ale będą
+ takie, które będą występować wyłącznie w jednym z nich. Ty po prostu
+ przełączaj się między nimi tak, jak w prawdziwym życiu, gdy rozmawiasz
+ z ludźmi, których spotykasz na ulicy lub z osobami, które spotykasz
+ specjalnie, aby porozmawiać o książkach. Możesz nawet połączyć się
+ ze sobą lub lepiej: ze swoim innym kanał. :) <i> Pomyśl o kanałach
+ jak o różnych przestrzeniach poświęconych różnym tematom, w których
+ spotykasz się z różnymi osobami.</i>
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/settings/account/help.html b/doc/context/pl/settings/account/help.html
new file mode 100644
index 000000000..0507c73cf
--- /dev/null
+++ b/doc/context/pl/settings/account/help.html
@@ -0,0 +1,49 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Po zarejestrowaniu <i>konta</i> w matrycy, utworzony został również
+ <i>profil</i> i <i>kanał</i>.
+ </dd>
+ <dt>Konto</dt>
+ <dd>
+ Masz teraz <i>jedno</i> konto. Składa się z Twojego adresu e-mail i
+ hasła. Za pomocą swojego konta uzyskujesz dostęp do profili i kanałów.
+ <i>Pomyśl o swoim koncie jak o sposobie uwierzytelniania w jednym
+ serwisie Hubzilla. To pozwala wykonywać różne czynności, takie jak
+ tworzenie profili i kanałów, za pomocą których można łączyć się z
+ innymi osobami.</i>
+ </dd>
+ <dt>Profil</dt>
+ <dd>
+ Z pewnością już zarejestrowałeś/zarejestrowałaś się w innych usługach
+ internetowych, takich jak fora lub społeczności internetowe. W nich
+ wszystkich trzeba było podać pewne informacje o sobie, takie jak data
+ urodzenia, kraj, wiek i upodobania. W przeciwieństwie do nich
+ usługi Hubzilla daje Ci przewagę tworzenia <i>wielu profili </i>.
+ W ten sposób możesz rozróżniać profil przeznaczone specjalnie dla
+ wszystkich (Twój profil publiczny), od profili przeznaczonych dla
+ współpracowników, rodziny czy partnera. <i> Potraktuj swój profil
+ jak pojemnik zawierajÄ…cy podstawowe informacje o Tobie, jakie
+ przekazujesz innym osobom. </i>
+ </dd>
+ <dt>Kanał</dt>
+ <dd>
+ Podczas rejestracji utworzyłeś/utworzyłaś swój pierwszy <i>kanał</i>.
+ Tak, poza kilkoma profilami, również możesz mieć kilka kanałów. Na
+ początku może to być nieco zagmatwane, ale wyjaśnijmy to. Już masz
+ utworzony jeden kanał. Możesz używać go do publicznego komunikowania
+ się z osobami w życiu codziennym. Lecz być może jesteś zapalonym
+ czytelnikiem książek a wielu ludzi się tym nudzi. Otwierasz więc
+ <i>drugi kanał</i> dla miłośników książek, gdzie wszyscy mogą rozmawiać
+ o książkach tyle, ile zechcą. Oczywiście jest to nowy strumień postów,
+ z nowym profilem (... lub nowymi profilami) i zupełnie z innymi
+ kontaktami. Niektóre połączenia mogą istnieć w obu kanałach, ale będą
+ takie, które będą występować wyłącznie w jednym z nich. Ty po prostu
+ przełączaj się między nimi tak, jak w prawdziwym życiu, gdy rozmawiasz
+ z ludźmi, których spotykasz na ulicy lub z osobami, które spotykasz
+ specjalnie, aby porozmawiać o książkach. Możesz nawet połączyć się
+ ze sobą lub lepiej: ze swoim innym kanał. :) <i> Pomyśl o kanałach
+ jak o różnych przestrzeniach poświęconych różnym tematom, w których
+ spotykasz się z różnymi osobami.</i>
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/settings/channel/help.html b/doc/context/pl/settings/channel/help.html
new file mode 100644
index 000000000..0507c73cf
--- /dev/null
+++ b/doc/context/pl/settings/channel/help.html
@@ -0,0 +1,49 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Po zarejestrowaniu <i>konta</i> w matrycy, utworzony został również
+ <i>profil</i> i <i>kanał</i>.
+ </dd>
+ <dt>Konto</dt>
+ <dd>
+ Masz teraz <i>jedno</i> konto. Składa się z Twojego adresu e-mail i
+ hasła. Za pomocą swojego konta uzyskujesz dostęp do profili i kanałów.
+ <i>Pomyśl o swoim koncie jak o sposobie uwierzytelniania w jednym
+ serwisie Hubzilla. To pozwala wykonywać różne czynności, takie jak
+ tworzenie profili i kanałów, za pomocą których można łączyć się z
+ innymi osobami.</i>
+ </dd>
+ <dt>Profil</dt>
+ <dd>
+ Z pewnością już zarejestrowałeś/zarejestrowałaś się w innych usługach
+ internetowych, takich jak fora lub społeczności internetowe. W nich
+ wszystkich trzeba było podać pewne informacje o sobie, takie jak data
+ urodzenia, kraj, wiek i upodobania. W przeciwieństwie do nich
+ usługi Hubzilla daje Ci przewagę tworzenia <i>wielu profili </i>.
+ W ten sposób możesz rozróżniać profil przeznaczone specjalnie dla
+ wszystkich (Twój profil publiczny), od profili przeznaczonych dla
+ współpracowników, rodziny czy partnera. <i> Potraktuj swój profil
+ jak pojemnik zawierajÄ…cy podstawowe informacje o Tobie, jakie
+ przekazujesz innym osobom. </i>
+ </dd>
+ <dt>Kanał</dt>
+ <dd>
+ Podczas rejestracji utworzyłeś/utworzyłaś swój pierwszy <i>kanał</i>.
+ Tak, poza kilkoma profilami, również możesz mieć kilka kanałów. Na
+ początku może to być nieco zagmatwane, ale wyjaśnijmy to. Już masz
+ utworzony jeden kanał. Możesz używać go do publicznego komunikowania
+ się z osobami w życiu codziennym. Lecz być może jesteś zapalonym
+ czytelnikiem książek a wielu ludzi się tym nudzi. Otwierasz więc
+ <i>drugi kanał</i> dla miłośników książek, gdzie wszyscy mogą rozmawiać
+ o książkach tyle, ile zechcą. Oczywiście jest to nowy strumień postów,
+ z nowym profilem (... lub nowymi profilami) i zupełnie z innymi
+ kontaktami. Niektóre połączenia mogą istnieć w obu kanałach, ale będą
+ takie, które będą występować wyłącznie w jednym z nich. Ty po prostu
+ przełączaj się między nimi tak, jak w prawdziwym życiu, gdy rozmawiasz
+ z ludźmi, których spotykasz na ulicy lub z osobami, które spotykasz
+ specjalnie, aby porozmawiać o książkach. Możesz nawet połączyć się
+ ze sobą lub lepiej: ze swoim innym kanał. :) <i> Pomyśl o kanałach
+ jak o różnych przestrzeniach poświęconych różnym tematom, w których
+ spotykasz się z różnymi osobami.</i>
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/settings/features/help.html b/doc/context/pl/settings/features/help.html
new file mode 100644
index 000000000..a33e546f4
--- /dev/null
+++ b/doc/context/pl/settings/features/help.html
@@ -0,0 +1,35 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Ta strona umożliwia skonfigurowanie ustawień dla wielu dodatkowych funkcji Hubzilli.
+ </dd>
+ <dt><a href='#' onclick='$("#general-settings-title h3 a").click();
+ setTimeout((function() {contextualHelpFocus("#general-settings-title", 0)}), 1000);
+ return false;' title="Klikniaj, aby podświetlić element...">Główne cechy</a></dt>
+ <dd>
+ Ogólne ustawienia funkcji zawierają opcje związane z Twoim kanałem, takie jak
+ hosting strony internetowej i wiki.
+ </dd>
+ <dt><a href='#' onclick='$("#composition-settings-title h3 a").click();
+ setTimeout((function() {contextualHelpFocus("#composition-settings-title", 0)}), 1000);
+ return false;' title="Klikniaj, aby podświetlić element...">Funkcje kompozycji postów</a></dt>
+ <dd>
+ Funkcje kompozycji postów zapewniają dodatkowe opcje i możliwości podczas
+ tworzenia nowych postów.
+ </dd>
+ <dt><a href='#' onclick='$("#net_module-settings-title h3 a").click();
+ setTimeout((function() {contextualHelpFocus("#net_module-settings-title", 0)}), 1000);
+ return false;' title="Klikniaj, aby podświetlić element...">Sieć i fitrowanie strumienia</a></dt>
+ <dd>
+ Te ustawienia modyfikujÄ… funkcje zwiÄ…zane z filtrowaniem i kontrolowaniem widoku
+ przychodzących postów.
+ </dd>
+ <dt><a href='#' onclick='$("#tools-settings-title h3 a").click();
+ setTimeout((function() {contextualHelpFocus("#tools-settings-title", 0)}), 1000);
+ return false;' title="Klikniaj, aby podświetlić element...">Narzędzia postów i komentarzy</a></dt>
+ <dd>
+ Ustawienia te zapewniają dodatkowe narzędzia do kategoryzowania postów
+ i umożliwiają dodatkowe metody komentowania, takie jak emoji lub tagowanie
+ społecznościowe.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/settings/tokens/help.html b/doc/context/pl/settings/tokens/help.html
new file mode 100644
index 000000000..cebe30ced
--- /dev/null
+++ b/doc/context/pl/settings/tokens/help.html
@@ -0,0 +1,43 @@
+<dl class="dl-horizontal">
+ <dt><a href="/help/member/member_guide#Guest_Access_Tokens">Tokeny dostępu gościa</a></dt>
+ <dd>
+ Aby ułatwić udostępnianie prywatnych zasobów osobom niebędącym członkami
+ lub członkami sfederyzowanych węzłów (hubów) i zapewnić zabezpieczone
+ wykrywaniem danych identyfikacyjnych, Hubzilla zawiera mechanizm tworzenia
+ i zarzÄ…dzania tymczasowymi ("jednorazowymi") loginami, zwanymi "tokenami
+ dostÄ™pu Zotâ€. Tokeny te, bÄ™dÄ…ce swojego rodzaju danymi uwierzytelniajÄ…cymi,
+ mogą być używane do uwierzytelniania w serwisie Hubzilla wyłącznie w celu
+ uzyskania dostępu do uprzywilejowanych lub kontrolowanych zasobów (pliki,
+ zdjęcia, posty, strony internetowe, pokoje rozmów itp.).
+ </dd>
+ <dt>Utworzenie tokenu</dt>
+ <dd>
+ Formularz do tworzenia i edycji akceptuje trzy parametry: czytelnÄ… dla
+ człowieka nazwę, hasło lub token dostępu oraz opconalną okres ważności.
+ Po wygaśnięciu token dostępu nie jest już ważny, nie może być już używany
+ i będzie automatycznie usunięte z listy kont tymczasowych. Pole hasła
+ w formularzach tworzenia i edycji wyświetla tekst tokenu dostępu, a nie
+ zasłonięte hasło.
+ </dd>
+ <dt>Udostępnienie tokenu</dt>
+ <dd>
+ Nie jest narzucony sposób udostępniania tych tokenów innym osobom. Można
+ użyć dowolnej metody komunikacji. Wszystkie utworzone tokeny są dodawane
+ do selektora listy kontroli dostępu i mogą być używane wszędzie tam, gdzie
+ są dostępne listy kontroli dostępu.
+
+ <b>Przykład</b>: Odwiedzający nawiguje w przeglądarce do Twojąej witryny.
+ Ma podany przez Ciebie token dostępu i próbuje odwiedzić jeden z Twoich
+ albumów ze zdjęciami (który jest ograniczony do przeglądania tylko przez
+ Ciebie i jedną tymczasową tożsamość). Odmowa dostępu.
+
+ Odwiedzający wybiera teraz opcję „Zaloguj się†z paska nawigacji menu.
+ To wyświetli stronę logowania. Wpisuje tam nazwę i hasło, które podałeś
+ i może teraz przeglądać zabezpieczony album ze zdjęciami.
+
+ Alternatywnie możesz udostępnić łącze do chronionego pliku, dodając parametr
+ "&zat=abc123" do adresu URL, gdzie ciąg "abc123" to token dostępu lub
+ hasło do tymczasowego logowania. Nie są wymagane dalsze negocjacje
+ a żądany zasób zostanie wyświetlony.
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/webpages/help.html b/doc/context/pl/webpages/help.html
new file mode 100644
index 000000000..64858fcf6
--- /dev/null
+++ b/doc/context/pl/webpages/help.html
@@ -0,0 +1,24 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Możesz tworzyć modułowe, rozpoznające tożsamość witryny internetowe, składające
+ się z elementów, które można udostępniać.
+ </dd>
+ <dt>Strony</dt>
+ <dd>
+ Tutaj znajduje siÄ™ lista Twoich "stron" z przypisanymi adresami URL,
+ pod którymi osoby mogą je odwiedzać. Struktura stron jest zwykle opisywana
+ przez powiązany <b>układ</b>, a ich zawartość jest tworzona ze zbioru <b>bloków</b>.
+ </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#website-portation-tools", 1);
+ return false;' title="Click to highlight element...">Narzędzia do przenoszenia stron internetowych</a></dt>
+ <dd>
+ Narzędzia do przenoszenia witryn umożliwiają importowanie i eksportowanie wielu
+ elementów strony internetowej (stron, układów, bloków). Możesz <b>zaimportować</b>
+ te alementy albo z przesłanego pliku ZIP, albo z istniejącego folderu plików
+ w chmurze. Możesz je <b>wyeksportować</b> do pliku zip zawierającego wybraną
+ grupę elementów strony internetowej w formie zgodnej z narzędziem do importowania
+ lub możesz wyeksportować bezpośrednio do folderu plików w chmurze.
+ <a target="_blank" href="help/webpages"> Czytaj więcej ... </a>
+ </dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/pl/wiki/help.html b/doc/context/pl/wiki/help.html
new file mode 100644
index 000000000..6aa6a7192
--- /dev/null
+++ b/doc/context/pl/wiki/help.html
@@ -0,0 +1,29 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Każda wiki to zbiór stron utworzonych jako pliki tekstowe w formacie Markdown.
+ </dd>
+ <dt>Wykaz Wiki</dt>
+ <dd>
+ Strony wiki należące do kanału, <i>do przeglądania którego masz uprawnienia</i>,
+ sÄ… wymienione w panelu bocznym.
+ </dd>
+ <dt>Historia strony</dt>
+ <dd>
+ Zapisywana jest każda wersja strony, aby umożliwić szybkie przywrócenie.
+ Kliknij kartę <b>Historia</b>, aby wyświetlić historię zmian strony, w tym
+ datę i autora każdej z nich. Przycisk przywróć załaduje wybraną wersję, ale
+ nie zapisze automatycznie strony.
+ </dd>
+ <dt>Strony</dt>
+ <dd>
+ Lista stron wiki znajduje siÄ™ w panelu <b>Strony Wiki</b>. Przed zapisaniem
+ zmian na stronie za pomocą rozwijanego menu <b>Strona</b> można
+ <a href = '#' onclick = 'contextualHelpFocus ("# id_commitMsg", 0);
+ return false; ' title = "Kliknij, aby podświetlić element ...">wprowadzić
+ własny komunikat</a>, który będzie wyświetlany w
+ <a href = '#' onclick = 'contextualHelpFocus ("# wiki-get-history", 0);
+ return false; ' title = "Kliknij, aby podświetlić element ..."><b> Historii
+ strony</b> przeglÄ…darki </a> wraz z wersjÄ….
+ </dd>
+</dl>
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb
index 42c9e67b8..27ea415bd 100644
--- a/doc/hidden_configs.bb
+++ b/doc/hidden_configs.bb
@@ -62,7 +62,7 @@ Options are:
[*= system.email_notify_icon_url ] URL of image (32x32) to display in email notifications (HTML bodies).
[*= system.expire_delivery_reports ] Expiration in days for delivery reports - default 10
[*= system.expire_limit ] Don't expire any more than this number of posts per channel per expiration run to keep from exhausting memory. Default 5000.
- [*= system.filesystem_storage_thumbnails ] If '1', use filesystem instead SQL database to store thumbnails. Default is '0'. Introduced in 4.2
+ [*= system.photo_storage_type] If '1', use filesystem instead SQL database to store thumbnails. Default is '0'. Introduced in 4.2
[*= system.hidden_version_siteinfo ] If true, do not report the software version on siteinfo pages (system.hide_version also hides the version on these pages, this setting *only* hides the version on siteinfo pages).
[*= system.hide_help ] Don't display help documentation link in nav bar
[*= system.hide_in_statistics ] Tell the red statistics servers to completely hide this hub in hub lists.
diff --git a/doc/macros/pl/addons_footer.bb b/doc/macros/pl/addons_footer.bb
new file mode 100644
index 000000000..f16d5cce3
--- /dev/null
+++ b/doc/macros/pl/addons_footer.bb
@@ -0,0 +1,2 @@
+Return to the [zrl=[baseurl]/help/addons]Dokumentacja dodatków[/zrl]
+Return to the [zrl=[baseurl]/help/main]Główna dokumentacja[/zrl]
diff --git a/doc/macros/pl/cloud_footer.bb b/doc/macros/pl/cloud_footer.bb
new file mode 100644
index 000000000..a9db7f819
--- /dev/null
+++ b/doc/macros/pl/cloud_footer.bb
@@ -0,0 +1,2 @@
+Return to the [zrl=[baseurl]/help/cloud]Dokumentacja chmury[/zrl]
+Return to the [zrl=[baseurl]/help/main]Główna strona dokumentacji[/zrl]
diff --git a/doc/macros/pl/main_footer.bb b/doc/macros/pl/main_footer.bb
new file mode 100644
index 000000000..8bf25fed5
--- /dev/null
+++ b/doc/macros/pl/main_footer.bb
@@ -0,0 +1 @@
+Powróć do [zrl=[baseurl]/help/main]głównej strony dokumentacji[/zrl]
diff --git a/doc/macros/pl/troubleshooting_footer.bb b/doc/macros/pl/troubleshooting_footer.bb
new file mode 100644
index 000000000..19328ad64
--- /dev/null
+++ b/doc/macros/pl/troubleshooting_footer.bb
@@ -0,0 +1,2 @@
+[zrl=[baseurl]/help/troubleshooting]Dokumentacja dotycząca rozwiązywania problemów[/zrl]
+[zrl=[baseurl]/help/troubleshooting]Główna strona dokumentacji[/zrl]
diff --git a/doc/pl/AdvancedSearch.md b/doc/pl/AdvancedSearch.md
new file mode 100644
index 000000000..f76ddf99e
--- /dev/null
+++ b/doc/pl/AdvancedSearch.md
@@ -0,0 +1,52 @@
+Zaawansowane przeszukiwanie katalogu
+====================================
+
+Zaawansowane wyszukiwanie w katalogu jest włączone w "Trybie eksperta" na stronie Ustawienia &gt; Dodatkowe funkcje.
+
+Na stronie katalogu, w widżecie "Znajdź kanały" (zazwyczaj na pasku bocznym) widoczna jest opcja "Zaawansowane". Kliknięcie jej otwiera kolejne pole wyszukiwania umożliwiające wprowadzenie żądań wyszukiwania zaawansowanego.
+
+Zaawansowane żądania zawierają:
+
+* name=xxx
+[Nazwa kanału zawiera xxx]
+
+* address=xxx
+[Adres kanału (webbie) zawiera xxx]
+
+* locale=xxx
+[Lokalizaja (zazwyczaj 'city') zawiera xxx]
+
+* region=xxx
+[Region (stan/terytorium) zawiera xxx]
+
+* postcode=xxx
+[Kod pocztowy lub kod ZIP zawiera xxx]
+
+* country=xxx
+[Nazwa kraju zawiera xxx]
+
+* gender=xxx
+[Płeć zawiera xxx]
+
+* marital=xxx
+[Stan cywilny zawiera xxx]
+
+* sexual=xxx
+[Preferencje seksualne zawierajÄ… xxx]
+
+* keywords=xxx
+[Słowa kluczowe zawierają xxx]
+
+Istnieje wiele powodów, dla których dopasowanie może nie zwrócić tego, czego szukasz, ponieważ wiele kanałów nie podaje szczegółowych informacji w swoim domyślnym (publicznym) profilu, a wiele z tych pól umożliwia wprowadzanie dowolnego tekstu w kilku językach - i sprawia to trudność w dokładnym dopasowaniu. Na przykład możesz uzyskać lepszy wynik, chcąc znaleźć kogoś w USA, nie za pomocą frazy `'country = u'` (bo pojawią sie też kanały z Niemiec, Bułgarii i Australii), a za pomocą fraz US, U.S.A, USA, United States, itd.
+
+Przyszłe wersje tego narzędzia mogą już działać lepiej.
+
+Żądania można łączyć ze sobą za pomocą operatorów `and`, `or` lub `and not`.
+
+Frazy zawierające spacje należy ujmowć w cudzysłowy.
+
+Przykład:
+
+ name="charlie brown" and country=canada and not gender=female
+
+#include doc/macros/pl/main_footer.bb;
diff --git a/doc/pl/Features.md b/doc/pl/Features.md
new file mode 100644
index 000000000..1977df379
--- /dev/null
+++ b/doc/pl/Features.md
@@ -0,0 +1,107 @@
+Dodatkowe możliwości
+====================
+
+Domyślny interfejs $Projectname został zaprojektowany tak, aby był dobrze uporządkowany. Istnieje ogromna liczba dodatkowych funkcji (niektóre są bardzo przydatne), które można włączyć i jak najlepiej wykorzystać. Można je znaleźć pod klikając link [Dodatkowe funkcje](settings/features) na stronie [Ustawienia](settings).
+
+**Wygaśnięcie treści**
+
+Usuwanie postów, komentarzy albo prywatnych wiadomoÅ›ci w okreÅ›lonym terminie. Do edytora postów zostaje dodany dodatkowy przycisk, za pomoca któreg można ustawić termin wygaÅ›niÄ™cia publikacji. Zwykle data jest wyÅ›wietlana w formacie „rrrr-mm-dd gg: mmâ€, ale w jÄ™zyku angielskim ma siÄ™ nieco wiÄ™kszÄ… swobodÄ™ i można używać wiÄ™kszoÅ›ci rozpoznawalnych odniesieÅ„ do dat, takich jak "next Thursday" czy "+1 day". W okreÅ›lonym terminie (podanym lub zajmujÄ…cym okoÅ‚o dziesiÄ™ciu minut, w zależnoÅ›ci od czÄ™stotliwoÅ›ci sprawdzania zdalnego systemu) element jest usuwany.
+
+**Wiele profili**
+
+Możliwość tworzenia wielu profili, które są widoczne tylko dla określonych osób lub grup. Twój profil domyślny może być widoczny dla każdego, ale wszystkie profile dodatkowe mogą zawierać inne lub dodatkowe informacje i mogą być widoczne tylko dla tych, do których jest przypisany.
+
+**Strony internetowe**
+
+Zapewnia możliwość korzystania z funkcji projektowania stron internetowych i tworzenia niestandardowych stron internetowych na podstawie własnej zawartości, a także projektowania stron z układami stron, niestandardowymi elemntami menu i blokami treści.
+
+
+**Prywatne notatki**
+
+Na stronach, na których jest to dostępne (Twoja matryca i osobiste strony internetowe), zapewnia widżet do tworzenia i przechowywania osobistych przypomnień i notatek.
+
+**Ulepszone albumy ze zdjęciami**
+
+Zapewnia przeglądarkę albumów zdjęć, która ma nieco ładniejszy interfejs niż zwykły album.
+
+**Rozszerzone udostępnianie tożsamości**
+
+Domyślnie Twoja tożsamość "podróżuje" z Tobą, gdy przeglądasz matrycę zdalnych witryn - tam też wiedzą kim jesteś i mogą wyświetlać Ci treści, które tylko Ty widzisz. Dzięki rozszerzonemu udostępnianiu tożsamości możesz dostarczyć te informacje do dowolnej odwiedzanej witryny z poziomu swojej matrycy.
+
+**Tryb ekspercki**
+
+Pozwala to zobaczyć niektóre zaawansowane opcje konfiguracji, które mogą dezorientować niektóre osoby lub powodować problemy z obsługą. Funkcjonalność ta może zapewnić pełną kontrolę nad funkcjami i kolorami motywu - dzięki czemu można dostosować dużą liczbę ustawień motywu wyświetlania do własnych upodobań.
+
+**Kanał Premium**
+
+Dzięki temu możesz ustawić ograniczenia i warunki dotyczące tych, które łączą się z Twoim kanałem. Może to być używane przez celebrytów lub kogoś, kto chce postawić jakieś warunki osobom, które chcą się połączyć z tym kanałe. Jednym z warunków moze byc dokonanie płatności za połączenie.
+
+**Edytor tekstu formatowanego**
+
+Edytor postów dostępny z poziomy matrycy jest edytorem zwykłego tekstu, ale matryca pozwala na stosowanie szerokieo zakresu znaczników przy użyciu BBcode. Edytor wizualny jest natomiast edytorem WYSIWIG (what you see is what you get - otrzymujesz to, co widzisz)i zapewnia wszystkie najczęściej używane znaczniki BBcode.
+
+**PodglÄ…d wpisu**
+
+Umożliwia podgląd postów i komentarzy dokładnie tak, jak wyglądałyby na stronie przed ich opublikowaniem.
+
+**Źródła kanałów**
+
+Automatycznie importuje i ponownie publikuje zawartość kanału z innych kanałów lub źródeł. Umożliwia to tworzenie podkanałów i superkanałów z treści publikowanych gdzie indziej. Zasady są takie, że treść musi być publiczna, a właściciel kanału musi udzielić Ci pozwolenia na pozyskiwanie swojego kanału.
+
+**Jeszcze więcej szyfrowania**
+
+Stadardowo, prywatne wiadomości są szyfrowane podczas transportu i przechowywania. W dzisiejszych czasach to szyfrowanie może nie wystarczyć, jeśli twoja komunikacja jest wyjątkowo wrażliwa. Ta opcja umożliwia dodatkowo szyfrowanie treści "end-toend" za pomocą wspólnego tajnego klucza. Sposób, w jaki odbiorca pozna tajny klucz, zależy wyłącznie od Ciebie. Możesz podać wskazówkę, na przykład "imię pierwszego psa cioci Kloci".
+
+**Wyszukiwanie wg daty**
+
+Daje to możliwość wybierania postów według zakresów dat
+
+**Filtr grup prywatności**
+
+Włączenie tego widżetu umożliwia wyświetlanie strumienia postów tylko z wybranych grup połączeń. Powoduje to również przełączenie uprawnień wychodzących podczas przeglądania grupy prywatności. Jest to podobne do "kręgów" Google czy też "aspektów" w Disaporze.
+
+**Zapisane wyszukiwania**
+
+Udostępnia widżet wyszukiwania na stronie matrycy, który może zapisywać wybrane frazy wyszukiwania do ponownego wykorzystania.
+
+**Zakładka Osobiste**
+
+Włącz tą kartę, aby wyświetlać tylko wpisy matrycowe, z którymi w jakiś sposób wchodziłeś w interakcję, jako autor lub współautor konwersacji.
+
+**Zakładka Nowy**
+
+Włącza tą kartę, aby wyświetlać wszystkich nowych działania matrycy jako węża strażackiego lub osi czasu.
+
+**Narzedzia zaprzyjaźnienia**
+
+Filtrowanie aktywności strumienia matrycy według głębokości relacji.
+
+**Edytuj wysłane posty**
+
+Mozliwość edytowania i poprawiania postów i komentarzy juz po wysłaniu.
+
+**Tagowanie**
+
+Możliwość tagowania istniejących postów, w tym napisanych przez innych.
+
+**Kategorie postów**
+
+Możliwość dodawania kategorie do postów na swoim kanale
+
+**Zapisane foldery**
+
+Możliwość umieszczania postów w folderach lub tagach do późniejszego przywołania.
+
+**Dezaprobata postów**
+
+Możliwość dezaprobaty ("niepolubienia") wpisów i komentarzy.
+
+**Gwiazdkowanie postów**
+
+Możliwość oznaczania specjalnych postów znakiem gwiazdki
+
+**Chmura tagów**
+
+Udostępnienie osobistej chmury tagów na stronie swojego kanału
+
+#include doc/macros/pl/main_footer.bb;
diff --git a/doc/pl/TermsOfService.md b/doc/pl/TermsOfService.md
new file mode 100644
index 000000000..9b42edc4a
--- /dev/null
+++ b/doc/pl/TermsOfService.md
@@ -0,0 +1,9 @@
+Regulamin serwisu
+=================
+
+#include doc/pl/SiteTOS.md;
+
+Polityka prywatności
+====================
+
+#include doc/pl/gdpr1.md; \ No newline at end of file
diff --git a/doc/pl/Translations.md b/doc/pl/Translations.md
new file mode 100644
index 000000000..4b9e2793b
--- /dev/null
+++ b/doc/pl/Translations.md
@@ -0,0 +1,89 @@
+Tłumaczenie $Projectname
+========================
+
+Procedura tłumaczenia
+---------------------
+
+Ciągi używane w interfejsie użytkownika $Projectname są tłumaczone
+w [Transifex][1], a następnie przeniesione do repozytorium Git na
+github. Jeśli chcesz pomóc w tłumaczeniu dla dowolnego języka, czy
+to poprawianie warunków, czy tłumaczenie $Projectname na plik aktualnie
+nieobsługiwany język, zarejestruj konto na transifex.com i skontaktuj
+się z tamtejszym zespołem tłumaczy Redmatrix.
+
+Tłumaczenie $Projectname jest proste. Po prostu użyj narzędzia online
+w transifex. Jeśli nie chcesz mieć do czynienia z git & co. w porządku,
+regularnie sprawdzamy status tłumaczeń i importujemy je do drzewa
+źródłowego na github, aby inni mogli z nich korzystać.
+
+Nie uwzględniamy każdego tłumaczenia z transifex w drzewie źródłowym,
+aby uniknąć rozproszonego i zakłóconego ogólnego doświadczenia. Jako
+niewykształcone przypuszczenie mamy dolną granicę 50% przetłumaczonych
+ciągów, zanim włączymy język. Limit ten jest oceniany tylko na podstawie
+ilości przetłumaczonych ciągów przy założeniu, że najbardziej widoczne
+ciągi dla interfejsu użytkownika zostaną przetłumaczone jako pierwsze
+przez zespół tłumaczący. Jeśli uważasz, że Twoje tłumaczenie będzie
+przydatne przed tym limitem, skontaktuj siÄ™ z nami, a prawdopodobnie
+uwzględnimy pracę Twoich zespołów w drzewie źródłowym.
+
+Jeśli chcesz samodzielnie przenieść swoją pracę do drzewa źródłowego,
+zrób to i skontaktuj się z nami i zadaj pytanie, które się pojawi.
+Proces jest prosty, a oprogramowanie $Projectname jest dostarczane ze wszystkimi
+niezbędnymi narzędziami.
+
+Lokalizacją przetłumaczonych plików jest w drzewie źródłowym katalog
+`/view/LNG-CODE/`, ggdzie LNG-CODE jest używanym kodem języka, np.
+`de` dla niemieckiego lub `fr` dla francuskiego.
+W przypadku szablonów wiadomości e-mail (pliki `*.tpl`) po prostu umieść
+je w katalogu i gotowe. Przetłumaczone łańcuchy pochodzą z pliku
+"hmessages.po" z transifex, który należy przetłumaczyć na plik PHP
+używany przez $Projectname. Aby to zrobić, umieść plik w wymienionym
+wyżej katalogu i użyj narzędzia `po2php` z katalogu `util` w instalacji
+$Projectname.
+
+Zakładając, że chcesz przetłumaczyć niemiecką wersję umieszczoną pliku
+`view/de/hmessages.po`, wykonaj następujące czynności.
+
+1. Przejdź w wierszu polecenia do katalogu głównego instalacji $Projectname
+
+2. Wykonaj skrypt `po2php`, który jest umieszczono tłumaczenia dla pliku `hstrings.php`, który jest używany w $Projectname.
+
+ $> php util/po2php.php view/de/hmessages.po
+
+ Dane wyjściowe skryptu zostaną umieszczone w `view/de/hstrings.php, gdzie
+ froemdoca oczekuje tego pliku, więc możesz natychmiast przetestować swoje
+ tłumaczenie.
+
+3. Odwiedź swoją stronę $Projectname, aby sprawdzić, czy nadal działa w języku, który właśnie przetłumaczyłeś. Jeśli nie, spróbuj znaleźć błąd, najprawdopodobniej PHP da ci wskazówkę w opisie błędu w `log/warnings.about`.
+
+ W celu debugowania możesz również spróbować "uruchomić" plik za pomocą PHP. Nie powinno to dawać żadnych wyników, jeśli plik jest w porządku, ale może dać wskazówkę dotyczącą wyszukiwania błędu.
+
+ $> php view/de/hstrings.php
+
+4. Zatwierdź te dwa pliki z sensownym komunikatem o zatwierdzeniu do repozytorium git, wypchnij je do rozwidlenia repozytorium $Projectname na github i wydaj żądanie ściągnięcia dla tego zatwierdzenia.
+
+Narzędzia
+---------
+
+Oprócz skryptu po2php, jest jeszcze w katalogu "util" w drzewie źródłowym $Projectname
+kilka narzędzi do tłumaczenia. Jeśli tylko chcesz przetłumacz $Projectname na inny
+język, którego nie potrzebujesz najbardziej, ale da Ci to wyobrażenie o procesie
+tłumaczenia $Projectname.
+
+Więcej informacji można znaleźć w pliku utils/README.
+
+Znane problemy
+--------------
+
+* $Projectname używa ustawień języka przeglądarki odwiedzających, aby określić
+ język interfejsu użytkownika. W większości przypadków to działa, ale są pewne
+ znane dziwactwa.
+* wczesne tłumaczenia są oparte na przekładach Friendica, jeśli znajdziesz jakieś
+ błędy, daj nam znać lub popraw je w Transifex.
+
+Linki
+------
+[1]: http://www.transifex.com/projects/p/hubzilla/
+
+
+#include doc/pl/macros/main_footer.bb;
diff --git a/doc/pl/about/about.bb b/doc/pl/about/about.bb
new file mode 100644
index 000000000..73d710cbc
--- /dev/null
+++ b/doc/pl/about/about.bb
@@ -0,0 +1,181 @@
+[h3]Co to jest $Projectname?[/h3]
+$Projectname to bezpłatny i otwartoźródłowy zestaw aplikacji i usług internetowych działających na specjalnym serwerze internetowym, zwanym "hubem", który może łączyć się z innymi hubami w sfederalizowanej sieci internetowej.
+$Projectname zapewnia użytkownikom zaawansowaną komunikację, tożsamości i usług kontroli dostępu, które bezproblemowo współpracują w różnych domenach i niezależnych witrynach internetowych. Pozwala użytkownikom [b]publicznie[/b] lub [b]prywatnie[/b] publikować treści za pośrednictwem "kanałów" (ang. channel), które są podstawowymi, zabezpieczonymi kryptograficznie tożsamościami zapewniającymi uwierzytelnianie niezależnie od hubów, które je hostują. To rewolucyjne wyzwolenie tożsamości online z poszczególnych serwerów i domen jest nazywane "tożsamością nomadyczną" i jest oparte na protokole Zot, nowej strukturze zdecentralizowanej kontroli dostępu ze szczegółowymi, rozszerzalnymi uprawnieniami.
+Z praktycznego punktu widzenia członków danego huba, korzystających z oprogramowania $Projectname, oferuje ono szereg znanych, zintegrowanych aplikacji i usług internetowych, w tym:
+[ul]
+[li]wątki dyskusyjne w sieciach społecznościowych[/li]
+[li]przechowywanie plików w chmurze[/li]
+[li]kalendarz i kontakty (z obsługą CalDAV i CardDAV)[/li]
+[li]hosting stron internetowych z systemem zarządzania treścią[/li]
+[li]wiki[/li]
+[li]i dużo więcej ...[/li][/ul]
+Chociaż wszystkie te aplikacje i usługi można znaleźć w innych pakietach oprogramowania, tylko $Projectname pozwala ustawić uprawnienia dla grup i osób, [b]które mogą nawet nie mieć kont na Twoim hubie[/b]! W typowych aplikacjach internetowych, jeśli chcesz udostępniać rzeczy prywatnie w Internecie, osoby, którym udostępniasz dane, muszą mieć konta na serwerze, na którym znajdują się Twoje dane; w przeciwnym razie serwer nie może uwierzytelniać odwiedzających witrynę, aby wiedzieć, czy przyznać im dostęp. $Projectname rozwiązuje ten problem za pomocą zaawansowanego systemu zdalnego uwierzytelniania, który weryfikuje tożsamość odwiedzających, wykorzystując techniki obejmujące kryptografię klucza publicznego.
+Dzięki oferowanym aplikacjom, $Projectname świetnie się nadaje do budowy platformy komunikacyjno-publikacyjnej o charkterze społecznościowym dla realnych grup społecznych, takich jak rodziny, lokalne grupy, organizacje społeczne, środowiska szkolne, wspólnoty mieszkańców czy wspólnoty religijne.
+
+[h3]Stos programów[/h3]
+Pakiet oprogramowania $Projectname jest stosunkowo standardową aplikacją serwerową napisaną głównie w PHP i MySQL i [url=https://framagit.org/$Projectname/core/blob/master/install/INSTALL.txt]wymagającą niewiele więcej niż serwera WWW, bazy danych zgodnej z MySQL i języka skryptowego PHP[/url]. System został zaprojektowany tak, aby był łatwy do zainstalowania przez osoby z podstawowymi umiejętnościami administrowania witryną, na typowych platformach współdzielonego hostingu, z uwzglednieniem szerokiej gamy sprzętu komputerowego. Można go również łatwo rozszerzyć za pomocą wtyczek i motywów oraz innych narzędzi innych firm.
+
+[h3]Słownik[/h3]
+[dl terms="b"]
+[*= hub ([i]ang. hub[/i])] Instancja tego oprogramowania działająca na standardowym serwerze WWW
+
+[*= siatka, grid ([i]w oryginale ang., grid[/i])] Globalna sieć hubów, które wymieniają między sobą informacje za pomocą protokołu Zot. Nie są to tylko huby oparte na $Projectname, ale wszystkie hubyy implementujace protokół Zot.
+
+[*= kanał ([i]ang. channel[/i])] Techniczny odpowiednik tożsamości. Kanał może reprezentować osobę, blog lub forum, żeby wymienić tylko kilka. Kanały mogą łączyć się z innymi kanałami w celu udostępniania informacji z bardzo szczegółowymi uprawnieniami.
+
+[*= klon ([i]ang. clone[/i])] Kanały mogą mieć klony powiązane z oddzielnymi i niepowiązanymi kontami w niezależnych hubach. Komunikacja współdzielona z kanałem jest synchronizowana między klonami kanału, co umożliwia kanałowi wysyłanie i odbieranie wiadomości oraz dostęp do współdzielonych treści z wielu hubów. Zapewnia to odporność na awarie sieci i sprzętu, które mogą stanowić poważny problem w przypadku serwerów WWW z własnym hostingiem lub o ograniczonych zasobach. Klonowanie umożliwia całkowite przeniesienie kanału z jednego huba do drugiego, zabierając ze sobą dane i połączenia. Zobacz "tożsamość nomadyczna".
+
+[*= tożsamość nomadyczna ([i]ang. nomadic identity[/i])] Możliwość uwierzytelniania i łatwej migracji tożsamości w niezależnych hubach i domenach internetowych. Tożsamość nomadyczna zapewnia prawdziwą własność tożsamości online, ponieważ tożsamości kanałów kontrolowanych przez konto w hubie nie są powiązane z samym hubem. hub bardziej przypomina "hosta" kanałów. W serwisie $Projectname nie masz "konta" na serwerze, tak jak na typowych serwisach internetowych - posiadasz tożsamość, którą możesz przenosić ze sobą po całej siatce za pomocą klonów.
+
+[*= [url=[baseurl]/help/developer/zot_protocol]Protokół Zot[/url]] Nowy protokół, oparty na JSON, do wdrażania bezpiecznej, zdecentralizowanej komunikacji i usług. Różni się od wielu innych protokołów komunikacyjnych, budując komunikację na podstawie zdecentralizowanej struktury tożsamości i uwierzytelniania. Składnik uwierzytelniania jest koncepcyjnie podobny do OpenID, ale jest odizolowany od tożsamości opartej na DNS. Tam, gdzie to możliwe, zdalne uwierzytelnianie jest ciche i niewidoczne. Zapewnia to mechanizm kontroli dostępu rozproszonego na skalę sieci WWW, który jest dyskretny.
+[/dl]
+
+[h3]Możliwości[/h3]
+Ten rozdział zawiera listę niektórych podstawowych funkcjonalności platformy $Projectname, które są dołączone do oficjalnej wersji. $Projectname to platforma o dużych możliwościach rozbudowy, więc więcej funkcji i możliwości można dodać za pomocą dodatkowych motywów i wtyczek.
+
+[h4]Suwak zaprzyjaźnienia (Affinity Slider)[/h4]
+Dodając połączenia w serwisie $Projectname, członkowie mają możliwość przypisania poziomów "zaprzyjażnienia" ([i]ang. affinity[/i]), czyli określenia, jak bliska jest twoja przyjaźń z osobą reprezentowaną przez nowe połączenia. Na przykład, dodając osobę, której blog obserwujesz, możesz przypisać jej kanałowi poziom zaprzyjaźnienia "Znajomi".
+
+Z drugiej strony, dodając kanał przyjaciela, możesz go umieścić na poziomie zaprzyjaźnienia "Przyjaciele".
+
+Gdy to zrobisz, narzędzie "Suwak zaprzyjaźnienia", które zwykle pojawia się u góry głównej strony kanału (matrycy), dostosowuje zawartość strony tak, aby zawierała elementy z żądanego zakresu zaprzyjaźnienia. Kanały spoza tego zakresu nie będą wyświetlane, chyba że dostosujesz suwak, aby to uwzględnić.
+
+Suwak zaprzyjażnienia umożliwia natychmiastowe filtrowanie dużych ilości treści, pogrupowanych według poziomów zaprzyjaźnienia.
+
+[h4]Filtrowanie połączeń (Connection Filtering)[/h4]
+Masz możliwość precyzyjnego kontrolowania tego, co pojawia się w Twoim strumieniu za pomocą opcjonalnego "Filtra połączeń" ([i]ang. Connection Filter[/i]). Po włączeniu Edytor połączeń zapewnia dane wejściowe do wybierania kryteriów, które należy dopasować, aby uwzględnić lub wykluczyć określony post z określonego kanału. Gdy post został dopuszczony, wszystkie komentarze do tego posta są dozwolone, niezależnie od tego, czy spełniają kryteria wyboru. Możesz wybrać słowa, które jeśli są obecne, blokują post lub zapewniają, że zostanie uwzględniony w Twoim strumieniu. Wyrażenia regularne mogą być używane do jeszcze dokładniejszej kontroli, a także hasztagów, a nawet wykrytego języka postu.
+
+[h4]Listy kontrolne dostępu (Access Control Lists - ACL)[/h4]
+Udostępniając zawartość, członkowie mają możliwość ograniczenia tego, kto widzi zawartość. Klikając na kłódkę pod polem udostępniania, można wybrać odbiorców postu, klikając ich nazwy.
+
+Po wysłaniu, wiadomość będzie widoczna tylko dla nadawcy i wybranych odbiorców. Innymi słowami, wiadomość nie pojawi się na jakichkolwiek publicznych ścianach.
+
+Listy kontroli dostępu mogą być stosowane do treści i postów, zdjęć, wydarzeń, stron internetowych, pokojów rozmów i plików.
+
+[h4]Jednokrotne uwierzytelnianie (Single Sign-on)[/h4]
+Listy kontroli dostępu działają dla wszystkich kanałów w siatce dzięki naszej unikalnej technologii pojedynczego logowania. Większość linków wewnętrznych zapewnia token tożsamości, który można zweryfikować w innych witrynach $Projectname i wykorzystać do kontrolowania dostępu do prywatnych zasobów. Logujesz się raz do swojego centrum domowego. Następnie uwierzytelnianie we wszystkich zasobach serwisu $Projectname jest "magiczne".
+
+[h4]Magazyn plików z obsługą WebDAV[/h4]
+Pliki można przesyłać do osobistego obszaru przechowywania za pomocą narzędzi systemu operacyjnego (w większości przypadków metodą przeciągnij i upuść). Możesz chronić te pliki za pomocą list kontroli dostępu dla dowolnej kombinacji członków Hubzilli (w tym niektórych członków sieci stron trzecich) lub upublicznić je.
+
+[h4]Albumy fotograficzne[/h4]
+Przechowuj zdjęcia w albumach. Wszystkie Twoje zdjęcia mogą być chronione listami kontroli dostępu.
+
+[h4]Kalendarze zdarzeń[/h4]
+Twórz zdarzenia i zadania oraz zarządzaj nimi, które mogą być również chronione za pomocą list kontroli dostępu. Wydarzenia można importować i eksportować do innego oprogramowania przy użyciu standardowego formatu vcalendar lub iCal i udostępniać w postach innym osobom. Wydarzenia urodzinowe są automatycznie dodawane od znajomych i konwertowane na właściwą strefę czasową, dzięki czemu będziesz dokładnie wiedzieć, kiedy mają miejsce urodziny - bez względu na to, gdzie się znajdujesz na świecie w stosunku do osoby urodzonej w dniu urodzin. Wydarzenia są zwykle tworzone za pomocą liczników obecności, dzięki czemu Twoi znajomi i kontakty mogą natychmiast [url=https://pl.wikipedia.org/wiki/RSVP_(skr%C3%B3towiec]RSVP[/url].
+
+[h4]Czaty[/h4]
+Możesz utworzyć dowolną liczbę osobistych czatów i zezwolić na dostęp za pośrednictwem list kontroli dostępu. Są one zazwyczaj bezpieczniejsze niż XMPP, IRC i inne rodzaje przesyłania wiadomości błyskawicznych, chociaż zezwalamy również na korzystanie z tych innych usług za pośrednictwem wtyczek.
+
+[h4]Tworzenie stron internetowych[/h4]
+$Projectname ma wiele narzędzi do tworzenia stron internetowych systemu CMS, w tym do edycji układu, menu, bloków, widżetów i regionów strony i treści. Dostęp do wszystkich tych elementów można kontrolować, tak aby powstałe strony były prywatne dla zamierzonych odbiorców.
+
+[h4]Aplikacje[/h4]
+Aplikacje mogą być tworzone i rozpowszechniane przez członków. Różnią się one od tradycyjnych aplikacji typu "vendor lockin", ponieważ są całkowicie kontrolowane przez autora - który może zapewnić kontrolę dostępu do stron aplikacji docelowej i odpowiednio pobierać opłaty za ten dostęp. Większość aplikacji w Hubzilli jest bezpłatna i mogą być łatwo tworzone przez osoby bez umiejętności programowania.
+
+[h4]Układ stron (Layout)[/h4]
+Układ strony jest oparty na języku opisu o nazwie Comanche. $Projectname sama jest napisana w układach Comanche, które możesz zmieniać. Pozwala to na poziom dostosowania, którego zwykle nie znajdziesz w tak zwanych "środowiskach wielu użytkowników".
+
+[h4]Zakładki (Bookmarks)[/h4]
+Udostępniaj i zapisuj albo zarządzaj zakładkami z linków podanych na czacie.
+
+[h4]Szyfrowanie wiadomości prywatnych i kwestie prywatności[/h4]
+Prywatna poczta jest przechowywana w ukrytym formacie. Chociaż nie jest to "kuloodporne", zwykle zapobiega przypadkowemu podsłuchiwaniu przez administratora witryny lub usługodawcę internetowego.
+
+Każdy kanał serwisu $Projectname ma swój własny unikalny zestaw prywatnych i powiązanych publicznych kluczy RSA 4096-bitowych, generowanych podczas pierwszego tworzenia kanałów. Służy do ochrony przesyłanych prywatnych wiadomości i postów.
+
+Ponadto wiadomości mogą być tworzone przy użyciu "szyfrowania end-to-end", którego nie mogą odczytać operatorzy serwisów $Projectname, dostawcy usług internetowych ani nikt, kto nie zna hasła.
+
+Wiadomości publiczne na ogół nie są szyfrowane podczas przesyłania ani przechowywania.
+
+Prywatne wiadomości mogą zostać wycofane po wysłaniu, chociaż nie ma gwarancji, że odbiorca ich jeszcze nie przeczytał.
+
+Posty i wiadomości mogą być tworzone z datą wygaśnięcia, po którym zostaną usunięte lub usunięte ze strony odbiorcy.
+
+[h4]Federalizacja usług (Service Federation)[/h4]
+Oprócz dodatkowych "łączników cross-post" do różnych alternatywnych sieci, istnieje natywna obsługa importu treści z kanałów RSS i Atom i wykorzystywania jej do tworzenia specjalnych kanałów. Dostępne są również wtyczki do komunikacji z innymi sieciami za pomocą protokołów Diaspora i GNU-Social (OStatus). Sieci te nie obsługują tożsamości nomadycznej ani kontroli dostępu między domenami. Jednak podstawowa komunikacja jest obsługiwana: do i z Diaspora, Friendica, GNU-Social, Mastodon i innych dostawców, którzy używają tych protokołów.
+
+Istnieje również eksperymentalna obsługa uwierzytelniania OpenID, której można używać na listach kontroli dostępu. To jest jeszcze w trakcie tworzenia, ale poeksperymentować można. Twój hub $Projectname może być używany jako dostawca OpenID do uwierzytelniania członków w zewnętrznych usługach korzystających z tej technologii.
+
+Kanały mogą mieć uprawnienia, aby stać się "kanałami pochodnymi", w przypadku gdy dwa lub więcej istniejących kanałów łączy się, tworząc nowy kanał tematyczny.
+
+[h4]Grupy prywatności (Privacy Group)[/h4]
+Nasza implementacja grup prywatności jest podobna do "kręgów" w Google i "aspektów" w Diasporze. Pozwala to na filtrowanie przychodzącego strumienia według wybranych grup i automatyczne ustawianie wychodzącej listy kontroli dostępu tylko na te z tej grupy prywatności podczas publikowania. Możesz to zmienić w dowolnym momencie (przed wysłaniem postu).
+
+
+[h4]Usługi katalogowe (Directory Services)[/h4]
+Zapewniamy łatwy dostęp do katalogu członków i udostępniamy zdecentralizowane narzędzia, które mogą dostarczać "sugestie" znajomych. Katalogi to zwykłe serwisy $Projectname, które zdecydowały się zaakceptować rolę serwera katalogowego. Wymaga to więcej zasobów niż większość typowych serwisów, więc nie jest to ustawienie domyślne. Katalogi są synchronizowane i dublowane, dzięki czemu wszystkie zawierają aktualne informacje o całej sieci (z zastrzeżeniem normalnych opóźnień propagacji).
+
+[h4]TLS/SSL[/h4]
+W przypadku hubów $Projectname, które używają TLS/SSL, komunikacja między klientem a serwerem jest szyfrowana za pomocą protokołu TLS/SSL. Biorąc pod uwagę niedawno ujawnione w mediach fakty dotyczące powszechnego, globalnego nadzoru i obchodzenia szyfrowania przez NSA i GCHQ, uzasadnione jest założenie, że komunikacja chroniona przez HTTPS może być zagrożona na różne sposoby. W konsekwencji prywatna komunikacja jest szyfrowana na wyższym poziomie przed wysłaniem na zewnątrz.
+
+[h4]Konfiguracja kanałów[/h4]
+Podczas tworzenia kanału wybierana jest rola, która stosuje szereg wstępnie skonfigurowanych ustawień zabezpieczeń i prywatności. Są one wybierane z uwzględnieniem najlepszych praktyk, aby zachować prywatność na żądanym poziomie.
+
+W przypadku wybrania "własnej" roli prywatności każdy kanał umożliwia precyzyjne ustawienie uprawnień dla różnych aspektów komunikacji. Na przykład, pod nagłówkiem "Ustawienia bezpieczeństwa i prywatności", każdy aspekt w lewej części strony ma sześć (6) możliwych opcji przeglądania i dostępu, które można wybrać, klikając menu rozwijane. Istnieje również wiele innych ustawień prywatności, które możesz edytować. Dostępne opcje:
+
+ - Nikt oprócz ciebie.
+ - Tylko ci, którym wyraźnie zezwalasz.
+ - Ktoś w twojej książce adresowej.
+ - Każdy na tej stronie.
+ - Każdy w tej sieci.
+ - Każdy jest uwierzytelniony.
+ - Każdy w internecie.
+
+
+[h4]Prywatne i publiczne fora[/h4]
+Fora to zazwyczaj kanały, w których może uczestniczyć wielu autorów. Obecnie istnieją dwa mechanizmy publikowania postów na forach:
+
+ - posty "wall-to-wall" i
+ - mechanizm tagów forowych @mention.
+
+Fora mogą być tworzone przez każdego i używane w dowolnym celu. Katalog zawiera opcję wyszukiwania forów publicznych. Fora prywatne mogą być publikowane tylko dla członków i często tylko przez nich widoczne.
+
+[h4]Klonowanie kont[/h4]
+Konta platformy $Projectname nazywane są *tożsamościami nomadycznymi*, ponieważ tożsamość członka nie jest powiązana z hubem, w którym tożsamość została pierwotnie utworzona. Na przykład, kiedy tworzysz konto na Facebooku lub Gmailu, jest ono powiązane z tymi usługami - mie może działać poza Facebook.com czy Gmail.com.
+
+Z drugiej strony załóżmy, że utworzyłeś tożsamość $Projectname o nazwie [code]tina@$Projectnamehub.com[/code]. Możesz sklonować ją do innego huba $Projectname, wybierając tę ​​samą lub inną nazwę, np. [code]liveForever@Some$ProjectnameHub.info[/code].
+
+Oba kanały są teraz zsynchronizowane, co oznacza, że ​​wszystkie Twoje kontakty i preferencje zostaną zduplikowane na klonie. Nie ma znaczenia, czy wyślesz post z pierwotnego centrum, czy z nowego. Posty będą dublowane na obu kontach.
+
+To dość rewolucyjna funkcja, jeśli weźmiemy pod uwagę kilka scenariuszy:
+
+ - Co się stanie, jeśli hub, w którym oparta jest tożsamość, nagle przestanie działać? Bez sklonowania tożsamości członek tego huba nie będzie mógł się komunikować, dopóki hub nie wróci do trybu online (bez wątpienia wielu z Was widziało i przeklęło "Fail Whale" na Twitterze). Dzięki klonowaniu wystarczy zalogować się na sklonowane konto, a życie toczy się normalnie.
+
+ - Administrator twojego huba nie może już sobie pozwolić na opłacanie swojego bezpłatnego i publicznego huba $Projectname. Zapowiada, że ​​hub zostanie zamknięty za dwa tygodnie. Dzięki temu masz wystarczająco dużo czasu na sklonowanie swojej tożsamośc i zachowanie relacji, znajomych i treści z zamykanego serwisu $Projectname.
+
+ - A jeśli Twoja tożsamość podlega rządowej cenzurze? Twój dostawca huba może zostać zmuszony do usunięcia Twojego konta wraz z wszelkimi tożsamościami i powiązanymi danymi. Dzięki klonowaniu, $Projectname stawia opór cenzurze. Możesz mieć setki klonów, jeśli chcesz, wszystkie nazwane inaczej i istniejące w wielu różnych hubach, rozrzuconych po Internecie.
+
+$Projectname oferuje interesujące nowe możliwości prywatności. Więcej informacji można znaleźć na stronie "Najlepsze praktyki w komunikacji prywatnej".
+Obowiązują pewne zastrzeżenia. Aby uzyskać pełne wyjaśnienie klonowania tożsamości, przeczytaj stronę "JAK SKLONOWAĆ SWOJĄ TOŻSAMOŚĆ".
+
+[h4]Wiele profili[/h4]
+Można utworzyć dowolną liczbę profili zawierających różne informacje, które mogą być widoczne dla niektórych Twoich kontaktów i znajomych. Profil "domyślny" może być widoczny dla każdego i może zawierać ograniczone informacje, a więcej informacji jest dostępnych dla wybranych grup lub osób. Oznacza to, że profil (i zawartość witryny), który widzą Twoi znajomi pijący piwo, może być inny niż to, co widzą Twoi współpracownicy, a także zupełnie inny niż to, co jest widoczne dla ogółu społeczeństwa.
+
+[h4]Kopia zapasowa konta[/h4]
+
+$Projectname oferuje prosty sposób wykonywania kopii zapasowej konta za jednym kliknięciem, z której możesz pobrać pełną kopię zapasową swoich profili. Kopie zapasowe można następnie wykorzystać do sklonowania lub przywrócenia profilu.
+
+[h4]Usuwanie konta[/h4]
+Konta można natychmiast usunąć, klikając link. Otóż to. Wszystkie powiązane treści są następnie usuwane z siatki (w tym posty i wszelkie inne treści utworzone przez usunięty profil). W zależności od liczby posiadanych połączeń proces usuwania zdalnej zawartości może zająć trochę czasu, ale zaplanowany jest tak szybko, jak to możliwe.
+
+[h4]Usuwanie treści[/h4]
+Wszelkie treści utworzone w Hubzilli pozostają pod kontrolą członka (lub kanału), który je pierwotnie utworzył. W dowolnym momencie członek może usunąć wiadomość lub zakres wiadomości. Proces usuwania zapewnia, że treść zostanie usunięta, niezależnie od tego, czy została opublikowana w głównym (macierzystym) hubie kanału, czy w innym hubie, gdzie kanał został zdalnie uwierzytelniony za pośrednictwem Zot (protokół komunikacji i uwierzytelniania $Projectname).
+
+[h4]Media[/h4]
+Podobnie jak każdy inny nowoczesny system blogowania, sieć społecznościowa lub usługa mikroblogowania, $Projectname obsługuje przesyłanie plików, osadzanie filmów, łączenie stron internetowych.
+
+[h4]PodglÄ…d i edycja[/h4]
+Posty i komentarze można przeglądać przed wysłaniem i edytować po wysłaniu.
+
+[h4]Głosowanie i konsensus[/h4]
+Posty mogą być przekształcane w elementy "konsensusu", które pozwalają czytelnikom oferować opinie, które są zestawiane w liczniki "zgadzam się", "nie zgadzam się" i "wstrzymuję się". Pozwala to ocenić zainteresowanie pomysłami i tworzyć nieformalne ankiety.
+
+[h4]Rozszerzaie $Projectname[/h4]
+
+$Projectname może zostać rozszerzona na wiele sposobów, poprzez dostosowanie witryny, personalizację, ustawienia opcji, motywy i dodatki - wtyczki.
+
+[h4]API[/h4]
+
+Interfejs API jest dostępny do użytku przez usługi stron trzecich. Wtyczka zapewnia również podstawową implementację interfejsu API Twittera (dla którego istnieją setki narzędzi innych firm). Dostęp można zapewnić za pomocą loginu i hasła lub protokołu OAuth, a klient może zarejestrować aplikacje OAuth.
+
diff --git a/doc/pl/about/about_hub.bb b/doc/pl/about/about_hub.bb
new file mode 100644
index 000000000..d338a563c
--- /dev/null
+++ b/doc/pl/about/about_hub.bb
@@ -0,0 +1,7 @@
+[h3]Informacja o serwisie[/h3]
+[list][*][url=[baseurl]/siteinfo]Informacja o serwisie[/url]
+[*][url=[baseurl]/siteinfo/json]Informacja o serwisie (format JSON)[/url][/list]
+[h3]Regulamin serwisu[/h3]
+[list][*][url=[baseurl]/help/TermsOfService]Warunki świadczenia usług[/url][/list]
+#include doc/pl/SiteTOS.md;
+
diff --git a/doc/pl/about/project.bb b/doc/pl/about/project.bb
new file mode 100644
index 000000000..f8c24acd7
--- /dev/null
+++ b/doc/pl/about/project.bb
@@ -0,0 +1,181 @@
+[h3]ZarzÄ…dzanie projektem $Projectname[/h3]
+Zarządzanie $Projectname odnosi się do zarządzania tym projektem i zwłaszcza jak do rozwiązywania konfliktów w tym projekcie.
+
+[h4]Zarządzanie społecznością[/h4]
+Projekt jest utrzymywany przez społeczność $Projectname i decyzje podejmowane są w ramach tej społeczności.
+Struktura zarządzania ciągle ewoluuje. Do czasu zakończenia tworzenia struktura, decyzje są podejmowane w następującej kolejności:
+
+[ol]
+[*] Opóźniony konsensus
+
+Jeśli propozycja projektu zostanie złożona na jednym z forów zarządzania projektem i nie ma poważnych zastrzeżeń w "rozsądnym" terminie od daty złożenia wniosku (zazwyczaj zapewniamy wszystkim zainteresowanym 2-3 dni na ustosunkowanie się), nie musi być głosowania aby decyzja została podjęta i propozyzja zostanie uznana za zatwierdzoną przez aklamację. Po tym czasie mogą zostać zgłoszone jakieś zastrzeżenie i oabawy, ale jeśli zostaną one uwzględnione podczas dyskusji i przedstawione zostaną rozwiązania, nadal będą uznawane za zatwierdzone.
+
+
+[*] Weto
+
+Starsi deweloperzy, z długim stażem w projekcie. mogą zawetować każdą decyzję. Decyzja może zostać podjęta dopiero po usunięciu weta lub przedłożeniu alternatywnej propozycji.
+
+
+[*] Głosowanie społeczności
+
+Decyzja, która nie ma wyraźnego mandatu lub wyraźnego konsensusu, ale nie jest zawetowana, może zostać podjęta po głosowaniu spółeczności. Obecnie jest to zwykłe popularne głosowanie na jednym z odpowiednich forów społeczności. W tej chwili o wyniku decyduje głosowanie powszechne. Może się to zmienić w przyszłości, jeśli społeczność przyjmie model zarządzania "przez radę". Ten dokument zostanie wówczas zaktualizowany o zaktualizowane zasady zarządzania.
+[/ol]
+
+GÅ‚osowanie spoÅ‚ecznoÅ›ci nie zawsze zapewnia Powszechnie akceptowany wynik i może polaryzować spoÅ‚eczność, wytwarzajÄ…c frakcje (stÄ…d przyczyna, dla której rozważane sÄ… inne modele). JeÅ›li propozycja zostaÅ‚a przegÅ‚osowana, nadal jest kilka rozwiÄ…zaÅ„, które można zrobić, aby propozycja zostaÅ‚a przesÅ‚ana ponownie z nieco innymi parametrami (przeksztaÅ‚cenie na dodatek, przeksztaÅ‚cenie na opcjonalnÄ… funkcjÄ™, która jest domyÅ›lnie wyłączona itp.). JeÅ›li zainteresowanie funkcjÄ… jest duże, a gÅ‚osowanie jest „bliskieâ€, może to wywoÅ‚ać wiele zÅ‚ych uczuć wÅ›ród przegranych wyborców. W przypadku tak bliskich gÅ‚osów [b] zdecydowanie zaleca siÄ™ [/ b], aby wnioskodawca podjÄ…Å‚ kroki w celu rozwiÄ…zania wszelkich zgÅ‚oszonych wÄ…tpliwoÅ›ci i ponownie przedÅ‚ożyÅ‚.
+
+[h4]Polityka prywatności[/h4]
+
+Q: Kto może widzieć moją treść?
+
+A: Domyślnie KAŻDY w internecie, chyba że ograniczysz do niej dostęp. $Projectname pozwala wybrać żądany poziom prywatności. Treści podlegające ograniczeniom NIE będą widoczne dla "sieci szpiegowskich" i reklamodawców. Będą chroniona przed podsłuchem przez osoby postronne - najlepiej jak potrafimy. Administratorzy centrów z wystarczającymi umiejętnościami i cierpliwością MOGĄ być w stanie podsłuchiwać niektóre prywatne wiadomości, ale muszą dołożyć starań, aby to zrobić. W $Projectname istnieją tryby prywatności, które są nawet odporne na podsłuchiwanie przez wykwalifikowanych i zdeterminowanych administratorów hubów.
+
+Q: Czy moje treści mogą zostać ocenzurowane?
+
+A: Z założenie, $Projectname (jako sieć) NIE MOŻE cenzurować twoich treści. Administratorzy serwerów i hubów podlegają lokalnemu prawodawstwu i MOGĄ usunąć budzące zastrzeżenia treści ze swojego serwisu (huba). Każdy może zostać administratorem huba, w tym Ty. Dlatego publikuj treści, które w innym przypadku mogłyby zostać ocenzurowane. Nadal MOŻESZ podlegać lokalnemu prawodawstwu.
+
+[h5]Definicje[/h5]
+
+**$Projectname**
+
+Inaczej nazywana "siecią", $Projectname jest zbiorem pojedynczych komputerów (serwerów) (czyli **hubów**. ang. *hubs*), które łączą się razem, tworząc większą sieć kooperacyjną.
+
+**hub** (ang. *hub*)
+
+Pojedynczy komputer lub serwer podłączony do $Projectname. Jest on dostarczany przez **administratora huba** i może być publiczny lub prywatny, płatnu lub bezpłatny.
+
+*administrator huba**
+
+Operator systemu pojedynczego huba.
+
+[h5]Polityki[/h5]
+
+**Informacja publiczna**
+
+Wszelkie informacje lub cokolwiek zamieszczone przez Ciebie w $Projectname MOŻE być publiczne lub widoczne dla każdego w Internecie. W miarę możliwości $Projectname pozwala chronić zawartość i ograniczać, kto może ją oglądać.
+
+Twoje zdjęcie profilowe, nazwa Twojego kanału i lokalizacja (adres URL lub adres sieciowy) Twojego kanału są widoczne dla każdego w internecie, a kontrola prywatności nie wpływa na wyświetlanie tych elementów.
+
+MOŻESZ dodatkowo podać inne informacje profilowe. Wszelkie informacje, które podajesz w swoim „domyślnym†lub **publicznym profilu** MOGĄ zostać przesłane do innych hubów w $Projectname i dodatkowo MOGĄ zostać wyświetlone w katalogu kanałów. Możesz ograniczyć wyświetlanie tych informacji profilowych. Może być ograniczone tylko do członków twojego huba lub tylko połączeń (znajomych) lub innych ograniczonych grup widzów, zgodnie z twoim życzeniem. Jeśli chcesz, aby Twój profil był ograniczony, musisz ustawić odpowiednie ustawienia prywatności lub po prostu NIE podawać dodatkowych informacji.
+
+**Treść**
+
+Treści, które udostępniasz (posty ze statusami, zdjęcia, pliki itp.) Należą do Ciebie. $Projectname domyślnie publikuje treści w sposób otwarty i widoczny dla każdego w internecie (PUBLICZNY). MOŻESZ kontrolować to w ustawieniach swojego kanału i ograniczyć domyślne uprawnienia lub MOŻESZ ograniczyć widoczność każdego pojedynczego opublikowanego elementu oddzielnie (PRYWATNE). Programiści $Projectname zapewnią, że ograniczone treści będą widoczne TYLKO dla osób z listy ograniczeń - najlepiej jak potrafią.
+
+Treści (zwłaszcza posty statusowe), które udostępniasz innym sieciom lub które udostępniłeś komukolwiek w Internecie (PUBLICZNE), nie mogą być łatwo cofnięte po ich opublikowaniu. MOGĄ być udostępniane innym sieciom i udostępniane za pośrednictwem kanałów RSS / Atom. Może być również rozpowszechniany na innych stronach $ Projectname. MOŻE pojawiać się w innych sieciach i witrynach internetowych oraz być widoczny w wyszukiwarkach internetowych. Jeśli nie chcesz tego domyślnego zachowania, dostosuj ustawienia swojego kanału i ogranicz listę osób, które mogą oglądać Twoje treści.
+
+**Komentarze i wpisy na forach**
+
+Komentarze do postów stworzonych przez innych oraz posty oznaczone jako posty na forum należą do Ciebie jako twórcy (autora), ale ich dystrybucja nie jest pod Twoją bezpośrednią kontrolą i zrzekasz się NIEKTÓRYCH praw do tych elementów. Te posty i komentarze MOGĄ być ponownie rozpowszechniane wśród innych i MOGĄ być widoczne dla każdego w internecie. W przypadku komentarzy, twórca "pierwszej wiadomości" w wątku (rozmowie), na który odpowiadasz, kontroluje dystrybucję wszystkich komentarzy i odpowiedzi na tę wiadomość. Jest on "właścicielem" i dlatego ma określone prawa w odniesieniu do całej rozmowy (w tym wszystkich zawartych w niej komentarzy). Nadal możesz edytować lub usuwać komentarz, ale właściciel konwersacji ma również prawa do edytowania, usuwania, ponownej dystrybucji i tworzenia kopii zapasowych i przywracania dowolnej lub całej zawartości konwersacji.
+
+**Informacja prywatna**
+
+Programiści $Projectname zapewnią, że każda dostarczona przez Ciebie zawartość oznaczona jako PRYWATNA będzie chroniona przed podsłuchem - najlepiej jak potrafią. Zawartość kanału prywatnego MOŻE być widoczna w bazie danych każdego zaangażowanego administratora centrum, ale prywatne wiadomości są ukrywane w bazie danych. To ostatnie oznacza, że jest to bardzo trudne, ale NIE niemożliwe, aby te treści były widoczne dla administratora centrum. Treść kanału prywatnego i wiadomości prywatne są również usuwane z powiadomień e-mail. Pełne szyfrowanie jest oferowane jako funkcja opcjonalna i NIE MOŻE być widoczne, nawet dla zdeterminowanego administratora.
+
+[h5]Prywatność tożsamości[/h5]
+
+Prywatność dla Twojej tożsamości to kolejny aspekt. Ponieważ masz zdecentralizowaną tożsamość w $Projectname, Twoja prywatność wykracza poza domowy hub. Jeśli chcesz mieć pełną kontrolę nad swoją prywatnością i bezpieczeństwem, powinieneś uruchomić własny hub na dedykowanym serwerze. Dla wielu osób jest to skomplikowane ale może poszerzyć ich możliwości techniczne. Wymieńmy więc kilka środków ostrożności, które możesz podjąć, aby zapewnić sobie jak największą prywatność.
+
+Zdecentralizowana tożsamość ma wiele zalet i daje wiele interesujących funkcji, ale powinieneś być świadomy faktu, że Twoja tożsamość jest znana innym hubom w sieci $Projectname. Jedną z tych zalet jest to, że inne kanały mogą udostępniać dostosowane treści i umożliwiać oglądanie prywatnych rzeczy (takich jak prywatne zdjęcia, które inni chcą Ci udostępnić). Z tego powodu te kanały muszą wiedzieć, kim jesteś. Ale rozumiemy, że czasami te inne kanały wiedzą od Ciebie więcej, niż byś sobie tego życzył. Na przykład wtyczka Visage, która może poinformować właściciela kanału o ostatniej wizycie w jego profilu. Możesz łatwo zrezygnować z tego niskiego poziomu i uważamy, że jest to nieszkodliwe śledzenie.
+
+* Możesz włączyć [Do Not Track (DNT)](http://donottrack.us/) w swojej przeglądarce internetowej. Szanujemy tą nową propozycję polityki prywatności. Wszystkie nowoczesne przeglądarki obsługują DNT. Znajdziesz to w ustawieniach prywatności swojej przeglądarki lub możesz zapoznać się z instrukcją przeglądarki internetowej. Nie wpłynie to na funkcjonalność $Projectname. To ustawienie jest prawdopodobnie wystarczające dla większości ludzi.
+
+* Możesz [wyłączyć publikację](ustawienia) swojego kanału w naszym katalogu kanałów. Jeśli chcesz, aby ludzie mogli znaleźć Twój kanał, podaj im adres swojego kanału. Uważamy, że jest to dobra wskazówka, że wolisz dodatkową prywatność i automatycznie włączasz opcję "Nie śledź", jeśli tak jest.
+
+* Możesz mieć zablokowany hub. Oznacza to, że wszystkie kanały i treści w tym centrum nie są publiczne ani widoczne dla świata zewnętrznego. To jest coś, co może zrobić tylko administrator centrum. Szanujemy to również i automatycznie włączamy opcję "Nie śledź:, jeśli jest ustawiona.
+
+[h5]Cenzura[/h5]
+
+$Projectname to globalna sieć obejmująca wszystkie religie i kultury. Nie oznacza to, że każdy członek sieci czuje się tak samo jak Ty w spornych kwestiach, a niektórzy ludzie mogą MOCNO sprzeciwić się publikowanym przez Ciebie treściom. Ogólnie rzecz biorąc, jeśli chcesz opublikować coś, o czym wiesz, że nie jest powszechnie akceptowane, najlepszym rozwiązaniem jest ograniczenie odbiorców za pomocą kontroli prywatności do małego kręgu znajomych.
+
+$Projectname jako dostawca sieci nie może cenzurować zawartości. Jednak administratorzy hubów MOGĄ cenzurować wszelkie treści, które pojawiają się w ich hubie, aby zachować zgodność z lokalnym prawem, a nawet osobistym osądem. Ich decyzja jest ostateczna. Jeśli masz problemy z jakimkolwiek administratorem huba, możesz przenieść swoje konto i wpisy do innej witryny, która jest bardziej zgodna z Twoimi oczekiwaniami. Sprawdzaj (okresowo) [Warunki świadczenia usług](help/TermsOfService) swojego huba, aby poznać wszelkie zasady lub wytyczne. Jeśli Twoje treści składają się z materiałów, które są nielegalne lub mogą powodować problemy, MOCNO zachęcamy do hostowania własnych (zostań administratorem własnego huba). Mimo to. możesz stwierdzić, że Twoje treści są zablokowane w niektórych hubach, ale $Projectname jako sieć nie może wogóle zablokować ich publikowania.
+
+$Projectname ZALECA, aby administratorzy hubów zapewnili okres karencji wynoszący 1-2 dni między ostrzeżeniem właściciela konta o treści, którą należy usunąć, a fizycznym usunięciem lub wyłączeniem konta. Dzięki temu właściciel treści będzie mógł wyeksportować metadane swojego kanału i zaimportować je do innej witryny. W rzadkich przypadkach treść może mieć taki charakter, że uzasadnia natychmiastowe zamknięcie konta. To jest decyzja właściciela huba, a nie decyzja $Projectname.
+
+JeÅ›li zazwyczaj i regularnie publikujesz treÅ›ci dla dorosÅ‚ych lub obraźliwe, MOCNO zachÄ™camy do oznaczenia swojego konta jako „NSFW†(Not Safe For Work). Zapobiegnie to wyÅ›wietlaniu Twojego zdjÄ™cia profilowego w katalogu, z wyjÄ…tkiem przeglÄ…dajÄ…cych, którzy zdecydowali siÄ™ wyłączyć „tryb bezpiecznyâ€. JeÅ›li administratorzy katalogu uznajÄ… Twoje zdjÄ™cie profilowe za nieobyczajne lub obraźliwe, administrator katalogu MOÅ»E oznaczyć Twoje zdjÄ™cie profilowe jako NSFW. Obecnie nie ma oficjalnego mechanizmu do zakwestionowania lub cofniÄ™cia tej decyzji, dlatego NALEÅ»Y oznaczyć wÅ‚asne konto jako NSFW, jeÅ›li może być nieodpowiednie dla ogółu odbiorców.
+
+[h3]Podziękowania[/h3]
+
+Dziękujemy wszystkim, którzy przez lata pomagali i przyczynili się do powstania projektu i jego poprzednikom. Możliwe, że przegapiliśmy Twoje imię, ale jest to niezamierzone. Dziękujemy również społeczności i jej członkom za dostarczenie cennego wkładu, bez którego cały ten wysiłek byłby bez znaczenia.
+
+Warto również docenić wkład i rozwiązania problemów, które powstały w wyniku dyskusji między członkami i twórcami innych, nieco powiązanych i konkurujących ze sobą projektów;
+nawet jeśli mieliśmy sporadyczne nieporozumienia.
+
+[list]
+[li]Mike Macgirvin[/li]
+[li]Fabio Comuni[/li]
+[li]Simon L'nu[/li]
+[li]marijus[/li]
+[li]Tobias Diekershoff[/li]
+[li]fabrixxm[/li]
+[li]tommy tomson[/li]
+[li]Simon[/li]
+[li]zottel[/li]
+[li]Christian Vogeley[/li]
+[li]jeroenpraat[/li]
+[li]Michael Vogel[/li]
+[li]erik[/li]
+[li]Zach Prezkuta[/li]
+[li]Paolo T[/li]
+[li]Michael Meer[/li]
+[li]Michael[/li]
+[li]Abinoam P. Marques Jr[/li]
+[li]Tobias Hößl[/li]
+[li]Alexander Kampmann[/li]
+[li]Olaf Conradi[/li]
+[li]Paolo Tacconi[/li]
+[li]tobiasd[/li]
+[li]Devlon Duthie[/li]
+[li]Zvi ben Yaakov (a.k.a rdc)[/li]
+[li]Alexandre Hannud Abdo[/li]
+[li]Olivier Migeot[/li]
+[li]Chris Case[/li]
+[li]Klaus Weidenbach[/li]
+[li]Michael Johnston[/li]
+[li]olivierm[/li]
+[li]Vasudev Kamath[/li]
+[li]pixelroot[/li]
+[li]Max Weller[/li]
+[li]duthied[/li]
+[li]Martin Schmitt[/li]
+[li]Sebastian Egbers[/li]
+[li]Erkan Yilmaz[/li]
+[li]sasiflo[/li]
+[li]Stefan Parviainen[/li]
+[li]Haakon Meland Eriksen[/li]
+[li]Oliver Hartmann (23n)[/li]
+[li]Erik Lundin[/li]
+[li]habeascodice[/li]
+[li]sirius[/li]
+[li]Charles[/li]
+[li]Tony Baldwin[/li]
+[li]Hauke Zuehl[/li]
+[li]Keith Fernie[/li]
+[li]Anne Walk[/li]
+[li]toclimb[/li]
+[li]Daniel Frank[/li]
+[li]Matthew Exon[/li]
+[li]Michal Supler[/li]
+[li]Tobias Luther[/li]
+[li]U-SOUND\mike[/li]
+[li]mrjive[/li]
+[li]nostupidzone[/li]
+[li]tonnerkiller[/li]
+[li]Antoine G[/li]
+[li]Christian Drechsler[/li]
+[li]Ludovic Grossard[/li]
+[li]RedmatrixCanada[/li]
+[li]Stanislav Lechev [0xAF][/li]
+[li]aweiher[/li]
+[li]bufalo1973[/li]
+[li]dsp1986[/li]
+[li]felixgilles[/li]
+[li]ike[/li]
+[li]maase2[/li]
+[li]mycocham[/li]
+[li]ndurchx[/li]
+[li]pafcu[/li]
+[li]Simó Albert i Beltran[/li]
+[li]Manuel Reva[/li]
+[li]Manuel Jiménez Friaza[/li]
+[li]Gustav Wall aka "neue medienordnung plus"[/li]
+[/list]
diff --git a/doc/pl/accounts_profiles_channels_basics.bb b/doc/pl/accounts_profiles_channels_basics.bb
new file mode 100644
index 000000000..57d45dfdf
--- /dev/null
+++ b/doc/pl/accounts_profiles_channels_basics.bb
@@ -0,0 +1,20 @@
+[size=large][b]Konta, profile i kanały[/b][/size]
+
+Po zarejestrowaniu [i]konta[/i], trzeba również utworzyć [i]profil[/i] i [i]kanał[/i].
+
+[b]Konto[/b]
+W serwisie &Projectname masz [i]jedno[/i] konto. Składa się z Twojego konta e-mail i hasła. Za pomocą swojego konta uzyskujesz dostęp do swojego profilu i kanału.
+
+[i]Pomyśl o swoim koncie jak o sposobie uwierzytelniania w jednym serwisie $Projectname. Pozwala to na takie rzeczy, jak tworzenie profili i kanałów, za pomocą których możesz łączyć się z innymi osobami.[/i]
+
+[b]Profil[/b]
+Z pewnością masz już doświadczenie w rejestrowaniu się w jakichś usługach internetowych, takich jak fora lub społeczności internetowe. We wszystkich przypadkach trzeba było podać pewne informacje o sobie, takie jak data urodzenia, kraj, wiek i upodobania. [observer=1]Jeśli chcesz, możesz zobaczyć swój profil tutaj: [baseurl]/profile/[observer.webname] i edytować go, klikając ikonę ołówka obok swojego awatara.[/observer]
+W przeciwieństwie do innych usług, $Projectname oferuje Ci możliwość tworzenia [i]wielu profilii[/i]. W ten sposób możesz rozróżnić profile skierowane specjalnie do wszystkich (Twój profil publiczny), współpracowników, rodziny czy partnera.
+[i]Potraktuj swój profil jako podstawowe informacje o sobie, które przekazujesz innym osobom.[/i]
+
+[b]Kanał[/b]
+Podczas rejestracji tworzysz swój pierwszy [i]kanał[/i]. Podobnie jak w przypadku profili, możesz mieć kilka kanałów. Na początku może to być nieco zagmatwane, ale wyjaśnijmy to. Masz już jeden kanał. Możesz używać go dla publicznie, aby komunikować się z ludźmi w codziennym życiu. Ale być może jesteś zapalonym czytelnikiem książek i wielu ludzi się tym nudzi. Otwierasz więc [i]drugi kanał[/i] tylko dla miłośników książek, na którym wszyscy mogą rozmawiać o książkach tyle, ile chcesz. Oczywiście jest to nowy strumień postów, z nowym profilem (... lub nowymi profilami ...) i zupełnie innymi kontaktami. Niektóre połączenia mogą istnieć w obu kanałach, ale będą takie, które dotyczą tylko jednego z nich. Ty sam po prostu przełączasz się między nimi, tak jak w prawdziwym życiu, kiedy rozmawiasz z ludźmi, których spotykasz na ulicy lub z osobami, które spotykasz specjalnie, aby porozmawiać o książkach. Możesz nawet połączyć się ze sobą lub lepiej: z innym kanałem. :)
+[i]Pomyśl o kanale jako o różnych przestrzeniach poświęconych różnym tematom, w których spotykasz się z różnymi ludźmi.[/i]
+
+#include doc/macros/pl/main_footer.bb;
+
diff --git a/doc/pl/acl_dialog_post.html b/doc/pl/acl_dialog_post.html
new file mode 100644
index 000000000..1be9f4bc6
--- /dev/null
+++ b/doc/pl/acl_dialog_post.html
@@ -0,0 +1,42 @@
+<!-- Wpisy sieciowe i kanałowe nie mogą zmienić swoich uprawnień po wysłaniu,
+ten plik pomocy jest dla tego rodzaju elementów. Pliki, zdjęcia itp. powinny
+korzystać z innego pliku pomocy. -->
+
+<h2>Uprawnienia dla wpisu</h2>
+
+<p>
+Okno dialogowe uprawnień pozwala wybrać, które kanały albo grupy prywatności
+mogą widzieć wpis. Można też wybrać, komu wyraźnie odmawia się dostępu. Załóżmy
+na przykład, że planujesz niespodziewane przyjęcie dla znajomego. Możesz wysłać
+zaproszenie do wszystkich w swojej grupie <b>Znajomi</b> <i>oprócz </i> znajomego,
+któremu chcesz zrobić niespodziankę. W tym przypadku ustawiasz "Pokaż" grupie
+<b>Znajomi</b>, ale ""Nie pokazuj" tej jednej osobie.
+</p>
+
+<dl class="text-info dl-terms-large dl-horizontal">
+<dt style="width: 3em;">Wskazówka!</td>
+<dd style="margin-left: 4em;">
+Kolor obramowania każdego kanału wskazuje, czy ten kanał &mdash; lub jedną z grup,
+do której należy &mdash; będzie mieć dostęp do wpisu. Kolor obramowania będzie
+również wskazywać, kiedy kanał lub grupa, do której należy, została wyraźnie
+ustawiona na "Nie pokazuj".
+</dd>
+</dl>
+
+<h3>Dlaczego nie mogę edytować uprawnień do wpisu po jego zapisaniu?</h3>
+
+<p>
+Możesz zmienić uprawnienia do swoich plików, zdjęć i polubień, ale nie do wpisów
+po ich zapisaniu. Główny powód jest taki, że po zapisaniu wpisu jest on rozpowszechniany
+na kanale publicznym, a stamtąd na inne serwery Hubzilla lub tym, którym chciałeś
+go pokazać. Tak jak nie możesz odzyskać czegoś, co przekazałeś innej osobie, nie
+możesz zmienić uprawnień do wpisów Hubzilli. Musielibyśmy śledzić wszędzie, gdzie
+trafia Twój wpis, śledzić wszystkich, którym pozwoliłeś go zobaczyć, a następnie
+śledzić, od kogo go usunąć.
+</p>
+<p>
+Jeśli wpis jest publiczny, jest to jeszcze trudniejsze, ponieważ Hubzilla jest siecią
+globalną i nie ma możliwości śledzenia wpisu, nie mówiąc już o jego niezawodnym
+odzyskaniu. Inne sieci, które mogą otrzymać Twój wpis, nie mają niezawodnego sposobu
+na usunięcie lub odzyskanie wpisu.
+</p>
diff --git a/doc/pl/addons.bb b/doc/pl/addons.bb
new file mode 100644
index 000000000..6a9cf425b
--- /dev/null
+++ b/doc/pl/addons.bb
@@ -0,0 +1,117 @@
+[h3]Wtyczki/Dodatki[/h3]
+[list=1]
+[*] abcjsplugin - tworzenie zapisów nitowych w swoich wpisach
+[*] adultphotoflag - zapobiega wyświetlaniu zdjęć NSFW w albumach publicznych
+[*] authchoose - wysyłanie potwierdzenia tożsamości tylko do witryn znajomych
+[*] b2tbtn - zapewnia przycisk powodujący przejście bezpośrednio na górę strony, jeśli przewinie się dużo treści dół okna
+[*] bbmath - możliwość używania skomplikowanych wyrażeń matematycznych w swoich wpisach
+[*] bookmarker - zamienianie #^ w linkach zakładek we wpisach
+[*] buglink - umieszcza ikonę zgłaszania błędów w lewym dolnym rogu każdej strony
+[*] calc - kalkulator naukowy
+[*] chess - interaktywne gry w szachy z uwzględnieniem tożsamości międzydomenowej
+[*] chords - generowanie wykresów palcowania i alternatyw dla każdego znanego akordu gitarowego
+[*] custom_home - ustawianie własnej strony jako strony początkowej huba
+[*] diaspora - emulator protokołu Diaspora
+[*] dirstats - wyświetlanie interesujących statystyk generowanych przez serwer katalogowy
+[*] docs - alternatywne strony dokumentacji
+[*] donate - dostarcza stronÄ™ dofinansowania
+[*] dreamhost - zapewnia bardziej niezawodną usługę na hostingu współdzielonym Dreamhost
+[*] dwpost - krzyżowe wpisy do Dreamwidth
+[*] emojione - zezwala na uzywanie emojis jako emotikonów
+[*] extcron - stosowanie zewnętrznej usługi cron do uruchamiania zaplanowanych zadań huba
+[*] firefox - dostarcza link do zainstalowania API Sharing Firefoxa
+[*] flattrwidget - dostarcza przyciski "Flattr Us"
+[*] flip - tworzenie odwróconego tekstu
+[*] fortunate - wyświetla losowy cytat (plik cookie fortune). Wymaga skonfigurowania serwera fortune.
+[*] friendica - protokół Friendica (DFRN). W tworzeniu.
+[*] frphotos - importowanie albumów fotograficznych z Friendica
+[*] gnusoc - protokół GNU-Social (OStatus). W tworzeniu.
+[*] hexit - narzędzie do konwersji szesnastkowej
+[*] hilite - umożliwia podświetlanie bloków kodu, specyficzne dla języka programowania, zawartych we wpisach
+[*] hubwall - wysyłanie wiadomosci e-mail administratora na wszystkie konta w hubie
+[*] ijpost - krzyżówe wpisy do Insanejournal
+[*] irc - połączenie z czatami IRC
+[*] jappixmini - czat XMPP
+[*] js_upload - przesyłanie jednocześnie wiele zdjęć do albumów fotograficznych
+[*] keepout - zapobiega prawie całkowicie korzystaniu z witryny bez zalogowania się, bardziej restrykcyjne niż ustawienie "blokuj publiczne"
+[*] ldapauth - logowanie przez konto LDAP lub domenÄ™ Windows Active Directory
+[*] libertree - publikowanie w Libertree
+[*] likebanner - tworzenie obrazu banera "polub nas na red#matrix"
+[*] ljpost - publikowanie w LiveJournal
+[*] logrot - narzędzie rotowania plik dziennika zdarzeń
+[*] mahjongg - gra w chińskie puzzle
+[*] mailhost - umożliwienie wyboru jednego kanału dla otrzymywania powiadomień e-mail, gdy używa się wiele sklonowanych kanałów
+[*] mailtest - interfejs do testowania systemu wysyłania poczty
+[*] metatag - dostarcza strony przyjazne SEO
+[*] mayan_places - ustawia pole lokalizacji na losowe miasto w świecie Majów
+[*] morechoice - dodatkowe wybór płci i preferencji seksualnych dla profili (nie jest to bezpieczne)
+[*] moremoods - dodatkowe opcje nastroju (mood)
+[*] morepokes - dodatkowe opcje szturchania (poke) (nie sÄ… bezpieczne)
+[*] msgfooter - podawanie formuły prawniczej lub innego tekstu w każdym wychodzącym wpisie
+[*] noembed - używanie noembed.com jako dodatku do natywnej funkcjonalności oembed w $Projectname (obecnie nie działa)
+[*] nofed - zapobiega "federacji" wpisów w kanale, utrzymuje całą interakcję na stronie właściciela kanału
+[*] nsabait - dodawaj do swoich wpisów losowe hashtagi związane z terroryzmem
+[*] nsfw - bardzo polecana wtyczka do zwijania postów z nieodpowiednimi treściami
+[*] openclipatar - wybór zdjęcia profilowego spośród setek obrazów bez tantiem
+[*] openid - uwierzytelnianie OpenID i serwer OpenID. Twój adres URL OpenID to [observer.baseurl]/id/[observer.webname]
+[*] opensearch - umożliwienie swojej witrynie stania się dostawcą wyszukiwania w przeglądarce
+[*] openstreetmap - renderowanie lokalizacji i mapy za pomocÄ… OpenStreetMap
+[*] pageheader - wyświetlanie tekstu u góry na każdej stronie serwisu
+[*] phpmailer - alternatywny system dostarczania poczty z większą konfigurowalnością
+[*] piwik - analityka witryn internetowych typu open source
+[*] planets - ustawianie pola lokalizacji na losowÄ… planetÄ™ z Gwiezdnych Wojen
+[*] pong - klasyczna gra w ponga
+[*] pubcrawl - emulator protokołu ActivityPub
+[*] pubsubhubbub - protokół PuSH dla zoptymalizowanego dostarczania wiadomości do subskrybentów (wymagany przez protokół GNU-Social)
+[*] pumpio - publikowanie w Pump.io
+[*] qrator - generowanie obrazów kodu QR
+[*] rainbowtag - wyświetlanie chmury tagów i kategorii w kolorach
+[*] randpost - bot wpis/odpowiedz oparty i wymagajÄ…cy fortunate
+[*] redfiles - import magazynu plików z redmatrix
+[*] redphotos - import albumów fotograficznych z redmatrix
+[*] redred - wpisy krzyzowe do innych kanałów Red Matrix lun Hubzilla
+[*] rendezvous - grupowe śledzenie lokalizacji
+[*] rtof - publikowanie w Friendica
+[*] sendzid - dodawanie parametróe uwierzytelniających "zid" do wszystkich linków wychodzących, nie tylko linków w sieci
+[*] skeleton - przykładowa wtyczka pokazująca sposób tworzenia wtyczek
+[*] smiley_pack - rozszerzenie wbudowanej obsługi buziek (emotikonów)
+[*] smileybutton - zapewnia selektor buźki w oknie wpisu
+[*] startpage - umowżliwia ustawienie przekierowania do preferowanej osobistej strony po zalogowaniu
+[*] statistics - generator statystyk Diaspora
+[*] statusnet - wpisy krzyżówe do GNU-social i StatusNet [zrl=[baseurl]/help/addons_gnusocial]Posting To Gnu Social[/zrl]
+[*] std_embeds - umożłiwia niefiltrowane osadzanie dla popularnych dostawców strumieni, takich jak youtube, vimeo i soundcloud
+[*] superblock - bardzo zalecane - całkowite blokowanie obraźliwuch kanałów w swoim strumieniu
+[*] testdrive - zmienia hub w witrynę testową z kontami, które wygasają po okresie próbnym
+[*] tictac - 3D tic-tac-toe
+[*] torch - aplikacja podświetlania (flashlight)
+[*] tour - prezentacja funkcji dla nowych członków
+[*] tripleaes - wtyczka demonstracyjna zapewniajÄ…ca niestandardowe algorytmy szyfrowania
+[*] twitter - publikowanie w Twitter
+[*] twitter_api - API kompatybilne z Twitter i Statusnet
+[*] upload_limits - odkrywa, jakie ustawienia serwera (jest ich kilka) mogą powodować niepowodzenie przesyłania dużych zdjęć
+[*] visage - pokaż odwiedzającym swój kanał
+[*] webmention - przetwarzanie stron internetowych
+[*] wholikesme - dostarcza stronę wyświetlającą listę kontaktów, które najbardziej "polubiły" Twoje wpisy
+[*] webRTC - użycie zewnętrznego serwera (mayfirst.org) do negocjowania połączeń webRTC
+[*] wppost - publikowanie w WordPress (lub w innych serwisach stosujÄ…cych XMLRPC Wordpress)
+[*] xmpp - XMPP czat oparty na converse.js
+[/list]
+
+[h3]Repozytoria dodatków[/h3]
+
+[b]Zdecydowanie zalecamy[/b], aby autorzy dodatków publikowali (przesyłali) je do repozytorium dodatków projektu. Ma to kilka zalet. Programiści projektów mogą łatwo naprawić luki w zabezpieczeniach i wprowadzać zmiany, aby dostosować się do ostatnich zmian w kodzie podstawowym. Dodatki dostarczane w repozytoriach innych firm są uważane za niezaufane. Jeśli podstawowy kod projektu zmieni się w niekompatybilny sposób, może nie być innej alternatywy niż fizyczne usunięcie lub zmiana nazw plików dodatków, aby ponownie uruchomić witrynę. Często tylko autor wtyczki / dodatku może pomóc Ci odzyskać kontrolę nad Twoją witryną, a programiści projektów nie są w stanie Ci pomóc; ponieważ z definicji konfiguracja Twojej witryny została zmodyfikowana w sposób, którego nie możemy łatwo przetestować ani zweryfikować.
+
+Z tych powodów [b]zdecydowanie zalecamy[/b], aby NIE instalować dodatków z repozytoriów innych firm.
+
+Zdajemy sobie również sprawę, że niektórzy programiści wolą pracować samodzielnie i nie chcą z różnych powodów, aby ich kod był mieszany z repozytorium projektu. Ci programiści mogą ułatwić rozwiązywanie problemów i debugowanie, udostępniając plik README w odpowiednim repozytorium kodu, w którym opisano proces przesyłania poprawek i poprawek błędów. Zaleca się również, aby te projekty zapewniały zarówno gałąź "dev" (rozwój), jak i "master" (produkcja), która śledzi bieżące gałęzie projektu o tych nazwach. Dzieje się tak, ponieważ dev i master często nie są kompatybilne z punktu widzenia interfejsów bibliotek. Zdecydowanie zaleca się również, aby wersje repozytorium były oznaczone i przeniesione do przodu w ciągu 24 godzin od wydania projektu. Jest to poważna niedogodność dla wszystkich zaangażowanych osób i może powodować przestoje w zakładach produkcyjnych podczas przeprowadzania tego procesu; co jest jeszcze jednym powodem, dla którego [b]zdecydowanie zalecamy[/b], aby dodatki były przesyłane do repozytorium dodatków projektu i aby NIE instalować takich dodatków innych firm.
+
+
+[url=https://framagit.org/hubzilla/addons]https://framagit.org/hubzilla/addons[/url] Główne repozytorium dodatków projektu.
+
+[url=https://github.com/23n/red-addons]https://github.com/23n/red-addons[/url] Repozytorium Olivera (mayan_places i flip)
+
+
+
+#include doc/macros/main_footer.bb;
+
+
diff --git a/doc/pl/addons_gnusocial.bb b/doc/pl/addons_gnusocial.bb
new file mode 100644
index 000000000..a35af6e1f
--- /dev/null
+++ b/doc/pl/addons_gnusocial.bb
@@ -0,0 +1,64 @@
+[b]Jak przesyłać wpisy do instancji GNUsocial[/b]
+
+Zacznij od instancji GNUSocial, w której masz swoje konto.
+
+W instancji GNUSocial przejdź do Ustawienia > Połączenia. W prawej kolumnie, w sekcji "Programiści", kliknij link "Zarejestruj aplikację kliencką OAuth, która ma być używana z tym wystąpieniem StatusNet". Ten link można znaleźć w Twojej instancji tutaj:
+
+https://yourgnusocialinstance.org/settings/oauthapps
+
+Następnie kliknij łącze "Zarejestruj nową aplikację". Pojawi się nowy formularz zgłoszeniowy. Oto, co należy zrobić na każdym polu.
+
+Ikona. Pobierz ikonÄ™ $Projectname znajdujÄ…cÄ… siÄ™ pod tym linkiem, po zapisaniu jej na swoim komputerze:
+
+https://framagit.org/hubzilla/core/blob/master/images/rm-32.png
+
+Nazwa. Nadaj aplikacji odpowiednią nazwę. Wywołaj swoją witrynę hubzilli. Możesz preferować r2g.
+
+Opis. Użyj tego pola, aby opisać przeznaczenie aplikacji. Dodaj coś o efekcie użycia krzyżowego wysyłania z $Projectname do GNUsocial.
+
+Źródłowy adres URL. Wpisz nazwę domeny głównej witryny Red, której używasz. Nie zapomnij wpisać "s" w https://yourhubzillasite.com. Jeśli Twoja instalacja Red jest subdomeną, prawdopodobnie będzie to wymagane.
+
+Organizacja. Jeśli używasz tej instancji $Projectname dla grupy lub firmy, wypełnij to pole.
+
+Strona główna. Jeśli Twoja grupa korzysta z subdomeny, prawdopodobnie zechcesz umieścić tutaj identyfikator URI domeny głównej.
+
+Adres URL wywołania zwrotnego. Pozostaw puste.
+
+Typ aplikacji: wybierz "desktop."
+
+Domyślny dostęp: wybierz "Read-write."
+
+Wszystkie pola oprócz adresu URL wywołania zwrotnego muszą być wypełnione.
+
+Kliknij przycisk "Zapisz".
+
+Następnie kliknij ikonę lub nazwę aplikacji, aby wyświetlić informacje, które musisz wstawić w $Projectname.
+
+*****
+
+Otwórz teraz nową kartę lub okno i przejdź do swojego konta $Projectname, do ustawień Ustawienia > Właściwości. Znajdź ustawienia publikowania StatusNet.
+
+Wstaw w $Projectname ciągi liczb, podane na stronie GNUsocial, do pól klucza konsumenta i hasła konsumenta.
+
+Podstawową ścieżką API (pamiętaj o końcowym znaku /) będzie adres Twojej domeny i ścieżki "/api/". Prawdopodobnie będzie wyglądać tak:
+
+https://yourgnusocialinstance.org/api/
+
+W przypadku wątpliwości sprawdź witrynę instancji GNUsocial, aby znaleźć adresy URL domeny tokenu żądania, tokenu dostępu i autoryzacji. Będzie to pierwsza część adresu URL domene, bez "/oauth/...."
+
+Nazwa aplikacji StatusNet: Wstaw nazwę, którą nadałeś aplikacji w witrynie GNUsocial.
+
+Kliknij "Prześlij".
+
+Pojawi się przycisk "Zaloguj się do StatusNet". Kliknij go, a otworzy się zakładka lub okno w witrynie GNUsocial, w którym możesz kliknąć "Zezwól". Po kliknięciu i pomyślnej autoryzacji pojawi się numer kodu bezpieczeństwa. Skopiuj go i wróć do aplikacji $Projectname, którą właśnie opuściłeś i wstaw ją w polu: "Tutaj skopiuj kod bezpieczeństwa ze StatusNet". Kliknij "Prześlij".
+
+Jeśli się powiedzie, Twoje informacje z instancji GNUsocial powinny pojawić się w aplikacji $Projectname.
+
+Jeśli chcesz, masz teraz do wyboru kilka opcji, które należy również potwierdzić, klikając "Prześlij". Najbardziej interesująca jest opcja "Domyślnie wysyłaj publiczne wpisy do StatusNet". Ta opcja automatycznie wysyła wszystkie wpisy, które napisałeś na koncie $Projectname do Twojej instancji GNUsocial.
+
+Jeśli nie wybierzesz tej opcji, będziesz mieć możliwość ręcznego wysłania wpisu do swojej instancji GNUsocial. W tym celu, najpierw otwórz wpis (klikając w obszarze tekstowym wpisu) i kliknik ikonę kłódki obok przycisku "Udostępnij". Wybierz ikonę GNUsocial składającą się z trzech kolorowych dymków dialogowych. Zamknij to okno, a następnie wykonaj swój wpis.
+
+Jeśli wszystko pójdzie dobrze, właśnie wysłałeś swój wpis z $Projectname na swoje konto w instancji GNUsocial.
+
+#include doc/macros/addons_footer.bb;
+
diff --git a/doc/pl/admin/administrator_guide.md b/doc/pl/admin/administrator_guide.md
new file mode 100644
index 000000000..86e5fd80c
--- /dev/null
+++ b/doc/pl/admin/administrator_guide.md
@@ -0,0 +1,385 @@
+### PrzeglÄ…d
+
+$Projectname to więcej niż prosta aplikacja internetowa. Jest to złożony system komunikacyjny, który bardziej przypomina serwer poczty elektronicznej niż serwer WWW. Aby zapewnić niezawodność i wydajność, wiadomości są dostarczane w tle i umieszczane w kolejce do późniejszego dostarczenia, gdy lokacje są wyłączone. Ten rodzaj funkcjonalności wymaga nieco więcej zasobów hosta niż typowy dziennik. Nie każdy dostawca hostingu PHP-MySQL będzie w stanie obsługiwać $Projectname. Tak więc, przed instalacją zapoznaj się z wymaganiami i potwierdź je u dostawcy usług hostingowych.
+
+Bardzo staraliśmy się, aby Hubzilla działała na zwykłych platformach hostingowych, takich jak te używane do hostowania blogów Wordpress i stron internetowych Drupal. Będzie ona działać na większości systemów VPS Linux. Platformy Windows LAMP, takie jak XAMPP i WAMP, nie są obecnie oficjalnie obsługiwane, jednak mile widziane są poprawki, jeśli uda Ci się je uruchomić.
+
+### Gdzie można znaleźć więcej pomocy
+
+Jeśli napotkasz problemy lub sam masz jakiś problem, które nie zostały opisane w tej dokumentacji, poinformuj nas o tym za pośrednictwem narzędzia do [śledzenia problemów na Github](https://framagit.org/hubzilla/core/issues). Prosimy o jak najdokładniejsze opisanie swojego środowiska operacyjnego i podanie jak największej ilości informacji o wszelkich komunikatach o błędach, które mogą się pojawić, abyśmy mogli zapobiec ich występowaniu w przyszłości. Ze względu na dużą różnorodność istniejących systemów operacyjnych i platform PHP możemy mieć ograniczone możliwości debugowania instalacji PHP lub pozyskiwania brakujących modułów, ale dołożymy wszelkich starań, aby rozwiązać wszelkie ogólne problemy z kodem.
+
+### Zanim zaczniesz
+
+#### Wybierz nazwÄ™ domeny lub subdomeny dla swojego serwera
+
+Platformę $Projectname można zainstalować tylko w katalogu głównym domeny lub subdomeny i nie może ona działać na niestandardowych portach TCP.
+
+#### Zdecyduj, czy będziesz używać SSL i uzyskaj certyfikat SSL przed instalacją oprogramowania
+
+POWINNO się używać SSL. Jeśli używasz SSL, MUSISZ użyć certyfikatu uznawanego przez przeglądarki. **NIE WOLNO używać certyfikatów z podpisem własnym!**
+
+Przetestuj swój certyfikat przed instalacją. Narzędzie internetowe do testowania certyfikatu jest dostępne pod adresem http://www.digicert.com/help/. Odwiedzając witrynę po raz pierwszy, użyj adresu URL SSL (https://), jeśli protokół SSL jest dostępny. Pozwoli to uniknąć późniejszych problemów. Procedura instalacji nie pozwoli na użycie certyfikatu, który nie jest zaufany dla przeglądarki.
+
+To ograniczenie zostało wprowadzone, ponieważ Twoje publiczne wpisy mogą zawierać odniesienia do obrazów na Twoim hubie. Inni członkowie przeglądający swój strumień w innych centrach otrzymają ostrzeżenia, jeśli Twój certyfikat nie jest zaufany w ich przeglądarce internetowej. To zmyli wiele osób, ponieważ jest to zdecentralizowana sieć i otrzymają ostrzeżenie o Twoim hubie podczas przeglądania własnego huba i mogą pomyśleć, że ich własny hub ma problem. Te ostrzeżenia są bardzo techniczne i przerażające dla niektórych osób, z których wielu nie będzie wiedziało, jak postępować, z wyjątkiem przestrzegania zaleceń przeglądarki. Jest to destrukcyjne dla społeczności. To powiedziawszy, zdajemy sobie sprawę z problemów związanych z obecną infrastrukturą certyfikatów i zgadzamy się, że istnieje wiele problemów, ale to nie zmienia wymagania.
+
+Bezpłatne certyfikaty zgodne z przeglądarkami są dostępne od dostawców, takich jak StartSSL i LetsEncrypt.
+
+Jeśli NIE używasz SSL, może wystąpić opóźnienie do minuty dla startowego skryptu instalacyjnego - podczas sprawdzania portu SSL, aby zobaczyć, czy tam jest wszystko w porządku. Podczas komunikowania się z nowymi witrynami Hubzilla zawsze najpierw próbuje połączyć się z portem SSL, zanim powróci do mniej bezpiecznego połączenia. Jeśli nie używasz SSL, twój serwer WWW NIE MOŻE w ogóle nasłuchiwać na porcie 443.
+
+Jeśli używasz LetsEncrypt do dostarczania certyfikatów i tworzenia pliku pod _well-known_ lub _acme-challenge_, aby LetsEncrypt mógł zweryfikować własność domeny, usuń lub zmień nazwę katalogu _.well-known_ zaraz po wygenerowaniu certyfikatu. $Projectname zapewni własną procedurę obsługi usług *.well-know* po zainstalowaniu, a istniejący katalog w tej lokalizacji może uniemożliwić poprawne działanie niektórych z tych usług. Nie powinno to stanowić problemu w przypadku Apache, ale może to być problem z Nginx lub innymi platformami serwera internetowego.
+
+### Wdrożenie
+
+Nowy hub można wdrożyć na kilka sposobów:
+
+* ręczna inastalaja na istniejącym serwerze;
+* automatyczna instalacja na istniejącym serwerze przy użyciu skryptu instalacyjnego;
+* automatyczne wdrożenie przy użyciu prywatnego serwera wirtualnego OpenShift (VPS).)
+
+### Wymagania
+
+* Apache z włączonym modułem _mod-rewrite_ i ustawioną dyrektywą "AllowOverride All", tak aby można było stosować plik _.htaccess_. Niektóre osoby z powodzeniem stosowały Nginx czy Lighttpd.Przykładowe skrypty konfiguracyjne są dostępne na tej platformie w [doc/install](). Apache and Nginx mają najlepsze wsparcie.
+
+* PHP 7.1 lub w wersji wyższej.
+ * _Proszę mieć na uwadze, że w niektórych środowiskach hostinu współdzielonego, wersja wiersza poleceń PHP różni się od wersji serwera internetowego_
+
+* Dostęp do wiersza poleceń PHP z ustawionym w pliku php.ini parametrem _register_argc_argv_ na true i bez ograniczeń dostawcy hostingu w zakresie stosowania funkcji _exec()_ i _proc_open()_.
+
+* Rozszerzenia curl, gd (z obsługą co najmmniej jpeg i png), mysqli, mbstring, mcrypt, zip i openssl. Tozszerzenie imagick nie jest wymagane ale jest zalecane.
+
+* Wymagane jest rozszerzenie xml, jeśli chce sie mieć działajacą obsługę webdav.
+
+* Jakaś forma serwera pocztowego lub bramy pocztowej, taka jak działa PHP mail().
+
+* Serwer bazy danych Mysql 5.x lub MariaDB lub PostgreSQL.
+
+* Możliwość planowania zadań dla crona.
+
+* WYMAGANA jest instalacja w katalogu głównym hosta WWW (wirtualnego hosta w Apache i bloku w Nginx).
+
+### Instalacja ręczna
+
+##### Krok 1.
+
+Rozpakuj pliki $Projectname do katalogu głównego obszaru dokumentów serwera WWW. Jeśli kopiujesz drzewo katalogów na swój serwer WWW, upewnij się, że dołączasz ukryte pliki, takie jak _.htaccess_.
+
+Jeśli możesz to zrobić, zalecamy użycie Git do sklonowania repozytorium źródłowego zamiast używania spakowanego pliku tar lub zip. To znacznie ułatwia późniejszą aktualizację oprogramowania. Polecenie Linux do sklonowania repozytorium do katalogu "mywebsite: wyglądałoby tak:
+
+ git clone https://framagit.org/hubzilla/core.git mywebsite
+
+a następnie, w dowolnym momencie, możesz pobrać najnowsze zmiany za pomocą:
+
+ git pull
+
+upewnij się, że istniejeją foldery `store/[data]/smarty3` i `store` i że są one możliwe do zapisu przez właściciela procesu serwera WWW:
+
+ mkdir -p "store/[data]/smarty3"
+ chmod -R 777 store
+
+To uprawnienie (777) jest bardzo niebezpieczne i jeśli masz wystarczające uprawnienia i wiedzę powinieneś umożliwić zapisywanie w tych katalogach tylko przez serwer WWW i użytkownika, który uruchomia crona (patrz poniżej), jeśli jest taki. W wielu współdzielonych środowiskach hostingowych może to być trudne, bez zgłoszenia problemu u dostawcy. Powyższe uprawnienia pozwolą oprogramowaniu działać, ale nie są optymalne.
+
+Aby działały niektóre internetowe narzędzia administracyjne, serwer WWW musi mieć możliwość zapisu w następujących katalogach:
+
+* _addon_
+* _extend_
+* _view/theme_
+* _widget_
+
+##### Krok 2.
+
+Utwórz pustą bazę danych i zanotuj szczegóły dostępu (nazwa hosta, nazwa użytkownika, hasło, nazwa bazy danych). Biblioteki bazy danych PDO powracają do komunikacji przez gniazdo uniksowe, gdy nazwą hosta jest _localhost_, ale niektóre osoby zgłosiły problemy z implementacją gniazda. Użyj gniazd, jeśli Twoje uprawnienia na to pozwalają. W przeciwnym razie, jeśli baza danych jest udostępniana na hoście _localhost_, jako nazwę hosta wpisz _127.0.0.1_.
+
+Wewnętrznie używamy teraz biblioteki PDO do połączeń z bazą danych. Jeśli masz do czynienia z konfigyracją bazy danych, którą nie możesz obsłużyć poprzez formularz konfiguracyjny (ma przykład w przypadku uzywania MySQL z nietypową lokalizacją gniazd) - możesz podać ciąg połączenia PDO jako nazwę hosta. Na przykład:
+
+ :/path/to/socket.file
+
+W razie potrzeby nadal trzeba wypełnić w formularzu konfiguracyjnym wszystkie inne wartości mające zastosowanie.
+
+##### Krok 3.
+
+Utwórz pusty plik o nazwie _.htconfig.php_ i uczyń go możliwymm do zapisania przez serwer WWW. Krok ten wykonaj, jeśli wiesz, że serwer WWW nie będzie mógł sam utworzyć tego pliku.
+
+##### Krok 4.
+
+Odwiedź swoją witrynę za pomocą przeglądarki internetowej i postępuj zgodnie z instrukcjami. Zanotuj wszelkie komunikaty o błędach i popraw je przed kontynuowaniem. Jeśli używasz protokołu SSL (od znanego urzędu autoryzacyjnego), użyj schematu _https_ w adresie URL swojej witryny.
+
+##### Krok 5.
+
+Jeśli automatyczna instalacja nie powiedzie się z jakiegoś powodu, sprawdź następujące rzeczy:
+
+* Czy istnieje plik _.htconfig.php_? Jeśli nie, edytuj plik _htconfig.php_ i zmień w nim ustawienia systemowe. Następnie zmień jego nazwę na _.htconfig.php_.
+* Czy baza danych jest wypełniona. Jeśli nie, zaimportuj treść skryptu _install/schema_xxxxx.sql_ w phpmyadmin lub wierszu poleceń mysql (zamień 'xxxxx' na własciwy typ bazy danych).
+
+##### Krok 6.
+
+Po udanej instalacji odwiedż ponownie swoją witrynę i zarejestruj swoje osobiste konto. Błędy rejestracji powinny dać sie naprawić automatycznie.
+
+Jeśli w tym momencie wystąpiła jakakolwiek *krytyczna* awaria, to na ogół przyczyna leży w źle funkcjonującej bazie danych. W takim przypadku, aby zacząć od nowa, usuń lub zmień nazwę pliku _.htconfig.php_ i usuń tabele bazy danych.
+
+Aby Twoje konto miało dostęp administratora, powinno to być utworzone jako pierwsze, a adres e-mail podany podczas rejestracji musi być zgodny z adresem administratora podanym podczas instalacji. Jeśli stało sie inaczej, aby dać dostęp administracyjny jakiemuś kontu, dodaj _4096_ w rekordzie tabeli _account_roles_ tego konta.
+
+Ze względu na bezpieczeństwo witryny, nie ma możliwości zapewnienia dostępu administracyjnego za pomocą formularzy konfiguracyjnych.
+
+##### Krok 7. BARDZO WAŻNY!
+
+Skonfiguruj zadanie Crona lub *zadanie zaplanowane*, tak aby uruchamiać menedżera Crona co 10-15 minut w celu przetwarzania i konserwacji w tle. Przykład:
+
+ cd /base/directory; /path/to/php Zotlabs/Daemon/Master.php Cron
+
+
+Zmień tutaj `/base/directory` i `/path/to/php` na właściwe dla siebie ścieżki.
+
+Jeśli używasz serwera linuksowego, uruchom polecenie `crontab -e` i dodaj wiersz taki jak poniżej, zmieniając odpowiednio ścieżki i ustawienia:
+
+ */10 * * * * cd /home/myname/mywebsite; /usr/bin/php Zotlabs/Daemon/Master.php Cron > /dev/null 2>&1
+
+Lokalizację PHP na ogół można ustalić wykonując polecenie _which php_. Jeśli masz problemy z ustawienie Crona, skontaktuj się z dostawcą hostingu w celu uzyskania pomocy. Hubzilla nie będzie działać prawidłowo bez tego kroku.
+
+Powinno się również sprawdzić ustawienie parametru _App::$config['system']['php_path']_ w pliku _.htconfig.php_. Powinno to wyglądać tak (zmień to zgodnie z lokalizacją PHP w swoim systemie):
+
+
+ App::$config['system']['php_path'] = '/usr/local/php56/bin/php';
+
+#### Oficjalne dodatki
+
+##### Instalacja
+
+Przejdź do swojej witryny. Następnie sklonuj repozytorium dodatków (osobno). Nadamy temu repozytorium pseudonim `hzaddons`. Możesz pobrać inne repozytoria dodatków Hubzilla, nadając im różne pseudonimy:
+
+ cd mywebsite
+ util/add_addon_repo https://framagit.org/hubzilla/addons.git hzaddons
+
+##### Aktualizacja
+
+W celu aktualizacji drzewa dodatków, powinno się, z poziomu głównego katalogu witryny, wydać polecenie aktualizacji tego repozytorium:
+
+ cd mywebsite
+ util/update_addon_repo hzaddons
+
+Stwórz reprezentację dokumentacji online z możliwością wyszukiwania. Możesz to zrobić za każdym razem, gdy dokumentacja jest aktualizowana:
+
+ cd mywebsite
+ util/importdoc
+
+### Automatyczna instalacja poprzez skrypt .homeinstall
+
+Istnieje skrypt powłoki _.homeinstall/hubzilla-setup.sh_, który po uruchomieniu zainstaluje Hubzillę i jego zależności na nowej instalacji stabilnej dystrybucji Debiana 9 (Stetch). Powinien działać na podobnych systemach Linux, ale wyniki mogą się różnić.
+
+#### Wymagania
+
+Skrypt instalacyjny został pierwotnie zaprojektowany dla małego serwera sprzętowego za routerem domowym. Jednak został przetestowany też na kilku systemach z Debian 9:
+
+* Home-PC (Debian-9.2-amd64) i Rapberry-Pi 3 (Rasbian = Debian 9.3)
+ * Połączenie z Internetem i domowy router
+ * Mini-PC lub Raspi połaczone z router
+ * Napęd USB dla kopii zapasowych
+ * Świeża instalacja Debian na swoim mini-pc
+ * Router z otwartymi portami 80 i 443 dla Debiana
+
+#### Etapy instalacji
+
+1. _apt-get install git_
+1. _mkdir -p /var/www/html_
+1. _cd /var/www/html_
+1. _git clone https://framagit.org/hubzilla/core.git ._
+1. _nano .homeinstall/hubzilla-config.txt_
+1. _cd .homeinstall/_
+1. _./hubzilla-setup.sh_
+1. _service apache2 reload_
+1. Open your domain with a browser and step throught the initial configuration of $Projectname.
+
+### Zalecane dodatki
+
+Zalecamy zainstalowanie następujących dodatków we wszystkich publicznych witrynach:
+
+ nsfw - hide inappropriate posts/comments
+ superblock - block content from offensive channels
+
+### Dodatki federacyjne
+
+Kilka społeczności internetowych zaczęło łączyć się przy użyciu wspólnych protokołów. Stosowane protokoły mają nieco ograniczone możliwości. Na przykład protokół GNU-Social nie oferuje żadnych trybów prywatności, a protokół Diaspora
+jest nieco bardziej restrykcyjny w zakresie dozwolonych rodzajów komunikacji. Wszystkie komentarze muszą być podpisane w bardzo unikalny sposób przez oryginalnego autora. Rozważany jest również protokół ActivityPub, który może być obsługiwany w przyszłości. Żaden inny istniejący protokół nie obsługuje lokalizacji nomadycznej używanej w tym projekcie. Stwarza to pewne problemy z obsługą, ponieważ niektóre funkcje działają w niektórych sieciach, a w innych nie. Niemniej jednak protokoły federacyjne umożliwiają nawiązywanie połączeń ze znacznie większą społecznością ludzi na całym świecie. Są dostarczane jako dodatki.
+
+* _diaspora_ - protokół diaspory używany przez Diasporę i Friendica. Najpierw należy włączyć „Diaspora Statistics†(statystyki), aby włączyć wszystkie dostępne funkcje.
+
+* _gnusoc_ - protokół społecznościowy GNU, używany przez GNU-Social, Mastodon i kilka innych społeczności. Ten dodatek wymaga najpierw zainstalowania usługi _pubsubhubbub_ (także dodatku).
+
+Każdy członek Twojej siatki musi indywidualnie zdecydować, czy zezwolić na te protokoły, ponieważ mogą one kolidować z kilkoma pożądanymi podstawowymi funkcjami i możliwościami Hubzilla (takimi jak migracja kanałów i klonowanie). Robi się to
+na swojej stronie _Ustawienia_ -> _Ustawienia funkcji i dodatków_. Administrator może również ustawić:
+
+ util/config system.diaspora_allowed 1
+ util/config system.gnusoc_allowed 1
+
+i włączać te protokoły automatycznie dla wszystkich nowo tworzonych kanałów.
+
+### Klasy usług
+
+Klasy usług pozwalają na ustawienie limitów zasobów systemowych poprzez ograniczenie tego, co mogą robić poszczególne konta, w tym przechowywania plików i najwyższych limitów wpisów. Zdefiniuj niestandardowe klasy usług zgodnie ze swoimi potrzebami w pliku _.htconfig.php_. Na przykład utwórz klasę standard i premium, używając następujących wierszy:
+
+ // Service classes
+
+ App::$config['system']['default_service_class']='standard'; // this is the default service class that is attached to every new account
+
+ // configuration for standard service class
+ App::$config['service_class']['standard'] =
+ array('photo_upload_limit'=>2097152, // total photo storage limit per channel (here 2MB)
+ 'total_identities' =>1, // number of channels an account can create
+ 'total_items' =>0, // number of top level posts a channel can create. Applies only to top level posts of the channel user, other posts and comments are unaffected
+ 'total_pages' =>100, // number of pages a channel can create
+ 'total_channels' =>100, // number of channels the user can add, other users can still add this channel, even if the limit is reached
+ 'attach_upload_limit' =>2097152, // total attachment storage limit per channel (here 2MB)
+ 'chatters_inroom' =>20);
+
+ // configuration for premium service class
+ App::$config['service_class']['premium'] =
+ array('photo_upload_limit'=>20000000000, // total photo storage limit per channel (here 20GB)
+ 'total_identities' =>20, // number of channels an account can create
+ 'total_items' =>20000, // number of top level posts a channel can create. Applies only to top level posts of the channel user, other posts and comments are unaffected
+ 'total_pages' =>400, // number of pages a channel can create
+ 'total_channels' =>2000, // number of channels the user can add, other users can still add this channel, even if the limit is reached
+ 'attach_upload_limit' =>20000000000, // total attachment storage limit per channel (here 20GB)
+ 'chatters_inroom' =>100);
+
+Aby zastosować klasę usług do istniejącego konta, użyj narzędzia wiersza poleceń z katalogu głównego instalacji Hubzilla:
+
+* uzyskanie listy klas usług:
+
+ util/service_class
+
+
+* ustawienie domyślnej klasy usług na _firstclass_:
+
+ util/config system default_service_class firstclass
+
+* uzyskanie listy usług, które należą do klasy _firstclass_:
+
+ util/service_class firstclass
+
+* ustawienie całkowitego użycia dysku ze zdjęciami _firstclass_ na 10 milionów bajtów
+
+ util/service_class firstclass photo_upload_limit 10000000
+
+* ustawienie konta z identyfikatorem 5 na klasÄ™ _firstclass_ (z potwierdzeniem):
+
+ util/service_class --account=5 firstclass
+
+* ustawienie konta, które jest właścicielem kanału `bdziennikchan` na klasę _firstclass_ (z potwierdzeniem)
+
+ util/service_class --channel=bdziennikchan firstclass
+
+**Opcje limitu klas usług**
+
+##### Opcje limitów klas usług:
+
+* _photo_upload_limit_ - maksymalna łączna liczba bajtów na zdjęcia
+* _total_items_ - maksymalna liczba wpisów na najwyższym poziomie
+* _total_pages_ - maksymalna liczba stron comanche
+* _total_identities_ - maksymalna liczba kanałów posiadanych na koncie
+* _total_channels_ - maksymalna liczba kanałów
+* _total_feeds_ - maksymalna liczba kanałów RSS
+* _attach_upload_limit_ - maksymalna pojemność przesyłania plików (w bajtach)
+* _minimum_feedcheck_minutes_ - najniższe ustawienie dozwolone dla odpytywania kanałów RSS
+* _chatrooms_ - maksymalna liczba czatów
+* _chatters_inroom_ - maksymalna liczba rozmówców w czacie
+* _access_tokens_ - maksymalna liczba tokenów dostępu gościa na kanał
+
+### ZarzÄ…dzanie motywami
+
+#### Przykład zarządzania repozytorium
+
+1) Przejdź na poziom katalogu głównego serwera:
+
+ ```
+ root@hub:/root# cd /var/www
+ ```
+
+2) Dodaj repozytorium motywu i nadaj mu nazwÄ™
+
+ ```
+ root@hub:/var/www# util/add_theme_repo https://github.com/DeadSuperHero/redmatrix-themes.git DeadSuperHero
+ ```
+3) Zaktualizuj repozytorium motywu
+
+ ```
+ root@hub:/var/www# util/update_theme_repo DeadSuperHero
+ ```
+
+### Katalog kanałów
+
+#### Słowa kluczowe
+
+Na stronie katalogu kanałów może pojawiać się chmura słów kluczowych. Jeśli chcesz ukryć te słowa kluczowe, które są pobierane z serwera katalogów, możesz użyć narzędzia _config_:
+
+ util/config system disable_directory_keywords 1
+
+Jeśli twój hub pracuje w trybie autonomicznym, ponieważ nie chcesz łączyć się z globalną siecią, możesz zamiast tego ustawić opcję systemową _directory_server_ na wartość pustą:
+
+ util/config system directory_server ""
+
+### Administrowanie
+
+#### Administrowanie witrynÄ…
+
+Administracja witryną jest zwykle wykonywana za pośrednictwem strony administratora znajdującej się na ścieżce _/admin_ adresu URL Twojej witryny. Aby uzyskać dostęp do tej strony, trzeba mieć uprawnienia administratora na serwerze. Prawa administracyjne są przyznawane pierwszemu kontu, które zostało zarejestrowane w witrynie, pod warunkiem, że adres e-mail tego konta dokładnie odpowiada adresowi e-mail podanemu jako adres e-mail administratora podczas konfiguracji.
+
+Istnieje kilka sposobów, w jakie może to się nie powieść i pozostawić system bez konta administratora, na przykład jeśli pierwsze konto, które zostało utworzone, miało inny adres e-mail niż adres e-mail administratora, który został podany podczas konfiguracji.
+
+Ze względów bezpieczeństwa w systemie nie ma strony internetowej ani interfejsu, który daje dostęp administratora. Jeśli potrzebujesz poprawić sytuację, w której system nie ma konta administratora, musisz to zrobić edytując tabelę kont w bazie danych. Nie ma innego wyjścia. Aby to zrobić, będziesz musiał zlokalizować wpis w tabeli kont, który należy do żądanego administratora i ustawić _account_roles_ dla tego wpisu na _4096_. Będziesz wtedy mógł uzyskać dostęp do strony administratora z menu profilu twojego systemu lub bezpośrednio na ścieżce _/admin_.
+
+Hub może mieć wielu administratorów i nie ma ograniczeń co do ich liczby. Powtórz powyższą procedurę dla każdego konta, któremu chcesz przyznać uprawnienia administracyjne.
+
+### Rozwiązywanie problemów
+
+#### Pliki dzienników
+
+Plik dziennika systemowego jest niezwykle przydatnym źródłem informacji do śledzenia błędów. Można to włączyć na stronie konfiguracji _admin/log_. Ustawienie poziomu o wartości *LOGGER_DEBUG* jest preferowany w stabilnej instalacji produkcyjnej. Większość problemów związanych z komunikacją lub przechowywaniem jest tutaj wymieniona. Ustawienie na *LOGGER_DATA* zapewnia znacznie więcej szczegółów, ale może wypełnić dysk. W obu przypadkach zalecamy użycie *logrotate* w systemie operacyjnym do cyklicznego tworzenia dzienników i usuwania starszych wpisów.
+
+Na dole twojego *.htconfig.php* znajduje się kilka linii (zakomentowanych), które umożliwiają rejestrowanie błędów PHP. Zgłaszane są problemy ze składnią i wykonywaniem kodu i jest to też pierwszym miejscem, w którym należy szukać problemów, które powodują "biały ekran" lub pustą stronę. Zwykle jest to wynikiem problemów z kodem lub składnią. Błędy bazy danych są zgłaszane do pliku dziennika systemowego, ale uznaliśmy, że przydatne jest umieszczenie w katalogu najwyższego poziomu pliku *dbfail.out*, który gromadzi tylko informacje o problemach związanych z bazą danych. Jeśli plik istnieje i można go zapisać, będą rejestrowane w nim błędy bazy danych, a także w pliku dziennika systemowego.
+
+W przypadku błędów "500: problemy mogą być często rejestrowane w dziennikach serwera internetowego, często w */var/log/apache2/error.log* lub podobnym. Zapoznaj się z dokumentacją systemu operacyjnego.
+
+Istnieją trzy różne obiekty dziennika.
+
+**Pierwsza to dziennik błędów bazy danych**. Jest on używane tylko wtedy, gdy tworzy się plik o specyficznej nazwie *dbfail.out* w folderze głównym swojej witryny i pozwala na zapisywanie w nim przez serwer WWW. Jeśli masz jakiekolwiek zapytania do bazy danych, które nie powiodły się, wszystkie są zgłaszane tutaj. Zwykle wskazują na literówki w naszych zapytaniach, ale występują również w przypadku rozłączenia serwera bazy danych lub uszkodzenia tabel. W rzadkich przypadkach zobaczymy tutaj warunki wyścigu, w których dwa procesy próbowały utworzyć wpis *xchan* lub *cache* z tym samym identyfikatorem. Należy zbadać wszelkie inne błędy (zwłaszcza błędy uporczywe).
+
+**Drugi to dziennik błędów PHP**. Jest tworzony przez procesor języka i zgłasza tylko problemy powstałe w środowisku językowym. Znowu mogą to być błędy składniowe lub błędy programistyczne, ale generalnie są one fatalne i skutkują "białym ekranem";
+na przykład PHP kończy działanie. Prawdopodobnie powinieneś zajrzeć do tego pliku też, jeśli coś pójdzie nie tak, co nie powoduje białego ekranu. Często zdarza się, że plik ten jest pusty przez wiele dni.
+
+Na dole dostarczonego pliku *.htconfig.php* znajduje się kilka linii, które, jeśli nie są zakomentowane, włączają dziennik PHP (niezwykle przydatny do znajdowania źródła błędów białego ekranu). Nie jest to robione domyślnie ze względu na potencjalne problemy z własnością pliku dziennika i uprawnieniami do zapisu oraz fakt, że domyślnie nie ma rotacji pliku dziennika.
+
+**Trzeci to "dziennik aplikacji"**. Jest to używane przez Hubzillę do zgłaszania tego, co dzieje się w programie i zwykle zapisywane są tu wszelkie trudności lub nieoczekiwane dane, które otrzymaliśmy. Czasami zgłasza się tu również komunikaty
+o stanie "pulsu", aby wskazać, że osiągnęliśmy określony punkt w skrypcie. Jest to dla nas najważniejszy plik dziennika, ponieważ tworzymy go samodzielnie wyłącznie w celu zgłaszania stanu zadań w tle i wszystkiego, co wydaje się dziwne lub nie na miejscu. To może nie być śmiertelne, ale może po prostu nieoczekiwane. Jeśli wykonujesz zadanie i występuje problem, daj nam znać, co znajduje się w tym pliku, gdy wystąpił problem. Proszę nie wysyłaj mi 100 milionów zrzutów, tylko mnie wkurzysz! Tylko kilka odpowiednich wierszy, abym mógł wykluczyć kilkaset tysięcy wierszy kodu i skoncentrować się na tym, gdzie zaczyna się pojawiać problem.
+
+To są dzienniki Twojej witryny, a nie moje. Zgłaszamy poważne problemy na każdym poziomie dziennika. Gorąco polecam poziom dziennika *DEBUG* dla większości witryn. Dostarcza on trochę dodatkowych informacji i nie tworzy dużych plików dziennika. Kiedy pojawia się problem, który uniemożliwia wszelkie próby śledzenia, możesz wtedy włączyć na krótki czas poziom *DATA*, aby uchwycić wszystkie szczegóły struktur, z którymi mieliśmy do czynienia w tym czasie. Ten poziom dziennika zajmuje dużo miejsca, więc jest zalecany tylko na krótkie okresy lub w przypadku witryn testowych dla programistów.
+
+Zalecam skonfigurowanie *logrotate* zarówno dla dziennika php, jak i dziennika aplikacji. Zazwyczaj co tydzień lub dwa zaglądam do *dbfail.out*, naprawiam zgłoszone problemy i zaczynam od nowego pliku. Podobnie jest z plikiem dziennika PHP. Odwołuję się do tego od czasu do czasu, aby sprawdzić, czy jest coś, co wymaga naprawy.
+
+Jeśli coś pójdzie nie tak i nie jest to błąd krytyczny, patrzę na plik dziennika aplikacji. Często robię to:
+
+```
+tail -f logfile.out
+```
+
+ponieważ powtarza operację, która ma problemy. Często wstawiam w kodzie dodatkowe instrukcje rejestracji, jeśli nie ma żadnej wskazówki, co się dzieje. Nawet coś tak prostego jak "got here" lub drukuję wartości zmiennej, która może być podejrzana. Ty też możesz to zrobić - wręcz zachęcam Cię do tego. Gdy już znajdziesz to, czego potrzebujesz, możesz wykonać:
+
+```
+git checkout file.php
+```
+
+aby natychmiast wyczyścić wszystkie dodane elementy rejestrowania. Skorzystaj z informacji z tego dziennika i wszelkich szczegółów, które możesz podać podczas badania problemu, aby zgłosić błąd - chyba że analiza wskazuje na źródło problemu. W takim przypadku po prostu to napraw.
+
+##### Rotowanie plików dziennika
+
+1. Włącz dodatek *Logrot* w [oficjalnym repozytorium dodatków hubzilla](https://framagit.org/hubzilla/addons).
+1. Utwórz katalog w swoim katalogu głównym o nazwie `log` z uprawnieniami do zapisu przez serwer WWW.
+1. Przejdź do ustawień administratora programu *Logrot* i wprowadź nazwę folderu, a także maksymalny rozmiar i liczbę zachowanych plików dziennika.
+
+#### Zgłaszanie problemów
+
+Zgłaszając problemy, staraj się podać jak najwięcej szczegółów, które mogą być potrzebne programistom do odtworzenia problemu i podać pełny tekst wszystkich komunikatów o błędach.
+
+Zachęcamy do dołożenia wszelkich starań, aby wykorzystać te dzienniki w połączeniu z posiadanym kodem źródłowym w celu rozwiązywania problemów i znajdowania ich przyczyn. Społeczność często jest w stanie pomóc, ale tylko Ty masz dostęp do
+plików dziennika swojej witryny i ich udostępnianie jest uważane za zagrożenie bezpieczeństwa.
+
+Jeśli problem z kodem został odkryty, zgłoś go w bugtrackerze projektu (https://framagit.org/hubzilla/core/issues). Ponownie podaj jak najwięcej szczegółów, aby uniknąć ciągłego zadawania pytań o konfigurację lub powielanie problemu, abyśmy mogli przejść od razu do problemu i dowiedzieć się, co z nim zrobić. Zapraszamy również do oferowania własnych rozwiązań i przesyłania poprawek. W rzeczywistości zachęcamy do tego, ponieważ wszyscy jesteśmy wolontariuszami i mamy mało wolnego czasu. Im więcej osób pomaga, tym łatwiejsze jest obciążenie pracą dla wszystkich. W porządku, jeśli Twoje rozwiązanie nie jest idealne. Wszystko pomaga i być może uda nam się to poprawić.
+
diff --git a/doc/pl/admin/hub_snapshots.md b/doc/pl/admin/hub_snapshots.md
new file mode 100644
index 000000000..fa38be7f8
--- /dev/null
+++ b/doc/pl/admin/hub_snapshots.md
@@ -0,0 +1,127 @@
+### Hub Snapshot Tools
+
+Programiści Hubzilli często muszą przełączać się między gałęziami, które mogą
+mieć niekompatybilne schematy lub zawartość bazy danych. Poniższe dwa skrypty
+tworzą i przywracają pełne migawki instancji Hubzilli, w tym zarówno główny
+katalog sieciowy, jak i stan całej bazy danych. Każdy skrypt wymaga pliku
+konfiguracyjnego o nazwie *hub-snapshot.conf* znajdujÄ…cego siÄ™ w tym samym
+folderze i zawiera on określone katalogi i szczegóły bazy danych huba.
+
+### Konfiguracja
+
+Format pliku konfiguracyjnego jest bardzo ścisły. Między nazwą zmiennej a
+wartością nie może być spacji. Zastąp tylko treść w cudzysłowach swoją
+konfiguracją. Zapisz ten plik jako *hub-snapshot.conf* obok skryptów.
+
+ # Location of hub root. Typically this is the location of the Hubzilla repo clone.
+ HUBROOT="/var/www/"
+ # MySQL database name
+ DBNAME="hubzilla"
+ # MySQL database user
+ DBUSER="hubzilla"
+ # MySQL database password
+ DBPWD="akeufajeuwfb"
+ # The target snapshot folder where the git repo will be initialized
+ SNAPSHOTROOT="/root/snapshots/hubzilla/"
+
+### Migawka
+
+Przykład użycia:
+
+ sh hub-snapshot.sh my-hub.conf "Commit message for the snapshot"
+
+**hub-snapshot.sh**:
+
+ #!/bin/bash
+
+ if ! [ -f "$1" ]; then
+ echo "$1 is not a valid file. Aborting..."
+ exit 1
+ fi
+ source "$1"
+ #echo "$DBNAME"
+ #echo "$DBUSER"
+ #echo "$DBPWD"
+ #echo "$HUBROOT"
+ #echo "$SNAPSHOTROOT"
+ MESSAGE="snapshot: $2"
+
+ if [ "$DBPWD" == "" -o "$SNAPSHOTROOT" == "" -o "$DBNAME" == "" -o "$DBUSER" == "" -o "$HUBROOT" == "" ]; then
+ echo "Required variable is not set. Aborting..."
+ exit 1
+ fi
+
+ if [ ! -d "$SNAPSHOTROOT"/db/ ]; then
+ mkdir -p "$SNAPSHOTROOT"/db/
+ fi
+ if [ ! -d "$SNAPSHOTROOT"/www/ ]; then
+ mkdir -p "$SNAPSHOTROOT"/www/
+ fi
+
+ if [ ! -d "$SNAPSHOTROOT"/www/ ] || [ ! -d "$SNAPSHOTROOT"/db/ ]; then
+ echo "Error creating snapshot directories. Aborting..."
+ exit 1
+ fi
+
+ echo "Export database..."
+ mysqldump -u "$DBUSER" -p"$DBPWD" "$DBNAME" > "$SNAPSHOTROOT"/db/"$DBNAME".sql
+ echo "Copy hub root files..."
+ rsync -va --delete --exclude=.git* "$HUBROOT"/ "$SNAPSHOTROOT"/www/
+
+ cd "$SNAPSHOTROOT"
+
+ if [ ! -d ".git" ]; then
+ git init
+ fi
+ if [ ! -d ".git" ]; then
+ echo "Cannot initialize git repo. Aborting..."
+ exit 1
+ fi
+
+ git add -A
+ echo "Commit hub snapshot..."
+ git commit -a -m "$MESSAGE"
+
+ exit 0
+
+### Przywracanie
+
+ #!/bin/bash
+ # Restore hub to a previous state. Input hub config and commit hash
+
+ if ! [ -f "$1" ]; then
+ echo "$1 is not a valid file. Aborting..."
+ exit 1
+ fi
+ source "$1"
+ COMMIT=$2
+
+ if [ "$DBPWD" == "" -o "$SNAPSHOTROOT" == "" -o "$DBNAME" == "" -o "$DBUSER" == "" -o "$HUBROOT" == "" ]; then
+ echo "Required variable is not set. Aborting..."
+ exit 1
+ fi
+ RESTOREDIR="$(mktemp -d)/"
+
+ if [ ! -d "$RESTOREDIR" ]; then
+ echo "Cannot create restore directory. Aborting..."
+ exit 1
+ fi
+ echo "Cloning the snapshot repo..."
+ git clone "$SNAPSHOTROOT" "$RESTOREDIR"
+ cd "$RESTOREDIR"
+ echo "Checkout requested snapshot..."
+ git checkout "$COMMIT"
+ echo "Restore hub root files..."
+ rsync -a --delete --exclude=.git* "$RESTOREDIR"/www/ "$HUBROOT"/
+ echo "Restore hub database..."
+ mysql -u "$DBUSER" -p"$DBPWD" "$DBNAME" < "$RESTOREDIR"/db/"$DBNAME".sql
+
+ chown -R www-data:www-data "$HUBROOT"/{store,extend,addon,.htlog,.htconfig.php}
+
+ echo "Restored hub to snapshot $COMMIT"
+ echo "Removing temporary files..."
+
+ rm -rf "$RESTOREDIR"
+
+ exit 0
+
diff --git a/doc/pl/admins.bb b/doc/pl/admins.bb
new file mode 100644
index 000000000..e27b3ae73
--- /dev/null
+++ b/doc/pl/admins.bb
@@ -0,0 +1,15 @@
+[h2]Dokumentacja dla administratorów huba[/h2]
+[h3]Wdrozenie swojego huba[/h3]
+[zrl=[baseurl]/help/install]Instalacja[/zrl]
+[zrl=[baseurl]/help/red2pi]Instalowanie $Projectname na Raspberry Pi[/zrl]
+[zrl=[baseurl]/help/Hubzilla_on_OpenShift]$Projectname na OpenShift[/zrl]
+[h3]Utrzymywanie swojego huba[/h3]
+[zrl=[baseurl]/help/troubleshooting]Wskazówki dotyczące rozwiązywania problemów[/zrl]
+[zrl=[baseurl]/help/theme_management]ZarzÄ…dzanie motywami[/zrl]
+[zrl=[baseurl]/help/hidden_configs]Poprawianie ukrytych konfiguracji $Projectname[/zrl]
+[zrl=[baseurl]/help/service_classes]Klasy usługi[/zrl]
+[zrl=[baseurl]/help/directories]Praca z katalogami i ich konfigurowanie[/zrl]
+[h3]Najczęściej zadawane pytania[/h3]
+[zrl=[baseurl]/help/faq_admins]FAQ dla administratorów[/zrl]
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/pl/bugs.bb b/doc/pl/bugs.bb
new file mode 100644
index 000000000..de1ed03a5
--- /dev/null
+++ b/doc/pl/bugs.bb
@@ -0,0 +1,31 @@
+[h2]Błędy, problemy i rzeczy, które pojawiają się w nocy ...[/h2]
+[h3]Coś poszło nie tak! Kto jest odpowiedzialny za naprawianie tego?[/h3]
+
+[b]$Projectname Community Server[/b]
+
+$Projectname Community Server to oprogramowanie typu Open Source, które jest utrzymywane przez "społeczność" - zasadniczo nieopłacanych ochotników. Nikt nie jest odpowiedzialny za naprawianie błędów. Pracujemy razem, aby oprogramowanie i sieć działały płynnie i bez błędów. Jesteś członkiem tej społeczności, więc potrzebujemy również Twojej pomocy, aby zapewnić wysokiej jakości oprogramowanie. Nie ma mitycznych "programistów", którzy w magiczny sposób wszystko naprawiają. Do nas wszystkich należy włączenie się i pomoc.
+
+Pierwszą rzeczą, którą musisz zrobić, jest porozimieć się z administratorem huba - osobą, która obsługuje Twoją witrynę i zarządza nią. Znajdują się ona w wyjątkowej sytuacji, ponieważ ma dostęp do wewnętrznego oprogramowania i bazy danych oraz [b]plików dziennika[/b] i będzie musiała zaangażować się w naprawę problemu. Inne osoby "w sieci" nie mogą naprawdę Ci tym pomóc. Pierwszą rzeczą, jaką musi zrobić administrator huba, jest przejrzenie dzienników i podjecie próby odtworzenia problemu. Dlatego staraj się być tak pomocny i uprzejmy, jak to tylko możliwe, pomagając mu przyjrzeć się problemowi.
+
+Aby znaleźć swojego administratora huba (jeśli nie wiesz, kim on jest), zajrzyj na [url=[baseurl]/siteinfo]tą stronę[/url]. Jeśli nie podał on żadnych informacji kontaktowych na tej stronie lub nie podał "Impressum", zobacz [url=[baseurl]/siteinfo.json]podsumowanie informacji o tej witrynie[/url] znajdujące się pod nagłówkiem "admin:".
+
+Zdecydowanie zaleca się, aby administratorzy huba wypełniali raporty o błędach, tak aby możliwe było dołączenie odpowiedniego plik dziennika i informacji z bazy danych istotnych dla problemu oraz aby byli oni gotowi do wypróbowania rozwiązań i testów uzupełniających. Bez tego poziomu współpracy rozwiązanie problemu może nie być możliwe.
+
+[h3]Jestem administratorem huba, co mam zrobić?[/h3]
+
+Oprogramowania zapewniające tą usługę sieciową jest typu Open Source i jest dostępne do wglądu. Zachęcamy wszystkich do zapoznania się z kodem i zobaczenia, jak wszystko działa i sprawdzenia, czy nie robimy nic złego lub niedbałego. Jeśli został zgłoszony komunikat o błędzie, często można przeszukać pliki źródłowe tego komunikatu o błędzie i dowiedzieć się, co go spowodowało. Dzięki tym informacjom i plikom dziennika serwisu możliwe będzie ustalenie sekwencji zdarzeń prowadzących do błędu. Problem mogą powodować również serwisy zewnętrzne i jego źródłem wcale nie musi być Twój serwis, ale inne miejsce w sieci. Spróbuj określić punkty końcowe komunikacji (huby lub serwisy), których dotyczy problem i skontaktuj się z administratorem tego serwisu lub tych serwisów. Spróbuj podać czas zdarzenia, w którym coś poszło nie tak, aby można go było znaleźć w dziennikach. Współpracuj z innymi administratorami, aby spróbować znaleźć przyczynę problemu. Pliki dziennika są Twoim przyjacielem. Kiedy w oprogramowaniu dzieje się coś, czego się nie spodziewaliśmy, prawie zawsze zostało to zarejestrowane.
+
+[h3]Biały ekran śmierci[/h3]
+
+Jeśli podczas robienia czegoś pojawia się pusty biały ekran, prawie zawsze jest to błąd kodu lub składni. W pliku .htconfig.php serwisu znajdują się instrukcje, które pozwolą administratorowi witryny na włączenie rejestrowania składni. Zalecamy wszystkim witrynom korzystanie z tego. Po włączeniu rejestrowania składni powtórz sekwencję, która doprowadziła do błędu, a powinna ona zarejestrować nieprawidłową linię kodu. Mamy nadzieję, że dzięki tym informacjom uda Ci się rozwiązać problem. Gdy to zrobisz, prześlij poprawkę "upstream", abyśmy mogli udostępnić poprawkę pozostałym członkom projektu i innym społecznościom. To jest kluczowa zaleta korzystania z oprogramowania Open Source - dzielimy się mim wszyscy.
+
+[h3]Jestem głupi. Nie wiem, co jest nie tak.[/h3]
+
+W tej sytuacji warto omówić tę kwestię na jednym z forów internetowych. Może być ich kilka, a niektóre mogą bardziej pasować do Twojego ojczystego języka. W tej chwili kanał "Hubzilla Support" (support@zotadel.net) jest zalecanym forum do omawiania błędów.
+
+Jeśli członkowie społeczności z wykształceniem i doświadczeniem w zakresie inżynierii oprogramowania nie mogą Ci od razu pomóc, zrozum, że są wolontariuszami i mogą mieć dużo innej pracy i zobowiązań w tym czasie. W tym momencie musisz zgłosić błąd. Aby to zrobić, będziesz potrzebować konta na framagit.org. Zarejestruj się, a następnie odwiedź https://framagit.org/hubzilla/core/issues. Utwórz tutaj problem i podaj wszystkie te same informacje, które podałeś online. Nie pomijaj niczego.
+
+Następnie musisz zaczekać. Jeśli jest to poważny problem, może zostać szybko rozwiązany, ale nikt nie jest odpowiedzialny za naprawianie błędów. Jeśli problem utrzymuje się bez rozwiązania, poświęć trochę czasu na zbadanie samemu problemu. Zapytaj o wszystko, czego nie rozumiesz a co jest związane z tym problemem. Dowiesz się więcej o tym, jak działa oprogramowanie i prawdopodobnie dowiesz się, dlaczego teraz nie działa. Ostatecznie to ktoś w społeczności ma zamiar to naprawić, a ty jesteś członkiem społeczności. Tak właśnie działa proces Open Source.
+
+Inne osoby pracujące nad rozwiązaniem problemu mogą potrzebować dowiedzieć się więcej, więc odrób swoją pracę domową i udokumentuj, co się dzieje i wszystko, czego próbowałeś. Nie mów "Zrobiłem xyz i to nie działa". To nam nic nie mówi. Powiedz nam dokładnie, jakie kroki podjąłeś i jaki był rezultat, a także co się w rezultacie wydarzyło. Jaką stronę (URL) przeglądałeś lub jaki formularz wypełniałeś? Jeśli były jakieś komunikaty o błędach, nie mów "wystąpił komunikat o błędzie". Powiedz nam dokładnie, o czym była wiadomość. Powiedz nam również, z jakiego huba korzystasz, jakiej wersji oprogramowania używasz i wszelkie inne szczegóły, które mogą być unikalne na temat konfiguracji Twojej witryny. Rozumie się, że możesz chcieć zachować prywatność niektórych informacji i swoich połączeń, jednak jeśli nie chcesz udostępniać informacji potrzebnych innym osobom do odtworzenia i rozwiązania problemu, może on nie zostać naprawiony.
+
diff --git a/doc/pl/checking_account_quota_usage.bb b/doc/pl/checking_account_quota_usage.bb
new file mode 100644
index 000000000..b2cc0075c
--- /dev/null
+++ b/doc/pl/checking_account_quota_usage.bb
@@ -0,0 +1,20 @@
+[b]Sprawdzanie wykorzystania limitu konta (wykorzystanie limitów usług)[/b]
+
+Na Twoim hubie mogą zostać zaimplementowane limity klas usług, przypisujące ograniczenia do całkowitego rozmiaru miejsca na plików i zdjęci, ilosci kanałów i postów najwyższego poziomu, jakie może utworzyć właściciel konta dla określonego poziomu usług i inne ograniczenia.
+
+Oto, jak możesz szybko sprawdzić, ile z przydzielonego limitu aktualnie używasz:
+
+[b]Sprawdenie poziom limitów przechowywania plików[/b]
+Odwiedź nastęþujący adres URL w przeglądarce:
+[observer=1][observer.baseurl]/filestorage/[observer.webname][/observer]
+[observer=0]example.com/filestorage/username[/observer]
+
+[b]Sprawdenie poziomu limitów miejsca na przesłane zdjęcia[/b]
+[observer=1][observer.baseurl]/photos/[observer.webname][/observer]
+[observer=0]example.com/photos/username[/observer]
+
+Przykład:
+[observer=1][observer.baseurl]/filestorage/[observer.webname][/observer]
+[observer=0]example.com/filestorage/username[/observer]
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/pl/general.bb b/doc/pl/general.bb
new file mode 100644
index 000000000..0dc15ea91
--- /dev/null
+++ b/doc/pl/general.bb
@@ -0,0 +1,18 @@
+[h2]Informacja o projekcie i serwisie[/h2]
+[h3]$Projectname[/h3]
+[zrl=[baseurl]/help/Privacy]Polityka prywatności[/zrl]
+[zrl=[baseurl]/help/project/governance]ZarzÄ…dzanie projektem[/zrl]
+[zrl=[baseurl]/help/contributor/convenant]Porozumienie projektowe i kodeks postępowania[/zrl]
+
+[h3]Źródła zewnętrzne[/h3]
+[zrl=[baseurl]/help/external-resource-links]Wykaz zasobów zewnętrznych[/zrl]
+[url=https://framagit.org/hubzilla/core/]Główna witryna internetowa[/url]
+[url=https://framagit.org/hubzilla/addons]Witryna dodatków[/url]
+[url=[baseurl]/help/credits]Podziękowania od $Projectname[/url]
+[h3]O tym hubie $Projectname[/h3]
+[zrl=[baseurl]/help/TermsOfService]Warunki świadczenia usług dla tego huba[/zrl]
+[zrl=[baseurl]/siteinfo]Inormacja o hubie (/siteinfo)[/zrl]
+[zrl=[baseurl]/siteinfo/json]Szczegółowe informacje techniczne w formacie JSON(/siteinfo/json)[/zrl]
+
+#include doc/macros/main_footer.bb;
+
diff --git a/doc/pl/main.bb b/doc/pl/main.bb
new file mode 100644
index 000000000..24caa1453
--- /dev/null
+++ b/doc/pl/main.bb
@@ -0,0 +1,20 @@
+[img][baseurl]/images/hubzilla-banner.png[/img]
+
+[zrl=[baseurl]/help/about]Co to jest $Projectname?[/zrl]
+$Projectname to bezpłatny i otwartoźródłowy zestaw aplikacji i usług internetowych działających na specjalnym serwerze internetowym, zwanym "hubem", który może łączyć się z innymi hubami w sfederalizowanej sieci internetowej.
+
+[zrl=[baseurl]/help/features]Możliwości $Projectname[/zrl]
+$Projectname zapewnia użytkownikom zaawansowaną komunikację, tożsamości i usług kontroli dostępu, które bezproblemowo współpracują w różnych domenach i niezależnych witrynach internetowych. Pozwala użytkownikom [b]publicznie[/b] lub [b]prywatnie[/b] publikować treści za pośrednictwem "kanałów" (ang. channel), które są podstawowymi, zabezpieczonymi kryptograficznie tożsamościami zapewniającymi uwierzytelnianie niezależnie od hubów, które je hostują. To rewolucyjne wyzwolenie tożsamości online z poszczególnych serwerów i domen jest nazywane "tożsamością nomadyczną" i jest oparte na protokole Zot, nowej strukturze zdecentralizowanej kontroli dostępu ze szczegółowymi, rozszerzalnymi uprawnieniami.
+Z praktycznego punktu widzenia członków danego huba, korzystających z oprogramowania $Projectname, oferuje ono szereg znanych, zintegrowanych aplikacji i usług internetowych, w tym:
+[ul]
+[li]wątki dyskusyjne w sieciach społecznościowych[/li]
+[li]przechowywanie plików w chmurze[/li]
+[li]kalendarz i kontakty (z obsługą CalDAV i CardDAV)[/li]
+[li]hosting stron internetowych z systemem zarządzania treścią[/li]
+[li]wiki[/li]
+[li]i dużo więcej ...[/li][/ul]
+Chociaż wszystkie te aplikacje i usługi można znaleźć w innych pakietach oprogramowania, tylko $Projectname pozwala ustawić uprawnienia dla grup i osób, [b]które mogą nawet nie mieć kont na Twoim hubie[/b]! W typowych aplikacjach internetowych, jeśli chcesz udostępniać rzeczy prywatnie w Internecie, osoby, którym udostępniasz dane, muszą mieć konta na serwerze, na którym znajdują się Twoje dane; w przeciwnym razie serwer nie może uwierzytelniać odwiedzających witrynę, aby wiedzieć, czy przyznać im dostęp. $Projectname rozwiązuje ten problem za pomocą zaawansowanego systemu zdalnego uwierzytelniania, który weryfikuje tożsamość odwiedzających, wykorzystując techniki obejmujące kryptografię klucza publicznego.
+Dzięki oferowanym aplikacjom, $Projectname świetnie się nadaje do budowy platformy komunikacyjno-publikacyjnej o charkterze społecznościowym dla realnych grup społecznych, takich jak rodziny, lokalne grupy, organizacje społeczne, środowiska szkolne, wspólnoty mieszkańców czy wspólnoty religijne.
+
+[zrl=[baseurl]/help/what_is_zot]Co to jest Zot?[/zrl]
+Jest to nowy protokół, oparty na JSON, do wdrażania bezpiecznej, zdecentralizowanej komunikacji i usług. Różni się od wielu innych protokołów komunikacyjnych, budując komunikację na podstawie zdecentralizowanej struktury tożsamości i uwierzytelniania. Składnik uwierzytelniania jest koncepcyjnie podobny do OpenID, ale jest odizolowany od tożsamości opartej na DNS. Tam, gdzie to możliwe, zdalne uwierzytelnianie jest ciche i niewidoczne. Zapewnia to mechanizm kontroli dostępu rozproszonego na skalę sieci WWW, który jest dyskretny.
diff --git a/doc/pl/member/assets/qr_text_to_post.png b/doc/pl/member/assets/qr_text_to_post.png
new file mode 100644
index 000000000..887c85492
--- /dev/null
+++ b/doc/pl/member/assets/qr_text_to_post.png
Binary files differ
diff --git a/doc/pl/member/assets/zat_dialog.png b/doc/pl/member/assets/zat_dialog.png
new file mode 100644
index 000000000..892964e95
--- /dev/null
+++ b/doc/pl/member/assets/zat_dialog.png
Binary files differ
diff --git a/doc/pl/member/bbcode.html b/doc/pl/member/bbcode.html
new file mode 100644
index 000000000..655c021ee
--- /dev/null
+++ b/doc/pl/member/bbcode.html
@@ -0,0 +1,343 @@
+<style>
+ section {
+ display: inline-block;
+ overflow-x: scroll;
+ }
+</style>
+<h2>Informator o BBCode</h2>
+<p>
+W Hubzilla stosowana jest własna odmiana BBCode. Niniejszy informator jest
+treściwym opisem składni tej odmiany BBCode.
+</p>
+
+<h3>Dekracja tekstu</h3>
+<table class="table table-responsive table-bordered">
+ <tbody>
+ <tr>
+ <th>Składnia BBcode</th><th>Tekst formatowany</th>
+ </tr>
+ <tr>
+ <td><code>[b]pogrubiony[/b]</code></td><td><strong>pogrubiony</strong></td>
+ </tr>
+ <tr>
+ <td><code>[i]pochyły[/i]</code></td><td><em>pochyły</em></td>
+ </tr>
+ <tr>
+ <td><code>[u]podkreślony[/u]</code></td><td><u>podkreślony</u></td>
+ </tr>
+ <tr>
+ <td><code>[s]przekreślony[/s]</code></td><td><strike>przekreślony</strike></td>
+ </tr>
+ <tr>
+ <td><code>[color=red]czerwony[/color]</code></td><td><span style="color: red;">czerwony</span></td>
+ </tr>
+ <tr>
+ <td><code>[hl]podświetlony[/hl]</code></td><td><span style="background-color: yellow;">podświetlony</span></td>
+ </tr>
+ <tr>
+ <td><code>[font=courier]jaiÅ› tekst[/font] </code></td><td><span style="font-family: courier;">jakiÅ› tekst</span></td>
+ </tr>
+ <tr>
+ <td><code>[quote]cytat[/quote]</code></td><td><blockquote>cytat</blockquote></td>
+ </tr>
+ <tr>
+ <td><code>[quote=Author]Autor? Ja? Nie, nie, nie...[/quote]</code></td><td><strong class="author">Autor napisał:</strong><blockquote>Autor? Ja? Nie, nie, nie...</blockquote></td>
+ </tr>
+ <tr>
+ <td><code>
+ [size=small]tekst mały (small)[/size]<br>
+ [size=xx-large]tekst wielki (xx-large)[/size]<br>
+ [size=20]tekst z czcionkÄ… 20px[/size]<br>
+ </code>
+ Opcje rozmiaru obejmują: <strong>xx-small, small, medium, large, xx-large</strong></td><td><span style="font-size: small;">tekst mały (small)</span><br><span style="font-size: xx-large;">tekst wielki ()xx-large)</span><br><span style="font-size: 20px;">tekst z czcionką 20px</span></td>
+ </tr>
+ <tr>
+ <td><code>Dodanie poziomego paska
+[hr]
+Tak jak to
+ </code></td><td>
+ Dodanie poziomego paska<br><hr><br>Tak jak to
+ </td>
+ </tr>
+ <tr>
+ <td><code>To jest
+[center]wyśrodkowany[/center]
+tekst</code></td><td>
+ To jest<br><div style="text-align:center;">wyśrodkowany</div><br>tekst
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h3>Bloki kodu</h3>
+Kod można renderować generalnie w formacie blokowym lub wbudowanym (w zależności od tego, czy w tekście znajdują się znaki nowego wiersza) lub można określić obsługiwany język dla rozszerzonego podświetlania składni. Podświetlanie składni wymaga odpowiedniej wtyczki renderującej, takiej jak <strong>hilite</strong>. Obsługiwane języki z wtyczką hilite to <strong>php, css, mysql, sql, abap, diff, html, perl, ruby, vbscript, avrc, dtd, java, xml, cpp, python, javascript, js, json, sh</strong>.
+<br><br>
+Jeśli wtyczka renderująca nie jest zainstalowana lub określono nieobsługiwany język, dane wyjściowe bloków kodu z podświetleniem składni są takie same, jak znacznik kodu formatu bloku.
+<br><br>
+<table class="table table-responsive table-bordered">
+ <tbody>
+ <tr>
+ <th>Składnia BBcode</th><th>Wyjście</th>
+ </tr>
+ <tr>
+ <td><code>[code]funkcja bbcode() { }[/code]</code></td><td><code>funkcja bbcode() { }</code></td>
+ </tr>
+ <tr>
+ <td><code>[code=php]funkcja bbcode() {<br>
+ $variable = true;<br>
+ if( $variable ) {<br>
+ echo "true";<br>
+ }<br>
+}[/code]</code></td><td><code><div class="hl-main"><ol class="hl-main"><li><span class="hl-code">&nbsp;</span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">bbcode</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"></span></li><li><span class="hl-code">&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$variable</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;</span></li><li><span class="hl-code">&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-var">$variable</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"></span></li><li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">echo</span><span class="hl-code"> </span><span class="hl-quotes">"</span><span class="hl-string">true</span><span class="hl-quotes">"</span><span class="hl-code">;</span></li><li><span class="hl-code">&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span><span class="hl-code"></span></li><li><span class="hl-code">&nbsp;</span><span class="hl-brackets">}</span></li></ol></div></code></td>
+ </tr>
+ <tr>
+ <td><code>[nobb][nobb]W ten sposób [i]możesz[/i]
+[u]pokazać[/u] jak użyć składnię
+[hl]BBcode[/hl][/nobb][/nobb]</code></td><td>[nobb]W ten sposób [i]możesz[/i] [u]pokazać[/u] jak uzyć składnię []hl]BBcode[/hl][/nobb]</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3>Listy</h3>
+<table class="table table-responsive table-bordered">
+ <tbody>
+ <tr>
+ <th>Składnia BBcode</th><th>Wyrenderowana lista</th>
+ </tr>
+ <tr>
+ <td><code>[ul]<br>
+[*] Pierwszy element listy<br>
+[*] Drugo element listy<br>
+[/ul]</code></td><td><ul class="listbullet" style="list-style-type: circle;"><li> Pierwszy element listy</li><li> Drugi element listy<br></li></ul></td>
+ </tr>
+ <tr>
+ <td><code>[ol]<br>
+[*] Pierwszy element listy<br>
+[*] Drugi element listy<br>
+[/ol]</code></td><td><ul class="listdecimal" style="list-style-type: decimal;"><li> Pierwszy element listy</li><li> Drugi element listy<br></li></ul></td>
+ </tr>
+ <tr>
+ <td><code>[list=A]<br>
+[*] Pierwszy element listy<br>
+[*] Drugi element listy<br>
+[/list]</code>
+ Elementami listy sÄ… <code>1, i, I, a, A</code>.</td><td><ul class="listupperalpha" style="list-style-type: upper-alpha;"><li> Pierwszy element listy</li><li> Drugi element listy</li></ul></td>
+ </tr>
+ <tr>
+ <td><code>[dl terms="b"]<br>
+[*= Pierwsze hasło] Opis pierwszego hasła<br>
+[*= Drugie hasło] Opis drugiego hasła<br>
+[/dl]</code>
+ Opcje stylu <strong>hasła</strong> mogą być kombinacją tekstu:
+ <dl class="bb-dl dl-horizontal">
+ <dt>b</dt><dd> z czcionkÄ… bold</dd>
+ <dt>i</dt><dd> z czcionkÄ… italic</dd>
+ <dt>u</dt><dd> z czcionkÄ… underline</dd>
+ <dt>m</dt><dd> z czcionkÄ… monospace</dd>
+ <dt>l</dt><dd> z czcionkÄ… large</dd>
+ <dt>h</dt><dd>poziomego &mdash; tak jak <em>tta</em> lista definicyjna</dd>
+ </dl>
+ </td><td><dl class="bb-dl dl-terms-bold">
+<dt> Pierwsze hasło</dt><dd> Opis pierwszego hasła<br></dd>
+<dt> Drugie hasło</dt><dd> Opis drugiego hasła<br></dd></dl></td>
+ </tr>
+ </tbody>
+</table>
+
+<h3>Tabele</h3>
+
+<table class="table table-responsive table-bordered">
+ <tbody>
+ <tr>
+ <th>Składnia BBcode</th><th>Wyrenderowana tabela</th>
+ </tr>
+ <tr>
+ <td><code>[table border=0]<br>
+[tr]<br>
+[th]Nagłówek 1[/th][th]Nagłówek 2[/th]<br>
+[/tr]<br>
+[tr][td]Treść[/td][td]Treść[/td][/tr]<br>
+[tr][td]Treść[/td][td]Treść[/td][/tr]<br>
+[/table]</code></td><td><table class="table table-responsive"><tbody><tr><th>Nagłówek 1</th><th>Nagłówek 2</th></tr>
+<tr><td>Content</td><td>Content</td></tr><tr><td>Treść</td><td>Treść</td></tr></tbody></table></td>
+ </tr>
+ <tr>
+ <td><code>[table border=1]<br>
+[tr]<br>
+[th]Nagłówek 1[/th][th]Nagłówek 2[/th]<br>
+[/tr]<br>
+[tr][td]Treść[/td][td]Treść[/td][/tr]<br>
+[tr][td]Treść[/td][td]Treść[/td][/tr]<br>
+[/table]</code></td><td><table class="table table-responsive table-bordered"><tbody><tr><th>Nagłówek 1</th><th>Nagłówek 2</th></tr>
+<tr><td>Content</td><td>Content</td></tr><tr><td>Treść</td><td>Treść</td></tr></tbody></table></td>
+ </tr>
+ <tr>
+ <td><code>[table]<br>
+[tr]<br>
+[th]Nagłówek 1[/th][th]Nagłówek 2[/th]<br>
+[/tr]<br>
+[tr][td]Treść[/td][td]Treść[/td][/tr]<br>
+[tr][td]Treść[/td][td]Treść[/td][/tr]<br>
+[/table]</code></td><td><table><tbody><tr><th>Nagłówek 1</th><th>Nagłówek 2</th></tr><tr><td>Treść</td><td>Treść</td></tr><tr><td>Treść</td><td>Treść</td></tr></tbody></table>
+</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3>Odnośniki i treść osadzona</h3>
+
+<table class="table table-responsive table-bordered">
+ <tbody>
+ <tr>
+ <th>Składnia BBcode</th><th>Wyjście</th>
+ </tr>
+ <tr>
+ <td><code>[video]URL wideo[/video]<br>
+[audio]URL audio[/audio]</code></td><td></td>
+ </tr>
+ <tr>
+ <td><code>[url=https://hubzilla.org]Hubzilla[/url]</code></td><td><a href="https://hubzilla.org" target="_blank">Hubzilla</a></td>
+ </tr>
+ <tr>
+ <td><code>Obraz [img]https://example.org/image.jpg[/img]
+w jakimś tekście </code></td><td>
+ Obraz <img src="/images/default_profile_photos/rainbow_man/48.jpg" alt="Image/photo"> w jakimś tekście
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+
+<h3>Kod specyficzny dla $Projectname</h3>
+
+<table class="table table-responsive table-bordered">
+ <tbody>
+ <tr>
+ <th>Składnia BBcode</th><th>Wyjście</th>
+ </tr>
+ <tr>
+ <td>Wersja tagu [url] wykorzystujÄ…ca magiczne uwierzytelnianie
+ <code>[zrl=https://hubzilla.org]Link rozpoznający tożsamość[/zrl]</code>
+ </td><td><code>https://hubzilla.org/?zid=[observer=1][observer.address][/observer][observer=0]your_channel@your.home.hub[/observer]</code></td>
+ </tr>
+ <tr>
+ <td>Wersja tagu [img] wykorzystujÄ…ca magicznÄ… uwierzytelnianie
+ <code>[zmg]https://hubzilla.org/some/photo.jpg[/zmg]</code>
+ </td><td>Obraz jest widoczny tylko dla osób uwierzytelnionych i za zgodą właściciela kanału.</td>
+ </tr>
+ <tr>
+ <td>Wyjście zależne od obserwatora:<code>
+ [nobb][observer=1]Tekst do wyświetlenia, jeśli obserwator JEST uwierzytelniony[/observer][/nobb]
+ </code></td><td></td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer=0]Tekst wyświetlany, jeśli obserwator NIE JEST uwierzytelniony[/observer][/nobb]
+ </code>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer.language=en]Tekst wyświetlany, jeśli językiem obserwatora jest angielski[/observer][/nobb]
+ </code>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer.language!=de]Tekst wyświetlany, jeśli językiem obserwatora nie jest język niemiecki[/observer][/nobb]
+ </code>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer.url][/nobb]
+ </code>
+ </td>
+ <td>adres URL kanału obserwatora</td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer.baseurl][/nobb]
+ </code>
+ </td>
+ <td>witryna WWW obserwatora</td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer.name][/nobb]
+ </code>
+ </td>
+ <td>nazwa obserwatora</td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer.webname][/nobb]
+ </code>
+ </td>
+ <td>krótka nazwa w adresie URL obserwatora</td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer.address][/nobb]
+ </code>
+ </td>
+ <td>adres (ZOT-id) obserwatora</td>
+ </tr>
+ <tr>
+ <td>
+ <code>
+ [nobb][observer.photo][/nobb]
+ </code>
+ </td>
+ <td>zdjęcie profilowe obserwatora</td>
+ </tr>
+ <tr>
+ <td><code>Co to jest spoiler?<br>
+ [spoiler]Tekst, który chcesz ukryć.[/spoiler]</code></td><td>
+ Co to jest spoiler? <div onclick="openClose('opendiv-1131603764'); return false;" class="fakelink">Kliknij, aby otworzyć/zamknąć</div><blockquote id="opendiv-1131603764" style="display: none;">Tekst, który chcesz ukryć.</blockquote>
+ </td>
+ </tr>
+ <tr>
+ <td><code>[toc data-toc='div.page-body' data-toc-headings='h1,h2']</code><br>
+Utwórz spis treści na stronie internetowej lub stronie wiki. Proszę zapoznać się z <a href="http://ndabas.github.io/toc/" target="_blank">oryginalnym widżetem TOC jQuery</a> aby uzyskać więcej informacji.
+ <ul>
+ <li>Opcjonalny parametr: 'data-toc'. JeÅ›li pominiÄ™ty, domyÅ›lnÄ… wartoÅ›ciÄ… jest „bodyâ€</li>
+ <li>Opcjonalny parametr: 'data-toc-headings'. JeÅ›li pominiÄ™ty, wartość domyÅ›lna to „h1, h2, h3â€</li>
+ </ul></td><td></td>
+ </tr>
+ <tr>
+ <td><code>[nobb][rpost=title]Tekst do publikacji[/rpost][/nobb]</code><br>
+Obserwator wróci do swojego macierzystego huba, aby wprowadzić post z określonym tytułem i treścią. Obie opcje są opcjonalne</td><td><a href="[baseurl]/rpost?f=&amp;title=title&amp;body=Text+to+post" target="_blank">[baseurl]/rpost?f=&amp;title=title&amp;body=Text+to+post</a></td>
+ </tr>
+ <tr>
+ <td>Wymaga to wtyczki <a href="https://framagit.org/hubzilla/addons/tree/master/qrator"><strong>qrator</strong></a>.<br><code>[qr]tekst do publikacji[/qr]</code></td><td><img src="/doc/member/assets/qr_text_to_post.png"></td>
+ </tr>
+ <tr>
+ <td>Wymaga to odpowiedniej wtyczki mapy, takiej jak <strong><a href="https://framagit.org/hubzilla/addons/tree/master/openstreetmap">openstreetmap</a></strong>.
+ <code>[map]</code></td><td>Wygenerowanie wbudowanej mapy przy użyciu aktualnych współrzędnych plakatu w przeglądarce, jeśli lokalizacja przeglądarki jest włączona</td>
+ </tr>
+ <tr>
+ <td>Wymaga to odpowiedniej wtyczki mapy, takiej jak <strong><a href="https://framagit.org/hubzilla/addons/tree/master/openstreetmap">openstreetmap</a></strong>.
+ <code>[map=latitude,longitude]</code></td><td>Wygenerowanie mapy przy wykorzystaniu współrzędnych globalnych.</td></tr>
+ <tr>
+ <td>Wymaga to odpowiedniej wtyczki mapy, takiej jak <strong><a href="https://framagit.org/hubzilla/addons/tree/master/openstreetmap">openstreetmap</a></strong>.
+ <code>[map]Nazwa miejsca[/map]</code></td><td>
+Wygenerowanie mapy dla podanej nazwanej lokalizacji. Zwracana jest pierwsza pasująca lokalizacja. Na przykład „Sydney†zazwyczaj zwraca Sydney w Australii, a nie Sydney w Nowej Szkocji w Kanadzie, chyba że określono dokładniejszą lokalizację. Zdecydowanie zalecamy skorzystanie z narzędzia podglądu posta, aby upewnić się, że masz prawidłową lokalizację przed wysłaniem postu.
+</td>
+ </tr>
+ <tr>
+ <td><code>[&amp;copy;]</code></td><td> &copy; </td>
+ </tr>
+ </tbody>
+</table>
diff --git a/doc/pl/member/member_faq.bb b/doc/pl/member/member_faq.bb
new file mode 100644
index 000000000..1da05ef92
--- /dev/null
+++ b/doc/pl/member/member_faq.bb
@@ -0,0 +1,11 @@
+[h3]Najczęściej zadawane pytania[/h3]
+[h4]Mogę edytować tekst postu po jego zapisaniu, ale czy istnieje sposób na zmianę uprawnień?[/h4]
+Krótka odpowiedź: Nie, nie ma takiej mozliwości. Są ku temu istotne powody. Możesz zmienić uprawnienia do swoich plików, zdjęć i polubień, ale nie do postów po ich zapisaniu. Główny powód jest taki, że po zapisaniu posta jest on rozpowszechniony albo na kanał publiczny, a stamtąd na inne serwery $Projectname albo do tych, do których miał trafić. Tak jak nie możesz odzyskać czegoś, co dałeś innej osobie, nie możesz zmienić uprawnień do postów w $Projectname. Musielibyśmy śledzić wszędzie, gdzie trafia Twój wpis, śledzić wszystkich, którym pozwoliłeś go zobaczyć, a następnie śledzić, od kogo go usunąć.
+Jeśli post jest publiczny, jest to jeszcze trudniejsze, ponieważ $Projectname to globalna sieć i nie ma możliwości śledzenia posta, nie mówiąc już o jego niezawodnym odzyskaniu. Inne sieci, które mogą otrzymały Twój post, nie mają niezawodnego sposobu usunięcia lub odzyskania posta.
+[h4]Pobrałem swój kanał i zaimportowałem go (sklonowałem swoją tożsamość) do innej witryny, ale nie ma treści, postów ani zdjęć. Co jest nie tak???[/h4]
+Posty i zdjÄ™cia oraz inne pliki sÄ… dostarczane niezależnie od podstawowych informacji o kanale. Wynika to z ograniczeÅ„ pamiÄ™ci zwiÄ…zanych z przechowywaniem rozmów i archiwizowania zdjęć. Wpisy i rozmowy mogÄ… być synchronizowane niezależnie od podstawowych informacji o kanale. ZdjÄ™cia i archiwa plików można przesyÅ‚ać za pomocÄ… wtyczki, takiej jak „redfilesâ€, która obecnie jest oznaczona jako „eksperymentalnaâ€. TworzÄ…c tÄ™ funkcjÄ™, pomyÅ›leliÅ›my, że najważniejsze jest zachowanie wszystkich kontaktów. Twoi znajomi widzieli już Twoje stare treÅ›ci. Posty i rozmowy miaÅ‚y nastÄ™pny priorytet i można je teraz synchronizować. Pliki i zdjÄ™cia sÄ… ostatnim elementem, który caÅ‚kowicie dziaÅ‚a. Kiedy znajdziemy kogoÅ› chÄ™tnego do zakoÅ„czenia wdrażania tego, bÄ™dzie to zrobione. :)
+[h4]Nie widzę zasobów prywatnych[/h4]
+Prawdopodobnie wyłączone są pliki cookie stron trzecich. Musisz je włączyć, aby zdalne uwierzytelnianie działało.
+[h4]Jest wiele obcojęzycznych postów. Przetłumaczmy je automatycznie.[/h4]
+Istnieje również wiele [b]prywatnych[/b] obcojęzycznych postów, ale usługi automatycznego tłumaczenia wymagałyby od nas przekazywania tych prywatnych wiadomości do usługi tłumaczeniowej. Nie wiemy, jak zostaną one wykorzystane na tych serwisach. Właściwie to wiemy, dzięki Edwardowi Snowdenowi. Naszym najlepszym rozwiązaniem jest projekt o nazwie [b][i]Apertium[/i][/ b], który jest tłumaczem open source, który możemy zainstalować lokalnie. Obecnie brakuje tłumaczeń na język niemiecki - które są najczęściej żądanymi tłumaczeniami w matrycy. Po raz kolejny zostanie to zrealizowane, gdy znajdziemy kogoś, kto naprawdę chce, aby to się stało.
+
diff --git a/doc/pl/member/member_guide.bb b/doc/pl/member/member_guide.bb
new file mode 100644
index 000000000..d7f559c9e
--- /dev/null
+++ b/doc/pl/member/member_guide.bb
@@ -0,0 +1,1024 @@
+[h3]PrzeglÄ…d[/h3]
+
+Chociaż wiele funkcji i możliwości Hubzilli jest znanych osobom, które korzystały z serwisów społecznościowych i oprogramowania do blogowania, istnieje również sporo nowych koncepcji i funkcji, z którymi większość osób wcześniej się nie zetknęła. Niektóre z nowych pomysłów są związane ze zdecentralizowanym charakterem sieci; inne są związane z zaawansowanym systemem uprawnień, który jest niezbędny do ochrony prywatności danych. Celem tego przewodnika jest pomóc w zrozumieniu, jak tworzyć, konfigurować i używać tożsamość nomadyczną.
+
+[h3]Rejestracja[/h3]
+
+Nie wszystkie serwisy oparte na $Projectname umożliwiają otwartą rejestrację. Jeśli rejestracja jest dozwolona, zobaczysz łącze &quot;Rejestracja&quot; bezpośrednio pod formularzem logowania na stronie głównej serwisu. Kliknięcie tego linku przeniesie Ciebie do strony rejestracyjnej. W niektórych serwisach. link ten może przekierować do innej witryny, która umożliwia rejestrację. Ponieważ wszystkie serwisy Hubzilla są połączone, nie ma znaczenia, gdzie znajduje się Twoje konto.
+
+[b]Twój ades e-mail[/b]
+
+Proszę o wprowadzenie poprawnego adresu e-mail. Twój adres e-mail nigdy nie jest publikowany. Ten adres będzie używany do aktywacji konta, do ewentualnego wysyłania powiadomień o przychodzących wiadomościach lub wpisach oraz do odzyskiwania utraconych haseł.
+
+[b]Hasło[/b]
+
+Wprowadź wybrane hasło i powtórz je w drugim polu, aby upewnić się, że zostało wpisane poprawnie. Ponieważ Hubzilla oferuje zdecentralizowaną tożsamość, Twoje konto może zalogować Cię do wielu innych serwisów internetowych sieci Hubzilla.
+
+[b]Regulamin serwisu[/b]
+
+Kliknij to łącze, aby przeczytać dokument [zrl=[baseurl]/help/TermsOfService]Regulamin serwisu[/zrl]. Po ich przeczytaniu zaznacz pole w formularzu rejestracyjnym, aby to potwierdzić.
+
+[b]Rejestracja[/b]
+
+Po podaniu niezbÄ™dnych informacji, kliknij przycisk „Zarejestruj siÄ™â€. Niektóre serwisy mogÄ… wymagać zatwierdzenia rejestracji przez administratora, zanim zostanie ona przetworzona, o czym osoba rejestrujÄ…ca siÄ™ zostanie powiadomiona. Trzba wiÄ™c Å›ledzić swojÄ… pocztÄ™ e-mail (w tym folder ze spamem) w celu potwierdzenia rejestracji.
+
+[h3]Kanały[/h3]
+
+[h4][b]Co to są kanały?[/b][/h4]
+
+Kanały to zbiory treści powiązane z profilem. Kanał może mieć różną formę. Może reprezentować Ciebie (kanał osobisty), być witryną internetową, forum, albumem ze zdjęciami, czymkolwiek. Dla większości osób pierwszym kanałem jest kanał osobisty, reprezentujący tą osobę.
+
+Najważniejsze cechy kanału, który reprezentuje &quot;Ciebie&quot;, to:
+[ul]
+[*]Bezpieczna i prywatna komunikacja &quot;wolna od spamu&quot;
+
+[*]Tożsamość i &quot;pojedyncze logowanie&quot; w całej sieci Hubzilla;
+
+[*]Kotrola prywatności i uprawnienia, które obejmują całą sieć;
+
+[*]Usugi katalogowe (np. Książka telefoniczna).
+[/ul]
+Krótko mówiąc, kanał, który reprezentuje Ciebie, &quot;opisuje Ciebie w internecie&quot;.
+
+[h4][b]Uprawnienia w kanale oparte na rolach[/b][/h4]
+
+W celu uproszczenia zarządzaniem uprawnieniami w kanałach, w Hubzilla wprowadzono &quot;role uprawnieniowe&quot;. Podczas tworzenia nowego kanału użytkownik jest proszony o wybranie roli jaką ma pełnić kanał. Z każdą z takich ról związany jest zestaw uprawnień. Najpopularniejszą rolą uprawnień jest rola sieci społecznościowej. Ma się wiele innych możliwości, dzięki opcjom, które są analogiczne do grup i stron na Facebooku, przestrzeni współpracy, kanałów aktualności (RSS) i nie tylko. Te role automatycznie konfigurują kilka różnych zmiennych systemowych, od uprawnień przyznanych znajomym, po domyślne ustawienia prywatności i opcje widoczności. Dostępne są zaawansowane konfiguracje, które umożliwiają dostosowanie każdego z tych parametrów do własnych potrzeb. Stwierdziliśmy jednak, że większość ludzi woli &quot;ustawić i zapomnieć&quot;. Dalej opisano niektóre z różnych ról, które są obecnie dostępne oraz ich wpływ na prywatność uzytkownika i zdolność do interakcji.
+
+[h5][b]Kanał społecznościowy[/b][/h5]
+
+[b]- federacyjny[/b]
+
+Kanał tego rodzaju jest bardzo liberalnym profilem społecznościowym, który jest kompatybilny z innymi federacyjnymi sieciami społecznościowymi. Zasady zezwoleń są podobne do Twittera i w większości zgodne z Diasporą i Mastodonem. Prywatność ma niższy priorytet niż łatwość dostępu i łączenia się z innymi. Każdy w sieci Fediverse może komentować Twoje publiczne wpisy i wysyłać Ci prywatną pocztę. Domyślnie posty i inne publikowane elementy są publiczne, ale można do nich ograniczyć dostęp przy ich tworzeniu. Jesteś wymieniony w katalogu. Twoja obecność w Internecie i połączenia są widoczne dla innych. Ten tryb może zwiększyć narażenie na niepożądaną komunikację i spam. Rola ta nie jest ogólnie zalecana, chyba że musisz regularnie kontaktować się z członkami innych sieci.
+
+[b]- przeważnie publiczny[/b]
+
+Kanał jest typowym profilem społecznościowym. Twoje wpisy i opublikowane elementy są domyślnie publiczne, ale możesz to zmienić podczas tworzenia elementu i ograniczyć dostęp do niego. Jesteś wymieniony w katalogu. Twoja obecność w Internecie i połączenia są widoczne dla innych. Tylko osoby z bezpośrednich kontaktów mogą komentować Twoje publiczne wpisy i wysyłać Ci prywatną pocztę. Zasady pozwoleń są podobne do Facebooka.
+
+[b]- ograniczony[/b]
+
+Domyślnie wszystkie wpisy i opublikowane elementy są wysyłane do prywatnej grupy prywatności "Znajomi" i nie są upubliczniane. Do tej grupy prywatności są dodawani nowi znajomi. Jeśli chcesz, możesz to zmienić i utworzyć publiczny wpis lub inny publicznie dostępny element. Jesteś wymieniony w katalogu. Twoja obecność online (na czacie) i Twoje kontakty (znajomi) są widoczne dla przeglądających Twój profil.
+
+[b]- prywatny[/b]
+
+Domyślnie wszystkie wpisy i opublikowane elementy są wysyłane do grupy prywatności "Znajomi". Do tej grupy dodawani są Twoi nowi znajomi. Możesz to zmienić i utworzyć publiczny wpis lub inny element publiczny, jeśli chcesz. NIE jesteś wymieniony w katalogu. Tylko osoby z Twoich kontaktów mogą zobaczyć Twoje inne połączenia. Twoja obecność w Internecie jest ukryta.
+
+
+[h5][b]Forum[/b][/h5]
+
+[b]- przeważnie publiczne[/b]
+
+Kanał typowy dla publicznego forum. Wpisy i publikowane elementy są domyślnie publiczne. Członkowie mogą publikować przez "!wzmiankę" lub wpis pełny. Zablokowane jest publikowanie zdjęć i innych elementów. Kanał jest widoczny w katalogu. Członkowie są dodawani automatycznie.
+
+[b]- ograniczone[/b]
+
+Domyślnie wszystkie wpisy i opublikowane elementy są wysyłane do grupy prywatności "Znajomi" kanału. Do tej grupy dodawani są nowi znajomi. Członkowie mogą publikować przez "!wzmiankę" lub wpis pełny, ale wpisy i odpowiedzi mogą być również widoczne dla innych odbiorców wpisów najwyższego poziomu, którzy nie są członkami. Kanał jest widoczny w katalogu. Członkowie muszą być ręcznie dodani przez właściciela forum.
+
+[b]- prywatne[/b]
+
+Domyślnie wszystkie wpisy i opublikowane elementy są wysyłane do grupy prywatności "Znajomi". Do tej grupy dodawani są nowi znajomi. Właściciel może to zmienić i w razie potrzeby utworzyć publiczny wpis lub element publiczny. Członkowie tego nie mogą. NIE jesteś wymieniony w katalogu. Tylko osoby z Twoich kontaktów mogą zobaczyć Twoje inne połączenia. Twoja obecność w Internecie jest ukryta. Członkowie muszą być dodani ręcznie przez właściciela forum. Wysyłanie przez "!wzmiankę" jest wyłączone. Wpisy można publikować wyłącznie za pośrednictwem wpisów pełnych i wysyłać do członków grupy prywatności "Znajomi". Nie są oni publicznie widoczni.
+
+[h5][b]Kanał RSS[/b][/h5]
+
+[b]- publiczny[/b]
+
+Podobne do kanału społecznościowego - głównie publicznego, ale dostosowany do źródeł kanałów RSS. Elementy mogą być swobodnie publikowane i pozyskiwane. Obecność w Internecie jest bez znaczenia, dlatego jest ukryta. Nowe połączenia są automatycznie zatwierdzane.
+
+
+[b]- ograniczony[/b]
+
+Kanał nie jest wymieniony w katalogu. Obecność w Internecie jest bez znaczenia, dlatego jest ukryta. Kanał jest publikowany tylko dla członków grupy prywatności "Przyjaciele". Nowe połączenia są automatycznie dodawane do tej grupy prywatności. Członkowie muszą zostać ręcznie zatwierdzeni przez właściciela kanału.
+
+
+[h5][b]Kanał specjalny[/b][/h5]
+
+[b]- celebrycki lub mównica[/b]
+
+Autorzy są wymienieni w katalogu. Komunikaty są domyślnie publiczne. Obecność w Internecie jest ukryta. Nie wolno komentować ani odpisywać w jakiejkolwiek formie, chociaż odwiedzający mogą "polubić" profil autora.
+
+
+[b]- repozytorium gupowe[/b]
+
+Forum publiczne, które umożliwia członkom publikowanie plików, zdjęć i stron internetowych.
+
+[h5][b]Tryb niestandardowy i ekspercki[/b][/h5]
+
+Prywatność i uprawnienia ustawia się ręcznie, aby dopasować je do swoich potrzeb.
+
+
+[h4][b]Tworzenie kanałów[/b][/h4]
+
+Po utworzeniu konta zostanie wyświetlony ekran &quot;Dodaj kanał&quot;. Zwykle pierwszym kanałem będzie ten, który reprezentuje Ciebie, więc użycie własnego imienia i nazwiska (lub pseudonimu) jako nazwy kanału jest dobrym pomysłem. Nazwę kanału należy traktować jako tytuł lub krótki opis kanału. Pole "Wybierz krótki pseudonim" jest podobne do pola "Nazwa użytkownika". Wykorzystamy wszystko, co tu wpiszesz, do utworzenia adresu kanału, którego będą używać inne osoby do łączenia się z Twoim kanałem, a Ty będziesz używać to do logowania się w innych witrynach. Wygląda to jak adres e-mail i ma postać [i]pseudonim@serwis_twojej_rejestracji.xyz[/i].
+
+Możesz tworzyć dodatkowe kanały, korzystając z odnośnika &quot;Menedżer kanałów&quot;.
+
+Gdy to zrobisz, Twój kanał będzie gotowy do użycia. Pod adresem [observer=1][observer.url][/observer][observer=0][baseurl]/channel/username[/observer] znajdziesz &quot;strumień&quot; swojego kanału. Tutaj pojawi się Twoja ostatnia aktywność w odwrotnej kolejności chronologicznej. Jeśli opublikujesz wpis w polu oznaczonym "udostępnij", wpis pojawi się u góry Twojego strumienia. Znajdziesz tu również linki do wszystkich innych obszarów komunikacji tego kanału. Menu z ikoną "hamburger" w większości motywów zapewnia nawigację do innych składników systemu i aplikacji. Strona "Zdjęcia" zawiera albumy ze zdjęciami, a strona "Wydarzenia" zawiera wydarzenia udostępnione przez Ciebie i Twoje kontakty.
+
+[h4][b]Profile[/b][/h4]
+
+W $Projectname użytkownik może mieć wiele profili. Można używać różnych profili, aby pokazać różne "strony siebie" różnym odbiorcom. Różni się to od posiadania różnych kanałów. Różne kanały pozwalają na przesyłanie zupełnie różnych zestawów informacji. Można mieć kanał dla siebie, kanał dla swojej drużyny sportowej, kanał dla swojej witryny internetowej lub cokolwiek innego. Profil pozwala na precyzyjne stopniowanie "aspektów" kanału. Na przykład Twój domyślny profil publiczny może mówić "Cześć, jestem Fred i lubię się śmiać". Możesz pokazać swoim bliskim znajomym profil z dopiskiem "i ja też lubię rzucać krasnoludami".
+
+Zawsze masz profil nazywany profilem "domyślnym" lub "publicznym". Ten profil jest zawsze ogólnodostępny i nie można go ukryć (mogą występować rzadkie wyjątki w witrynach uruchamianych prywatnie lub odłączonych). Można i raczej powinno się ograniczyć informacje, które udostępnia się w swoim profilu publicznym.
+
+Tak więc, jeśli chcesz, aby inni znajomi mogli Cię znaleźć, warto mieć następujące informacje w swoim profilu publicznym:
+
+[ul][*]Twoje prawdziwe imię i nazwisko lub przynajmniej pseudonim, który wszyscy znają;
+[*]Twoje zdjęcie;
+[*]TwojÄ… lokalizacja, przynajmniej na poziomie kraju.[/ul]
+
+Ponadto, jeśli chcesz poznać osoby, które mają podobne zainteresowania, poświęć chwilę i dodaj do swojego profilu kilka "słów kluczowych". Na przykład "muzyka, linux, fotografia" lub cokolwiek innego. Możesz dodać dowolną liczbę słów kluczowych.
+
+Aby utworzyć alternatywny profil, najpierw przejdź do [zrl=[baseurl]/settings/features]Ustawienia &gt; Dodatkowe funkcje[/zrl] i włącz tam opcję &quot;Wiele profili&quot;, w przeciwnym razie nie będziesz mieć możliwości korzystania z więcej niż tylko profilu domyślnego.
+
+Następnie wybierz "Edytuj profile" z menu swojej witryny Hubzilla. Możesz edytować istniejący profil, zmienić zdjęcie profilowe, dodać rzeczy do profilu lub utworzyć nowy profil. Możesz także utworzyć "klon" istniejącego profilu, jeśli chcesz zmienić tylko kilka elementów, ale nie chcesz ponownie wprowadzać wszystkich informacji. Aby to zrobić, kliknij profil, który chcesz sklonować i wybierz tam "Klonuj ten profil".
+
+Na liście swoich profili możesz również wybrać kontakty, które mogą zobaczyć Twój dodatkowy profil. Wystarczy kliknąć "Edytuj widoczność" obok profilu (dostępne tylko dla profili, które nie są Twoim profilem domyślnym), a następnie kliknąć określone połączenia, aby je dodać lub usunąć z grupy osób, które mogą wyświetlać ten profil.
+
+Po wybraniu profilu osoba przeglądająca Twój profil zobaczy przypisany przez Ciebie profil prywatny. Jeśli nie są oni uwierzytelnieni, zobaczą Twój profil publiczny.
+
+Istnieje ustawienie, które pozwala opublikować swój profil w katalogu i zapewnić, że będzie można go znaleźć innym. Możesz zmienić to ustawienie na stronie "Ustawienia".
+
+Jeśli nie chcesz, aby Cię widziano w internecie, ustaw swój profil jako prywatny.
+
+[h4][b]Słowa kluczowe i wyszukiwanie w katalogu[/b][/h4]
+
+Na stronie katalogu możesz wyszukiwać osoby z opublikowanymi profilami. Obecnie przeszukiwane jest tylko pole nazwy i słowa kluczowe. Możesz również umieścić takie słowa kluczowe w swoim domyślnym profilu - które mogą być używane do wyszukiwania wspólnych zainteresowań z innymi członkami. Słowa kluczowe są używane w narzędziu propozycji kanałów i chociaż nie są widoczne w katalogu, są wyświetlane, gdy ktoś odwiedza stronę Twojego profilu.
+
+Na stronie "Połączenia" oraz w katalogu znajduje się odnośnik, odpowiednio do "Sugestii" lub "Propozycji kanałów". Pozwoli to znaleźć kanały, które mają pasujące lub podobne słowa kluczowe. Im więcej podasz słów kluczowych, tym trafniejsze będą wyniki wyszukiwania. Są one sortowane według trafności.
+
+Przecztaj też:
+
+[zrl=[baseurl]/help/pl/AdvancedSearch]Zaawansowane przeszukiwanie[/zrl]
+
+[h4][b]Siatka, uprawnienia i delegowanie[/b][/h4]
+
+Strona "Siatka" zawiera wszystkie najnowsze wpisy z całej sieci Hubzilla, wykazane w odwrotnej kolejności chronologicznej. Posty, które się tutaj pojawiają, zależą w dużej mierze od ustawionych przez siebie preferencji. Na najbardziej liberalnym poziomie uprawnień będziesz otrzymywać posty od zupełnie obcych osób. Na drugim końcu skali możesz zobaczyć wpisy tylko od znajomych - lub, jeśli czujesz się naprawdę niezainteresowany społecznością, tylko własne wpisy.
+
+Jak wspomniano na początku, możliwych jest wiele innych rodzajów kanałów, jednak procedura tworzenia jest taka sama. Różnica między kanałami polega przede wszystkim na przypisanych uprawnieniach. Na przykład kanał umożliwiający udostępnianie dokumentów współpracownikom w pracy prawdopodobnie wymagałby bardziej liberalnych ustawień "Może zapisywać w moim" publicznym "magazynie plików" niż na koncie osobistym.
+
+Możesz również przekazać kontrolę nad wpisami i połączeniami swoich kanałów, ale nie nad ich konfiguracjami, innemu kanałowi. Odbywa się to poprzez edycję połączenia i przypisanie mu uprawnień do administrowania zasobami Twojego kanału.
+
+[h3]Przyłączanie się do kanałów[/h3]
+
+Połączenie jest w $Projectname określane jako zestaw uprawnień, które nadało się komuś innemu do dostępu do swoich treści. W tradycyjnych aplikacjach sieci społecznościowych wszystkie połączenia mają takie same uprawnienia lub najwyżej dwa poziomy ("znajomi" i "obserwujący"). W Hubzilla można ustawić (dostosować) szereg oddzielnych uprawnień w zależności od sytuacji i relacji, jakie masz z innym kanałem. Możesz zezwolić komuś na wyświetlanie swoich postów, ale nie zdjęć. Możesz również odmówić im pozwolenia na komentowanie swoich postów lub wysyłanie prywatnych wiadomości do Ciebie.
+
+Jak przyłączyć się do jakiegoś kanału?
+
+Najpierw musisz znaleźć kanał, z którym chcesz się połączyć. Można to zrobić na dwa sposoby. Po pierwsze, ustaw opcję "Może przesyłać mi swój strumień i posty z kanału" na zezwoleniea dla "Wszystkich w tej sieci", co spowoduje dostęp do wpisów od zupełnie obcych osób do Twojej matrycy. Zapewni ci to dużo treści publicznych i miejmy nadzieję, że pomoże Ci znaleźć interesujących, zabawnych ludzi, fora i kanały.
+
+Następną rzeczą, jaką możesz zrobić, jest przejrzenie katalogu. Katalog jest dostępny w każdej witrynie Hubzilli, co oznacza, że wyszukiwanie z poziomu własnej witryny przyniesie wyniki z całej sieci. Możesz wyszukiwać według nazwy, zainteresowania, lokalizacji i słowa kluczowego.
+
+Jeśli znasz już czyjąś "webbie", możesz bezpośrednio się z tą osobą skontaktować. Webbie to identyfikator, który wygląda jak adres e-mail (na przykład bob@example.com), ale odnosi się do kogoś w otwartej sieci społecznościowej. Aby się połączyć, osoby te muszą używać kompatybilnego protokołu sieciowego. Domyślnie, nasze oprogramowanie obsługuje protokół "Zot", jednak dodatkowe protokoły mogą być dostarczane za pośrednictwem wtyczek (dodatków). Więcej informacji na temat łączenia się z kanałami w innych sieciach znajduje się poniżej.
+
+Aby połączyć się z innymi kanałem $Projectname:
+
+Odwiedź profil tego kanału, klikając jego zdjęcie w katalogu, matrycy lub komentarzach, a otworzy się strona główna kanału w przeglądarce kanału. Po lewej stronie ekranu zwykle jest widoczny link o nazwie "Connect". Kliknij i gotowe. W zależności od ustawień kanału, z którym się łączysz, być może będziesz musiał poczekać, aż właściciel zatwierdzi połączenie, ale nie musisz nic robić. Po zainicjowaniu połączenia zostaniesz przeniesiony do edytora połączeń. Dzięki temu możesz przypisać określone uprawnienia do tego kanału, jeśli chcesz wprowadzić jakiekolwiek zmiany.
+
+Aby połączyć się z kanałami w innych sieciach niż sieć $Projectname:
+
+Proces łączenia się z kanałami w innych sieciach (takich jak GNU-Social, Mastodon czy Diaspora) jest podobny - wpisz odpowiednie "webbie" do pola "Dodaj nowe połączenia" na stronie "Połączenia". Jednak zanim to zrobisz, odwiedź stronę "Ustawienia" ("Ustawienia funkcji i dodatków") i upewnij się, że w Twoim hubie jest dostępny odpowiedni protokół (Diaspora, GNU-Social/OStatus lub ActivityPub) i [b][i]jest aktywowany[/i] dla Twojego kanału[/b]. Te sieci (protokoły) nie obsługują migracji kont i niezależności lokalizacji, więc jeśli przeniesiesz lokalizację lub sklonujesz swój kanał w inne miejsce, komunikacja z tymi połączeniami może się nie udać. Z tego powodu protokoły te nie są domyślnie aktywowane, ale ich aktywacja wymaga Twojej zgodą. Aktywacja tych protokołów wiąże się z podjęciem ważkiego rozstrzygniecia korzyści płynących z kmunikowania się ze znajomymi w tych sieciach a z drugiej strony, zapewnieniem odporności konta na awarie serwera.
+
+Niektóre rodzaje komunikacji oferują więcej niż jeden protokół. Jeśli chcesz połączyć się z kimś na Mastodonie (na przykład), możesz użyć do komunikacji protokołu "Ostatus" lub "AactivityPub". Generalnie, protokół "ActivityPub" zapewnia lepszą obsługę niż "Ostatus", ale Hubzilla często wybiera pierwszy protokół, który odkryje i może to nie być to, czego chcesz. Możesz połączyć się z kimś przez określony protokół, poprzedzając nazwę protokołu w nawiasach kwadratowych na tym "webbie". Na przykład:
+
+[code]
+[activitypub]https://foo.bar/foobar
+[ostatus]foobar@foo.bar
+[diaspora]foobar@foo.bar
+[zot]foobar@foo.bar
+[feed]https://foo.bar/foobar
+[/code]
+
+Aby połączyć zię z kanałami RSS:
+
+Administrator huba może zezwolić na łączenie się z kanałami RSS. Proces łączenia się z kanałem RSS jest taki sam, z wyjątkiem wpisania (lub wklejenia) adresu URL kanału w polu "Dodaj nowe połączenie". Kanały są przetwarzane tylko raz lub dwa razy dziennie, a administrator huba może nałożyć ograniczenia na liczbę dodawanych kanałów.
+
+[h4][b]Blokowanie, ignorowanie, archiwizowanie i ukrywanie kanałów[/b][/h4]
+
+Kanały w książce adresowej mogą mieć statusy, takie jak [i]zablokowany[/i], [i]ignorowany[/i], [i]zarchiwizowany[/i] i [i]ukryty[/i]. Na stronie połączeń możesz zobaczyć zakładki, które wyświetlają kanały o tych statusach. Na stronach edycji połączenia możesz zmienić status kanału.
+
+Oto ich znaczenie:
+
+[b]Zablokowany:[/b] w kanale nie moża odczytywać elementów, niezależnie od uprawnień, ani zapisywać cokolwiek.
+
+[b]Ignorowany:[/b] w kanale można odczytywać elementy, jeśli ma się odpowiednie uprawnienia, ale nie można tu nic zapisywać.
+
+[b]Ukryty:[/b] kanał nie pojawia się na liście połączeń profilu, nikt nie może zobaczyć, że jesteś połączony, ale trzeba mieć na uwadze, że treści mogą nadal pojawiać się innych połączeniach, na przykład w odpowiedziach na wpisy.
+
+[b]Archiwizowany:[/b] jeśli kanał nie jest dostępny przez 30 dni, jest automatycznie oznaczany jako "zarchiwizowany". Wszystkie dane zostają zachowane, ale zatrzymane zostaje odpytywanie kanału w poszukiwaniu nowych informacji i usuwa się go z autouzupełniania. Jeśli później dowiesz się, że kanał wrócił do trybu online, możesz ręcznie przywrócić go z archiwum.
+
+[h4][b]Kanały Premium[/b][/h4]
+
+Niektóre kanały są oznaczone jako "kanały premium" i mogą wymagać pewnych działań ze strony odwiedzajacego, zanim będzie on mógł nawiązać połączenie. Przycisk "Połącz" w przypadku tych kanałów przeniesie Cię do strony zawierającej szczegółowe informacje o warunkach, które ustanowił właściciel kanału. Jeśli warunki zostaną zaakceptowane, połączenie będzie kontynuowane normalnie. W niektórych przypadkach, na przykład w przypadku celebrytów i światowej sławy wydawców, może to wymagać zapłaty. Jeśli nie zgadzasz się z warunkami, połączenie nie będzie kontynuowane lub może być kontynuowane, ale z ograniczonymi uprawnieniami dozwolonymi dla twoich interakcji z tym kanałem.
+
+[h3]Uprawnienia[/h3]
+Uprawnienia w $Projectname są pełniejsze niż te, do których możesz być przyzwyczajony. To pozwala nam zdefiniować lepiej oceniane relacje niż czarno-białe: "ta osoba jest moim przyjacielem, więc może zrobić wszystko" lub "ta osoba nie jest moim przyjacielem, więc nie może nic zrobić", jak to ma miejsce w innych serwisach społecznościowych.
+
+[h4][b]Role uprawnieniowe[/b][/h4]
+
+Tworząc kanał, można wybrać różne "role" dla tego kanału. Tworzą one całą rodzinę uprawnień i ustawień prywatności, które są odpowiednie dla tej roli. Typowe role to "Społeczne - głównie publiczne", "Społeczne - głównie prywatne", "Forum - publiczne" i wiele innych. Zapewniają one pewien poziom prostoty zarządzania uprawnieniami. Wystarczy wybrać rolę, a odpowiednie uprawnienia zostaną zastosowane automatycznie. Możesz także wybrać "Tryb niestandardowy/ekspercki" i zmienić indywidualne ustawienia uprawnień w dowolny sposób.
+
+[h4][b]Domyślne ograniczenia uprawnień[/b][/h4]
+
+Istnieje wiele indywidualnych uprawnień. Kontrolują one wszystko, od przeglądania strumienia po możliwość czatowania z Tobą. Każde pozwolenie ma limit. Zakres tych uprawnień waha się od "Tylko ja" do "Wszyscy w Internecie" - chociaż niektóre zakresy mogą nie być dostępne dla niektórych uprawnień. Limit dotyczy każdej opublikowanej rzeczy, którą tworzysz, a która nie ma kontroli prywatności ani kontroli dostępu. Na przykład, jeśli publikujesz zdjęcie i nie wybrałeś określonej grupy odbiorców z pozwoleniem na jego przeglądanie, stosujemy ten limit. Te ograniczenia dotyczą wszystkiego w ramach tej reguły pozwolenia, więc nie możesz zastosować ograniczenia do jednego zdjęcia. Limit dotyczy wszystkich Twoich zdjęć. Jeśli wszystkie Twoje zdjęcia są widoczne dla wszystkich w Internecie i ograniczysz limit tylko do znajomych, wszystkie Twoje zdjęcia będą teraz widoczne tylko dla znajomych.
+
+[h4][b]Kontrola dostępu[/b][/h4]
+
+Kontrola dostępu jest preferowaną metodą zarządzania prywatnością w [i]większości[/i] przypadków, zamiast stosowania ograniczania uprawnień. Polega ona na utworzeniu list połączeń lub grup prywatności (lub obu na raz) i na podstawie listy kontroli dostępu (ACL) użytkownik decyduje, czy zezwolenie jest dozwolone. Lista kontroli dostępu jest dołączona do wszystkiego, co się publikuje. W przeciwieństwie do ograniczeń uprawnień, zmiana listy kontroli dostępu na jednym zdjęciu nie ma wpływu na żadne z pozostałych zdjęć. Możesz użyć grup prywatności i "domyślnej listy kontroli dostępu", aby utworzyć i zautomatyzować zarządzanie listami kontroli dostępu, tak aby zapewnić dowolny poziom prywatności dla wszystkiego, co publikujesz.
+
+Zdecydowanie zalecamy skorzystanie z ustawień "typowej sieci społecznościowej" podczas tworzenia pierwszego kanału, ponieważ umożliwia to innym komunikowanie się z Tobą i pomaga w razie trudności. Przekonasz się, że te ustawienia zapewniają tyle prywatności, ile chcesz - kiedy tego chcesz; ale także pozwalają komunikować się publicznie, jeśli zechcesz. Po opanowaniu obsługi możesz swobodnie korzystać z dużo bardziej prywatnych ustawień.
+
+[dl terms="l"]
+[*= Zakresy uprawnień to:]
+[dl terms="i"]
+ [*= Nikt oprócz Ciebie ] To jest oczywiste. Tylko Ty będziesz mieć dostęp.
+
+ [*= Tylko ci, którym jawnie zezwalasz ] Domyślnie osoby, z którymi nie jesteś połączony i wszystkie nowe kontakty będą miały odmowę tego uprawnienia. Można robić wyjątki dla poszczególnych kanałów na ich ekranie edycji kontaktów.
+
+ [*= Każdy w Twojej książce adresowej ] Każdy, kto nie znajduje się w Twojej książce adresowej ma odmowę dostępu, ale każdy kogo zaakceptujesz jako kontakt, uzyska zezwolenie. Jest to sposób stosowany na większości starszych platform.
+
+ [*= Każdy na tym hubie ] Każdy, kto ma kanał w tym samym hubie co Ty, będzie miał pozwolenie. Każdemu, kto jest zarejestrowany na innym hubie, odmawia się dostępu.
+
+ [*= Każdy w tej sieci ] Każdy w sieci $Projectname będzie miał zatwierdzone to pozwolenie. Nawet zupełnie obce osoby. Jednak każdemu, kto nie jest zalogowany (uwierzytelniony), tego dostępu się odmiawia.
+
+ [*= Każdy uwierzytelniony ] Jest to podobne do uprawnienia "każdy w tej sieci", z tym wyjątkiem, że może obejmować każdego, kto może uwierzytelnić się w jakikolwiek sposób - a zatem może obejmować odwiedzających z innych sieci.
+
+ [*= Token dostępu gościa] Umożliwia to udostępnianie pliku, folderu, zdjęcia, albumu lub kanału określonej osobie lub grupie osób. Nie muszą być członkami Hubzilli. Możesz ustawić ważność tokenu dostępu.
+
+ [*= Każdy w Internecie ] Element jest całkowicie publiczny. To pozwolenie umożliwia dostęp każdemu.
+[/dl]
+[*= Indywidualne uprawnienia, to:]
+[dl terms="i"]
+ [*= Można wyświetlać mój "publiczny" strumień i posty. ] To uprawnienie określa, kto może oglądać "strumień" Twojego kanału, czyli nieprywatne wpisy, które pojawiają się na karcie "Strona główna", gdy jesteś zalogowany.
+
+ [*= Można wyświetlać mój "publiczny" profil kanału. ] To uprawnienie określa, kto może wyświetlać profil Twojego kanału. Dotyczy to zakładki "o mnie".
+
+ [*= Można wyświetlać moje "publiczne" albumy zdjęć. ] To uprawnienie określa, kto może wyświetlać Twoje albumy ze zdjęciami. Poszczególne zdjęcia mogą nadal być publikowane do bardziej prywatnej grupy osób.
+
+ [*= Można wyświetlać moją "publiczną" książkę adresową. ] To uprawnienie określa, kto może wyświetlać Twoje kontakty. Są to połączenia wyświetlane w sekcji "Wyświetl połączenia".
+
+ [*= Można wyświetlać mój "publiczny" magazyn plików. ] To uprawnienie określa, kto może wyświetlać Twoje publiczne pliki przechowywane w "chmurze" serwisu.
+
+ [*= Można wyświetlać moje "publiczne" strony. ] To uprawnienie określa, kto może wyświetlać Twoje publiczne strony internetowe.
+
+ [*= Można przesyłać mi strumień ich kanału i posty. ] To uprawnienie określa, czyje wpisy będą wyświetlane na Twoim kanale. Jeśli Twój kanał jest kanałem osobistym (tj. Ty jako osoba), prawdopodobnie chciałbyś ustawić to przynajmniej tak, że "każdy z mojej książki adresowej". Osobisty kanał notatek prawdopodobnie chciałbyś ustawić na "nikt oprócz mnie". Ustawienie tego na "każdy w sieci†spowoduje wyświetlenie wpisów od zupełnie obcych osób, co jest dobrą formą rozeznania sieci.
+
+ [*= Można publikować na stronie mojego kanału ("ścianie"). ] To uprawnienie określa, kto może umieszczać swoje wpisy na Twojej ścianie po przejściu do Twojego kanału.
+
+ [*= Można komentować moje posty. ] To uprawnienie okreÅ›la, kto może komentować posty, które tworzysz. Zwykle chce siÄ™, aby pasowaÅ‚o to do uprawnienia "można wyÅ›wietlać mój publiczny strumieÅ„ i wpisyâ€.
+
+ [*= Można wysyłać mi prywatne wiadomości pocztowe. ] Określa to, kto może wysyłać Ci prywatne wiadomości (zotmail).
+
+ [*= Można publikować zdjęcia w moich albumach ze zdjęciami. ] To określa, kto może publikować zdjęcia w Twoich albumach. Jest to bardzo przydatne w przypadku kanałów przypominających forum, na których połączenia mogą nie być ze sobą połączone.
+
+ [*= Można przekazywać dalej do wszystkich kontaktów z mojego kanału za pomocą
+tagów post. ] Użycie wzmianek (@-) spowoduje odtworzenie kopii twojego wpisu na określonym profilu, tak jakbyś opublikował go na ścianie kanału. To ustawienie określa, czy jakieś osoby mogą w ten sposób publikować na Twoim kanale.
+
+ [*= Można ze mną rozmawiać (jeśli jestem dostępny). ] Określa to, kto może dołączyć do publicznych czatów utworzonych na Twoim kanale.
+
+ [*= Można zapisywać w moim "publicznym" magazynie plików. ] To określa, kto może przesyłać pliki do Twojego publicznego magazynu plików lub "chmury".
+
+ [*= Można edytować moje "publiczne" strony. ] Określa to, kto może edytować Twoje strony internetowe. Jest to przydatne w przypadku witryn typu wiki lub witryn z wieloma redaktorami.
+
+ [*= Można zarządzać zasobami mojego kanału. ] To określa, kto może mieć pełną kontrolę nad Twoim kanałem. Zwykle powinno być to ustawione na "nikt oprócz mnie".
+[/dl][/dl]
+[i]Uwaga:[/i]
+Wtyczki (dodatki) mogą zapewniać specjalne ustawienia uprawnień, więc możesz otrzymać dodatkowe ustawienia uprawnień wykraczające poza to, co opisano tutaj.
+
+Jeśli ustawisz którekolwiek z tych uprawnień na "tylko te, na które wyraźnie zezwalam", możesz określać indywidualne uprawnienia na ekranie edycji połączenia.
+
+[h4][b]Koligacja[/b][/h4]
+
+Ekran edycji połączenia oferuje suwak do wyboru stopnia "przyjaźni" z połączeniem (to narzędzie można włączyć na karcie "Dodatkowe funkcje" na stronie "Ustawienia"). Potraktuj to jako miarę tego, jak bardzo ich lubisz lub nie lubisz. Wartość 1 jest dla osób, które lubisz, których wpisy chcesz widzieć cały czas; 99 jest dla osób, na których Ci nie zależy i których wpisy możesz chcieć przeglądać tylko od czasu do czasu. Po przypisaniu tutaj wartości możesz użyć narzędzia koligacji na stronie matrycy do filtrowania treści na podstawie tej liczby.
+
+Suwak na stronie matrycy ma zarówno wartość minimalną, jak i maksymalną. Wpisy będą wyświetlane tylko od osób mieszczących się w tym zakresie. Koligacja nie ma związku z uprawnieniami i jest przydatna tylko w połączeniu z funkcją narzędzia koligacji.
+
+[h3]Tokeny dostępu gościa[/h3]
+Tokeny dostępu gościa (czasami nazywane "tokenami dostępu Zot") umożliwiają udostępnianie pliku, folderu, zdjęcia, albumu lub kanału określonej osobie lub grupie osób, które nie są członkami hubu Hubzilli. Te tokeny umożliwiają udostępnianie poszczególnych elementów poprzez wysłanie linku zawierającego token w adresie URL; alternatywnie, osoby mogą faktycznie logować się przy użyciu poświadczeń tokena, po czym mogą bezproblemowo przeglądać zawartość udostępnioną temu tokenowi.
+
+W celu utworzenia tokenów dostępu gościa i zarządzać nimi, otwórz stronę ustawień "Tokeny dostępu gościa". Przy każdym załadowaniu strony generowany jest losowy token, który umożliwia utworzenie specjalnego adresu URL zawierającego ten token i opcjonalnie określenie daty wygaśnięcia. Istniejące tokeny są wymienione poniżej okna dialogowego i można je edytować, wybierać lub usuwać.
+
+Tokenowi gościa można przyznać dodatkowe uprawnienia, rozszerzając opcje "Indywidualnych uprawnień" i wybierając ustawienia prywatności, takie jak "Może wyświetlać strumień i wpisy mojego kanału" lub "Może rozmawiać ze mną".
+
+[url=[baseurl]/help/feature/access_tokens]Więcej informacji...[/url]
+
+[img][baseurl]/doc/member/assets/zat_dialog.png[/img]
+
+[h3]Język znaczników[/h3]
+$Projectname obsługuje kilka języków znaczników do zaawansowanego formatowania treści. Domyślnym językiem znaczników jest [url=[baseurl]/help/pl/member/bbcode]własny wariant BBcode[/url], dostosowany do użytku w Hubzilli. BBcode jest obsługiwany dla postów, stron wiki i elementów stron internetowych. Strony Wiki i elementy stron internetowych można również pisać przy użyciu standardowego języka Markdown.
+[table border=0]
+[tr][th]Typ treści[/th][th]Obsługiwany język[/th][/tr]
+[tr][td]Post[/td][td][url=[baseurl]/help/pl/member/bbcode]BBcode[/url][/td][/tr]
+[tr][td]Wiki[/td][td][url=[baseurl]/help/pl/member/bbcode]BBcode[/url], Markdown[/td][/tr]
+[tr][td]Elementy stron WWW[/td][td][url=[baseurl]/help/pl/member/bbcode]BBcode[/url], Markdown, HTML[/td][/tr]
+[/table]
+
+[h3]Tagi i wzmianki[/h3]
+Podobnie jak wiele innych platform, $Projectname używa specjalnej notacji wewnątrz wiadomości, aby wskazać "tagi" lub powiązania kontekstowe z innymi podmiotami.
+
+[h4][b]Wzmianki[/b][/h4]
+Kanały (profile) są oznaczane przez swoją nazwę poprzedzoną znakiem ed, np. [code]@Jacek[/code]. Jest to wykorzystywane w mechaniźmie wzmianek.
+
+Kiedy zaczniesz wspominać o kimś w swoim poście (wstawiając znak @), mechanizm ten utworzy pole z autouzupełnianiem, aby można było wybrać z Twoich bezpośrednich kontaktów określoną osobę (kanał). Możesz wybrać z listy ten kanał, który chcesz wzmiankować.
+
+Jeśli wspomniana osoba znajduje się na liście odbiorców postu, otrzyma powiadomienie o tym znaczniku.
+
+[h4][b]Wzmianki dostarczania[/b][/h4]
+
+Znak wykrzyknika ([b]![/b]) oznacza [i]wzmiankę dostarczania[/i] wstawioną na forum lub specjalnym kanale, która umożliwia rozesłanie wisu do wielu odbiorców.
+
+[code]
+@Gardening - wzmiankowanie forum Gardening
+
+!Gardening - wzmiankowanie forum Gardening i równoczesne opublikowanie wpisu w "sieci" Gardening " (np. rozesłanie wpisu do wszystkich członków tej sieci, jeśli ma się na to pozwolenie).
+[/code]
+
+Uwaga: w poprzednich wersjach, format wzmianki dostarczania miał postać [code]@forum+[.code] (plus na końcu). Ten mechanizm nie jest już obsługiwany.
+
+[h4][b]Wzmianki prywatności[/b][/h4]
+Jeśli chcesz ograniczyć wpis do jednej osoby lub kilku osób, możesz to zrobić, wybierając kanały lub grupy prywatności w narzędziu do ochrony prywatności. Możesz także po prostu oznaczyć je tagiem prywatności. Znacznik prywatności to nazwa poprzedzona znakami [code]@![/code], co zmienia również uprawnienia prywatności posta, tak aby zawierały tylko te osoby, którym chcesz dostarczyć post. Można wstawić więcej niż jeden tag prywatności, na przykład tagi [code]@!Bob[/code] i [code]@!Linda[/code] sposowdują wysłanie posta tylko do Boba i Lindy. Ten mechanizm zastępuje selektor prywatności.
+
+Fora mogą być wzmiankowane w ten sam sposób. Wzmianka [code]!!dogs[/code] będzie powodować publikowanie prywatnie na forum "dogs". Forum ponownie dostarczy post do wszystkich członków forum, ale Twoi obserwatorzy nie zobaczą go, chyba że są również członkami forum "dogs".
+
+Można także oznaczyć grupy prywatności, które są "publiczne". Gdy tworzysz lub edytujesz grupę prywatności, jest dostępne pole wyboru, które umożliwia innym osobom zobaczenie członków grupy. Jeśli to pole jest zaznaczone dla grupy i oznaczysz post, na przykład tagiem [code]@!Friends[/code] - zostanie on ograniczony do grupy Friends. Zanim to zrobisz, sprawdź, czy grupa jest publiczna, ponieważ nie ma innego sposobu na wycofanie postu niz jego usunięcie. Nazwa grupy pojawi się w poście i powiadomi członków tej grupy, że są jej członkami.
+
+[h4][b]Wzmianki a komentarze[/b][/h4]
+Powyższe mechanizmy mają zastosowanie tylko do postów "najwyższego poziomu". Wzmianka o kanale z którymkolwiek z powyższych mechanizmów nie ma wpływu na komentarze, poza tym, że wzmiankowany kanał może otrzymać powiadomienie, jeśli był już uwzględniony w rozmowie jako odbiorca.
+
+[h4][b]Tagi tematyczne (hasztagi)[/b][/h4]
+[i]Tagi tematyczne[/i], zwane też [i]hasztagami[/i], mają format terminu poprzedzonego znakiem hash ([b]#[/b]). Powoduje to utworzenie w poście łącza do ogólnoserwisowego wyszukiwania podanego terminu. Na przykład, [code]#cars[/code] zapewni link do wyszukiwania dla wszystkich postów zawierających słowo kluczowe [code]cars[/code] w Twoim serwisie. W tagach tematycznych powinno się używać terminów nie krótszych niż trzy znaki. Krótsze terminy wyszukiwania prawdopodobnie nie przyniosą żadnych wyników wyszukiwania, chociaż zależy to od konfiguracji bazy danych.
+
+Tagi tematyczne zawierające same cyfry nie są zwykle dozwolone, np. [code]#1[/code]. Jeśli chcesz użyć hashtagu numerycznego, dodaj tekst opisowy, np. [code]#2012-wybory[/code] lub umieść cały termin w podwójnych cudzysłowach (na przykład [code]#"2012"[/code]). Podwójne cudzysłowy są również wymagane, jeśli termin zawiera spacje ([code]#"My tag[/code]`) i mogą być wymagane, jeśli tag zawiera znaki interpunkcyjne lub znaki diakrytyczne ([code]#"EndsWithPeriod."[/code], [code]#"Exciting!!!"[/code], [code]#"Ósmy pasażer"[/code] itp.).
+
+[h4][b]Zakładki[/b][/h4]
+Zakładki wskazują link, który można zapisać w folderze zakładek. Używają sekwencji [code]#^[/code], po której następuje link. Często są one generowane automatycznie. Jeśli zainstalowany jest dodatek "bookmarker", sekwencja ta zostanie przekonwertowana na ikonę zakładki podczas przeglądania inline postu lub komentarza, a kliknięcie ikony spowoduje zapisanie zakładki. Jeśli dodatek bookmarker nie jest zainstalowany, można wykorzystać rozwijane menu posta, które zawiera łącze do zapisania zakładki lub zakładek.
+
+[h4][b]Ręczne wzmiankowanie[/b][/h4]
+Na przykład, tag [code]@billy[/code] oznaczy połączenie, którego nazwa lub adres sieciowy to "billy" (dopasowanie dokładne). Jeśli masz dwa połączenia z nazwą lub adresem sieciowym billy, na przykład [code]billy@server1.hubzilla.org[/code] i [code]billy@server2.hubzilla2.org[/code], będziesz musiał podać pełny adres, inaczej wyniki będą niejednoznaczne i niewłaściwa osoba może zostać oznaczona.
+
+Tag [code]@"Robert Johnson"[/code] oznaczy Roberta Johnsona. Podwójne cudzysłowy są wymagane, jeśli oznaczona nazwa zawiera spacje.
+
+[h3]Strony internetowe[/h3]
+
+$Projectname umożliwia członkom i dozwolonym połączeniom tworzenie statycznych stron internetowych. Aby aktywować tę funkcję, włącz funkcję [b]Strony internetowe[/b] w sekcji [b][url=[baseurl]/settings/features/]Dodatkowe funkcjonalności[/url][/b].
+
+Po włączeniu, na stronie kanału pojawi się nowa karta zatytułowana "Strony internetowe". Kliknięcie tego linku przeniesie Cię do edytora stron internetowych. Strony będą dostępne pod adresem [b][baseurl]/page/[observer=1][observer.webname][/observer][observer=0]channelname[/observer]/pagelinktitle[/b]
+
+Pole "Tytuł linku do strony" umożliwia określenie tytułu linku do strony tego adresu URL. Jeśli tytuł linku do strony nie jest ustawiony, ustawimy go automatycznie, używając identyfikatora wiadomości elementu.
+
+Pod polem tworzenia strony pojawi się lista istniejących stron z linkiem "Edytuj". Kliknięcie tego przeniesie Cię do edytora podobnego do edytora postów, w którym możesz wprowadzać zmiany na swoich stronach internetowych.
+
+[h4][b]Używanie bloków[/b][/h4]
+
+Bloki mogą być częściami stron internetowych. Podstawowy kod HTML bloku wygląda następująco:
+[code]
+ <div>
+ Block Content
+ </div>
+
+[/code]
+
+Jeśli blok ma zawartość tekstową (html), może również zawierać elementy menu. Na przykład, zawartość:
+[code]
+ <p>HTML block content</p>
+ [menu]menuname[/menu]
+
+[/code]
+wytworzy HTML taki jak ten:
+[code]
+ <div>
+ <p>HTML block content</p>
+ <div>
+ <ul>
+ <li><a href="#">Link 1</a></li>
+ <li><a href="#">Link 2</a></li>
+ <li><a href="#">Link 3</a></li>
+ </ul>
+ </div>
+ </div>
+
+[/code]
+
+Makro [code]$content[/code] umożliwia osadzenie całej treści strony internetowej. W tym celu wystarczy utwórzyć taki blok:
+[code]
+ $content
+
+[/code]
+jako treść. Aby blok pojawił się na stronie internetowej, musi być zdefiniowany w układzie strony wewnątrz regionu.
+[code]
+ [region=aside]
+ [block]blockname[/block]
+ [/region]
+
+[/code]
+
+Wygląd bloku można zmieniać w układzie strony.
+
+W regionie można przypisać własne klasy (css). Ten kod:
+[code]
+ [region=aside]
+ [block=myclass]blockname[/block]
+ [/region]
+
+[/code]
+wytworzy taki HTML:
+[code]
+ <div class="myclass">
+ Block Content
+ </div>
+
+[/code]
+
+Za pomocą zmiennej [code]wrap[/code] z bloku można usunąć otaczające go znaczniki [code]<div> </div>[/code]. Ten kod:
+[code]
+ [region=aside]
+ [block][var=wrap]none[/var]blockname[/block]
+ [/region]
+
+[/code]
+wytworzy taki HTML:
+[code]
+ Treść bloku
+[/code]
+
+[h4][b]Narzędzie importy elementów strony internetowej[/b][/h4]
+
+Istnieją dwie metody importowania elementów strony internetowej: przesyłanie pliku ZIP lub odwoływanie się do lokalnego folderu plików w chmurze. Obie metody wymagają określenia elementów strony sieci internetowej przy użyciu określonej struktury folderów. Narzędzie importu umożliwia zaimportowanie wszystkich elementów niezbędnych do zbudowania całej witryny lub zestawu witryn. Celem jest uwzględnienie zewnętrznego tworzenia stron internetowych, a także narzędzi upraszczających i automatyzujących wdrażanie w hubie.
+
+[h5][b] Struktura folderu [/b][/h5]
+Definicje elementów muszą być przechowywane w katalogu głównym repozytorium w folderach o nazwie odpowiadającej typowi elementu:
+[code]
+ /pages/
+ /blocks/
+ /layouts/
+[/code]
+
+Każdy element tych typów musi być zdefiniowany w osobnym podfolderze przy użyciu dwóch plików: jednego w formacie JSON dla metadanych i drugiego w zwykłym formacie testowym dla zawartości elementu.
+
+[h5][b] Elementy strony [/b][/h5]
+Metadane elementu strony są zdefiniowane w pliku w formacie JSON o nazwie [code]strona.json[/code] z następującymi właściwościami:
+[list]
+[*] title
+[*] pagelink
+[*] mimetype
+[*] layout
+[*] contentfile
+[/list]
+[b]Przykład[/b]
+
+Pliki:
+[code]
+ /pages/my-page/page.json
+ /pages/my-page/my-page.bbcode
+[/code]
+Treść [code]page.json[/code]:
+[code]
+ {
+ "title": "My Page",
+ "pagelink": "mypage",
+ "mimetype": "text/bbcode",
+ "layout": "my-layout",
+ "contentfile": "my-page.bbcode"
+ }
+[/code]
+[h5][b] Elementy układu [/b][/h5]
+
+Metadane elementu układu są zdefiniowane w pliku w formacie JSON o nazwie [code]layout.json[/code] z następującymi właściwościami:
+[list]
+[*] name
+[*] description
+[*] contentfile
+[/list]
+[b]Przykład[/b]
+
+Pliki:
+[code]
+ /layouts/my-layout/layout.json
+ /layouts/my-layout/my-layout.bbcode
+[/code]
+Treść [code]layout.json[/code]:
+[code]
+ {
+ "name": "my-layout",
+ "description": "Layout for my project page",
+ "contentfile": "my-layout.bbcode"
+ }
+[/code]
+
+[h5][b] Elementy bloku [/b][/h5]
+
+Metadane elementu bloku są określone w pliku w formacie JSON o nazwie [code]block.json[/code] z następującymi właściwościami:
+[list]
+[*] name
+[*] title
+[*] mimetype
+[*] contentfile
+[/list]
+[b]Przykład[/b]
+
+Pliki:
+[code]
+ /blocks/my-block/block.json
+ /blocks/my-block/my-block.html
+[/code]
+Treść [code]block.json[/code]:
+
+[code]
+ {
+ "name": "my-block",
+ "title": "",
+ "mimetype": "text/html",
+ "contentfile": "my-block.html"
+ }
+[/code]
+
+[h3]Język opisu stron Comanche[/h3]
+
+Comanche to język znaczników podobny do [url=[baseurl]/help/member/bbcode]BBcode[/url], za pomocą którego można tworzyć rozbudowane i złożone strony internetowe, łącząc je z szeregu komponentów - z których niektóre są już wstępnie zbudowane i inne, które można skonstruować w locie. Comanche używa własnego języka opisu strony do tworzenia tych stron.
+
+Comanche przede wszystkim wybiera, jakie treści pojawią się w różnych [b]regionach[/b] strony. Regiony mają swoje nazwy, które mogą się zmieniać w zależności od wybranego szablonu układu.
+
+[h4][b]Szablony strony[/b][/h4]
+Obecnie dostępnych jest pięć szablonów układów, ale w serwisie można udostępniać dodatkowe, własne układy.
+
+[dl terms="b"]
+[*= default]
+Domyślny szablon zawiera definicję regionu "nav" znajdującego się u góry, "aside" jako pasek boczny o stałej szerokości,
+"content" dla głównego regionu treści i "footer" dla stopki strony.
+
+[*= full]
+Pełny szablon definiuje to samo, co szablon "default", z tą różnicą, że nie ma regionu "aside".
+
+[*= choklet]
+Szablon "choklet" zapewnia kilka płynnych układów, które można wybierać według odmiany:
+[list]
+[*] (domyślna odmiana) - układ dwukolumnowy, podobny do szaablonu "default", ale jest bardziej płynny
+[*] bannertwo - układ dwukolumnowy z regionem "banner", zgodny z szablonem "default" na małych wyświetlaczach
+[*] three - układ trzykolumnowy (dodany region "right_aside" do szablonu domyślnego)
+[*] edgestwo - układ dwukolumnowy ze stałymi marginesami bocznymi
+[*] edgesthree - układ trzykolumnowy ze stałymi marginesami bocznymi
+[*] full - układ trzykolumnowy ze stałymi marginesami bocznymi i dodanym obszarem "header" poniżej paska nawigacji
+[/list]
+
+[*= redable]
+Szablon do czytania dłuższych tekstów na pełnym ekranie (czyli bez paska nawigacyjnego). Trzy kolumny: "aside", "content" i "right_aside".
+Aby zapewnić maksymalną czytelność, zaleca się używanie tylko środkowej kolumny treści.
+
+[*= zen]
+Daje swobodę robienia wszystkiego samemu. Tylko pusta strona z obszarem zawartości.
+[/dl]
+
+Aby wybrać szablon układu, trzeba użyć tagu "template".
+
+[code]
+ [template]full[/template]
+
+[/code]
+
+Wybranie szablonu "choklet" z odmianÄ… "three":
+
+[code]
+ [template=three]choklet[/template]
+
+[/code]
+
+Jeśli nie określono innego szablonu, zostanie użyty szablon domyślny. W szablonie można używać dowolnych nazw dla regionów zawartości. Używa sie też tagów "region", aby zdecydować, jakie treści umieścić w odpowiednich regionach.
+
+Zadefiniowane są też trzy "makra", które można użyć na stronie.
+[code]
+ $htmlhead - wstawia zawartość nagłówka strony.
+ $nav - wstawia zawartość paska nawigacji.
+ $content - wstawia główną treść strony.
+
+[/code]
+
+Domyślnie, makro $nav jest umieszczane w regionie "nav" strony a $content w regionie "content". Tych makr potrzebujesz tylko wtedy, gdy chcesz zmienić rozmieszczenie tych elementów, aby zmienić kolejność lub przenieść je do innych regionów.
+
+Aby wybrać motyw dla swojej strony, użyj tagu "theme".
+[code]
+ [theme]suckerberg[/theme]
+
+[/code]
+Spowoduje to wybranie motywu o nazwie "suckerberg". Domyślnie używany jest preferowany motyw Twojego kanału.
+
+[code]
+ [theme=passion]suckerberg[/theme]
+
+[/code]
+Spowoduje to wybranie motywu o nazwie "suckerberg" oraz wybór schematu "passion" (wariant motywu). Alternatywnie można użyć do tego zwięzłej notacji motywu.
+
+[code]
+ [theme]suckerberg:passion[/theme]
+
+[/code]
+
+Notacja zwięzła nie jest częścią samego Comanche, ale jest rozpoznawana przez platformę $Projectname jako specyfikator motywu.
+
+[h4][b]Pasek nawigacji[/b][/h4]
+
+[code]
+ [navbar]tucson[/navbar]
+[/code]
+
+Kod ten powoduje użycie szablonu paska nawigacyjnego "tucson" i reguł CSS. Domyślnie stosowany jest szablon domyślny szablon paska nawigacyjnego.
+
+[h4][b]Regiony[/b][/h4]
+Tak jak wspomniano wyżej, każdy region swoją nazwę. Wybrany eegion określa używając tagu "region", który zawiera nazwę. Wszelkie treści, które chcesz umieścić w tym regionie, powinny być umieszczone między tagiem otwierającego a zamykającym.
+
+[code]
+ [region=htmlhead]....tutaj jest treść....[/region]
+ [region=aside]....tutaj jest treść....[/region]
+ [region=nav]....tutaj jest treść....[/region]
+ [region=content]....tutaj jest treść....[/region]
+
+[/code]
+
+[h4][b]CSS i Javascript[/b][/h4]
+Jest możliwość włączenia bibliotek JavaScript i CSS w regionie "htmlhead". Obecnie korzystamy z bibliotek jQuery (JS), Bootstrap (CSS i JS) oraz Foundation (CSS i JS).
+Ten kod spowoduje nadpisanie regionu htmlhead wybranego motywu.
+
+[code]
+ [region=htmlhead]
+ [css]bootstrap[/css]
+ [js]jquery[/js]
+ [js]bootstrap[/js]
+ [/region]
+
+[/code]
+
+[h4][b]Elementy menu i bloki[/b][/h4]
+Narzędzia do tworzenia stron internetowych umożliwiają również tworzenie eleentów menu i bloków. Dostarczają one fragment kodu, który można umieścić w dowolnych regionach i w dowolnej kolejności. Każdy z takich fragmentów ma nazwę, którą definiuje się podczas tworzenia elementów menu lub bloku.
+
+Ten kod:
+[code]
+ [menu]mymenu[/menu]
+
+[/code]
+spowoduje umieszczenie w tym miejscu menu o nazwie "mymenuâ€, ale miejsce to musi siÄ™ ono znajdować wewnÄ…trz regionu.
+
+Kod:
+[code]
+ [menu=horizontal]mymenu[/menu]
+
+[/code]
+spowoduje umieszczenie w tym miejscu menu o nazwie "mymenu", ale musi się ono znajdować które musi znajdować wewnątrz regionu. Dodatkowo zastosowano tu do menu klasę "horizontal". Klasa "horizontal" jest zdefiniowana w motwie "redbasic". Może być dostępna lub nie w innych motywach.
+
+W tym bloku:
+[code]
+ [menu][var=wrap]none[/var]mymenu[/menu]
+
+[/code]
+zmienna [code][var=wrap]none[/var][/code] usuwa z menu element [code]div[/code].
+
+Ten kod:
+[code]
+ [block]contributors[/block]
+[/code]
+umieszcza blok o nazwie &quot;contributors&quot; w regionie, w którym został wstawiony.
+
+Kod:
+[code]
+ [block=someclass]contributors[/block]
+
+[/code]
+też umieszcza blok o nazwie &quot;contributors&quot; w tym regionie, ale dodatkowo stosuje dla tego bloku klasę &quot;someclass&quot;. Zamienia to domyślną klasę bloku &quot;bblock widget&quot;.
+
+W bloku:
+[code]
+ [block][var=wrap]none[/var]contributors[/block]
+
+[/code]
+zmienna [code][var=wrap]none[/var][/code] usuwa z bloku opakowujÄ…cy go element [code]div[/code].
+
+[h4][b]Widżety[/b][/h4]
+Widżety to wykonywalne aplikacje dostarczane przez system, które można umieścić na swojej stronie. Niektóre widżety przyjmują argumenty, które pozwalają dostosować widżet do własnych potrzeb. Widżety systemowe są wymienione [url=help/Widgets]tutaj[/url]. Widżety mogą być również tworzone w ramach wtyczek, motywów lub przez administratora witryny, aby zapewnić dodatkowe funkcje.
+
+Widżety i ich argumenty są określane za pomocą tagów "widget" i "var".
+[code]
+ [widget=recent_visitors][var=count]24[/var][/widget]
+
+[/code]
+
+Spowoduje to zaÅ‚adowanie widżetu &bdquo;latest_visitors&rdquo; i dostarcza mu argument "count" ustawiony na „24â€.
+
+[h4][b]Komentarze[/b][/h4]
+Tag "comment" jest używany do wydzielenia komentarzy. Komentarze te nie pojawią się na renderowanej stronie.
+
+[code]
+ [comment]This is a comment[/comment]
+
+[/code]
+
+[h4][b]Wykonanie warunkowe[/b][/h4]
+Można użyć konstrukcji [code]if[/code] warunkowego wykonania kodu. Jest to obecnie oparte na zmiennej konfiguracji systemu [code]$config.system[/code] lub zmiennej [code]$observer[/code].
+
+[code]
+ [if $config.system.foo]
+ ... zmienna konfiguracyjna system.foo przyjmuje wartość 'true'.
+ [else]
+ ... zmienna konfiguracyjna system.foo przyjmuje wartość 'false'.
+ [/if]
+
+ [if $observer]
+ ... ta treść będzie pokazywana tylko uwierzytelnionym użytownikom
+ [/if]
+
+[/code]
+
+ Klauzula 'else' jest opcjonalna.
+
+ Oprócz oceny logicznej obsługiwanych jest też kilka testów.
+
+[code]
+ [if $config.system.foo == bar]
+ ... zmienna konfiguracyjne system.foo jest równa łańcuchowi 'bar'
+ [/if]
+ [if $config.system.foo != bar]
+ ... zmienna konfiguracyjne system.foo nie jest równa łańcuchowi 'bar'
+ [/if]
+ [if $config.system.foo {} bar ]
+ ... zmienna konfiguracyjna system.foo jest prostÄ… tablicÄ… zawierajÄ…cÄ… zmiennÄ… 'bar'
+ [/if]
+ [if $config.system.foo {*} bar]
+ ... zmienna konfiguracyjna system.foo jest prostÄ… tablicÄ… zawierajÄ…cÄ… klucz o nazwie 'bar'
+ [/if]
+[/code]
+
+[h4][b]Złożony przykład[/b][/h4]
+[code]
+ [comment]użyj istniejący szablon strony, który zawiera obszar banera oraz 3 kolumny poniżej[/comment]
+
+ [template]3-column-with-header[/template]
+
+ [comment]Użyj motyw &quot;darknight&quot;[/comment]
+
+ [theme]darkknight[/theme]
+
+ [comment]Użyj istniejące menu nawigacyjne strony[/comment]
+
+ [region=nav]$nav[/region]
+
+ [region=side]
+
+ [comment]Użyj wybranego przeze mnie menu i kilku widżetów[/comment]
+
+ [menu]myfavouritemenu[/menu]
+
+ [widget=recent_visitors]
+ [var=count]24[/var]
+ [var=names_only]1[/var]
+ [/widget]
+
+ [widget=tagcloud][/widget]
+ [block]donate[/block]
+
+ [/region]
+
+
+
+ [region=middle]
+
+ [comment]Pokaż normalną zawartość strony[/comment]
+
+ $content
+
+ [/region]
+
+
+
+ [region=right]
+
+ [comment]Pokaż mój skondensowany kanał RSS "wal" i zezwól na interakcję, jeśli obserwator ma możliwość interakcji[/comment]
+
+ [widget]channel[/widget]
+
+ [/region]
+
+[/code]
+
+
+[h3]Osobisty magazyn w chmurze[/h3]
+
+$Projectname umożliwia prywatne przechowywanie i udostępnianie znajomym dowolnych plików. Możesz przesłać pliki ze swojego komputera do obszaru przechowywania lub skopiować je bezpośrednio z systemu operacyjnego przy użyciu protokołu WebDAV.
+
+Funkcjonuje to podobnie do usług "chmurowych", takich jak [i]Dopbox[/i], [i]Dysk[/i] Google czy [i]One Drive[/i] Microsoftu.
+
+Na wielu serwerach publicznych mogą obowiązywać ograniczenia dotyczące przydzielonej powierzchni dyskowej.
+
+[h4][b]Załączniki plikowe[/b][/h4]
+
+Najszybszym i najłatwiejszym sposobem udostępniania plików są załączniki. W rzędzie ikon poniżej edytora statusu znajduje się narzędzie do przesyłania załączników. Kliknij narzędzie, wybierz plik i prześlij. Po załadowaniu pliku zobaczysz kod załącznika umieszczony w obszarze tekstowym. Nie edytuj tego kodu, ponieważ może to uniemożliwić Ci udostępnienie tego pliku znajomym. Możesz użyć okna dialogowego uprawnień do publikowania lub hasztagów prywatności, aby ograniczyć widoczność pliku - który zostanie ustawiony zgodnie z uprawnieniami wysyłanego postu.
+
+Aby usunąć załączniki lub zmienić uprawnienia do przechowywanych plików, odwiedź [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username, zastępując [code]username[/code] pseudonimem, jaki podałeś podczas tworzenia kanału[/observer].
+
+[h4][b]Dostęp internetowy[/b][/h4]
+
+Twoje pliki są widoczne w sieci pod adresem [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username[/observer] dla każdego, kto ma uprawnienia do ich przeglądania. Jeśli przeglądający ma wystarczające uprawnienia, może mieć również możliwość tworzenia nowych plików i folderów (katalogów) w interfejsie przeglądarki. Dostęp internetowy powinnien być używane tylko w przypadku mniejszych plików i zdjęć (do kilku megabajtów), ponieważ wykorzystuje pamięć wewnętrzną. W przypadku większych plików (filmy, muzyka itp.) przesyłaj je za pomocą protokołu WebDAV, cojest omówione w następnym rozdziale. Takie pliki będzie można nadal pobierać za pośrednictwem dostępu internetowego.
+
+[h4][b]Dostęp WebDAV[/b][/h4]
+
+WebDAV umożliwia kopiowanie plików bezpośrednio do lub z systemu operacyjnego komputera, gdzie Twój "magazyn chmurze" pojawia się jako wirtualny dysk. Dostęp ten powinien być używany do przesyłania dużych plików, takich jak wideo i audio, ponieważ nie jest ograniczony dostępną pamięcią wewnętrzna. Zobacz [zrl=help/member/member_guide#Cloud_Desktop_Clients]Cloud Desktop Clients[/zrl] poniżej.
+
+[h4][b]Dostęp CalDAV i CardDAV na Androidzie[/b][/h4]
+
+Możesz zsynchronizować swój kalendarz i kontakty w systemie Android ze swoim hubem.
+
+Poniższe kroki zostały przetestowane pod kątem zasosowania [url=https://f-droid.org/en/packages/at.bitfire.davdroid/] DAVdroid [/url]:
+
+[list]
+[*] zainstaluj DAVdroid
+[*] dodaj konto
+[*] użyj "URL" i "user name" do zalogowania się
+[list]
+[*] podstawowy URL to [baseurl]/cdav
+[*] Twoja nazwa użytkowka to [observer=1][observer.webname][/observer][observer=0]username[/observer]
+[/list]
+[/list]
+
+Aby udostępnić kalendarz odwiedź [observer.baseurl]/cdav/calendar
+
+[h4][b]Uprawnienia[/b][/h4]
+
+W przypadku korzystania z protokołu WebDAV plik jest tworzony z domyślnymi uprawnieniami do plików kanału, których nie można zmienić z poziomu systemu operacyjnego. Może też nie być to tak restrykcyjne, jak byś chciał. Najlepiej, utwórz foldery (katalogi), następnie odwiedź swoją "chmurę" pod aadresem [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username[/observer], wybierz katalog i zmień uprawnienia. Zrób to zanim umieścisz cokolwiek w katalogu. Uprawnienia do katalogu mają pierwszeństwo, więc możesz następnie umieścić pliki lub inne foldery w tym kontenerze i będą one chronione przed niechcianymi widzami przez ustawienie uprawnienia do katalogu. Często zdarza się, że użytkownicy tworzą folder "osobisty" lub "prywatny", który jest ograniczony do nich samych. Możesz używać tego jako osobistej chmury do przechowywania wszystkiego z dowolnego miejsca w Internecie lub dowolnego komputera i jest to chroniony przed innymi. Możesz także utworzyć foldery dla "rodziny" lub "przyjaciele" za zgodą udzieloną odpowiednim grupom prywatności.
+
+[h3]Klienty desktopowe dla chmury[/h3]
+
+[h4][b]Klienty dla Windows[/b][/h4]
+
+W Windows 7 połaczenie WebDAV można nawiązać przy użyciu kreatora z graficznym interfejsem:
+1. Kliknij lewym przyciskiem myszy na przycisk "Start", aby otworzyc menu "Start".
+2. Kliknij prawym przyciskiem myszy na ikone "Mój komputer", aby uzyskac dostęp do tego menu.
+3. Kliknij lewym przysiskiem myszy na link "Mapuj dysk sieciowy...", aby otworzyć okno dialogowe kreatora połączeń.
+4. Wpisz '[baseurl]/dav/nickname' w polu tekstowym (zamieniając 'nickname' na pseudonim swojego kanału) i kliknij przycisk "Gotowe".
+5. Wpisz pseudonim kanału $Projectname. WAŻNE - bez znaku @ lub nazwy domeny
+6. Wpisz swoje hasło $Projectname
+
+[h4][b]Klienty dla Linux[/b][/h4]
+
+[h5][b]Montowanie katalogu w systemie plików[/b][/h5]
+
+Aby zainstalować katalog w chmurze jako system plików, musisz najpierw zainstalować davfs2. Dla większości dystrybucji program ten jest dostępny w repozytoriach. Instalacja w Debianie:
+
+[code]sudo apt-get install davfs2[/code]
+
+Następnie skonfiguruj davfs2:
+
+[code]sudo dpkg-reconfigure davfs2[/code]
+
+i wybierz &quot;yes&quot; przy zapytaniu.
+
+Teraz musisz dodać użytkownika, który ma mieć możliwość montowania dav, do grupy davfs2:
+
+[code]sudo usermod -aG davfs2 &lt;DesktopUser&gt;[/code]
+
+[b]Note:[/b] w niektórych systemach grupa użytkowników może być inna,
+np. "network" w Arch Linux. W razie wątpliwości sprawdź dokumentację
+davfs dla swojego konkretnego systemu operacyjnego.
+
+Edytuj /etc/fstab:
+
+[code]nano /etc/fstab[/code]
+
+aby uwzględnić katalog w chmurze, dodając:
+
+[code]
+[baseurl]/dav/ /mount/point davfs user,noauto,uid=&lt;DesktopUser&gt;,file_mode=600,dir_mode=700 0 1
+[/code]
+
+gdzie [baseurl] jest adresem URL huba, /mount/point to lokalizacja, w której chcesz zamontować chmurę, a &lt;DesktopUser&gt; to użytkownik, którego logujesz się na swoim komputerze. Miej na uwadze, że jeśli montujesz jako zwykły użytkownik (nie root), punkt montowania musi znajdować się w twoim katalogu domowym.
+
+Na przykład, jeśli chciałbyś zamontować swoją chmurę w katalogu o nazwie 'cloud' w swoim katalogu domowym, a Twoja nazwa użytkownika to 'bob', zapis w fstab będzie następujący:
+
+[code][baseurl]/dav/ /home/bob/cloud davfs user,noauto,uid=bob,file_mode=600,dir_mode=700 0 1[/code]
+
+Teraz utówrz punkt montowania:
+
+[code]mkdir /home/bob/cloud[/code]
+
+oraz utwórz plik katalogu do przechowywania danych uwierzytelniania:
+
+[code]mkdir /home/bob/.davfs2[/code]
+
+Utwórz plik o nazwie 'secrets'
+
+[code]nano /home/bob/.davfs2/secrets[/code]
+
+i dodaj tam swoje dane uwierzytelniania w chmurze
+
+[code]
+[baseurl]/dav &lt;username&gt; &lt;password&gt;
+[/code]
+
+gdzie &lt;username&gt; i &lt;password&gt; to nazwa użytkownika i hasło [i]na Twoim kanale w hubie[/i].
+
+Nie pozwól, aby ten plik mógł być zapisywany przez kogoś nieupoważnionego:
+
+[code]chmod 600 /home/bob/.davfs2/secrets[/code]
+
+Na koniec, zamontuj dysk:
+
+[code]mount [baseurl]/dav[/code]
+
+Możesz teraz znaleźć swoją chmurę w /home/bob/cloud i używać jej tak, jakby była częścią lokalnego systemu plików - nawet jeśli aplikacje, których używasz, same nie obsługują dav.
+
+[b]Rozwiązywanie problemów[/b]
+
+W przypadku niektórych serwerów WWW i pewnych konfiguracji może się okazać, że davfs2 tworzy pliki o rozmiarze pliku 0 bajtów, podczas gdy inni klienty działają dobrze. Zwykle jest to spowodowane pamięcią podręczną i blokadami. Jeśli występuje ten problem, musisz edytować konfigurację davfs2.
+
+[code]sudo nano /etc/davfs2/davfs2.conf[/code]
+
+Twoja dystrybucja dostarczy przykładową konfigurację i ten plik powinien już istnieć, jednak większość jego treści jest zakomentowana znakiem # na początku wiersza.
+
+Pierwszym krokiem jest usunięcie blokad.
+
+Edytuj wiersz use_locks, tak aby odczytywał [code]use_locks 0[/code].
+
+Odłącz system plików, podłącz go ponownie i spróbuj skopiować plik z wiersza poleceń. Zauważ, że powinieneś skopiować nowy plik a nie nadpisywać starego. który został utwozony na potrzeby tego testu. Poczekaj minutę lub dwie, a następnie wykonaj polecenie [code]ls -l -h[/code] i sprawdź, czy rozmiar nowego pliku jest nadal większy niż 0 bajtów. Jeśli tak, zatrzymaj się na tym i nie rób nic więcej.
+
+Jeśli to nadal nie zadziała, wyłącz pamięć podręczną. Pamiętaj, że ma to wpływ na wydajność, więc należy to robić tylko wtedy, gdy wyłączenie blokad nie rozwiązało problemu. Edytuj cache_size i ustaw ją na [code]cache_size 0[/code], a także ustaw file_refresh na [code]file_refresh 0[/code]. Odmontuj system plików, ponownie go podłącz i przetestuj ponownie.
+
+Jeśli [i]nadal[/i] to nie działa, jest jeszcze jedna rzecz, której możesz spróbować. (Ten jest spowodowany błędem w starszych wersjach samego dav2fs, więc aktualizacja do nowej wersji może również pomóc). Włącz słabe usuwanie etagów, ustawiając [code]drop_weak_etags 1[]/code. Odmontuj i ponownie podłącz swój system plików, aby zastosować zmiany.
+
+[h5][b]Dolphin[/b][/h5]
+Dolphin Browser to przeglądarka internetowa dla Android i iOS. Odwiedź w niej [code]webdavs://example.com/dav[/code], gdzie [code]example.com[/code] to URL do Twojego huba.
+
+Gdy zostaniesz poproszony o podanie nazwy użytkownika i hasła, wprowadź nazwę swojego kanału (pierwszą część swojej strony internetowej - bez znaku @ i nazwy domeny) i hasło do swojego normalnego konta.
+
+Pamiętaj, że jeśli jesteś już zalogowany do interfejsu WWW przez Konqueror, nie zostaniesz poproszony o dalsze uwierzytelnianie.
+
+[h5][b]Konqueror[/b][/h5]
+Konqueror to przeglądarka internetowa, meadżer plików i przeglądarka dokumentów dla środowiska KDE. Wystarczy odwiedzić w niej serwis [code]webdavs://example.com/dav[/code] po zalogowaniu się do swojego huba, gdzie [code]example.com[/code] to adres URL huba.
+
+Jeśli jesteś zalogowany do swojego huba w normalny sposób, nie jest wymagane dalsze uwierzytelnianie.
+
+Ponadto, jeśli ktoś uwierzytelnił się w innym hubie podczas normalnej sesji przeglądarki, Twoja tożsamość zostanie również przekazana do chmury dla tych hubów - co oznacza, że możesz uzyskać dostęp do wszelkich prywatnych plików na dowolnym serwerze, o ile masz uprawnienia do ich przeglądania, pod warunkiem, że odwiedziłeś tę witrynę wcześniej podczas sesji.
+
+Ta funkcja jest zwykle ograniczona do interfejsu sieciowego i nie jest dostępna dla żadnego innego środowiska graficznego niż KDE.
+
+[h5][b]Nautilus[/b][/h5]
+
+Nautilus to popularny menadżer plików dla środowiska GNOME. Jeśli sie nią posługujesz:
+
+1. Otwórz okno przeglądarki plików;
+2. Wybierz z menu opcję Plik &gt; Połącz z serwerem...;
+3. Wpisz davs://&lt;domain_name&gt;/dav/&lt;your_channelname&gt; i kliknij Połącz;
+4. Zostaniesz poproszony o podanie nazwy kanału (tak samo jak poprzednio) i hasło;
+5. Twój osobisty katalog DAV zostanie udostęþniony w oknie przeglądarki.
+
+[h5][b]Nemo[/b][/h5]
+
+Pierwszy sposób:
+
+wpisz w pasku adresowym &quot;davs://&lt;domain_name&gt;/dav/&lt;your_channelname&gt;&quot;.
+
+Drugi sposób:
+
+1) Menu &gt; Plik &gt; Połącz z serwerem...
+2) Wypełnij okna w formatce dialogowej:
+- Sewer: hubzilla_domain_name
+- Typ: Secure WebDAV (https)
+- Folder: /dav
+- Nazwa użytkownika: twoja_nazwa_kanału
+- Hasło: twoje_hasło
+
+Po otwarciu możesz ustawić zakładkę.
+
+[h5][b]Uwagi dotyczÄ…ce serwera[/b][/h5]
+
+Zgłoszono problemy z klientami używającymi "chunked transfer encoding", które obejmuje usługi Apple iOS, a także narzędzia "AnyClient" i "CyberDuck". Działają one dobrze w przypadku pobierania, ale przesyłanie często kończy się plikami o zerowym rozmiarze. Jest to spowodowane nieprawidłową implementacją kodowania fragmentarycznego w niektórych obecnych implementacjach FCGI (fast-cgi). Apache działający z PHP jako modułem nie ma tych problemów, ale podczas pracy pod FCGI może być konieczne użycie alternatywnych klientów lub użycie programu do przesyłania internetowego. W chwili pisania tego artykułu problem był otwarty i nie udostępniono żadnych aktualizacji przez co najmniej rok. Jeśli napotkasz pliki o rozmiarze zerowym z innymi klientami, zapoznaj się z uwagami klienta; ponieważ czasami występują problemy z konfiguracją, które również mogą powodować te objawy.
+
+[h3]Zapisane wyszukiwania[/h3]
+
+W celu szybkiego wyszukania informacji można skorzystać z widżetu "saved search". Ten widżet może być prezentowany jako narzędzie paska bocznego na Twojej stronie internetowej i prawdopodobnie na stronie Twojego kanału. Różni się od narzędzia wyszukiwania "paska nawigacji" tym, że nie przeszukuje całej witryny, a jedynie podzbiór informacji dostępnych na Twoim kanale.
+
+Ponadto podane przez Ciebie frazy wyszukiwania mogą aktywować jednorazowe wyszukiwanie lub zostać zapisane na liście do ponownego wykorzystania. Zapisanie elementu wyszukiwania wywołuje również przeszukiwanie, oprócz dodania go do zapisanej listy (która jest wyświetlana poniżej pola wprowadzania tekstu wyszukiwania). Każdy element na liście może zostać odrzucony, jeśli nie jest już potrzebny.
+
+Zapisany widżet wyszukiwania zapewni automatyczne uzupełnianie kanałów (wyniki są poprzedzone znakiem @) i hashtagami (poprzedzonymi znakiem #). Nie trzeba wprowadzać tych tagów; chociaż wprowadzenie żądanego tagu zmniejszy wyniki autouzupełniania, aby zawierały tylko istotne informacje. Zachowanie odwzorowuje się następująco:
+
+[list]
+[*]@name - przeszukuje strumienia sieci w poszukiwaniu postów lub komentarzy napisanych przez 'name'. Spowoduje to również zmianę uprawnień edytora postów, aby zawierały tylko 'name'; jakby to była grupa prywatności.
+[*]#hashtag - przeszukauje strumień sieci w poszukiwaniu postów zawierających #hashtag.
+[*]text - przeszukaj strumień sieci w poszukiwaniu postów zawierających 'text'.
+[/list]
+
+
+[h3]Usunięcie kanału lub konta[/h3]
+
+[h4][b]Usuniecie kanału[/b][/h4]
+
+Wybierz link 'Usuń kanał' na stronie ustawień kanału lub odwiedź URL [baseurl]/removeme.
+
+Będziesz musiał potwierdzić swoje hasło i kanał, na którym jesteś obecnie zalogowany, zostanie usunięty.
+
+[hl][i][b]To jest nieodwracalne.[/b][/i][/hl]
+
+Jeśli masz klony tożsamości na innych hubach, nie zostaną one usuniete. Operacja ta spowoduje tylko usunięcie tej instancji kanału, która istnieje w hubie, na którym dokonujesz usunięcia kanału.
+
+[h4][b]Usuniecie konta[/b][/h4]
+
+Wybierz link 'Usuń konto' widoczny na stronie ustawień konta lub odwiedź URL: [baseurl]/removeaccount
+
+Będziesz musiał potwierdzić swoje hasło i konto, na którym jesteś obecnie zalogowany, zostanie usunięte.
+
+[hl][i][b]To jest nieodwracalne.[/b][/i][/hl]
+
+Wszystkie Twoje kanały zostaną usunięte. Jeśli masz klony tożsamości na innych hubach - nie zostaną one usuniete. Operacja ta powoduje tylko usunięcie instancji kanałów, które istnieją hubie, na którym dokonujesz tą operację.
+
diff --git a/doc/pl/toc.html b/doc/pl/toc.html
new file mode 100644
index 000000000..cadc5676a
--- /dev/null
+++ b/doc/pl/toc.html
@@ -0,0 +1,75 @@
+<div class="" id="accordion">
+ <div class="">
+ <div class="">
+ <h3 class="panel-title">
+ Poradniki
+ </h3>
+ </div>
+ <div id="tutorials" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/tutorials/personal_channel">Osobisty kanał</a>
+ </div>
+ </div>
+ </div>
+ <div class="">
+ <div class="">
+ <h3 class="panel-title">
+ Dla członków
+ </h3>
+ </div>
+ <div id="members" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/member/member_guide">Przewodnik</a>
+ <a class="nav-link" href="/help/member/bbcode">Informator o BBcode</a>
+ <a class="nav-link" href="/help/feature/additional/overview">Dodatkowe możliwości</a>
+ <a class="nav-link" href="/help/bugs">Zgłaszanie błędów</a>
+ <a class="nav-link" href="/help/member/member_faq">FAQ</a>
+ </div>
+ </div>
+ </div>
+ <div class="panel">
+ <div class="">
+ <h3 class="panel-title">
+ Dla administratorów
+ </h3>
+ </div>
+ <div id="administrators" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/admin/administrator_guide">Przewodnik</a>
+ <a class="nav-link" href="/help/admin/hub_snapshots">Migawki huba</a>
+ <a class="nav-link" href="/help/database">Baza danych</a>
+ <a class="nav-link" href="/help/hidden_configs">Dodatkowa konfiguracja</a>
+ </div>
+ </div>
+ </div>
+ <div class="panel">
+ <div class="">
+ <h3 class="panel-title">
+ Dla deweloperów
+ </h3>
+ </div>
+ <div id="developers" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/developer/developer_guide">Przewodnik</a>
+ <a class="nav-link" href="/help/developer/covenant">Kodeks postępowania</a>
+ <a class="nav-link" href="/help/developer/zot_protocol">Protokół Zot</a>
+ <a class="nav-link" href="/help/developer/api_zot">API Zot</a>
+ <a class="nav-link" href="/help/hooklist">Zaczepy</a>
+ </div>
+ </div>
+ </div>
+ <div class="panel">
+ <div class="">
+ <h3 class="panel-title">
+ Informacje o ...
+ </h3>
+ </div>
+ <div id="about" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/about/about">Platforma</a>
+ <a class="nav-link" href="/help/about/project">Projekt</a>
+ <a class="nav-link" href="/help/about/about_hub">Serwis HUBZILLA.PL</a>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/doc/pl/tutorials/assets/0965ace945f0c95ae38aa5bfedd230d2a7233d3915ac15d629f9dd845854.png b/doc/pl/tutorials/assets/0965ace945f0c95ae38aa5bfedd230d2a7233d3915ac15d629f9dd845854.png
new file mode 100644
index 000000000..d5cf1093f
--- /dev/null
+++ b/doc/pl/tutorials/assets/0965ace945f0c95ae38aa5bfedd230d2a7233d3915ac15d629f9dd845854.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/1ebe02c205962dd25035c441631745d16acdb7a44e50d148256c8ad26a67.png b/doc/pl/tutorials/assets/1ebe02c205962dd25035c441631745d16acdb7a44e50d148256c8ad26a67.png
new file mode 100644
index 000000000..d613925aa
--- /dev/null
+++ b/doc/pl/tutorials/assets/1ebe02c205962dd25035c441631745d16acdb7a44e50d148256c8ad26a67.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.png b/doc/pl/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.png
new file mode 100644
index 000000000..c403bf806
--- /dev/null
+++ b/doc/pl/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/25eaad2435200f72a1dd3a00ba17a76ca6db4c246b3c4fa286b390cae7c8.png b/doc/pl/tutorials/assets/25eaad2435200f72a1dd3a00ba17a76ca6db4c246b3c4fa286b390cae7c8.png
new file mode 100644
index 000000000..ca8ba6fb9
--- /dev/null
+++ b/doc/pl/tutorials/assets/25eaad2435200f72a1dd3a00ba17a76ca6db4c246b3c4fa286b390cae7c8.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/2b539d5a8474d6ec6dc91155b628d9be5f99ab04a78108ec404f53ec7bb5.png b/doc/pl/tutorials/assets/2b539d5a8474d6ec6dc91155b628d9be5f99ab04a78108ec404f53ec7bb5.png
new file mode 100644
index 000000000..0da2d96e2
--- /dev/null
+++ b/doc/pl/tutorials/assets/2b539d5a8474d6ec6dc91155b628d9be5f99ab04a78108ec404f53ec7bb5.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png b/doc/pl/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png
new file mode 100644
index 000000000..2a209b2be
--- /dev/null
+++ b/doc/pl/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/324247680b605fd214fd61aecd8f216fa8f5dfa0f16a04c8e968fdbc43d0.png b/doc/pl/tutorials/assets/324247680b605fd214fd61aecd8f216fa8f5dfa0f16a04c8e968fdbc43d0.png
new file mode 100644
index 000000000..f992672b0
--- /dev/null
+++ b/doc/pl/tutorials/assets/324247680b605fd214fd61aecd8f216fa8f5dfa0f16a04c8e968fdbc43d0.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.png b/doc/pl/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.png
new file mode 100644
index 000000000..b656192dc
--- /dev/null
+++ b/doc/pl/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png b/doc/pl/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png
new file mode 100644
index 000000000..6129195b6
--- /dev/null
+++ b/doc/pl/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.png b/doc/pl/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.png
new file mode 100644
index 000000000..923403fe9
--- /dev/null
+++ b/doc/pl/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/4cf326152797a8ecdf5630e921756f825ee00f8ee464d3ef9fed971d2852.png b/doc/pl/tutorials/assets/4cf326152797a8ecdf5630e921756f825ee00f8ee464d3ef9fed971d2852.png
new file mode 100644
index 000000000..f158ad5d9
--- /dev/null
+++ b/doc/pl/tutorials/assets/4cf326152797a8ecdf5630e921756f825ee00f8ee464d3ef9fed971d2852.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/75d2927b7ad0d2043d4d3b6ba1364fac8ead173edd39340adaf78be11c9d.png b/doc/pl/tutorials/assets/75d2927b7ad0d2043d4d3b6ba1364fac8ead173edd39340adaf78be11c9d.png
new file mode 100644
index 000000000..edc8b01cc
--- /dev/null
+++ b/doc/pl/tutorials/assets/75d2927b7ad0d2043d4d3b6ba1364fac8ead173edd39340adaf78be11c9d.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/7c976a06662a1357b3da8ed0680d1a721c85f2ae2bdd5739a8def466010e.png b/doc/pl/tutorials/assets/7c976a06662a1357b3da8ed0680d1a721c85f2ae2bdd5739a8def466010e.png
new file mode 100644
index 000000000..5b259058b
--- /dev/null
+++ b/doc/pl/tutorials/assets/7c976a06662a1357b3da8ed0680d1a721c85f2ae2bdd5739a8def466010e.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.png b/doc/pl/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.png
new file mode 100644
index 000000000..c03ffd18d
--- /dev/null
+++ b/doc/pl/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/9eae9fad774a4cd29e665961d35affbd053368056f562c58200fb41027b0.png b/doc/pl/tutorials/assets/9eae9fad774a4cd29e665961d35affbd053368056f562c58200fb41027b0.png
new file mode 100644
index 000000000..65d4c5f0a
--- /dev/null
+++ b/doc/pl/tutorials/assets/9eae9fad774a4cd29e665961d35affbd053368056f562c58200fb41027b0.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/b0bfdf02aef3710a37bb6092c3240b291eca8afa73133b3ac03b86f3302d.png b/doc/pl/tutorials/assets/b0bfdf02aef3710a37bb6092c3240b291eca8afa73133b3ac03b86f3302d.png
new file mode 100644
index 000000000..45609a7bb
--- /dev/null
+++ b/doc/pl/tutorials/assets/b0bfdf02aef3710a37bb6092c3240b291eca8afa73133b3ac03b86f3302d.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/b334915c03a665493915598c69c17a87c910a39db2cd3b5292e4623ea4c4.png b/doc/pl/tutorials/assets/b334915c03a665493915598c69c17a87c910a39db2cd3b5292e4623ea4c4.png
new file mode 100644
index 000000000..d239d6965
--- /dev/null
+++ b/doc/pl/tutorials/assets/b334915c03a665493915598c69c17a87c910a39db2cd3b5292e4623ea4c4.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/b3eece28e8db67f1024af42055f0f24ed5e81ba622aca8cac576ccf5930e.png b/doc/pl/tutorials/assets/b3eece28e8db67f1024af42055f0f24ed5e81ba622aca8cac576ccf5930e.png
new file mode 100644
index 000000000..45ed64d00
--- /dev/null
+++ b/doc/pl/tutorials/assets/b3eece28e8db67f1024af42055f0f24ed5e81ba622aca8cac576ccf5930e.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/bdbcf0ffd9004657237f6b7b7863da5a8e39a5bc17d2c67fa160efef2056.png b/doc/pl/tutorials/assets/bdbcf0ffd9004657237f6b7b7863da5a8e39a5bc17d2c67fa160efef2056.png
new file mode 100644
index 000000000..fcaed8bef
--- /dev/null
+++ b/doc/pl/tutorials/assets/bdbcf0ffd9004657237f6b7b7863da5a8e39a5bc17d2c67fa160efef2056.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/c4cad3e4c356dd2a227df79bd4dc6d47edf1b66ea243f005b6b452ec366b.png b/doc/pl/tutorials/assets/c4cad3e4c356dd2a227df79bd4dc6d47edf1b66ea243f005b6b452ec366b.png
new file mode 100644
index 000000000..0ccfc8995
--- /dev/null
+++ b/doc/pl/tutorials/assets/c4cad3e4c356dd2a227df79bd4dc6d47edf1b66ea243f005b6b452ec366b.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/c9a880cc82ffa1f7c2f460397bb083bf7dc2a2b8f065e64da598b45b4a2b.png b/doc/pl/tutorials/assets/c9a880cc82ffa1f7c2f460397bb083bf7dc2a2b8f065e64da598b45b4a2b.png
new file mode 100644
index 000000000..1cb4d2d22
--- /dev/null
+++ b/doc/pl/tutorials/assets/c9a880cc82ffa1f7c2f460397bb083bf7dc2a2b8f065e64da598b45b4a2b.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png b/doc/pl/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png
new file mode 100644
index 000000000..22e4cb5d5
--- /dev/null
+++ b/doc/pl/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/e05248fdc5688d6d24bde52432fdc7b39692a094559aa504de99352940b1.png b/doc/pl/tutorials/assets/e05248fdc5688d6d24bde52432fdc7b39692a094559aa504de99352940b1.png
new file mode 100644
index 000000000..5674f5207
--- /dev/null
+++ b/doc/pl/tutorials/assets/e05248fdc5688d6d24bde52432fdc7b39692a094559aa504de99352940b1.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.png b/doc/pl/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.png
new file mode 100644
index 000000000..e6b4a9974
--- /dev/null
+++ b/doc/pl/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/ef78bc6aa3fafebd46f353514c907b3fdfe019918fc5553bb3f31388a36f.png b/doc/pl/tutorials/assets/ef78bc6aa3fafebd46f353514c907b3fdfe019918fc5553bb3f31388a36f.png
new file mode 100644
index 000000000..8de042ae4
--- /dev/null
+++ b/doc/pl/tutorials/assets/ef78bc6aa3fafebd46f353514c907b3fdfe019918fc5553bb3f31388a36f.png
Binary files differ
diff --git a/doc/pl/tutorials/assets/facb0bdfdecb4c779de9048cd14b417c0d76de17af476be5f296b78d70e9.png b/doc/pl/tutorials/assets/facb0bdfdecb4c779de9048cd14b417c0d76de17af476be5f296b78d70e9.png
new file mode 100644
index 000000000..cec391fb4
--- /dev/null
+++ b/doc/pl/tutorials/assets/facb0bdfdecb4c779de9048cd14b417c0d76de17af476be5f296b78d70e9.png
Binary files differ
diff --git a/doc/pl/tutorials/personal_channel.md b/doc/pl/tutorials/personal_channel.md
new file mode 100644
index 000000000..6b96cf14a
--- /dev/null
+++ b/doc/pl/tutorials/personal_channel.md
@@ -0,0 +1,116 @@
+
+Ten poradnik trzeba wykonać w kolejności, tak jakbyś konfigurował plik kanału po raz pierwszy. Przedstawia w naturalny sposób niektóre narzędzia i funkcje związane z kanałem osobistym.
+
+### Tworzenie nowego kanału
+
+Kiedy logujesz się po raz pierwszy po rejestracji, musisz utworzyć kanał albo odwiedzić później stronę *https://your_website/new_channel*.
+
+![](assets/c9a880cc82ffa1f7c2f460397bb083bf7dc2a2b8f065e64da598b45b4a2b.png)
+
+Wprowadź swoje imię i nazwisko oraz pseudonim dla adresu kanału, a następnie wybierz "rolę". Zazwyczaj, jeśli reprezentuje Cię osobisty kanał, wybierz *Społeczność* z domyślnym poziomem prywatności, który Ci odpowiada. Jeśli nie masz pewności, wybierz opcję *Społecznościowe - głównie publiczne*, co umożliwia łatwą interakcję i zapewnia prywatność, gdy jej potrzebujesz. Alternatywnie, ustawienie *Społecznościowe - ograniczone* jest bardzo popularne wśród obrońców prywatności, chociaż poznanie ludzi może wymagać nieco więcej wysiłku. Niezależnie od tego, które ustawienie wybierzesz, możesz zmienić je później, jeśli zajdzie taka potrzeba.
+
+### Dodanie zdjęcia profilowego
+
+Po utworzeniu nowego kanału zostaniesz przekierowany na stronę określoną przez administratora witryny. Domyślnie jest to strona * Edytuj profil *.
+
+Z poziomu rozwijanego menu *Narzędzia profili* wybierz opcję *Zmień zdjęcie profilowe* (lub po prostu kliknij zdjęcie profilowe).
+
+![](assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png)
+
+Prześlij swoje zdjęcie i jeśli to konieczne, zmień rozmiar za pomocą edytora obrazów.
+
+![](assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png)
+
+Po naciśnięciu *Edycja zakończona* nastąpi przekierowanie z powrotem do edytora profili.
+
+> Jeśli masz problemy z wyświetleniem nowego zdjęcia, może być konieczne
+> wyczyszczenie pamięci podręcznej przeglądarki.
+
+![](assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png)
+
+Po powrocie na stronę główną kanału zobaczysz, że wpis powiadamiający innych o Twoim nowym zdjęciu profilowym, który został automatycznie opublikowany.
+
+![](assets/1ebe02c205962dd25035c441631745d16acdb7a44e50d148256c8ad26a67.png)
+
+
+### Tworzenie wpisów
+
+Przejdź do strony głównej swojego kanału i otwórz edytor wpisów, naciskając pole tekstowe *Udostępnij* u góry "ściany" kanału. Wprowadź wiadomość, a następnie przeciągnij i upuść plik obrazu do do obszaru tekstowego edytora postów. Ewentualnie możesz użyć narzędzie *Załącz plik*, widoczne u dołu.
+
+![](assets/b0bfdf02aef3710a37bb6092c3240b291eca8afa73133b3ac03b86f3302d.png)
+
+Plik obrazu zostanie automatycznie przesłany i zapisany w plikach w chmurze, a łącze pojawi się w oknie wpisu. Naciśnięcie przycisku podglądu wpisu umożliwia podgląd wpisu przed opublikowaniem.
+
+![](assets/7c976a06662a1357b3da8ed0680d1a721c85f2ae2bdd5739a8def466010e.png)
+
+Naciśnij przycisk kłódki obok przycisku *Prześlij*. SPowoduje to otworzenie się *Listę kontroli dostępu*, gdzie możesz dokładnie określić, kto ma dostęp do tego wpisu.
+
+![](assets/2b539d5a8474d6ec6dc91155b628d9be5f99ab04a78108ec404f53ec7bb5.png)
+
+
+### Użycie przesłanego obrazu jako zdjęcia na okładkę kanału
+
+Jednym ze sposobów uatrakcyjnienia wyglądu kanału jest dodanie zdjęcia na okładkę, które będą widzieć użytkownicy po załadowaniu strony kanału. Zintegrowany system plików w chmurze pozwala wybrać w tym celu istniejące zdjęcie.
+
+Odwiedź swoje zdjęcia w aplikacji *Photos*.
+
+![](assets/0965ace945f0c95ae38aa5bfedd230d2a7233d3915ac15d629f9dd845854.png)
+
+Wybierz zdjęcie, którego chcesz użyć i wybierz *Użyj jako zdjęcia na okładkę* z rozwijanego menu *Narzędzia do zdjęć*.
+
+![](assets/9eae9fad774a4cd29e665961d35affbd053368056f562c58200fb41027b0.png)
+
+Przytnij obraz za pomocą edytora zdjęć i zapisz zmiany.
+
+![](assets/b3eece28e8db67f1024af42055f0f24ed5e81ba622aca8cac576ccf5930e.png)
+
+Gdy załadujesz stronę główną swojego kanału, najpierw zobaczysz zdjęcie okładkowe a strona kanału będzie się pojawiać w miarę przewijania w dół.
+
+![](assets/4cf326152797a8ecdf5630e921756f825ee00f8ee464d3ef9fed971d2852.png)
+
+
+### Wykonywanie połączeń
+
+Tworzenie połączeń między kanałami i udostępnianie treści, to istosta komunikacji społecznej. Nawiązanie połączenia jest proste. Jeśli jeszcze nie wiesz, jak dotrzeć do strony domowej kanału, możesz spróbować przeszukać katalog, otwierając łącze *Katalog* z menu po prawej stronie z boku górnego paska nawigacyjnego.
+
+![](assets/ef78bc6aa3fafebd46f353514c907b3fdfe019918fc5553bb3f31388a36f.png)
+
+Możesz połączyć się bezpośrednio z poziomu katalogu za pomocą przycisku *Połącz* lub możesz najpierw otworzyć stronę kanału i nacisnąć przycisk *Połącz* widoczny poniżej zdjęcia profilowego.
+
+![](assets/75d2927b7ad0d2043d4d3b6ba1364fac8ead173edd39340adaf78be11c9d.png)
+
+Po nawiązaniu połączenia zostaniesz natychmiast przeniesiony do strony edytora połączeń, gdzie podejmujesz ważne decyzje dotyczące tego, co planujesz udostępniać na tym kanale.
+
+![](assets/b334915c03a665493915598c69c17a87c910a39db2cd3b5292e4623ea4c4.png)
+
+Dwa ważne ustawienia to
+
+* Indywidualne uprawnienia dla nowo podłączonego kanału
+* Grupy prywatności, do których należy połączenie
+
+Indywidualne uprawnienia są w większości łatwe do zrozumienia, ale mogą być na początku niejasne. Na przykład *Można wyświetlać mój magazyn plików i zdjęć* nie oznacza, że na podłączonym kanale każdy będzie mógł przeglądać wszystkie Twoje zdjęcia i pliki! Oznacza to, że będziesz mieć możliwość udostępniania zdjęć i plików za pomocą tego kanału. Jest całkiem możliwe, że pozwolisz komuś czytać swoje wpisy, ale nie zezwolisz na oglądanie zdjęć w tym wpisie.
+
+Grupy prywatności umożliwiają wygodnie udostępniać elementy grupom osób. Można utworzyć dowolne grupy odpowiadające swoim potrzebom, otwierając link *Dodaj grupę prywatności*.
+
+![](assets/facb0bdfdecb4c779de9048cd14b417c0d76de17af476be5f296b78d70e9.png)
+
+W tym edytorze można przełączać się między istniejącymi grupami prywatności i od razu sprawdzić, jakie kanały są, a jakie nie są członkami grupy. Wybranie ikony kanału w dowolnym polu spowoduje przeniesienie kanału do tej grupy.
+
+![](assets/25eaad2435200f72a1dd3a00ba17a76ca6db4c246b3c4fa286b390cae7c8.png)
+
+Podczas edycji ustawień pojedynczego kanału można ustawić jego członkostwo w grupach prywatności za pomocą widżetu po lewej stronie:
+
+![](assets/bdbcf0ffd9004657237f6b7b7863da5a8e39a5bc17d2c67fa160efef2056.png)
+
+Połączenia to wzajemne zaangażowanie. Kanał, z którym się łączysz, może mieć ustawioną opcję zatwierdzenia połączenia z innym kanałem. Zostanie wówczas wysłane do niego powiadomienie o proonowanym połączeniu:
+
+![](assets/324247680b605fd214fd61aecd8f216fa8f5dfa0f16a04c8e968fdbc43d0.png)
+
+w którym znajduje się link do strony edytora [*Połączenia*](https://grid.reticu.li/connections), gdzie można zdecydować, czy zezwolić na połączenie, czy nie.
+
+![](assets/e05248fdc5688d6d24bde52432fdc7b39692a094559aa504de99352940b1.png)
+
+Po zatwierdzeniu połączenia dobrze jest otworzyć edytor połączeń indywidualnych, naciskając przycisk edycji obok przycisku *Usuń*.
+
+![](assets/c4cad3e4c356dd2a227df79bd4dc6d47edf1b66ea243f005b6b452ec366b.png)
+
diff --git a/include/attach.php b/include/attach.php
index b4f697f81..9ba6be109 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -2987,10 +2987,7 @@ function attach_folder_select_list($channel_id) {
if($r) {
foreach($r as $rv) {
- $x = attach_folder_rpaths($r,$rv);
- if($x) {
- $out[$x[0]] = $x[1];
- }
+ $out[$rv['hash']] = $rv['display_path'];
}
}
@@ -3020,7 +3017,7 @@ function attach_folder_rpaths($all_folders,$that_folder) {
if(! $found)
$error = true;
}
- while((! $found) && (! $error) && ($parent_hash != ''));
+ while((! $error) && ($parent_hash != ''));
}
return (($error) ? false : [ $current_hash , $path ]);
@@ -3067,8 +3064,7 @@ function attach_syspaths($channel_id,$attach_hash) {
function attach_upgrade() {
-
- $r = q("select id, uid, hash from attach where os_path = '' and display_path = '' limit 100");
+ $r = q("SELECT id, uid, hash FROM attach WHERE os_path = '' OR display_path = '' LIMIT 100");
if($r) {
foreach($r as $rv) {
$x = attach_syspaths($rv['uid'],$rv['hash']);
diff --git a/include/bbcode.php b/include/bbcode.php
index d79429719..e1a5c7e47 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -966,7 +966,7 @@ function bbtopoll($s) {
$pl['poll_id'] = $match[1];
$pl['poll_question'] = $match[2];
- $match = '';
+ $match = [];
if(preg_match_all("/\[poll\-answer=(.*?)\](.*?)\[\/poll\-answer\]/is",$s,$match,PREG_SET_ORDER)) {
$pl['answer'] = [];
foreach($match as $m) {
@@ -1349,7 +1349,7 @@ function bbcode($Text, $options = []) {
// Check for table of content with params
while(strpos($Text,'[toc') !== false) {
$toc_id = 'toc-' . random_string(10);
- $Text = preg_replace("/\[toc([^\]]+?)\]/ism", '<ul id="' . $toc_id . '" class="toc"$1></ul><script>$("#' . $toc_id . '").toc();</script>', $Text, 1);
+ $Text = preg_replace("/\[toc([^\]]+?)\]/ism", '<ul id="' . $toc_id . '" class="toc" $1></ul><script>$("#' . $toc_id . '").toc();</script>', $Text, 1);
}
// Check for centered text
if (strpos($Text,'[/center]') !== false) {
diff --git a/include/bookmarks.php b/include/bookmarks.php
index 21456c871..145119347 100644
--- a/include/bookmarks.php
+++ b/include/bookmarks.php
@@ -18,7 +18,7 @@ function bookmark_add($channel,$sender,$taxonomy,$private,$opts = null) {
$channel_id = $channel['channel_id'];
if($private)
- $iarr['contact_allow'] = array($channel['channel_hash']);
+ $iarr['contact_allow'] = array($channel['channel_hash']);
$iarr['mitem_link'] = $taxonomy['url'];
$iarr['mitem_desc'] = $taxonomy['term'];
$iarr['mitem_flags'] = (($ischat) ? MENU_ITEM_CHATROOM : 0);
@@ -41,34 +41,34 @@ function bookmark_add($channel,$sender,$taxonomy,$private,$opts = null) {
if(! $menu_id) {
$x = menu_list($arr['menu_channel_id'],$arr['menu_name'],$arr['menu_flags']);
- if($x)
+ if($x)
$menu_id = $x[0]['menu_id'];
- else
+ else
$menu_id = menu_create($arr);
}
if(! $menu_id) {
logger('bookmark_add: unable to create menu ' . $arr['menu_name']);
- return;
+ return;
}
logger('add_bookmark: menu_id ' . $menu_id);
$r = q("select * from menu_item where mitem_link = '%s' and mitem_menu_id = %d and mitem_channel_id = %d limit 1",
dbesc($iarr['mitem_link']),
intval($menu_id),
- intval($channel_id)
+ intval($channel_id)
);
if($r)
logger('add_bookmark: duplicate menu entry', LOGGER_DEBUG);
if(! $r) {
$r = menu_add_item($menu_id,$channel_id,$iarr);
- menu_sync_packet($channel_id,get_observer_hash(),$menu_id);
+ menu_sync_packet($channel_id,get_observer_hash(),$menu_id);
}
return $r;
}
function get_bookmark_link($observer) {
- if((! $observer) || ($observer['xchan_network'] !== 'zot'))
+ if((! $observer) || !in_array($observer['xchan_network'], ['zot6', 'zot']))
return '';
$h = @parse_url($observer['xchan_url']);
diff --git a/include/cdav.php b/include/cdav.php
index ef248a9fe..fcce0ec4a 100644
--- a/include/cdav.php
+++ b/include/cdav.php
@@ -111,7 +111,7 @@ function process_cdav_card($f, &$vcard, $edit = false) {
function import_cdav_card($id, $ext, $table, $column, $objects, $profile, $backend, &$ids, $notice = false) {
$i = 0;
- $newid = (count($ids) ? false : true);
+ $newid = (count($ids) ? false : true);
while ($object = $objects->getNext()) {
@@ -161,7 +161,7 @@ function import_cdav_card($id, $ext, $table, $column, $objects, $profile, $backe
);
}
- if($notice && $exp == 'vcf') {
+ if($notice && $ext == 'vcf') {
notice(
'<strong>' . t('INVALID CARD DISMISSED!') . '</strong>' . EOL .
'<strong>' . t('Name: ') . '</strong>' . (($object->FN) ? $object->FN : t('Unknown')) . EOL .
diff --git a/include/channel.php b/include/channel.php
index d610a0b9a..2d79cd074 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -651,7 +651,7 @@ function change_channel_keys($channel) {
foreach($h as $hv) {
$hv['hubloc_guid_sig'] = $sig;
$hv['hubloc_hash'] = $hash;
- $hv['hubloc_url_sig'] = base64url_encode(rsa_sign(z_root(),$modifed['channel_prvkey']));
+ $hv['hubloc_url_sig'] = base64url_encode(rsa_sign(z_root(),$modified['channel_prvkey']));
hubloc_store_lowlevel($hv);
}
}
diff --git a/include/connections.php b/include/connections.php
index bd41e112e..87db7faa9 100644
--- a/include/connections.php
+++ b/include/connections.php
@@ -211,8 +211,8 @@ function mark_orphan_hubsxchans() {
if($dirmode == DIRECTORY_MODE_NORMAL)
return;
- $r = q("update hubloc set hubloc_error = 1 where hubloc_error = 0
- and hubloc_network = 'zot' and hubloc_connected < %s - interval %s",
+ $r = q("UPDATE hubloc SET hubloc_error = 1 WHERE hubloc_error = 0
+ AND hubloc_network IN ('zot6', 'zot') AND hubloc_connected < %s - INTERVAL %s",
db_utcnow(), db_quoteinterval('36 day')
);
@@ -357,7 +357,7 @@ function contact_remove($channel_id, $abook_id) {
call_hooks('connection_remove',$x);
- $archive = get_pconfig($channel_id, 'system','archive_removed_contacts');
+ $archive = get_pconfig($channel_id, 'system', 'archive_removed_contacts');
if($archive) {
q("update abook set abook_archived = 1 where abook_id = %d and abook_channel = %d",
intval($abook_id),
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index 3b22a3c6d..a5f867b0f 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -71,35 +71,39 @@ function categories_widget($baseurl,$selected = '') {
$item_normal = item_normal();
- $key = __FUNCTION__ . "-" . App::$profile['profile_uid'];
- $content = Cache::get($key, '5 MINUTE');
+ $key = __FUNCTION__ . "-" . App::$profile['profile_uid'];
+ $content = Cache::get($key, '5 MINUTE');
if (! $content) {
- $r = q("select distinct(term.term) from term join item on term.oid = item.id
- where item.uid = %d
- and term.uid = item.uid
- and term.ttype = %d
- and term.otype = %d
- and item.owner_xchan = '%s'
- and item.item_wall = 1
- and item.verb != '%s'
+
+ $content = Cache::get($key, '1 MONTH');
+
+ $arr = [
+ "SELECT distinct(term.term) FROM term JOIN item ON term.oid = item.id
+ WHERE item.uid = %d
+ AND term.uid = item.uid
+ AND term.ttype = %d
+ AND term.otype = %d
+ AND item.owner_xchan = '%s'
+ AND item.item_wall = 1
+ AND item.verb != '%s'
$item_normal
$sql_extra
- order by term.term asc",
+ ORDER BY term.term ASC",
intval(App::$profile['profile_uid']),
intval(TERM_CATEGORY),
intval(TERM_OBJ_POST),
dbesc(App::$profile['channel_hash']),
dbesc(ACTIVITY_UPDATE)
- );
+ ];
+
+ \Zotlabs\Daemon\Master::Summon([ 'Cache_query', $key, base64_encode(json_encode($arr)) ]);
}
- else
- $r = unserialize($content);
- $terms = array();
- if($r && count($r)) {
+ $r = unserialize($content);
- Cache::set($key, serialize($r));
+ $terms = [];
+ if($r && count($r)) {
foreach($r as $rr)
$terms[] = array('name' => $rr['term'], 'selected' => (($selected == $rr['term']) ? 'selected' : ''));
diff --git a/include/conversation.php b/include/conversation.php
index 6615b04c3..08d16a413 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -90,18 +90,18 @@ function item_redir_and_replace_images($body, $images, $cid) {
function localize_item(&$item){
if (activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE)){
-
+
if(! $item['obj'])
return;
if(intval($item['item_thread_top']))
- return;
+ return;
$obj = json_decode($item['obj'],true);
if((! $obj) && ($item['obj'])) {
logger('localize_item: failed to decode object: ' . print_r($item['obj'],true));
}
-
+
if(is_array($obj['author']) && $obj['author']['link'])
$author_link = get_rel_link($obj['author']['link'],'alternate');
elseif(is_array($obj['actor']) && $obj['actor']['url'])
@@ -167,7 +167,7 @@ function localize_item(&$item){
if($author_link && $author_name && $item_url) {
$author = '[zrl=' . chanlink_url($item['author']['xchan_url']) . ']' . $item['author']['xchan_name'] . '[/zrl]';
$objauthor = '[zrl=' . chanlink_url($author_link) . ']' . $author_name . '[/zrl]';
-
+
$plink = '[zrl=' . zid($item_url) . ']' . $post_type . '[/zrl]';
if(activity_match($item['verb'],ACTIVITY_LIKE)) {
@@ -189,7 +189,7 @@ function localize_item(&$item){
$item['shortlocalize'] = sprintf($shortbodyverb, '[bdi]' . $author_name . '[/bdi]', $post_type);
$item['body'] = $item['localize'] = sprintf($bodyverb, '[bdi]' . $author . '[/bdi]', '[bdi]' . $objauthor . '[/bdi]', $plink);
- if($Bphoto != "")
+ if($Bphoto != "")
$item['body'] .= "\n\n\n" . '[zrl=' . chanlink_url($author_link) . '][zmg=80x80]' . $Bphoto . '[/zmg][/zrl]';
}
@@ -201,7 +201,7 @@ function localize_item(&$item){
if (activity_match($item['verb'],ACTIVITY_FRIEND)) {
- if ($item['obj_type'] == "" || $item['obj_type'] !== ACTIVITY_OBJ_PERSON)
+ if ($item['obj_type'] == "" || $item['obj_type'] !== ACTIVITY_OBJ_PERSON)
return;
$Aname = $item['author']['xchan_name'];
@@ -209,7 +209,7 @@ function localize_item(&$item){
$obj= json_decode($item['obj'],true);
-
+
$Blink = $Bphoto = '';
if($obj['link']) {
@@ -282,7 +282,7 @@ function localize_item(&$item){
$Alink = $item['author']['xchan_url'];
$A = '[zrl=' . chanlink_url($Alink) . '][bdi]' . $Aname . '[/bdi][/zrl]';
-
+
$txt = t('%1$s is %2$s','mood');
$item['body'] = sprintf($txt, $A, t($verb));
@@ -295,15 +295,15 @@ function localize_item(&$item){
// (and update to json storage)
if (activity_match($item['verb'],ACTIVITY_TAG)) {
- $r = q("SELECT * from item,contact WHERE
+ $r = q("SELECT * from item,contact WHERE
item.contact-id=contact.id AND item.mid='%s';",
dbesc($item['parent_mid']));
if(count($r)==0) return;
$obj=$r[0];
-
+
$author = '[zrl=' . zid($item['author-link']) . ']' . $item['author-name'] . '[/zrl]';
$objauthor = '[zrl=' . zid($obj['author-link']) . ']' . $obj['author-name'] . '[/zrl]';
-
+
switch($obj['verb']){
case ACTIVITY_POST:
switch ($obj['obj_type']){
@@ -416,7 +416,7 @@ function count_descendants($item) {
* likes (etc.) can apply to other things besides posts. Check if they are post
* children, in which case we handle them specially. Activities which are unrecognised
* as having special meaning and hidden will be treated as posts or comments and visible
- * in the stream.
+ * in the stream.
*
* @param array $item
* @return boolean
@@ -438,14 +438,14 @@ function visible_activity($item) {
}
// We only need edit activities for other federated protocols
- // which do not support edits natively. While this does federate
+ // which do not support edits natively. While this does federate
// edits, it presents a number of issues locally - such as #757 and #758.
// The SQL check for an edit activity would not perform that well so to fix these issues
- // requires an additional item flag (perhaps 'item_edit_activity') that we can add to the
+ // requires an additional item flag (perhaps 'item_edit_activity') that we can add to the
// query for searches and notifications.
- // For now we'll just forget about trying to make edits work on network protocols that
- // don't support them.
+ // For now we'll just forget about trying to make edits work on network protocols that
+ // don't support them.
// if(is_edit_activity($item))
// return false;
@@ -455,7 +455,7 @@ function visible_activity($item) {
/**
* @brief Check if a given activity is an edit activity
- *
+ *
*
* @param array $item
* @return boolean
@@ -463,11 +463,11 @@ function visible_activity($item) {
function is_edit_activity($item) {
- $post_types = [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT, basename(ACTIVITY_OBJ_NOTE), basename(ACTIVITY_OBJ_COMMENT)];
+ $post_types = [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT, basename(ACTIVITY_OBJ_NOTE), basename(ACTIVITY_OBJ_COMMENT)];
- // In order to share edits with networks which have no concept of editing, we'll create
+ // In order to share edits with networks which have no concept of editing, we'll create
// separate activities to indicate the edit. Our network will not require them, since our
- // edits are automatically applied and the activity indicated.
+ // edits are automatically applied and the activity indicated.
if(($item['verb'] === ACTIVITY_UPDATE) && (in_array($item['obj_type'],$post_types)))
return true;
@@ -678,12 +678,12 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
foreach($items as $item) {
- $x = [
- 'mode' => $mode,
- 'item' => $item
+ $x = [
+ 'mode' => $mode,
+ 'item' => $item
];
call_hooks('stream_item',$x);
-
+
if($x['item']['blocked'])
continue;
@@ -699,7 +699,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
$is_new = false;
if($mode === 'search' || $mode === 'community') {
- if(((activity_match($item['verb'],ACTIVITY_LIKE)) || (activity_match($item['verb'],ACTIVITY_DISLIKE)))
+ if(((activity_match($item['verb'],ACTIVITY_LIKE)) || (activity_match($item['verb'],ACTIVITY_DISLIKE)))
&& ($item['id'] != $item['parent']))
continue;
}
@@ -726,7 +726,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
$drop = array(
'pagedropping' => $page_dropping,
'dropping' => $dropping,
- 'select' => t('Select'),
+ 'select' => t('Select'),
'delete' => t('Delete'),
);
@@ -739,6 +739,8 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
? t('Private Message')
: false
);
+ $locktype = $item['item_private'];
+
$likebuttons = false;
$shareable = false;
@@ -769,7 +771,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
$tmp_item = array(
'template' => $tpl,
'toplevel' => 'toplevel_item',
- 'item_type' => intval($item['item_type']),
+ 'item_type' => intval($item['item_type']),
'mode' => $mode,
'approve' => t('Approve'),
'delete' => t('Delete'),
@@ -783,6 +785,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
'name' => $profile_name,
'sparkle' => $sparkle,
'lock' => $lock,
+ 'locktype' => $locktype,
'thumb' => $profile_avatar,
'title' => $item['title'],
'body' => $body['html'],
@@ -844,7 +847,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
$conv = new Zotlabs\Lib\ThreadStream($mode, $preview, $uploading, $prepared_item);
- // In the display mode we don't have a profile owner.
+ // In the display mode we don't have a profile owner.
if($mode === 'display' && $items)
$conv->set_profile_owner($items[0]['uid']);
@@ -861,7 +864,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
$x = [ 'mode' => $mode, 'item' => $item ];
call_hooks('stream_item',$x);
-
+
if($x['item']['blocked'])
continue;
@@ -970,9 +973,9 @@ function best_link_url($item) {
function thread_action_menu($item,$mode = '') {
$menu = [];
-
+
if((local_channel()) && local_channel() == $item['uid']) {
- $menu[] = [
+ $menu[] = [
'menu' => 'view_source',
'title' => t('View Source'),
'icon' => 'code',
@@ -982,7 +985,7 @@ function thread_action_menu($item,$mode = '') {
if(! in_array($mode, [ 'network-new', 'search', 'community'])) {
if($item['parent'] == $item['id'] && (get_observer_hash() != $item['author_xchan'])) {
- $menu[] = [
+ $menu[] = [
'menu' => 'follow_thread',
'title' => t('Follow Thread'),
'icon' => 'plus',
@@ -991,7 +994,7 @@ function thread_action_menu($item,$mode = '') {
];
}
- $menu[] = [
+ $menu[] = [
'menu' => 'unfollow_thread',
'title' => t('Unfollow Thread'),
'icon' => 'minus',
@@ -1018,7 +1021,7 @@ function author_is_pmable($xchan, $abook) {
call_hooks('author_is_pmable',$x);
if($x['result'] !== 'unset')
return $x['result'];
-
+
if($xchan['xchan_network'] === 'zot' && get_observer_hash())
return true;
return false;
@@ -1063,7 +1066,7 @@ function thread_author_menu($item, $mode = '') {
if($contact) {
$poke_link = ((Apps::system_app_installed($local_channel, 'Poke')) ? z_root() . '/poke/?f=&c=' . $contact['abook_id'] : '');
- if (! intval($contact['abook_self']))
+ if (! intval($contact['abook_self']))
$contact_url = z_root() . '/connedit/' . $contact['abook_id'];
$posts_link = z_root() . '/network/?cid=' . $contact['abook_id'];
@@ -1075,7 +1078,7 @@ function thread_author_menu($item, $mode = '') {
$ratings_url = (($rating_enabled) ? z_root() . '/ratings/' . urlencode($item['author_xchan']) : '');
if($profile_link) {
- $menu[] = [
+ $menu[] = [
'menu' => 'view_profile',
'title' => t('View Profile'),
'icon' => 'fw',
@@ -1085,7 +1088,7 @@ function thread_author_menu($item, $mode = '') {
}
if($posts_link) {
- $menu[] = [
+ $menu[] = [
'menu' => 'view_posts',
'title' => t('Recent Activity'),
'icon' => 'fw',
@@ -1095,7 +1098,7 @@ function thread_author_menu($item, $mode = '') {
}
if($follow_url) {
- $menu[] = [
+ $menu[] = [
'menu' => 'follow',
'title' => t('Connect'),
'icon' => 'fw',
@@ -1105,7 +1108,7 @@ function thread_author_menu($item, $mode = '') {
}
if($contact_url) {
- $menu[] = [
+ $menu[] = [
'menu' => 'connedit',
'title' => t('Edit Connection'),
'icon' => 'fw',
@@ -1115,7 +1118,7 @@ function thread_author_menu($item, $mode = '') {
}
if($pm_url) {
- $menu[] = [
+ $menu[] = [
'menu' => 'prv_message',
'title' => t('Message'),
'icon' => 'fw',
@@ -1125,7 +1128,7 @@ function thread_author_menu($item, $mode = '') {
}
if($ratings_url) {
- $menu[] = [
+ $menu[] = [
'menu' => 'ratings',
'title' => t('Ratings'),
'icon' => 'fw',
@@ -1135,7 +1138,7 @@ function thread_author_menu($item, $mode = '') {
}
if($poke_link) {
- $menu[] = [
+ $menu[] = [
'menu' => 'poke',
'title' => t('Poke'),
'icon' => 'fw',
@@ -1209,8 +1212,8 @@ function builtin_activity_puller($item, &$conv_responses) {
if((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) {
$name = (($item['author']['xchan_name']) ? $item['author']['xchan_name'] : t('Unknown'));
- $url = (($item['author_xchan'] && $item['author']['xchan_photo_s'])
- ? '<a class="dropdown-item" href="' . chanlink_hash($item['author_xchan']) . '">' . '<img class="menu-img-1" src="' . zid($item['author']['xchan_photo_s']) . '" alt="' . urlencode($name) . '" /> ' . $name . '</a>'
+ $url = (($item['author_xchan'] && $item['author']['xchan_photo_s'])
+ ? '<a class="dropdown-item" href="' . chanlink_hash($item['author_xchan']) . '">' . '<img class="menu-img-1" src="' . zid($item['author']['xchan_photo_s']) . '" alt="' . urlencode($name) . '" /> ' . $name . '</a>'
: '<a class="dropdown-item" href="#" class="disabled">' . $name . '</a>'
);
@@ -1222,7 +1225,7 @@ function builtin_activity_puller($item, &$conv_responses) {
if($item['obj_type'] === 'Answer')
continue;
- if(! ((isset($conv_responses[$mode][$item['thr_parent'] . '-l']))
+ if(! ((isset($conv_responses[$mode][$item['thr_parent'] . '-l']))
&& (is_array($conv_responses[$mode][$item['thr_parent'] . '-l']))))
$conv_responses[$mode][$item['thr_parent'] . '-l'] = array();
@@ -1297,9 +1300,9 @@ function status_editor($a, $x, $popup = false, $module='') {
}
/**
- * This is our general purpose content editor.
+ * This is our general purpose content editor.
* It was once nicknamed "jot" and you may see references to "jot" littered throughout the code.
- * They are referring to the content editor or components thereof.
+ * They are referring to the content editor or components thereof.
*/
function hz_status_editor($a, $x, $popup = false) {
@@ -1341,7 +1344,7 @@ function hz_status_editor($a, $x, $popup = false) {
$weblink = (($mimetype === 'text/bbcode') ? t('Insert web link') : false);
if(x($x, 'hide_weblink'))
$weblink = false;
-
+
$embedPhotos = t('Embed (existing) photo from your photo albums');
$writefiles = (($mimetype === 'text/bbcode') ? perm_is_allowed($x['profile_uid'], get_observer_hash(), 'write_storage') : false);
@@ -1366,9 +1369,9 @@ function hz_status_editor($a, $x, $popup = false) {
$webpage = ((x($x,'webpage')) ? $x['webpage'] : '');
$reset = ((x($x,'reset')) ? $x['reset'] : '');
-
+
$feature_auto_save_draft = ((feature_enabled($x['profile_uid'], 'auto_save_draft')) ? "true" : "false");
-
+
$tpl = get_markup_template('jot-header.tpl');
$tplmacros = [
@@ -1394,7 +1397,7 @@ function hz_status_editor($a, $x, $popup = false) {
'$reset' => $reset
];
- call_hooks('jot_header_tpl_filter',$tplmacros);
+ call_hooks('jot_header_tpl_filter',$tplmacros);
App::$page['htmlhead'] .= replace_macros($tpl, $tplmacros);
$tpl = get_markup_template('jot.tpl');
@@ -1421,7 +1424,7 @@ function hz_status_editor($a, $x, $popup = false) {
$catsenabled = ((feature_enabled($x['profile_uid'], 'categories') && (! $webpage)) ? 'categories' : '');
// avoid illegal offset errors
- if(! array_key_exists('permissions',$x))
+ if(! array_key_exists('permissions',$x))
$x['permissions'] = [ 'allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ];
$jotplugins = '';
@@ -1514,6 +1517,7 @@ function hz_status_editor($a, $x, $popup = false) {
'$parent' => ((array_key_exists('parent',$x) && $x['parent']) ? $x['parent'] : 0),
'$reset' => $reset,
'$is_owner' => ((local_channel() && (local_channel() == $x['profile_uid'])) ? true : false),
+ '$customjotheaders' => '',
'$custommoretoolsdropdown' => '',
'$custommoretoolsbuttons' => '',
'$customsubmitright' => []
@@ -1539,7 +1543,7 @@ function get_item_children($arr, $parent) {
$thr_parent = $item['thr_parent'];
if($thr_parent == '')
$thr_parent = $item['parent_mid'];
-
+
if($thr_parent == $parent['mid']) {
$item['children'] = get_item_children($arr, $item);
$children[] = $item;
@@ -1698,9 +1702,9 @@ function prepare_page($item) {
return replace_macros(get_markup_template($tpl), array(
'$body' => $body['html']
));
-
+
}
-
+
$tpl = get_pconfig($item['uid'], 'system', 'pagetemplate');
if (! $tpl)
$tpl = 'page_display.tpl';
diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php
index b96601fec..b96601fec 100755..100644
--- a/include/dba/dba_driver.php
+++ b/include/dba/dba_driver.php
diff --git a/include/dba/dba_pdo.php b/include/dba/dba_pdo.php
index 49f741601..49f741601 100755..100644
--- a/include/dba/dba_pdo.php
+++ b/include/dba/dba_pdo.php
diff --git a/include/dir_fns.php b/include/dir_fns.php
index f477b35dd..88a1bb74f 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -16,7 +16,6 @@ require_once('include/permissions.php');
* @return array
*/
function find_upstream_directory($dirmode) {
- global $DIRECTORY_FALLBACK_SERVERS;
$preferred = get_config('system','directory_server');
@@ -28,7 +27,7 @@ function find_upstream_directory($dirmode) {
);
if(($r) && ($r[0]['site_flags'] & DIRECTORY_MODE_STANDALONE)) {
$preferred = '';
- }
+ }
}
@@ -39,14 +38,16 @@ function find_upstream_directory($dirmode) {
* from our list of directory servers. However, if we're a directory
* server ourself, point at the local instance
* We will then set this value so this should only ever happen once.
- * Ideally there will be an admin setting to change to a different
+ * Ideally there will be an admin setting to change to a different
* directory server if you don't like our choice or if circumstances change.
*/
+ $directory_fallback_servers = get_directory_fallback_servers();
+
$dirmode = intval(get_config('system','directory_mode'));
if ($dirmode == DIRECTORY_MODE_NORMAL) {
- $toss = mt_rand(0,count($DIRECTORY_FALLBACK_SERVERS));
- $preferred = $DIRECTORY_FALLBACK_SERVERS[$toss];
+ $toss = mt_rand(0,count($directory_fallback_servers));
+ $preferred = $directory_fallback_servers[$toss];
set_config('system','directory_server',$preferred);
} else{
set_config('system','directory_server',z_root());
@@ -94,7 +95,7 @@ function get_directory_setting($observer, $setting) {
$ret = get_config('directory', $setting);
- // 'safemode' is the default if there is no observer or no established preference.
+ // 'safemode' is the default if there is no observer or no established preference.
if($setting == 'safemode' && $ret === false)
$ret = 1;
@@ -152,8 +153,8 @@ function dir_sort_links() {
*
* Checks the directory mode of this hub to see if it is some form of directory server. If it is,
* get the directory realm of this hub. Fetch a list of all other directory servers in this realm and request
- * a directory sync packet. This will contain both directory updates and new ratings. Store these all in the DB.
- * In the case of updates, we will query each of them asynchronously from a poller task. Ratings are stored
+ * a directory sync packet. This will contain both directory updates and new ratings. Store these all in the DB.
+ * In the case of updates, we will query each of them asynchronously from a poller task. Ratings are stored
* directly if the rater's signature matches.
*
* @param int $dirmode;
@@ -189,7 +190,7 @@ function sync_directories($dirmode) {
[
'site_url' => DIRECTORY_FALLBACK_MASTER,
'site_flags' => DIRECTORY_MODE_PRIMARY,
- 'site_update' => NULL_DATE,
+ 'site_update' => NULL_DATE,
'site_directory' => DIRECTORY_FALLBACK_MASTER . '/dirsearch',
'site_realm' => DIRECTORY_REALM,
'site_valid' => 1,
@@ -335,11 +336,11 @@ function update_directory_entry($ud) {
// modify the directory search to only return zot6 entries, and also modify this function
// to *only* fetch the zot6 entries.
// Otherwise we'll be showing duplicates or have a mostly empty directory for a good chunk of
- // the transition period. Directory server load will likely increase "moderately" during this transition.
- // The one month counter begins when the primary directory has upgraded to a release which uses this code.
+ // the transition period. Directory server load will likely increase "moderately" during this transition.
+ // The one month counter begins when the primary directory has upgraded to a release which uses this code.
// Hubzilla channels running traditional zot which have not upgraded can or will be dropped from the directory or
// "not found" at the end of the transition period as the directory will only serve zot6 entries at that time.
-
+
$uri = Webfinger::zot_url($ud['ud_addr']);
if($uri) {
$record = Zotfinger::exec($uri);
@@ -347,8 +348,8 @@ function update_directory_entry($ud) {
// Check the HTTP signature
$hsig = $record['signature'];
- if($hsig && $hsig['signer'] === $url && $hsig['header_valid'] === true && $hsig['content_valid'] === true) {
- $x = \Zotlabs\Lib\Libzot::import_xchan($record['data'], 0, $ud);
+ if($hsig && $hsig['signer'] === $uri && $hsig['header_valid'] === true && $hsig['content_valid'] === true) {
+ $x = Libzot::import_xchan($record['data'], 0, $ud);
if($x['success']) {
$success = true;
}
@@ -394,7 +395,7 @@ function local_dir_update($uid, $force) {
$profile['description'] = $p[0]['pdesc'];
$profile['birthday'] = $p[0]['dob'];
- if ($age = age($p[0]['dob'],$p[0]['channel_timezone'],''))
+ if ($age = age($p[0]['dob'],$p[0]['channel_timezone'],''))
$profile['age'] = $age;
$profile['gender'] = $p[0]['gender'];
diff --git a/include/help.php b/include/help.php
index affe64495..ebf1ccc08 100644
--- a/include/help.php
+++ b/include/help.php
@@ -299,7 +299,7 @@ function load_context_help() {
break;
array_pop($args);
- $path = implode($args,'/');
+ $path = implode('/', $args);
}
return $context_help;
diff --git a/include/html2plain.php b/include/html2plain.php
index 979354079..fde70bd01 100644
--- a/include/html2plain.php
+++ b/include/html2plain.php
@@ -40,7 +40,7 @@ function breaklines($line, $level, $wraplength = 75)
$newlines[] = $line;
- return(implode($newlines, "\n"));
+ return(implode("\n", $newlines));
}
function quotelevel($message, $wraplength = 75)
@@ -73,7 +73,7 @@ function quotelevel($message, $wraplength = 75)
if (!$startquote or ($line != ''))
$newlines[] = breaklines($line, $currlevel, $wraplength);
}
- return(implode($newlines, "\n"));
+ return(implode("\n", $newlines));
}
function collecturls($message) {
diff --git a/include/import.php b/include/import.php
index d02cc1e1f..8ce582ede 100644
--- a/include/import.php
+++ b/include/import.php
@@ -1358,7 +1358,7 @@ function sync_files($channel, $files) {
$headers = [];
$headers['Accept'] = 'application/x-zot+json' ;
$headers['Sigtoken'] = random_string();
- $headers = HTTPSig::create_sig($headers,$channel['channel_prvkey'], 'acct:' . channel_reddress($channel),true,'sha512');
+ $headers = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel), true, 'sha512');
$x = z_post_url($fetch_url,$parr,$redirects,[ 'filep' => $fp, 'headers' => $headers]);
fclose($fp);
@@ -1463,13 +1463,13 @@ function sync_files($channel, $files) {
$headers = [];
$headers['Accept'] = 'application/x-zot+json' ;
$headers['Sigtoken'] = random_string();
- $headers = HTTPSig::create_sig($headers,$channel['channel_prvkey'],'acct:' . channel_reddress($channel),true,'sha512');
+ $headers = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel), true, 'sha512');
$x = z_post_url($fetch_url,$parr,$redirects,[ 'filep' => $fp, 'headers' => $headers]);
fclose($fp);
// Override remote hub thumbnails storage settings
- if(! boolval(get_config('system','filesystem_storage_thumbnails', 0))) {
+ if(! boolval(get_config('system','photo_storage_type', 1))) {
$p['os_storage'] = 0;
$p['content'] = file_get_contents($stored_image);
@unlink($stored_image);
diff --git a/include/items.php b/include/items.php
index 2426c189f..83108455f 100755..100644
--- a/include/items.php
+++ b/include/items.php
@@ -11,6 +11,7 @@ use Zotlabs\Lib\ThreadListener;
use Zotlabs\Lib\IConfig;
use Zotlabs\Lib\Activity;
use Zotlabs\Lib\Libsync;
+use Zotlabs\Lib\Libzot;
use Zotlabs\Access\PermissionLimits;
use Zotlabs\Access\PermissionRoles;
use Zotlabs\Access\AccessList;
@@ -130,7 +131,7 @@ function collect_recipients($item, &$private_envelope,$include_groups = true) {
case 'sit':
case 'any':
case 'con':
- if($rr['xchan_network'] != 'zot')
+ if(!in_array($rr['xchan_network'], ['zot6', 'zot']))
break;
case 'pub':
case '':
@@ -790,8 +791,8 @@ function get_item_elements($x,$allow_code = false) {
dbesc($arr['author_xchan'])
);
if($r) {
- if($r[0]['xchan_pubkey'] && $r[0]['xchan_network'] === 'zot') {
- if(rsa_verify($x['body'],base64url_decode($arr['sig']),$r[0]['xchan_pubkey'])) {
+ if($r[0]['xchan_pubkey'] && $r[0]['xchan_network'] === 'zot6') {
+ if(Libzot::verify($x['body'], $arr['sig'], $r[0]['xchan_pubkey'])) {
$arr['item_verified'] = 1;
}
else {
@@ -2206,6 +2207,7 @@ function item_store_update($arr, $allow_exec = false, $deliver = true) {
return $ret;
}
+
// override the unseen flag with the original
$arr['item_unseen'] = $orig[0]['item_unseen'];
@@ -2672,6 +2674,11 @@ function tag_deliver($uid, $item_id) {
}
if ($is_group && intval($item['item_private']) === 2 && intval($item['item_thread_top'])) {
+
+ // do not turn the groups own direkt messages into group items
+ if($item['item_wall'] && $item['author_xchan'] === $u[0]['channel_hash'])
+ return;
+
// group delivery via DM
if(perm_is_allowed($uid,$item['owner_xchan'],'post_wall') || perm_is_allowed($uid,$item['owner_xchan'],'tag_deliver')) {
logger('group DM delivery for ' . $u[0]['channel_address']);
@@ -2682,6 +2689,12 @@ function tag_deliver($uid, $item_id) {
if ($is_group && intval($item['item_thread_top']) && intval($item['item_wall']) && $item['author_xchan'] !== $item['owner_xchan']) {
+
+ if($item['resource_type'] === 'group_item') {
+ logger('resource_type group_item: already shared');
+ return;
+ }
+
if (strpos($item['body'],'[/share]')) {
logger('W2W post already shared');
return;
@@ -3113,11 +3126,12 @@ function tgroup_check($uid, $item) {
}
}
}
-*/
+
if(! $found) {
logger('tgroup_check: mention was in a reshare or exceeded max_tagged_forums - ignoring');
continue;
}
+*/
return true;
}
@@ -3203,16 +3217,18 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false
$arr = [];
if ($edit) {
+
// process edit or delete action
- $r = q("select * from item where source_xchan = '%s' and body like '%s' and uid = %d limit 1",
- dbesc($item['owner_xchan']),
- dbesc("%message_id='" . $item['mid'] . "'%"),
- intval($channel['channel_id'])
+ $r = q("select * from item where uid = %d and resource_id = '%s' and source_xchan = '%s' and resource_type = 'group_item' limit 1",
+ intval($channel['channel_id']),
+ dbesc($item['mid']),
+ dbesc($item['author_xchan'])
);
+
if ($r) {
if (intval($item['item_deleted'])) {
- drop_item($r[0]['id'],false,DROPITEM_PHASE1);
- Master::Summon([ 'Notifier','drop',$r[0]['id'] ]);
+ drop_item($r[0]['id'], false, DROPITEM_PHASE1);
+ Master::Summon([ 'Notifier', 'drop', $r[0]['id'] ]);
return;
}
$arr['id'] = intval($r[0]['id']);
@@ -3242,6 +3258,9 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false
$arr['item_uplink'] = 0;
$arr['source_xchan'] = $item['owner_xchan'];
+ $arr['resource_id'] = $item['mid'];
+ $arr['resource_type'] = 'group_item';
+
$arr['item_private'] = (($channel['channel_allow_cid'] || $channel['channel_allow_gid']
|| $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 1 : 0);
@@ -3263,12 +3282,13 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false
"' message_id='" . $item['mid'] .
"']";
if($item['title'])
- $bb .= '[b]'.$item['title'].'[/b]'."\r\n";
+ $bb .= '[h3][b]'.$item['title'].'[/b][/h3]'."\r\n";
$bb .= $item['body'];
$bb .= "[/share]";
}
$arr['body'] = $bb;
+ $arr['term'] = $item['term'];
$arr['author_xchan'] = $channel['channel_hash'];
$arr['owner_xchan'] = $channel['channel_hash'];
@@ -3950,10 +3970,10 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL) {
);
if($items) {
foreach($items as $i)
- delete_item_lowlevel($i,$stage,$force);
+ delete_item_lowlevel($i, $stage);
}
else
- delete_item_lowlevel($item,$stage,$force);
+ delete_item_lowlevel($item, $stage);
if(! $interactive)
return 1;
@@ -3987,7 +4007,6 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL) {
*
* @param array $item
* @param int $stage
- * @param boolean $force
* @return boolean
*/
function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL) {
@@ -4299,54 +4318,54 @@ function fetch_post_tags($items, $link = false) {
*/
function zot_feed($uid, $observer_hash, $arr) {
- $result = array();
- $mindate = null;
+ $result = [];
+ $mindate = null;
$message_id = null;
- $wall = true;
+ $wall = true;
require_once('include/security.php');
- if(array_key_exists('mindate',$arr)) {
- $mindate = datetime_convert('UTC','UTC',$arr['mindate']);
+ if (array_key_exists('mindate', $arr)) {
+ $mindate = datetime_convert('UTC', 'UTC', $arr['mindate']);
}
- if(array_key_exists('message_id',$arr)) {
+ if (array_key_exists('message_id', $arr)) {
$message_id = $arr['message_id'];
}
- if(array_key_exists('wall',$arr)) {
+ if (array_key_exists('wall', $arr)) {
$wall = intval($arr['wall']);
}
- if(! $mindate)
+ if (!$mindate)
$mindate = NULL_DATE;
$mindate = dbesc($mindate);
logger('zot_feed: requested for uid ' . $uid . ' from observer ' . $observer_hash, LOGGER_DEBUG);
- if($message_id)
- logger('message_id: ' . $message_id,LOGGER_DEBUG);
+ if ($message_id)
+ logger('message_id: ' . $message_id, LOGGER_DEBUG);
- if(! perm_is_allowed($uid,$observer_hash,'view_stream')) {
+ if (!perm_is_allowed($uid, $observer_hash, 'view_stream')) {
logger('zot_feed: permission denied.');
return $result;
}
- if(! is_sys_channel($uid))
- $sql_extra = item_permissions_sql($uid,$observer_hash);
+ if (!is_sys_channel($uid))
+ $sql_extra = item_permissions_sql($uid, $observer_hash);
$limit = " LIMIT 5000 ";
- if($mindate > NULL_DATE) {
+ if ($mindate > NULL_DATE) {
$sql_extra .= " and ( created > '$mindate' or changed > '$mindate' ) ";
}
- if($message_id) {
+ if ($message_id) {
$sql_extra .= " and mid = '" . dbesc($message_id) . "' ";
- $limit = '';
+ $limit = '';
}
- if($wall) {
+ if ($wall) {
$sql_extra .= " and item_wall = 1 ";
}
@@ -4355,17 +4374,17 @@ function zot_feed($uid, $observer_hash, $arr) {
$item_normal = item_normal();
- if(is_sys_channel($uid)) {
+ if (is_sys_channel($uid)) {
- $nonsys_uids = q("SELECT channel_id FROM channel WHERE channel_system = 0");
- $nonsys_uids_str = ids_to_querystr($nonsys_uids,'channel_id');
+ $nonsys_uids = q("SELECT channel_id FROM channel WHERE channel_system = 0");
+ $nonsys_uids_str = ids_to_querystr($nonsys_uids, 'channel_id');
$r = q("SELECT parent, postopts FROM item
WHERE uid IN ( %s )
AND item_private = 0
$item_normal
$sql_extra ORDER BY created ASC $limit",
- intval($nonsys_uids_str)
+ dbesc($nonsys_uids_str)
);
}
else {
@@ -4379,19 +4398,19 @@ function zot_feed($uid, $observer_hash, $arr) {
$parents = [];
- if($r) {
- foreach($r as $rv) {
- if(array_key_exists($rv['parent'],$parents))
+ if ($r) {
+ foreach ($r as $rv) {
+ if (array_key_exists($rv['parent'], $parents))
continue;
- if(strpos($rv['postopts'],'nodeliver') !== false)
+ if (strpos($rv['postopts'], 'nodeliver') !== false)
continue;
$parents[$rv['parent']] = $rv;
- if(count($parents) > 200)
+ if (count($parents) > 200)
break;
}
- $parents_str = ids_to_querystr($parents,'parent');
- $sys_query = ((is_sys_channel($uid)) ? $sql_extra : '');
+ $parents_str = ids_to_querystr($parents, 'parent');
+ $sys_query = ((is_sys_channel($uid)) ? $sql_extra : '');
$item_normal = item_normal();
$items = q("SELECT item.*, item.id AS item_id FROM item
@@ -4400,25 +4419,23 @@ function zot_feed($uid, $observer_hash, $arr) {
);
}
- if($items) {
+ if ($items) {
xchan_query($items);
$items = fetch_post_tags($items);
require_once('include/conversation.php');
- $items = conv_sort($items,'ascending');
+ $items = conv_sort($items, 'ascending');
}
else
- $items = array();
+ $items = [];
- logger('zot_feed: number items: ' . count($items),LOGGER_DEBUG);
+ logger('zot_feed: number items: ' . count($items), LOGGER_DEBUG);
- foreach($items as $item)
+ foreach ($items as $item)
$result[] = encode_item($item);
return $result;
}
-
-
function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = CLIENT_MODE_NORMAL,$module = 'network') {
$result = array('success' => false);
@@ -4458,7 +4475,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$sql_extra = " AND item.parent IN ( SELECT parent FROM item WHERE $item_uids and item_thread_top = 1 $sql_options $item_normal ) ";
if($arr['since_id'])
- $sql_extra .= " and item.id > " . $since_id . " ";
+ $sql_extra .= " and item.id > " . intval($arr['since_id']) . " ";
if($arr['cat'])
$sql_extra .= protect_sprintf(term_query('item', $arr['cat'], TERM_CATEGORY));
@@ -4543,9 +4560,11 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
// only setup pagination on initial page view
$pager_sql = '';
} else {
- $itemspage = (($channel) ? get_pconfig($uid,'system','itemspage') : 10);
- App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
- $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
+ if(! $arr['total']) {
+ $itemspage = (($channel) ? get_pconfig($uid,'system','itemspage') : 10);
+ App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
+ }
}
if (isset($arr['start']) && isset($arr['records']))
@@ -4581,7 +4600,6 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
require_once('include/security.php');
$sql_extra .= item_permissions_sql($channel['channel_id'],$observer_hash);
-
if($arr['pages'])
$item_restrict = " AND item_type = " . ITEM_TYPE_WEBPAGE . " ";
else
@@ -4594,11 +4612,23 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
// "New Item View" - show all items unthreaded in reverse created date order
- $items = q("SELECT item.*, item.id AS item_id FROM item
+ if ($arr['total']) {
+ $items = dbq("SELECT count(item.id) AS total FROM item
WHERE $item_uids $item_restrict
$simple_update
- $sql_extra $sql_nets $sql_extra3
- ORDER BY item.received DESC $pager_sql"
+ $sql_extra $sql_nets $sql_extra3"
+ );
+ if ($items) {
+ return intval($items[0]['total']);
+ }
+ return 0;
+ }
+
+ $items = dbq("SELECT item.*, item.id AS item_id FROM item
+ WHERE $item_uids $item_restrict
+ $simple_update
+ $sql_extra $sql_nets $sql_extra3
+ ORDER BY item.received DESC $pager_sql"
);
require_once('include/items.php');
@@ -4619,7 +4649,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
// Fetch a page full of parent items for this page
- $r = q("SELECT distinct item.id AS item_id, item.$ordering FROM item
+ $r = dbq("SELECT distinct item.id AS item_id, item.$ordering FROM item
left join abook on item.author_xchan = abook.abook_xchan
WHERE $item_uids $item_restrict
AND item.parent = item.id
@@ -4630,7 +4660,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
else {
// update
- $r = q("SELECT item.parent AS item_id FROM item
+ $r = dbq("SELECT item.parent AS item_id FROM item
left join abook on item.author_xchan = abook.abook_xchan
WHERE $item_uids $item_restrict $simple_update
and (abook.abook_blocked = 0 or abook.abook_flags is null)
@@ -4705,7 +4735,7 @@ function webpage_to_namespace($webpage) {
function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid) {
- if(! $post_id)
+ if(! intval($post_id))
return;
$page_type = webpage_to_namespace($webpage);
@@ -4727,7 +4757,7 @@ function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remo
// as the entire mid. If it were the post_id the link would be less portable.
IConfig::Set(
- intval($post_id),
+ $post_id,
'system',
$page_type,
($pagetitle) ? $pagetitle : substr($mid,0,16),
diff --git a/include/js_strings.php b/include/js_strings.php
index 6f559f4c4..e06e105fd 100644
--- a/include/js_strings.php
+++ b/include/js_strings.php
@@ -47,10 +47,10 @@ function js_strings() {
'days' => tt('%d days', '%d days', '%d'),
'months' => tt('%d months', '%d months', '%d'),
'years' => tt('%d years', '%d years', '%d'),
-
+
// get plural function code
'plural_func' => tf(),
-
+
'$t01' => ((t('timeago.prefixAgo') == 'timeago.prefixAgo') ? '' : ((t('timeago.prefixAgo') == 'NONE') ? '' : t('timeago.prefixAgo'))),
'$t02' => ((t('timeago.prefixFromNow') == 'timeago.prefixFromNow') ? '' : ((t('timeago.prefixFromNow') == 'NONE') ? '' : t('timeago.prefixFromNow'))),
'$t03' => ((t('timeago.suffixAgo') == 'timeago.suffixAgo') ? 'ago' : ((t('timeago.suffixAgo') == 'NONE') ? '' : t('timeago.suffixAgo'))),
@@ -113,6 +113,9 @@ function js_strings() {
'$month' => t('month','calendar'),
'$week' => t('week','calendar'),
'$day' => t('day','calendar'),
- '$allday' => t('All day','calendar')
+ '$allday' => t('All day','calendar'),
+
+ // mod cloud
+ '$download_info' => t('Please stand by while your download is being prepared.')
));
}
diff --git a/include/network.php b/include/network.php
index bcd66cf85..f5ff48fce 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1,8 +1,10 @@
<?php
+use Zotlabs\Lib\LDSignatures;
use Zotlabs\Lib\Zotfinger;
use Zotlabs\Lib\Libzot;
use Zotlabs\Lib\Queue;
+use Zotlabs\Web\HTTPSig;
/**
* @file include/network.php
@@ -404,6 +406,31 @@ function json_return_and_die($x, $content_type = 'application/json') {
killme();
}
+function as_return_and_die($obj,$channel) {
+
+ $x = array_merge(['@context' => [
+ ACTIVITYSTREAMS_JSONLD_REV,
+ 'https://w3id.org/security/v1',
+ z_root() . ZOT_APSCHEMA_REV
+ ]], $obj );
+
+ $headers = [];
+ $headers['Content-Type'] = 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' ;
+ $x['signature'] = LDSignatures::sign($x,$channel);
+ $ret = json_encode($x, JSON_UNESCAPED_SLASHES);
+ logger('data: ' . jindent($ret), LOGGER_DATA);
+ $headers['Date'] = datetime_convert('UTC','UTC', 'now', 'D, d M Y H:i:s \\G\\M\\T');
+ $headers['Digest'] = HTTPSig::generate_digest_header($ret);
+ $headers['(request-target)'] = strtolower($_SERVER['REQUEST_METHOD']) . ' ' . $_SERVER['REQUEST_URI'];
+
+ $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel));
+ HTTPSig::set_headers($h);
+
+ echo $ret;
+ killme();
+
+}
+
/**
* @brief Send HTTP status header.
*
@@ -714,7 +741,7 @@ function sxml2array ( $xmlObject, $out = array () )
* @brief xml2array() will convert the given XML text to an array in the XML structure.
*
* Link: http://www.bin-co.com/php/scripts/xml2array/
- * Portions significantly re-written by mike@macgirvin.com
+ * Portions significantly re-written by mike@macgirvin.com
* (namespaces, lowercase tags, get_attribute default changed, more...)
*
* Examples: $array = xml2array(file_get_contents('feed.xml'));
@@ -1113,8 +1140,8 @@ function discover_by_webbie($webbie, $protocol = '') {
// Check the HTTP signature
$hsig = $record['signature'];
- if($hsig && ($hsig['signer'] === $url || $hsig['signer'] === $link['href']) && $hsig['header_valid'] === true && $hsig['content_valid'] === true)
- $hsig_valid = true;
+ if($hsig && $hsig['signer'] === $link['href'] && $hsig['header_valid'] === true && $hsig['content_valid'] === true)
+ $hsig_valid = true;
if(! $hsig_valid) {
logger('http signature not valid: ' . print_r($hsig,true));
@@ -1431,7 +1458,7 @@ function scrape_feed($url) {
function do_delivery($deliveries, $force = false) {
// $force is set if a site that wasn't responding suddenly returns to life.
- // Try and shove through everything going to that site while it's responding.
+ // Try and shove through everything going to that site while it's responding.
if(! (is_array($deliveries) && count($deliveries)))
return;
@@ -1978,7 +2005,7 @@ function getBestSupportedMimeType($mimeTypes = null, $acceptedTypes = false) {
// check if there is a different quality
if (strpos($a, ';q=')) {
// divide "mime/type;q=X" into two parts: "mime/type" i "X"
- list($a, $q) = explode(';q=', $a);
+ [$a, $q] = explode(';q=', $a);
}
// mime-type $a is accepted with the quality $q
// WARNING: $q == 0 means, that mime-type isn’t supported!
@@ -2069,7 +2096,7 @@ function get_request_string($url) {
* Takes the output of parse_url and builds a URL from it
*
*/
-
+
function unparse_url($parsed_url) {
$scheme = isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : '';
$host = isset($parsed_url['host']) ? $parsed_url['host'] : '';
@@ -2081,4 +2108,4 @@ function unparse_url($parsed_url) {
$query = isset($parsed_url['query']) ? '?' . $parsed_url['query'] : '';
$fragment = isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : '';
return "$scheme$user$pass$host$port$path$query$fragment";
-}
+}
diff --git a/include/oembed.php b/include/oembed.php
index eeae7a174..1550eaacf 100755..100644
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -189,6 +189,13 @@ function oembed_fetch_url($embedurl){
$entries = $xpath->query("//link[@type='application/json+oembed']");
foreach($entries as $e){
$href = $e->getAttributeNode("href")->nodeValue;
+
+ // Youtube will happily hand us an http oembed URL even if we specify an https link; and the returned http link will fail with a 40x if you try and fetch it
+ // This is not our bug, but good luck getting google to fix it.
+ if (strpos($href,'http:') === 0 && strpos($href,'youtu') !== false) {
+ $href = str_replace('http:','https:', $href);
+ }
+
$x = z_fetch_url($href . '&maxwidth=' . App::$videowidth);
if($x['success'])
$txt = $x['body'];
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index f61919eea..87b1d96fe 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -64,15 +64,23 @@ function photo_factory($data, $type = null) {
*
* @param string $filename
* Image filename
- * @param string $headers (optional)
- * Headers to check for Content-Type (from curl request)
+ * @param string $data (optional)
+ * Data array fetched from cURL with z_fetch_url
* @return null|string Guessed mimetype
*/
-function guess_image_type($filename, $headers = '') {
-// logger('Photo: guess_image_type: '.$filename . ($headers?' from curl headers':''), LOGGER_DEBUG);
+function guess_image_type($filename, $data = '') {
+
+ if($data)
+ $headers = (is_array($data) ? $data['header'] : $data);
+
+ // logger('Photo: guess_image_type: '.$filename . ($headers?' from curl headers':''), LOGGER_DEBUG);
+
$type = null;
$m = null;
+ $ph = photo_factory('');
+ $types = $ph->supportedTypes();
+
if($headers) {
$hdrs = [];
$h = explode("\n", $headers);
@@ -81,19 +89,14 @@ function guess_image_type($filename, $headers = '') {
$hdrs[strtolower($k)] = $v;
}
logger('Curl headers: ' .var_export($hdrs, true), LOGGER_DEBUG);
- if(array_key_exists('content-type', $hdrs)) {
- $ph = photo_factory('');
- $types = $ph->supportedTypes();
-
- if(array_key_exists($hdrs['content-type'], $types))
- $type = $hdrs['content-type'];
- }
+ if(array_key_exists('content-type', $hdrs) && array_key_exists($hdrs['content-type'], $types))
+ $type = $hdrs['content-type'];
}
if(is_null($type)){
$ignore_imagick = get_config('system', 'ignore_imagick');
// Guessing from extension? Isn't that... dangerous?
- if(class_exists('Imagick') && file_exists($filename) && is_readable($filename) && !$ignore_imagick) {
+ if(class_exists('Imagick') && ! $ignore_imagick) {
$v = Imagick::getVersion();
preg_match('/ImageMagick ([0-9]+\.[0-9]+\.[0-9]+)/', $v['versionString'], $m);
if(version_compare($m[1], '6.6.7') >= 0) {
@@ -102,8 +105,18 @@ function guess_image_type($filename, $headers = '') {
* but at least it comes from the data inside the image,
* we won't be tricked by a manipulated extension
*/
- $image = new Imagick($filename);
- $type = $image->getImageMimeType();
+ $body = false;
+ if (strpos($filename, 'http') === false && file_exists($filename) && is_readable($filename))
+ $body == file_get_contents($filename);
+ elseif (is_array($data) && array_key_exists('body', $data))
+ $body = $data['body'];
+ if ($body) {
+ $image = new Imagick($filename);
+ $image->readImageBlob($body);
+ $r = $image->identifyImage();
+ if ($r && is_array($r) && array_key_exists($r['mimetype'], $types))
+ $type = $r['mimetype'];
+ }
}
else {
// earlier imagick versions have issues with scaling png's
@@ -115,8 +128,6 @@ function guess_image_type($filename, $headers = '') {
if(is_null($type)) {
$ext = pathinfo($filename, PATHINFO_EXTENSION);
- $ph = photo_factory('');
- $types = $ph->supportedTypes();
foreach($types as $m => $e) {
if($ext === $e) {
$type = $m;
@@ -124,12 +135,12 @@ function guess_image_type($filename, $headers = '') {
}
}
- if(is_null($type) && (strpos($filename, 'http') === false)) {
+ if(is_null($type) && strpos($filename, 'http') === 0) {
$size = getimagesize($filename);
- $ph = photo_factory('');
- $types = $ph->supportedTypes();
- $type = ((array_key_exists($size['mime'], $types)) ? $size['mime'] : 'image/jpeg');
+ if (array_key_exists($size['mime'], $types))
+ $type = $size['mime'];
}
+
if(is_null($type)) {
if(strpos(strtolower($filename),'jpg') !== false)
$type = 'image/jpeg';
@@ -139,8 +150,8 @@ function guess_image_type($filename, $headers = '') {
$type = 'image/gif';
elseif(strpos(strtolower($filename),'png') !== false)
$type = 'image/png';
- elseif(strpos(strtolower($filename),'webp') !== false)
- $type = 'image/webp';
+ elseif(strpos(strtolower($filename),'webp') !== false)
+ $type = 'image/webp';
}
}
@@ -205,7 +216,11 @@ function import_xchan_photo($photo, $xchan, $thing = false, $force = false) {
if($thing)
$hash = photo_new_resource();
else {
- $r = q("SELECT resource_id, edited, mimetype, expires, description FROM photo WHERE xchan = '%s' AND photo_usage = %d AND imgscale = 4 LIMIT 1", dbesc($xchan), intval(PHOTO_XCHAN));
+ $r = q("SELECT resource_id, edited, mimetype, expires, description FROM photo WHERE xchan = '%s' AND photo_usage = %d AND imgscale = %d LIMIT 1",
+ dbesc($xchan),
+ intval(PHOTO_XCHAN),
+ intval(PHOTO_RES_PROFILE_300)
+ );
if($r) {
$hash = $r[0]['resource_id'];
$modified = $r[0]['edited'];
@@ -220,7 +235,7 @@ function import_xchan_photo($photo, $xchan, $thing = false, $force = false) {
$photo_failure = false;
$img_str = '';
- if($photo) {
+ if($photo && strpos($photo, z_root() . '/' . get_default_profile_photo()) === false) {
if($force || empty($modified))
$result = z_fetch_url($photo, true);
@@ -260,7 +275,7 @@ function import_xchan_photo($photo, $xchan, $thing = false, $force = false) {
if($result['success']) {
$img_str = $result['body'];
- $type = guess_image_type($photo, $result['header']);
+ $type = guess_image_type($photo, $result);
if(is_null($type))
$photo_failure = true;
}
@@ -316,26 +331,20 @@ function import_xchan_photo($photo, $xchan, $thing = false, $force = false) {
'filename' => basename($photo),
'album' => $album,
'photo_usage' => $flags,
- 'imgscale' => 4,
'edited' => $modified,
'description' => (array_key_exists('etag', $hdrs) ? $hdrs['etag'] : ''),
'expires' => gmdate('Y-m-d H:i:s', (isset($expires) ? $expires : time() + 86400))
];
- $r = $img->save($p);
- if($r === false)
- $photo_failure = true;
+ $r1 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_300);
$img->scaleImage(80);
- $p['imgscale'] = 5;
- $r = $img->save($p);
- if($r === false)
- $photo_failure = true;
+ $r2 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_80);
$img->scaleImage(48);
- $p['imgscale'] = 6;
- $r = $img->save($p);
- if($r === false)
+ $r3 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_48);
+
+ if($r1 === false || $r2 === false || $r3 === false)
$photo_failure = true;
$photo = z_root() . '/photo/' . $hash . '-4';
@@ -379,8 +388,7 @@ function import_channel_photo_from_url($photo, $aid, $uid) {
if($result['success']) {
$img_str = $result['body'];
- $type = guess_image_type($photo, $result['header']);
-
+ $type = guess_image_type($photo, $result);
import_channel_photo($img_str, $type, $aid, $uid);
}
}
@@ -401,8 +409,17 @@ function import_channel_photo($photo, $type, $aid, $uid) {
logger('Importing channel photo for ' . $uid, LOGGER_DEBUG);
+ $r = q("SELECT resource_id FROM photo WHERE uid = %d AND photo_usage = %d AND imgscale = %d",
+ intval($uid),
+ intval(PHOTO_PROFILE),
+ intval(PHOTO_RES_PROFILE_300)
+ );
+ if ($r)
+ $hash = $r[0]['resource_id'];
+ else
+ $hash = photo_new_resource();
+
$photo_failure = false;
- $hash = photo_new_resource();
$filename = $hash;
$img = photo_factory($photo, $type);
@@ -415,31 +432,26 @@ function import_channel_photo($photo, $type, $aid, $uid) {
'resource_id' => $hash,
'filename' => $filename,
'album' => t('Profile Photos'),
- 'photo_usage' => PHOTO_PROFILE,
- 'imgscale' => 4,
+ 'photo_usage' => PHOTO_PROFILE
];
// photo size
$img->scaleImageSquare(300);
- $r = $img->save($p);
- if($r === false)
- $photo_failure = true;
+ $r1 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_300);
// thumb size
$img->scaleImage(80);
- $p['imgscale'] = 5;
- $r = $img->save($p);
- if($r === false)
- $photo_failure = true;
+ $r2 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_80);
// micro size
$img->scaleImage(48);
- $p['imgscale'] = 6;
- $r = $img->save($p);
- if($r === false)
+ $r3 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_48);
+
+ if($r1 === false || $r2 === false || $r3 === false)
$photo_failure = true;
- } else {
+ }
+ else {
logger('Invalid image.');
$photo_failure = true;
}
diff --git a/include/plugin.php b/include/plugin.php
index c789ad522..c789ad522 100755..100644
--- a/include/plugin.php
+++ b/include/plugin.php
diff --git a/include/security.php b/include/security.php
index c9df00f1e..40905925f 100644
--- a/include/security.php
+++ b/include/security.php
@@ -19,26 +19,26 @@ function authenticate_success($user_record, $channel = null, $login_initial = fa
$lastlog_updated = false;
- if(x($user_record, 'account_id')) {
+ if (x($user_record, 'account_id')) {
App::$account = $user_record;
$_SESSION['account_id'] = $user_record['account_id'];
$_SESSION['authenticated'] = 1;
- if($channel)
+ if ($channel)
$uid_to_load = $channel['channel_id'];
- if(! $uid_to_load) {
- $uid_to_load = (((x($_SESSION,'uid')) && (intval($_SESSION['uid'])))
+ if (!$uid_to_load) {
+ $uid_to_load = (((x($_SESSION, 'uid')) && (intval($_SESSION['uid'])))
? intval($_SESSION['uid'])
: intval(App::$account['account_default_channel'])
);
}
- if($uid_to_load) {
+ if ($uid_to_load) {
change_channel($uid_to_load);
}
- if($login_initial || $update_lastlog) {
+ if ($login_initial || $update_lastlog) {
q("update account set account_lastlog = '%s' where account_id = %d",
dbesc(datetime_convert()),
intval($_SESSION['account_id'])
@@ -50,24 +50,24 @@ function authenticate_success($user_record, $channel = null, $login_initial = fa
}
- if(($login_initial) && (! $lastlog_updated)) {
+ if (($login_initial) && (!$lastlog_updated)) {
call_hooks('logged_in', $user_record);
// might want to log success here
}
- if($return || x($_SESSION, 'workflow')) {
+ if ($return || x($_SESSION, 'workflow')) {
unset($_SESSION['workflow']);
return;
}
- if((App::$module !== 'home') && x($_SESSION,'login_return_url') && strlen($_SESSION['login_return_url'])) {
+ if ((App::$module !== 'home') && x($_SESSION, 'login_return_url') && strlen($_SESSION['login_return_url'])) {
$return_url = $_SESSION['login_return_url'];
// don't let members get redirected to a raw ajax page update - this can happen
// if DHCP changes the IP address at an unfortunate time and paranoia is turned on
- if(strstr($return_url,'update_'))
+ if (strstr($return_url, 'update_'))
$return_url = '';
unset($_SESSION['login_return_url']);
@@ -76,11 +76,11 @@ function authenticate_success($user_record, $channel = null, $login_initial = fa
/* This account has never created a channel. Send them to new_channel by default */
- if(App::$module === 'login') {
+ if (App::$module === 'login') {
$r = q("select count(channel_id) as total from channel where channel_account_id = %d and channel_removed = 0 ",
intval(App::$account['account_id'])
);
- if(($r) && (! $r[0]['total']))
+ if (($r) && (!$r[0]['total']))
goaway(z_root() . '/new_channel');
}
@@ -88,14 +88,14 @@ function authenticate_success($user_record, $channel = null, $login_initial = fa
}
function atoken_login($atoken) {
- if(! $atoken)
+ if (!$atoken)
return false;
$_SESSION['authenticated'] = 1;
$_SESSION['visitor_id'] = $atoken['xchan_hash'];
$_SESSION['atoken'] = $atoken['atoken_id'];
- \App::set_observer($atoken);
+ App::set_observer($atoken);
return true;
}
@@ -109,14 +109,14 @@ function atoken_login($atoken) {
function atoken_xchan($atoken) {
$c = channelx_by_n($atoken['atoken_uid']);
- if($c) {
+ if ($c) {
return [
'atoken_id' => $atoken['atoken_id'],
- 'xchan_hash' => substr($c['channel_hash'],0,16) . '.' . $atoken['atoken_name'],
+ 'xchan_hash' => substr($c['channel_hash'], 0, 16) . '.' . $atoken['atoken_name'],
'xchan_name' => $atoken['atoken_name'],
- 'xchan_addr' => 'guest:' . $atoken['atoken_name'] . '@' . \App::get_hostname(),
+ 'xchan_addr' => 'guest:' . $atoken['atoken_name'] . '@' . App::get_hostname(),
'xchan_network' => 'unknown',
- 'xchan_url' => z_root() . '/guest/' . substr($c['channel_hash'],0,16) . '.' . $atoken['atoken_name'],
+ 'xchan_url' => z_root() . '/guest/' . substr($c['channel_hash'], 0, 16) . '.' . $atoken['atoken_name'],
'xchan_hidden' => 1,
'xchan_photo_mimetype' => 'image/png',
'xchan_photo_l' => z_root() . '/' . get_default_profile_photo(300),
@@ -133,16 +133,16 @@ function atoken_delete($atoken_id) {
$r = q("select * from atoken where atoken_id = %d",
intval($atoken_id)
);
- if(! $r)
+ if (!$r)
return;
$c = q("select channel_id, channel_hash from channel where channel_id = %d",
intval($r[0]['atoken_uid'])
);
- if(! $c)
+ if (!$c)
return;
- $atoken_xchan = substr($c[0]['channel_hash'],0,16) . '.' . $r[0]['atoken_name'];
+ $atoken_xchan = substr($c[0]['channel_hash'], 0, 16) . '.' . $r[0]['atoken_name'];
q("delete from atoken where atoken_id = %d",
intval($atoken_id)
@@ -168,41 +168,41 @@ function atoken_create_xchan($xchan) {
$r = q("select xchan_hash from xchan where xchan_hash = '%s'",
dbesc($xchan['xchan_hash'])
);
- if($r)
+ if ($r)
return;
$xchan['xchan_guid'] = $xchan['xchan_hash'];
$store = [];
- foreach($xchan as $k => $v) {
- if(strpos($k,'xchan_') === 0) {
+ foreach ($xchan as $k => $v) {
+ if (strpos($k, 'xchan_') === 0) {
$store[$k] = $v;
}
}
-
- $r = xchan_store_lowlevel($store);
+
+ xchan_store_lowlevel($store);
return true;
}
-function atoken_abook($uid,$xchan_hash) {
+function atoken_abook($uid, $xchan_hash) {
- if(substr($xchan_hash,16,1) != '.')
+ if (substr($xchan_hash, 16, 1) != '.')
return false;
$r = q("select channel_hash from channel where channel_id = %d limit 1",
intval($uid)
);
- if(! $r)
+ if (!$r)
return false;
$x = q("select * from atoken where atoken_uid = %d and atoken_name = '%s'",
intval($uid),
- dbesc(substr($xchan_hash,17))
+ dbesc(substr($xchan_hash, 17))
);
- if($x) {
+ if ($x) {
$xchan = atoken_xchan($x[0]);
$xchan['abook_blocked'] = 0;
$xchan['abook_ignored'] = 0;
@@ -215,12 +215,12 @@ function atoken_abook($uid,$xchan_hash) {
function pseudo_abook($xchan) {
- if(! $xchan)
+ if (!$xchan)
return false;
// set abook_pseudo to flag that we aren't really connected.
- $xchan['abook_pseudo'] = 1;
+ $xchan['abook_pseudo'] = 1;
$xchan['abook_blocked'] = 0;
$xchan['abook_ignored'] = 0;
$xchan['abook_pending'] = 0;
@@ -240,7 +240,7 @@ function change_channel($change_channel) {
$ret = false;
- if($change_channel) {
+ if ($change_channel) {
$r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_account_id = %d and channel_removed = 0 limit 1",
intval($change_channel),
@@ -249,7 +249,7 @@ function change_channel($change_channel) {
// It's not there. Is this an administrator, and is this the sys channel?
if (is_developer()) {
- if (! $r) {
+ if (!$r) {
if (is_site_admin()) {
$r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_system = 1 and channel_removed = 0 limit 1",
intval($change_channel)
@@ -258,19 +258,19 @@ function change_channel($change_channel) {
}
}
- if($r) {
+ if ($r) {
$hash = $r[0]['channel_hash'];
$_SESSION['uid'] = intval($r[0]['channel_id']);
App::set_channel($r[0]);
$_SESSION['theme'] = $r[0]['channel_theme'];
- $_SESSION['mobile_theme'] = get_pconfig(local_channel(),'system', 'mobile_theme');
- $_SESSION['cloud_tiles'] = get_pconfig(local_channel(),'system', 'cloud_tiles');
+ $_SESSION['mobile_theme'] = get_pconfig(local_channel(), 'system', 'mobile_theme');
+ $_SESSION['cloud_tiles'] = get_pconfig(local_channel(), 'system', 'cloud_tiles');
date_default_timezone_set($r[0]['channel_timezone']);
// Update the active timestamp at most once a day
- if(substr($r[0]['channel_active'],0,10) !== substr(datetime_convert(),0,10)) {
- $z = q("UPDATE channel SET channel_active = '%s' WHERE channel_id = %d",
+ if (substr($r[0]['channel_active'], 0, 10) !== substr(datetime_convert(), 0, 10)) {
+ q("UPDATE channel SET channel_active = '%s' WHERE channel_id = %d",
dbesc(datetime_convert()),
intval($r[0]['channel_id'])
);
@@ -280,17 +280,17 @@ function change_channel($change_channel) {
$x = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($hash)
);
- if($x) {
+ if ($x) {
$_SESSION['my_url'] = $x[0]['xchan_url'];
$_SESSION['my_address'] = channel_reddress($r[0]);
App::set_observer($x[0]);
App::set_perms(get_all_perms(local_channel(), $hash));
}
- if(! is_dir('store/' . $r[0]['channel_address']))
- @os_mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS,true);
+ if (!is_dir('store/' . $r[0]['channel_address']))
+ @os_mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS, true);
- $arr = [ 'channel_id' => $change_channel, 'chanx' => $ret ];
+ $arr = ['channel_id' => $change_channel, 'chanx' => $ret];
call_hooks('change_channel', $arr);
}
@@ -333,18 +333,17 @@ function permissions_sql($owner_id, $remote_observer = null, $table = '') {
if (($local_channel) && ($local_channel == $owner_id)) {
return EMPTY_STR;
}
-
/**
- * Authenticated visitor.
+ * Authenticated visitor.
*/
else {
- $observer = ((! is_null($remote_observer)) ? $remote_observer : get_observer_hash());
+ $observer = ((!is_null($remote_observer)) ? $remote_observer : get_observer_hash());
if ($observer) {
- $sec = get_security_ids($owner_id,$observer);
+ $sec = get_security_ids($owner_id, $observer);
// always allow the channel owner, even if authenticated as a visitor
@@ -354,14 +353,14 @@ function permissions_sql($owner_id, $remote_observer = null, $table = '') {
return EMPTY_STR;
}
}
- }
+ }
if (is_array($sec['allow_cid']) && count($sec['allow_cid'])) {
$ca = [];
foreach ($sec['allow_cid'] as $c) {
$ca[] = '<' . $c . '>';
}
- $cs = implode('|',$ca);
+ $cs = implode('|', $ca);
}
else {
$cs = '<<>>'; // should be impossible to match
@@ -372,7 +371,7 @@ function permissions_sql($owner_id, $remote_observer = null, $table = '') {
foreach ($sec['allow_gid'] as $g) {
$ga[] = '<' . $g . '>';
}
- $gs = implode('|',$ga);
+ $gs = implode('|', $ga);
}
else {
$gs = '<<>>'; // should be impossible to match
@@ -420,39 +419,38 @@ function item_permissions_sql($owner_id, $remote_observer = null) {
* Profile owner - everything is visible
*/
- if(($local_channel) && ($local_channel == $owner_id)) {
+ if (($local_channel) && ($local_channel == $owner_id)) {
$sql = '';
}
-
/**
- * Authenticated visitor.
+ * Authenticated visitor.
*/
else {
- $observer = (($remote_observer) ? $remote_observer : get_observer_hash());
+ $observer = (($remote_observer) ? $remote_observer : get_observer_hash());
- if($observer) {
+ if ($observer) {
- $scope = scopes_sql($owner_id,$observer);
- $sec = get_security_ids($owner_id,$observer);
+ $scope = scopes_sql($owner_id, $observer);
+ $sec = get_security_ids($owner_id, $observer);
// always allow the channel owner, even if authenticated as a visitor
- if($sec['channel_id']) {
- foreach($sec['channel_id'] as $ch) {
- if($observer === $ch) {
+ if ($sec['channel_id']) {
+ foreach ($sec['channel_id'] as $ch) {
+ if ($observer === $ch) {
return EMPTY_STR;
}
}
- }
+ }
if (is_array($sec['allow_cid']) && count($sec['allow_cid'])) {
$ca = [];
foreach ($sec['allow_cid'] as $c) {
$ca[] = '<' . $c . '>';
}
- $cs = implode('|',$ca);
+ $cs = implode('|', $ca);
}
else {
$cs = '<<>>'; // should be impossible to match
@@ -463,7 +461,7 @@ function item_permissions_sql($owner_id, $remote_observer = null) {
foreach ($sec['allow_gid'] as $g) {
$ga[] = '<' . $g . '>';
}
- $gs = implode('|',$ga);
+ $gs = implode('|', $ga);
}
else {
$gs = '<<>>'; // should be impossible to match
@@ -493,21 +491,20 @@ function item_permissions_sql($owner_id, $remote_observer = null) {
*/
-
-function scopes_sql($uid,$observer) {
+function scopes_sql($uid, $observer) {
$str = " and ( public_policy = 'authenticated' ";
- if(! is_foreigner($observer))
+ if (!is_foreigner($observer))
$str .= " or public_policy = 'network: red' ";
- if(local_channel())
+ if (local_channel())
$str .= " or public_policy = 'site: " . App::get_hostname() . "' ";
$ab = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
dbesc($observer),
intval($uid)
);
- if(! $ab)
+ if (!$ab)
return $str . " ) ";
- if($ab[0]['abook_pending'])
+ if ($ab[0]['abook_pending'])
$str .= " or public_policy = 'any connections' ";
$str .= " or public_policy = 'contacts' ) ";
return $str;
@@ -526,14 +523,14 @@ function public_permissions_sql($observer_hash) {
if ($observer_hash) {
- $sec = get_security_ids($owner_id,$observer_hash);
+ $sec = get_security_ids($owner_id, $observer_hash);
if (is_array($sec['allow_cid']) && count($sec['allow_cid'])) {
$ca = [];
foreach ($sec['allow_cid'] as $c) {
$ca[] = '<' . $c . '>';
}
- $cs = implode('|',$ca);
+ $cs = implode('|', $ca);
}
else {
$cs = '<<>>'; // should be impossible to match
@@ -544,7 +541,7 @@ function public_permissions_sql($observer_hash) {
foreach ($sec['allow_gid'] as $g) {
$ga[] = '<' . $g . '>';
}
- $gs = implode('|',$ga);
+ $gs = implode('|', $ga);
}
else {
$gs = '<<>>'; // should be impossible to match
@@ -598,7 +595,7 @@ function check_form_security_token($typename = '', $formname = 'form_security_to
$x = explode('.', $hash);
if (time() > (IntVal($x[0]) + $max_livetime) || time() < (IntVal($x[0]) + $min_livetime))
- return false;
+ return false;
$sec_hash = hash('whirlpool', App::$observer['xchan_guid'] . ((local_channel()) ? App::$channel['channel_prvkey'] : '') . session_id() . $x[0] . $typename);
@@ -606,16 +603,19 @@ function check_form_security_token($typename = '', $formname = 'form_security_to
}
function check_form_security_std_err_msg() {
+ /** @noinspection PhpToStringImplementationInspection */
return t('The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it.') . EOL;
}
+
function check_form_security_token_redirectOnErr($err_redirect, $typename = '', $formname = 'form_security_token') {
if (!check_form_security_token($typename, $formname)) {
logger('check_form_security_token failed: user ' . App::$observer['xchan_name'] . ' - form element ' . $typename);
logger('check_form_security_token failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
- notice( check_form_security_std_err_msg() );
- goaway(z_root() . $err_redirect );
+ notice(check_form_security_std_err_msg());
+ goaway(z_root() . $err_redirect);
}
}
+
function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'form_security_token') {
if (!check_form_security_token($typename, $formname)) {
logger('check_form_security_token failed: user ' . App::$observer['xchan_name'] . ' - form element ' . $typename);
@@ -636,7 +636,7 @@ function init_groups_visitor($contact_id) {
dbesc($contact_id)
);
- if (! $x) {
+ if (!$x) {
return $groups;
}
@@ -648,8 +648,8 @@ function init_groups_visitor($contact_id) {
dbesc($x[0]['xchan_pubkey'])
);
- if($xchans) {
- $hashes = ids_to_querystr($xchans,'xchan_hash',true);
+ if ($xchans) {
+ $hashes = ids_to_querystr($xchans, 'xchan_hash', true);
}
// private profiles are treated as a virtual group
@@ -672,21 +672,19 @@ function init_groups_visitor($contact_id) {
}
-
-
function get_security_ids($channel_id, $ob_hash) {
- $ret = [
- 'channel_id' => [],
- 'allow_cid' => [],
- 'allow_gid' => []
+ $ret = [
+ 'channel_id' => [],
+ 'allow_cid' => [],
+ 'allow_gid' => []
];
- if($channel_id) {
+ if ($channel_id) {
$ch = q("select channel_hash, channel_portable_id from channel where channel_id = %d",
- intval($channel_id)
+ intval($channel_id)
);
- if($ch) {
+ if ($ch) {
$ret['channel_id'][] = $ch[0]['channel_hash'];
$ret['channel_id'][] = $ch[0]['channel_portable_id'];
}
@@ -709,13 +707,13 @@ function get_security_ids($channel_id, $ob_hash) {
);
if ($xchans) {
- $ret['allow_cid'] = ids_to_array($xchans,'xchan_hash');
- $hashes = ids_to_querystr($xchans,'xchan_hash',true);
+ $ret['allow_cid'] = ids_to_array($xchans, 'xchan_hash');
+ $hashes = ids_to_querystr($xchans, 'xchan_hash', true);
// private profiles are treated as a virtual group
$r = q("SELECT abook_profile from abook where abook_xchan in ( " . protect_sprintf($hashes) . " ) and abook_profile != '' ");
- if($r) {
+ if ($r) {
foreach ($r as $rv) {
$groups[] = 'vp.' . $rv['abook_profile'];
}
@@ -724,7 +722,7 @@ function get_security_ids($channel_id, $ob_hash) {
// physical groups this identity is a member of
$r = q("SELECT hash FROM pgrp left join pgrp_member on pgrp.id = pgrp_member.gid WHERE xchan in ( " . protect_sprintf($hashes) . " ) ");
- if($r) {
+ if ($r) {
foreach ($r as $rv) {
$groups[] = $rv['hash'];
}
@@ -746,39 +744,39 @@ function get_security_ids($channel_id, $ob_hash) {
// will likely be too expensive.
// Returns a string list of comma separated channel_ids suitable for direct inclusion in a SQL query
-function stream_perms_api_uids($perms = NULL, $limit = 0, $rand = 0 ) {
- $perms = is_null($perms) ? (PERMS_SITE|PERMS_NETWORK|PERMS_PUBLIC) : $perms;
+function stream_perms_api_uids($perms = NULL, $limit = 0, $rand = 0) {
+ $perms = is_null($perms) ? (PERMS_SITE | PERMS_NETWORK | PERMS_PUBLIC) : $perms;
$ret = array();
$limit_sql = (($limit) ? " LIMIT " . intval($limit) . " " : '');
$random_sql = (($rand) ? " ORDER BY " . db_getfunc('RAND') . " " : '');
- if(local_channel())
+ if (local_channel())
$ret[] = local_channel();
$x = q("select uid, v from pconfig where cat = 'perm_limits' and k = 'view_stream' ");
- if($x) {
+ if ($x) {
$y = [];
- foreach($x as $xv) {
- if(intval($xv['v']) & $perms) {
+ foreach ($x as $xv) {
+ if (intval($xv['v']) & $perms) {
$y[] = $xv;
}
}
- if($y) {
- $ids = ids_to_querystr($y,'uid');
+ if ($y) {
+ $ids = ids_to_querystr($y, 'uid');
$r = q("select channel_id from channel where channel_id in ( $ids ) and ( channel_pageflags & %d ) = 0 and channel_system = 0 and channel_removed = 0 $random_sql $limit_sql ",
- intval(PAGE_ADULT|PAGE_CENSORED)
+ intval(PAGE_ADULT | PAGE_CENSORED)
);
- if($r) {
- foreach($r as $rr)
- if(! in_array($rr['channel_id'], $ret))
+ if ($r) {
+ foreach ($r as $rr)
+ if (!in_array($rr['channel_id'], $ret))
$ret[] = $rr['channel_id'];
}
}
}
$str = '';
- if($ret) {
- foreach($ret as $rr) {
- if($str)
+ if ($ret) {
+ foreach ($ret as $rr) {
+ if ($str)
$str .= ',';
$str .= intval($rr);
}
@@ -791,39 +789,39 @@ function stream_perms_api_uids($perms = NULL, $limit = 0, $rand = 0 ) {
return $str;
}
-function stream_perms_xchans($perms = NULL ) {
- $perms = is_null($perms) ? (PERMS_SITE|PERMS_NETWORK|PERMS_PUBLIC) : $perms;
+function stream_perms_xchans($perms = NULL) {
+ $perms = is_null($perms) ? (PERMS_SITE | PERMS_NETWORK | PERMS_PUBLIC) : $perms;
$ret = array();
- if(local_channel())
+ if (local_channel())
$ret[] = get_observer_hash();
$x = q("select uid, v from pconfig where cat = 'perm_limits' and k = 'view_stream' ");
- if($x) {
+ if ($x) {
$y = [];
- foreach($x as $xv) {
- if(intval($xv['v']) & $perms) {
+ foreach ($x as $xv) {
+ if (intval($xv['v']) & $perms) {
$y[] = $xv;
}
}
- if($y) {
- $ids = ids_to_querystr($y,'uid');
+ if ($y) {
+ $ids = ids_to_querystr($y, 'uid');
$r = q("select channel_hash from channel where channel_id in ( $ids ) and ( channel_pageflags & %d ) = 0 and channel_system = 0 and channel_removed = 0 ",
- intval(PAGE_ADULT|PAGE_CENSORED)
+ intval(PAGE_ADULT | PAGE_CENSORED)
);
- if($r) {
- foreach($r as $rr)
- if(! in_array($rr['channel_hash'], $ret))
+ if ($r) {
+ foreach ($r as $rr)
+ if (!in_array($rr['channel_hash'], $ret))
$ret[] = $rr['channel_hash'];
}
}
}
$str = '';
- if($ret) {
- foreach($ret as $rr) {
- if($str)
+ if ($ret) {
+ foreach ($ret as $rr) {
+ if ($str)
$str .= ',';
$str .= "'" . dbesc($rr) . "'";
}
diff --git a/include/taxonomy.php b/include/taxonomy.php
index e06568d19..7745b6a5b 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -354,30 +354,32 @@ function pub_tagadelic($net,$site,$limit,$recent,$safemode,$type) {
$sql_extra .= " and not term.term in ( " . stringify_array($unsafetags,true) . ") ";
}
}
-
-
- $key = __FUNCTION__ . "-" . md5($site . $recent . $safemode . $limit . $type);
- $content = Cache::get($key, '1 MINUTE');
-
- if(! $content) {
- // Fetch tags
- $r = q("SELECT term, count(term) AS total FROM term LEFT JOIN item ON term.oid = item.id
- where term.ttype = %d
- and otype = %d and item_type = %d
- $sql_extra $uids $item_normal
- group by term order by total desc %s",
- intval($type),
- intval(TERM_OBJ_POST),
- intval(ITEM_TYPE_POST),
- ((intval($count)) ? "limit $count" : '')
- );
- } else
- $r = unserialize($content);
-
- if(! $r)
- return array();
- else
- Cache::set($key, serialize($r));
+
+ $key = __FUNCTION__ . "-" . md5($site . $recent . $safemode . $limit . $type);
+
+ $content = Cache::get($key, '5 MINUTE');
+ if(! $content) {
+
+ $content = Cache::get($key, '1 MONTH');
+ $arr = [
+ "SELECT term, count(term) AS total FROM term LEFT JOIN item ON term.oid = item.id
+ WHERE term.ttype = %d
+ AND otype = %d
+ AND item_type = %d
+ $sql_extra $uids $item_normal
+ GROUP BY term ORDER BY total DESC %s",
+ intval($type),
+ intval(TERM_OBJ_POST),
+ intval(ITEM_TYPE_POST),
+ (intval($count) ? "LIMIT $count" : '')
+ ];
+
+ \Zotlabs\Daemon\Master::Summon([ 'Cache_query', $key, base64_encode(json_encode($arr)) ]);
+ }
+
+ $r = unserialize($content);
+ if(! $r)
+ return [];
return Zotlabs\Text\Tagadelic::calc($r);
}
diff --git a/include/text.php b/include/text.php
index 76df9e17b..1e08d136c 100644
--- a/include/text.php
+++ b/include/text.php
@@ -7,7 +7,7 @@ use Zotlabs\Lib as Zlib;
use Michelf\MarkdownExtra;
use Ramsey\Uuid\Uuid;
-use Ramsey\Uuid\Exception\UnsatisfiedDependencyException;
+use Ramsey\Uuid\Exception\UnableToBuildUuidException;
use Zotlabs\Lib\SvgSanitizer;
@@ -1801,7 +1801,7 @@ function prepare_body(&$item,$attach = false,$opts = false) {
$tags = format_hashtags($item);
- if($item['resource_type'])
+ if($item['resource_type'] == 'photo')
$mentions = format_mentions($item);
$categories = format_categories($item,$writeable);
@@ -3824,7 +3824,7 @@ function new_uuid() {
try {
$hash = Uuid::uuid4()->toString();
- } catch (UnsatisfiedDependencyException $e) {
+ } catch (UnableToBuildUuidException $e) {
$hash = random_string(48);
}
@@ -3842,7 +3842,7 @@ function uuid_from_url($url) {
try {
$hash = Uuid::uuid5(Uuid::NAMESPACE_URL, $url)->toString();
- } catch (UnsatisfiedDependencyException $e) {
+ } catch (UnableToBuildUuidException $e) {
$hash = md5($url);
}
return $hash;
diff --git a/index.php b/index.php
index d47bda27e..d47bda27e 100755..100644
--- a/index.php
+++ b/index.php
diff --git a/install/htconfig.sample.php b/install/htconfig.sample.php
index 509942530..509942530 100755..100644
--- a/install/htconfig.sample.php
+++ b/install/htconfig.sample.php
diff --git a/library/ASNValue.class.php b/library/ASNValue.class.php
index 7a3c5d20e..7c17d10b4 100644
--- a/library/ASNValue.class.php
+++ b/library/ASNValue.class.php
@@ -110,7 +110,7 @@ class ASNValue
function SetIntBuffer($Value)
{
if (strlen($Value) > 1) {
- $firstByte = ord($Value{0});
+ $firstByte = ord($Value[0]);
if ($firstByte & 0x80) { //first bit set
$Value = chr(0x00) . $Value;
}
@@ -122,7 +122,7 @@ class ASNValue
function GetIntBuffer()
{
$result = $this->Value;
- if (ord($result{0}) == 0x00) {
+ if (ord($result[0]) == 0x00) {
$result = substr($result, 1);
}
diff --git a/library/jgrowl/examples/jgrowl.html b/library/jgrowl/examples/jgrowl.html
index e10fdd6cb..e10fdd6cb 100755..100644
--- a/library/jgrowl/examples/jgrowl.html
+++ b/library/jgrowl/examples/jgrowl.html
diff --git a/library/jgrowl/jquery.jgrowl.js b/library/jgrowl/jquery.jgrowl.js
index d5444d438..d5444d438 100755..100644
--- a/library/jgrowl/jquery.jgrowl.js
+++ b/library/jgrowl/jquery.jgrowl.js
diff --git a/library/jgrowl/less/jgrowl.core.less b/library/jgrowl/less/jgrowl.core.less
index e3f8d4873..e3f8d4873 100755..100644
--- a/library/jgrowl/less/jgrowl.core.less
+++ b/library/jgrowl/less/jgrowl.core.less
diff --git a/library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php b/library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php
index 48967cab1..48967cab1 100755..100644
--- a/library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php
+++ b/library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php
diff --git a/tests/travis/gen_apidocs.sh b/tests/travis/gen_apidocs.sh
index e5938e1e8..e5938e1e8 100755..100644
--- a/tests/travis/gen_apidocs.sh
+++ b/tests/travis/gen_apidocs.sh
diff --git a/tests/travis/prepare.sh b/tests/travis/prepare.sh
index 267b4ec46..267b4ec46 100755..100644
--- a/tests/travis/prepare.sh
+++ b/tests/travis/prepare.sh
diff --git a/tests/travis/prepare_mysql.sh b/tests/travis/prepare_mysql.sh
index 5b1c96d78..5b1c96d78 100755..100644
--- a/tests/travis/prepare_mysql.sh
+++ b/tests/travis/prepare_mysql.sh
diff --git a/tests/travis/prepare_pgsql.sh b/tests/travis/prepare_pgsql.sh
index c6b12e4d6..c6b12e4d6 100755..100644
--- a/tests/travis/prepare_pgsql.sh
+++ b/tests/travis/prepare_pgsql.sh
diff --git a/util/.htaccess b/util/.htaccess
index a0a0d72d9..a0a0d72d9 100644..100755
--- a/util/.htaccess
+++ b/util/.htaccess
diff --git a/util/Doxyfile b/util/Doxyfile
index 14464df81..14464df81 100644..100755
--- a/util/Doxyfile
+++ b/util/Doxyfile
diff --git a/util/Doxygen.footer b/util/Doxygen.footer
index fd40910d9..fd40910d9 100644..100755
--- a/util/Doxygen.footer
+++ b/util/Doxygen.footer
diff --git a/util/Doxygen_phpvarfilter.php b/util/Doxygen_phpvarfilter.php
index da6cf1666..da6cf1666 100644..100755
--- a/util/Doxygen_phpvarfilter.php
+++ b/util/Doxygen_phpvarfilter.php
diff --git a/util/README b/util/README
index d67c54e45..d67c54e45 100644..100755
--- a/util/README
+++ b/util/README
diff --git a/util/config.md b/util/config.md
index 3b834fe01..3b834fe01 100644..100755
--- a/util/config.md
+++ b/util/config.md
diff --git a/util/connect b/util/connect
index 7ceda300f..44128d580 100755
--- a/util/connect
+++ b/util/connect
@@ -2,6 +2,7 @@
<?php
use Zotlabs\Lib\Libsync;
+use Zotlabs\Lib\Connect;
// connect utility
@@ -11,7 +12,6 @@ if(! file_exists('include/cli_startup.php')) {
}
require_once('include/cli_startup.php');
-require_once('include/follow.php');
cli_startup();
@@ -33,7 +33,7 @@ cli_startup();
exit(1);
}
- $result = new_contact($c['channel_id'],$argv[2],$c,false,false);
+ $result = Connect::connect($channel, $argv[2]);
if($result['success'] == false) {
echo $result['message'];
diff --git a/util/db_update.php b/util/db_update.php
index 8fc7c7616..8fc7c7616 100644..100755
--- a/util/db_update.php
+++ b/util/db_update.php
diff --git a/util/docblox_errorchecker.php b/util/docblox_errorchecker.php
index af4c76444..af4c76444 100644..100755
--- a/util/docblox_errorchecker.php
+++ b/util/docblox_errorchecker.php
diff --git a/util/extract.php b/util/extract.php
index bc838c712..bc838c712 100644..100755
--- a/util/extract.php
+++ b/util/extract.php
diff --git a/util/fpostit/README b/util/fpostit/README
index 39b7c5761..39b7c5761 100644..100755
--- a/util/fpostit/README
+++ b/util/fpostit/README
diff --git a/util/fpostit/fpostit.js b/util/fpostit/fpostit.js
index a6c75aba8..a6c75aba8 100644..100755
--- a/util/fpostit/fpostit.js
+++ b/util/fpostit/fpostit.js
diff --git a/util/fpostit/fpostit.php b/util/fpostit/fpostit.php
index 491d81f6d..491d81f6d 100644..100755
--- a/util/fpostit/fpostit.php
+++ b/util/fpostit/fpostit.php
diff --git a/util/fpostit/friendika-32.png b/util/fpostit/friendika-32.png
index 61764bf20..61764bf20 100644..100755
--- a/util/fpostit/friendika-32.png
+++ b/util/fpostit/friendika-32.png
Binary files differ
diff --git a/util/fresh.md b/util/fresh.md
index 7bdf87ff3..7bdf87ff3 100644..100755
--- a/util/fresh.md
+++ b/util/fresh.md
diff --git a/util/generate-hooks-index/.gitignore b/util/generate-hooks-index/.gitignore
index c53038ec0..c53038ec0 100644..100755
--- a/util/generate-hooks-index/.gitignore
+++ b/util/generate-hooks-index/.gitignore
diff --git a/util/generate-hooks-index/CHANGELOG.md b/util/generate-hooks-index/CHANGELOG.md
index 5e3bde1c9..5e3bde1c9 100644..100755
--- a/util/generate-hooks-index/CHANGELOG.md
+++ b/util/generate-hooks-index/CHANGELOG.md
diff --git a/util/generate-hooks-index/LICENSE b/util/generate-hooks-index/LICENSE
index 7689f30ef..7689f30ef 100644..100755
--- a/util/generate-hooks-index/LICENSE
+++ b/util/generate-hooks-index/LICENSE
diff --git a/util/generate-hooks-index/README.md b/util/generate-hooks-index/README.md
index a3d4f7666..a3d4f7666 100644..100755
--- a/util/generate-hooks-index/README.md
+++ b/util/generate-hooks-index/README.md
diff --git a/util/generate-hooks-index/doc/intro.md b/util/generate-hooks-index/doc/intro.md
index 203ef8b8c..203ef8b8c 100644..100755
--- a/util/generate-hooks-index/doc/intro.md
+++ b/util/generate-hooks-index/doc/intro.md
diff --git a/util/generate-hooks-index/project.clj b/util/generate-hooks-index/project.clj
index dc0b92f51..dc0b92f51 100644..100755
--- a/util/generate-hooks-index/project.clj
+++ b/util/generate-hooks-index/project.clj
diff --git a/util/generate-hooks-index/src/generate_hooks_index/core.clj b/util/generate-hooks-index/src/generate_hooks_index/core.clj
index 2112647b0..2112647b0 100644..100755
--- a/util/generate-hooks-index/src/generate_hooks_index/core.clj
+++ b/util/generate-hooks-index/src/generate_hooks_index/core.clj
diff --git a/util/generate-hooks-index/test/generate_hooks_index/core_test.clj b/util/generate-hooks-index/test/generate_hooks_index/core_test.clj
index 913864ce4..913864ce4 100644..100755
--- a/util/generate-hooks-index/test/generate_hooks_index/core_test.clj
+++ b/util/generate-hooks-index/test/generate_hooks_index/core_test.clj
diff --git a/util/hmessages.po b/util/hmessages.po
index 5600f9fda..961e07f2f 100644..100755
--- a/util/hmessages.po
+++ b/util/hmessages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 5.1.2\n"
+"Project-Id-Version: 5.2.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-10-25 07:30+0000\n"
+"POT-Creation-Date: 2021-01-21 12:07+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,15477 +17,15694 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../../view/theme/redbasic/php/config.php:15
-#: ../../addon/cart/submodules/orderoptions.php:335
-#: ../../addon/cart/submodules/orderoptions.php:359
-#: ../../addon/cart/submodules/orderoptions.php:435
-#: ../../addon/cart/submodules/orderoptions.php:459 ../../include/text.php:3379
-#: ../../Zotlabs/Module/Admin/Site.php:185
-msgid "Default"
-msgstr ""
-
-#: ../../view/theme/redbasic/php/config.php:16
-#: ../../view/theme/redbasic/php/config.php:19
-msgid "Focus (Hubzilla default)"
-msgstr ""
-
-#: ../../view/theme/redbasic/php/config.php:94
-#: ../../addon/channelreputation/channelreputation.php:143
-#: ../../addon/openclipatar/openclipatar.php:53
-#: ../../addon/photocache/Mod_Photocache.php:67
-#: ../../addon/redred/Mod_Redred.php:90 ../../addon/redphotos/redphotos.php:136
-#: ../../addon/statusnet/Mod_Statusnet.php:193
-#: ../../addon/statusnet/Mod_Statusnet.php:251
-#: ../../addon/statusnet/Mod_Statusnet.php:306
-#: ../../addon/statusnet/statusnet.php:602 ../../addon/rtof/Mod_Rtof.php:72
-#: ../../addon/wppost/Mod_Wppost.php:109
-#: ../../addon/content_import/Mod_content_import.php:142
-#: ../../addon/openstreetmap/openstreetmap.php:155
-#: ../../addon/ijpost/Mod_Ijpost.php:72
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:65
-#: ../../addon/dwpost/Mod_Dwpost.php:80
-#: ../../addon/startpage/Mod_Startpage.php:73 ../../addon/mail/Mod_Mail.php:310
-#: ../../addon/twitter/Mod_Twitter.php:184
-#: ../../addon/pumpio/Mod_Pumpio.php:115
-#: ../../addon/cart/submodules/subscriptions.php:410
-#: ../../addon/cart/submodules/hzservices.php:643
-#: ../../addon/cart/submodules/orderoptions.php:312
-#: ../../addon/cart/submodules/orderoptions.php:412
-#: ../../addon/cart/submodules/manualcat.php:248
-#: ../../addon/cart/Settings/Cart.php:132
-#: ../../addon/cart/Settings/Cart.php:142 ../../addon/cart/cart.php:1376
-#: ../../addon/nofed/Mod_Nofed.php:53
-#: ../../addon/smileybutton/Mod_Smileybutton.php:55
-#: ../../addon/redfiles/redfiles.php:124 ../../addon/diaspora/diaspora.php:75
-#: ../../addon/diaspora/Mod_Diaspora.php:100 ../../addon/piwik/piwik.php:95
-#: ../../addon/workflow/workflow.php:1461
-#: ../../addon/workflow/workflow.php:1520
-#: ../../addon/workflow/workflow.php:1639
-#: ../../addon/workflow/workflow.php:2742
-#: ../../addon/workflow/Settings/Mod_WorkflowSettings.php:94
-#: ../../addon/likebanner/likebanner.php:57
-#: ../../addon/fuzzloc/Mod_Fuzzloc.php:56 ../../addon/hubwall/hubwall.php:95
-#: ../../addon/flashcards/Mod_Flashcards.php:262
-#: ../../addon/libertree/Mod_Libertree.php:70 ../../addon/logrot/logrot.php:35
-#: ../../addon/skeleton/Mod_Skeleton.php:51
-#: ../../addon/socialauth/Mod_SocialAuth.php:330
-#: ../../addon/nsfw/Mod_Nsfw.php:61 ../../addon/mailtest/mailtest.php:100
-#: ../../addon/ljpost/Mod_Ljpost.php:82 ../../addon/hzfiles/hzfiles.php:86
-#: ../../addon/pageheader/Mod_Pageheader.php:54 ../../addon/irc/irc.php:45
-#: ../../addon/xmpp/Mod_Xmpp.php:70 ../../include/js_strings.php:22
-#: ../../Zotlabs/Widget/Wiki_pages.php:42
-#: ../../Zotlabs/Widget/Wiki_pages.php:99
-#: ../../Zotlabs/Widget/Eventstools.php:16 ../../Zotlabs/Module/Tokens.php:188
-#: ../../Zotlabs/Module/Import_items.php:129
-#: ../../Zotlabs/Module/Import.php:649 ../../Zotlabs/Module/Setup.php:304
-#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Group.php:151
-#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Oauth.php:111
-#: ../../Zotlabs/Module/Chat.php:209 ../../Zotlabs/Module/Chat.php:248
-#: ../../Zotlabs/Module/Poke.php:217 ../../Zotlabs/Module/Mitem.php:259
-#: ../../Zotlabs/Module/Filestorage.php:203
-#: ../../Zotlabs/Module/Connect.php:107 ../../Zotlabs/Module/Editpost.php:86
-#: ../../Zotlabs/Module/Admin/Themes.php:158
-#: ../../Zotlabs/Module/Admin/Features.php:66
-#: ../../Zotlabs/Module/Admin/Security.php:120
-#: ../../Zotlabs/Module/Admin/Accounts.php:168
-#: ../../Zotlabs/Module/Admin/Site.php:287
-#: ../../Zotlabs/Module/Admin/Logs.php:84
-#: ../../Zotlabs/Module/Admin/Channels.php:147
-#: ../../Zotlabs/Module/Admin/Account_edit.php:73
-#: ../../Zotlabs/Module/Admin/Profs.php:178
-#: ../../Zotlabs/Module/Admin/Addons.php:442
-#: ../../Zotlabs/Module/Events.php:501 ../../Zotlabs/Module/Permcats.php:129
-#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Appman.php:155
-#: ../../Zotlabs/Module/Email_validation.php:40
-#: ../../Zotlabs/Module/Photos.php:1057 ../../Zotlabs/Module/Photos.php:1097
-#: ../../Zotlabs/Module/Photos.php:1215 ../../Zotlabs/Module/Profiles.php:725
-#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Module/Affinity.php:87 ../../Zotlabs/Module/Rate.php:166
-#: ../../Zotlabs/Module/Settings/Network.php:62
-#: ../../Zotlabs/Module/Settings/Features.php:48
-#: ../../Zotlabs/Module/Settings/Channel.php:495
-#: ../../Zotlabs/Module/Settings/Account.php:103
-#: ../../Zotlabs/Module/Settings/Events.php:42
-#: ../../Zotlabs/Module/Settings/Manage.php:43
-#: ../../Zotlabs/Module/Settings/Channel_home.php:91
-#: ../../Zotlabs/Module/Settings/Calendar.php:42
-#: ../../Zotlabs/Module/Settings/Display.php:190
-#: ../../Zotlabs/Module/Settings/Directory.php:42
-#: ../../Zotlabs/Module/Settings/Editor.php:42
-#: ../../Zotlabs/Module/Settings/Connections.php:42
-#: ../../Zotlabs/Module/Settings/Photos.php:42
-#: ../../Zotlabs/Module/Settings/Profiles.php:52
-#: ../../Zotlabs/Module/Settings/Conversation.php:49
-#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Pconfig.php:116
-#: ../../Zotlabs/Module/Oauth2.php:116 ../../Zotlabs/Module/Thing.php:328
-#: ../../Zotlabs/Module/Thing.php:381 ../../Zotlabs/Module/Pdledit.php:108
-#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Connedit.php:907
-#: ../../Zotlabs/Module/Locs.php:125 ../../Zotlabs/Module/Sources.php:125
-#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Lib/ThreadItem.php:825
-msgid "Submit"
-msgstr ""
-
-#: ../../view/theme/redbasic/php/config.php:98
-msgid "Theme settings"
+#: ../../Zotlabs/Access/Permissions.php:56
+msgid "Can view my channel stream and posts"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Narrow navbar"
+#: ../../Zotlabs/Access/Permissions.php:57
+msgid "Can send me their channel stream and posts"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/redbasic/php/config.php:116
-#: ../../addon/channelreputation/channelreputation.php:111
-#: ../../addon/redred/Mod_Redred.php:63
-#: ../../addon/statusnet/Mod_Statusnet.php:260
-#: ../../addon/statusnet/Mod_Statusnet.php:282
-#: ../../addon/statusnet/Mod_Statusnet.php:291 ../../addon/rtof/Mod_Rtof.php:49
-#: ../../addon/wppost/Mod_Wppost.php:86 ../../addon/wppost/Mod_Wppost.php:90
-#: ../../addon/wppost/Mod_Wppost.php:94
-#: ../../addon/content_import/Mod_content_import.php:137
-#: ../../addon/content_import/Mod_content_import.php:138
-#: ../../addon/ijpost/Mod_Ijpost.php:61
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:45
-#: ../../addon/dwpost/Mod_Dwpost.php:61 ../../addon/dwpost/Mod_Dwpost.php:65
-#: ../../addon/twitter/Mod_Twitter.php:162
-#: ../../addon/twitter/Mod_Twitter.php:171 ../../addon/pumpio/Mod_Pumpio.php:94
-#: ../../addon/pumpio/Mod_Pumpio.php:98 ../../addon/pumpio/Mod_Pumpio.php:102
-#: ../../addon/cart/submodules/subscriptions.php:153
-#: ../../addon/cart/submodules/subscriptions.php:425
-#: ../../addon/cart/submodules/hzservices.php:65
-#: ../../addon/cart/submodules/hzservices.php:649
-#: ../../addon/cart/submodules/hzservices.php:653
-#: ../../addon/cart/submodules/orderoptions.php:72
-#: ../../addon/cart/submodules/orderoptions.php:338
-#: ../../addon/cart/submodules/orderoptions.php:362
-#: ../../addon/cart/submodules/orderoptions.php:438
-#: ../../addon/cart/submodules/orderoptions.php:462
-#: ../../addon/cart/submodules/paypalbutton.php:87
-#: ../../addon/cart/submodules/paypalbutton.php:95
-#: ../../addon/cart/submodules/paypalbuttonV2.php:88
-#: ../../addon/cart/submodules/paypalbuttonV2.php:96
-#: ../../addon/cart/submodules/manualcat.php:63
-#: ../../addon/cart/submodules/manualcat.php:254
-#: ../../addon/cart/submodules/manualcat.php:258
-#: ../../addon/cart/Settings/Cart.php:61 ../../addon/cart/Settings/Cart.php:73
-#: ../../addon/cart/cart.php:1370 ../../addon/nofed/Mod_Nofed.php:42
-#: ../../addon/smileybutton/Mod_Smileybutton.php:44
-#: ../../addon/libertree/Mod_Libertree.php:59
-#: ../../addon/socialauth/Mod_SocialAuth.php:214
-#: ../../addon/ljpost/Mod_Ljpost.php:63 ../../addon/ljpost/Mod_Ljpost.php:67
-#: ../../addon/ljpost/Mod_Ljpost.php:71 ../../include/conversation.php:1463
-#: ../../include/dir_fns.php:142 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../Zotlabs/Module/Import.php:638
-#: ../../Zotlabs/Module/Import.php:642 ../../Zotlabs/Module/Import.php:643
-#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
-#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
-#: ../../Zotlabs/Module/Filestorage.php:198
-#: ../../Zotlabs/Module/Filestorage.php:206
-#: ../../Zotlabs/Module/Admin/Site.php:253 ../../Zotlabs/Module/Events.php:478
-#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Api.php:99
-#: ../../Zotlabs/Module/Photos.php:672 ../../Zotlabs/Module/Profiles.php:683
-#: ../../Zotlabs/Module/Settings/Channel.php:311
-#: ../../Zotlabs/Module/Settings/Display.php:90
-#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
-#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Wiki.php:227
-#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:414
-#: ../../Zotlabs/Module/Connedit.php:799 ../../Zotlabs/Module/Sources.php:124
-#: ../../Zotlabs/Module/Sources.php:159 ../../Zotlabs/Lib/Libzotdir.php:162
-#: ../../Zotlabs/Lib/Libzotdir.php:163 ../../Zotlabs/Lib/Libzotdir.php:165
-#: ../../Zotlabs/Storage/Browser.php:411 ../../boot.php:1703
-msgid "No"
+#: ../../Zotlabs/Access/Permissions.php:58
+msgid "Can view my default channel profile"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/redbasic/php/config.php:116
-#: ../../addon/channelreputation/channelreputation.php:111
-#: ../../addon/redred/Mod_Redred.php:63
-#: ../../addon/statusnet/Mod_Statusnet.php:260
-#: ../../addon/statusnet/Mod_Statusnet.php:282
-#: ../../addon/statusnet/Mod_Statusnet.php:291 ../../addon/rtof/Mod_Rtof.php:49
-#: ../../addon/wppost/Mod_Wppost.php:86 ../../addon/wppost/Mod_Wppost.php:90
-#: ../../addon/wppost/Mod_Wppost.php:94
-#: ../../addon/content_import/Mod_content_import.php:137
-#: ../../addon/content_import/Mod_content_import.php:138
-#: ../../addon/ijpost/Mod_Ijpost.php:61
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:45
-#: ../../addon/dwpost/Mod_Dwpost.php:61 ../../addon/dwpost/Mod_Dwpost.php:65
-#: ../../addon/twitter/Mod_Twitter.php:162
-#: ../../addon/twitter/Mod_Twitter.php:171 ../../addon/pumpio/Mod_Pumpio.php:94
-#: ../../addon/pumpio/Mod_Pumpio.php:98 ../../addon/pumpio/Mod_Pumpio.php:102
-#: ../../addon/cart/submodules/subscriptions.php:153
-#: ../../addon/cart/submodules/subscriptions.php:425
-#: ../../addon/cart/submodules/hzservices.php:65
-#: ../../addon/cart/submodules/hzservices.php:649
-#: ../../addon/cart/submodules/hzservices.php:653
-#: ../../addon/cart/submodules/orderoptions.php:72
-#: ../../addon/cart/submodules/orderoptions.php:337
-#: ../../addon/cart/submodules/orderoptions.php:361
-#: ../../addon/cart/submodules/orderoptions.php:437
-#: ../../addon/cart/submodules/orderoptions.php:461
-#: ../../addon/cart/submodules/paypalbutton.php:87
-#: ../../addon/cart/submodules/paypalbutton.php:95
-#: ../../addon/cart/submodules/paypalbuttonV2.php:88
-#: ../../addon/cart/submodules/paypalbuttonV2.php:96
-#: ../../addon/cart/submodules/manualcat.php:63
-#: ../../addon/cart/submodules/manualcat.php:254
-#: ../../addon/cart/submodules/manualcat.php:258
-#: ../../addon/cart/Settings/Cart.php:61 ../../addon/cart/Settings/Cart.php:73
-#: ../../addon/cart/cart.php:1370 ../../addon/nofed/Mod_Nofed.php:42
-#: ../../addon/smileybutton/Mod_Smileybutton.php:44
-#: ../../addon/libertree/Mod_Libertree.php:59
-#: ../../addon/socialauth/Mod_SocialAuth.php:214
-#: ../../addon/ljpost/Mod_Ljpost.php:63 ../../addon/ljpost/Mod_Ljpost.php:67
-#: ../../addon/ljpost/Mod_Ljpost.php:71 ../../include/conversation.php:1463
-#: ../../include/dir_fns.php:142 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../Zotlabs/Module/Import.php:638
-#: ../../Zotlabs/Module/Import.php:642 ../../Zotlabs/Module/Import.php:643
-#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
-#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
-#: ../../Zotlabs/Module/Filestorage.php:198
-#: ../../Zotlabs/Module/Filestorage.php:206
-#: ../../Zotlabs/Module/Admin/Site.php:255 ../../Zotlabs/Module/Events.php:478
-#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Api.php:98
-#: ../../Zotlabs/Module/Photos.php:672 ../../Zotlabs/Module/Profiles.php:683
-#: ../../Zotlabs/Module/Settings/Channel.php:311
-#: ../../Zotlabs/Module/Settings/Display.php:90
-#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
-#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Wiki.php:227
-#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:414
-#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
-#: ../../Zotlabs/Lib/Libzotdir.php:162 ../../Zotlabs/Lib/Libzotdir.php:163
-#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Storage/Browser.php:411
-#: ../../boot.php:1703
-msgid "Yes"
+#: ../../Zotlabs/Access/Permissions.php:59
+msgid "Can view my connections"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:100
-msgid "Navigation bar background color"
+#: ../../Zotlabs/Access/Permissions.php:60
+msgid "Can view my file storage and photos"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:101
-msgid "Navigation bar icon color "
+#: ../../Zotlabs/Access/Permissions.php:61
+msgid "Can upload/modify my file storage and photos"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:102
-msgid "Navigation bar active icon color "
+#: ../../Zotlabs/Access/Permissions.php:62
+msgid "Can view my channel webpages"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:103
-msgid "Link color"
+#: ../../Zotlabs/Access/Permissions.php:63
+msgid "Can view my wiki pages"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:104
-msgid "Set font-color for banner"
+#: ../../Zotlabs/Access/Permissions.php:64
+msgid "Can create/edit my channel webpages"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:105
-msgid "Set the background color"
+#: ../../Zotlabs/Access/Permissions.php:65
+msgid "Can write to my wiki pages"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:106
-msgid "Set the background image"
+#: ../../Zotlabs/Access/Permissions.php:66
+msgid "Can post on my channel (wall) page"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:107
-msgid "Set the background color of items"
+#: ../../Zotlabs/Access/Permissions.php:67
+msgid "Can comment on or like my posts"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:108
-msgid "Set the background color of comments"
+#: ../../Zotlabs/Access/Permissions.php:68
+msgid "Can send me private mail messages"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:109
-msgid "Set font-size for the entire application"
+#: ../../Zotlabs/Access/Permissions.php:69
+msgid "Can like/dislike profiles and profile things"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:109
-msgid "Examples: 1rem, 100%, 16px"
+#: ../../Zotlabs/Access/Permissions.php:70
+msgid "Can forward to all my channel connections via ! mentions in posts"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:110
-msgid "Set font-color for posts and comments"
+#: ../../Zotlabs/Access/Permissions.php:71
+msgid "Can chat with me"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:111
-msgid "Set radius of corners"
+#: ../../Zotlabs/Access/Permissions.php:72
+msgid "Can source my public posts in derived channels"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:111
-msgid "Example: 4px"
+#: ../../Zotlabs/Access/Permissions.php:73
+msgid "Can administer my channel"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:112
-msgid "Set shadow depth of photos"
+#: ../../Zotlabs/Access/PermissionRoles.php:287
+msgid "Social Networking"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:113
-msgid "Set maximum width of content region in pixel"
+#: ../../Zotlabs/Access/PermissionRoles.php:288
+msgid "Social - Federation"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:113
-msgid "Leave empty for default width"
+#: ../../Zotlabs/Access/PermissionRoles.php:289
+msgid "Social - Mostly Public"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:114
-msgid "Set size of conversation author photo"
+#: ../../Zotlabs/Access/PermissionRoles.php:290
+msgid "Social - Restricted"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:115
-msgid "Set size of followup author photos"
+#: ../../Zotlabs/Access/PermissionRoles.php:291
+msgid "Social - Private"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:116
-msgid "Show advanced settings"
+#: ../../Zotlabs/Access/PermissionRoles.php:294
+msgid "Community Forum"
msgstr ""
-#: ../../util/nconfig.php:34
-msgid "Source channel not found."
+#: ../../Zotlabs/Access/PermissionRoles.php:295
+msgid "Forum - Mostly Public"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:101
-#: ../../addon/channelreputation/channelreputation.php:102
-#: ../../addon/cart/myshop.php:144 ../../addon/cart/myshop.php:180
-#: ../../addon/cart/myshop.php:214 ../../addon/cart/myshop.php:261
-#: ../../addon/cart/myshop.php:296 ../../addon/cart/myshop.php:319
-msgid "Access Denied"
+#: ../../Zotlabs/Access/PermissionRoles.php:296
+msgid "Forum - Restricted"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:109
-msgid "Enable Community Moderation"
+#: ../../Zotlabs/Access/PermissionRoles.php:297
+msgid "Forum - Private"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:117
-msgid "Reputation automatically given to new members"
+#: ../../Zotlabs/Access/PermissionRoles.php:300
+msgid "Feed Republish"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:118
-msgid "Reputation will never fall below this value"
+#: ../../Zotlabs/Access/PermissionRoles.php:301
+msgid "Feed - Mostly Public"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:119
-msgid "Minimum reputation before posting is allowed"
+#: ../../Zotlabs/Access/PermissionRoles.php:302
+msgid "Feed - Restricted"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:120
-msgid "Minimum reputation before commenting is allowed"
+#: ../../Zotlabs/Access/PermissionRoles.php:305
+msgid "Special Purpose"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:121
-msgid "Minimum reputation before a member is able to moderate other posts"
+#: ../../Zotlabs/Access/PermissionRoles.php:306
+msgid "Special - Celebrity/Soapbox"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:122
-msgid ""
-"Max ratio of moderator's reputation that can be added to/deducted from "
-"reputation of person being moderated"
+#: ../../Zotlabs/Access/PermissionRoles.php:307
+msgid "Special - Group Repository"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:123
-msgid "Reputation \"cost\" to post"
+#: ../../Zotlabs/Access/PermissionRoles.php:310
+#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797
+#: ../../Zotlabs/Module/Connedit.php:927 ../../include/selectors.php:60
+#: ../../include/selectors.php:77 ../../include/selectors.php:115
+#: ../../include/selectors.php:151 ../../include/connections.php:741
+#: ../../include/connections.php:748 ../../include/event.php:1429
+#: ../../include/event.php:1436
+msgid "Other"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:124
-msgid "Reputation \"cost\" to comment"
+#: ../../Zotlabs/Access/PermissionRoles.php:311
+msgid "Custom/Expert Mode"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:125
-msgid ""
-"Reputation automatically recovers at this rate per hour until it reaches "
-"minimum_to_post"
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Pdledit.php:35
+#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Events.php:277
+#: ../../Zotlabs/Module/Bookmarks.php:70 ../../Zotlabs/Module/Webpages.php:133
+#: ../../Zotlabs/Module/Profiles.php:200 ../../Zotlabs/Module/Profiles.php:637
+#: ../../Zotlabs/Module/Like.php:230 ../../Zotlabs/Module/Defperms.php:182
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Group.php:15
+#: ../../Zotlabs/Module/Group.php:31 ../../Zotlabs/Module/Appman.php:87
+#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Moderate.php:15
+#: ../../Zotlabs/Module/New_channel.php:105
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Filestorage.php:20
+#: ../../Zotlabs/Module/Filestorage.php:78
+#: ../../Zotlabs/Module/Filestorage.php:96
+#: ../../Zotlabs/Module/Filestorage.php:119
+#: ../../Zotlabs/Module/Filestorage.php:165
+#: ../../Zotlabs/Module/Card_edit.php:51
+#: ../../Zotlabs/Module/Viewconnections.php:28
+#: ../../Zotlabs/Module/Viewconnections.php:33 ../../Zotlabs/Module/Wiki.php:59
+#: ../../Zotlabs/Module/Wiki.php:285 ../../Zotlabs/Module/Wiki.php:428
+#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
+#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:396
+#: ../../Zotlabs/Module/Profile_photo.php:338
+#: ../../Zotlabs/Module/Profile_photo.php:351
+#: ../../Zotlabs/Module/Sharedwithme.php:19
+#: ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Item.php:485 ../../Zotlabs/Module/Item.php:504
+#: ../../Zotlabs/Module/Item.php:514 ../../Zotlabs/Module/Item.php:1442
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Page.php:34
+#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Achievements.php:34
+#: ../../Zotlabs/Module/Regmod.php:20 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Chat.php:113 ../../Zotlabs/Module/Chat.php:118
+#: ../../Zotlabs/Module/Vote.php:19 ../../Zotlabs/Module/Display.php:425
+#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:177
+#: ../../Zotlabs/Module/Channel.php:332 ../../Zotlabs/Module/Channel.php:371
+#: ../../Zotlabs/Module/Cards.php:86 ../../Zotlabs/Module/Connections.php:32
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Block.php:24
+#: ../../Zotlabs/Module/Block.php:74 ../../Zotlabs/Module/Common.php:38
+#: ../../Zotlabs/Module/Editwebpage.php:68
+#: ../../Zotlabs/Module/Editwebpage.php:89
+#: ../../Zotlabs/Module/Editwebpage.php:107
+#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Profile.php:85
+#: ../../Zotlabs/Module/Profile.php:101
+#: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Thing.php:282
+#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:343
+#: ../../Zotlabs/Module/Suggest.php:32
+#: ../../Zotlabs/Module/Notifications.php:11
+#: ../../Zotlabs/Module/Articles.php:89 ../../Zotlabs/Module/Setup.php:206
+#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126
+#: ../../Zotlabs/Module/Register.php:80
+#: ../../Zotlabs/Module/Channel_calendar.php:230
+#: ../../Zotlabs/Module/Invite.php:21 ../../Zotlabs/Module/Invite.php:102
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Cover_photo.php:341
+#: ../../Zotlabs/Module/Cover_photo.php:354 ../../Zotlabs/Module/Menu.php:130
+#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Sources.php:80
+#: ../../Zotlabs/Module/Poke.php:157 ../../Zotlabs/Module/Network.php:19
+#: ../../Zotlabs/Module/Attach_edit.php:90
+#: ../../Zotlabs/Module/Attach_edit.php:99
+#: ../../Zotlabs/Module/Attach_edit.php:106
+#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Viewsrc.php:19
+#: ../../Zotlabs/Web/WebServer.php:116 ../../Zotlabs/Lib/Chatroom.php:135
+#: ../../include/photos.php:27 ../../include/attach.php:156
+#: ../../include/attach.php:205 ../../include/attach.php:278
+#: ../../include/attach.php:329 ../../include/attach.php:424
+#: ../../include/attach.php:438 ../../include/attach.php:445
+#: ../../include/attach.php:527 ../../include/attach.php:1091
+#: ../../include/attach.php:1164 ../../include/attach.php:1327
+#: ../../include/items.php:3996
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:53
+#: ../../extend/addon/hzaddons/keepout/keepout.php:36
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:25
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:44
+msgid "Permission denied."
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:126
-msgid ""
-"When minimum_to_moderate > reputation > minimum_to_post reputation recovers "
-"at this rate per hour"
+#: ../../Zotlabs/Module/Pdledit.php:27
+msgid "Layout updated."
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:140
-msgid "Community Moderation Settings"
+#: ../../Zotlabs/Module/Pdledit.php:43
+msgid "PDL Editor App"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:232
-msgid "Channel Reputation"
+#: ../../Zotlabs/Module/Pdledit.php:43 ../../Zotlabs/Module/Cdav.php:876
+#: ../../Zotlabs/Module/Bookmarks.php:78 ../../Zotlabs/Module/Webpages.php:48
+#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Pubstream.php:20
+#: ../../Zotlabs/Module/Group.php:107 ../../Zotlabs/Module/Oauth.php:100
+#: ../../Zotlabs/Module/Oauth2.php:106 ../../Zotlabs/Module/Wiki.php:52
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:61
+#: ../../Zotlabs/Module/Cards.php:51 ../../Zotlabs/Module/Affinity.php:52
+#: ../../Zotlabs/Module/Randprof.php:29 ../../Zotlabs/Module/Suggest.php:40
+#: ../../Zotlabs/Module/Notes.php:57 ../../Zotlabs/Module/Tokens.php:99
+#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134
+#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:18
+#: ../../Zotlabs/Module/Invite.php:110 ../../Zotlabs/Module/Lang.php:17
+#: ../../Zotlabs/Module/Sources.php:88 ../../Zotlabs/Module/Poke.php:165
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50
+msgid "Not Installed"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:233
-#: ../../include/acl_selectors.php:146 ../../Zotlabs/Widget/Pinned.php:160
-#: ../../Zotlabs/Module/Photos.php:1274 ../../Zotlabs/Lib/ThreadItem.php:495
-msgid "Close"
+#: ../../Zotlabs/Module/Pdledit.php:44
+msgid "Provides the ability to edit system page layouts"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:236
-msgid "An Error has occurred."
+#: ../../Zotlabs/Module/Pdledit.php:57 ../../Zotlabs/Module/Pdledit.php:100
+msgid "Edit System Page Description"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:254
-msgid "Upvote"
+#: ../../Zotlabs/Module/Pdledit.php:78
+msgid "(modified)"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:255
-msgid "Downvote"
+#: ../../Zotlabs/Module/Pdledit.php:78 ../../Zotlabs/Module/Lostpass.php:133
+msgid "Reset"
msgstr ""
-#: ../../addon/channelreputation/channelreputation.php:414
-msgid "Can moderate reputation on my channel."
+#: ../../Zotlabs/Module/Pdledit.php:95
+msgid "Layout not found."
msgstr ""
-#: ../../addon/superblock/superblock.php:337
-msgid "Block Completely"
+#: ../../Zotlabs/Module/Pdledit.php:101
+msgid "Module Name:"
msgstr ""
-#: ../../addon/superblock/Mod_Superblock.php:20
-msgid "Superblock App"
+#: ../../Zotlabs/Module/Pdledit.php:102
+msgid "Layout Help"
msgstr ""
-#: ../../addon/superblock/Mod_Superblock.php:20
-#: ../../addon/nsabait/Mod_Nsabait.php:20
-#: ../../addon/rainbowtag/Mod_Rainbowtag.php:21
-#: ../../addon/photocache/Mod_Photocache.php:42
-#: ../../addon/gallery/Mod_Gallery.php:58
-#: ../../addon/planets/Mod_Planets.php:20 ../../addon/redred/Mod_Redred.php:50
-#: ../../addon/statusnet/Mod_Statusnet.php:146 ../../addon/rtof/Mod_Rtof.php:36
-#: ../../addon/wppost/Mod_Wppost.php:43 ../../addon/hsse/Mod_Hsse.php:21
-#: ../../addon/ijpost/Mod_Ijpost.php:35
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:40
-#: ../../addon/dwpost/Mod_Dwpost.php:39
-#: ../../addon/startpage/Mod_Startpage.php:50
-#: ../../addon/twitter/Mod_Twitter.php:78 ../../addon/pumpio/Mod_Pumpio.php:53
-#: ../../addon/sendzid/Mod_Sendzid.php:20 ../../addon/nofed/Mod_Nofed.php:33
-#: ../../addon/smileybutton/Mod_Smileybutton.php:35
-#: ../../addon/diaspora/Mod_Diaspora.php:58
-#: ../../addon/fuzzloc/Mod_Fuzzloc.php:34
-#: ../../addon/libertree/Mod_Libertree.php:35
-#: ../../addon/hideaside/Mod_Hideaside.php:23
-#: ../../addon/skeleton/Mod_Skeleton.php:32 ../../addon/nsfw/Mod_Nsfw.php:33
-#: ../../addon/gnusoc/Mod_Gnusoc.php:22 ../../addon/ljpost/Mod_Ljpost.php:38
-#: ../../addon/authchoose/Mod_Authchoose.php:28
-#: ../../addon/pageheader/Mod_Pageheader.php:34
-#: ../../addon/xmpp/Mod_Xmpp.php:35 ../../Zotlabs/Module/Tokens.php:99
-#: ../../Zotlabs/Module/Group.php:107 ../../Zotlabs/Module/Oauth.php:100
-#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Poke.php:165
-#: ../../Zotlabs/Module/Cdav.php:872 ../../Zotlabs/Module/Webpages.php:48
-#: ../../Zotlabs/Module/Pubstream.php:20 ../../Zotlabs/Module/Permcats.php:63
-#: ../../Zotlabs/Module/Lang.php:17 ../../Zotlabs/Module/Uexport.php:61
-#: ../../Zotlabs/Module/Mood.php:134 ../../Zotlabs/Module/Cards.php:51
-#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Bookmarks.php:78
-#: ../../Zotlabs/Module/Probe.php:18 ../../Zotlabs/Module/Invite.php:110
-#: ../../Zotlabs/Module/Notes.php:57 ../../Zotlabs/Module/Affinity.php:52
-#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Oauth2.php:106
-#: ../../Zotlabs/Module/Randprof.php:29 ../../Zotlabs/Module/Pdledit.php:43
-#: ../../Zotlabs/Module/Wiki.php:52 ../../Zotlabs/Module/Suggest.php:40
-#: ../../Zotlabs/Module/Sources.php:88
-msgid "Not Installed"
+#: ../../Zotlabs/Module/Pdledit.php:103
+msgid "Edit another layout"
msgstr ""
-#: ../../addon/superblock/Mod_Superblock.php:21
-msgid "Block channels"
+#: ../../Zotlabs/Module/Pdledit.php:104
+msgid "System layout"
msgstr ""
-#: ../../addon/superblock/Mod_Superblock.php:63
-msgid "superblock settings updated"
+#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Events.php:501
+#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Import.php:645
+#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Group.php:151
+#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Appman.php:155
+#: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Import_items.php:129
+#: ../../Zotlabs/Module/Connect.php:107
+#: ../../Zotlabs/Module/Filestorage.php:208 ../../Zotlabs/Module/Oauth2.php:116
+#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Locs.php:132
+#: ../../Zotlabs/Module/Connedit.php:896 ../../Zotlabs/Module/Rate.php:166
+#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Chat.php:209
+#: ../../Zotlabs/Module/Chat.php:248 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
+#: ../../Zotlabs/Module/Editpost.php:86 ../../Zotlabs/Module/Affinity.php:87
+#: ../../Zotlabs/Module/Pconfig.php:116
+#: ../../Zotlabs/Module/Admin/Themes.php:158
+#: ../../Zotlabs/Module/Admin/Security.php:120
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Channels.php:147
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Account_edit.php:73
+#: ../../Zotlabs/Module/Admin/Addons.php:442
+#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../Zotlabs/Module/Admin/Profs.php:178 ../../Zotlabs/Module/Thing.php:328
+#: ../../Zotlabs/Module/Thing.php:381
+#: ../../Zotlabs/Module/Email_validation.php:40
+#: ../../Zotlabs/Module/Tokens.php:188 ../../Zotlabs/Module/Setup.php:304
+#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Mitem.php:259
+#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Permcats.php:129
+#: ../../Zotlabs/Module/Settings/Account.php:103
+#: ../../Zotlabs/Module/Settings/Events.php:42
+#: ../../Zotlabs/Module/Settings/Profiles.php:52
+#: ../../Zotlabs/Module/Settings/Editor.php:42
+#: ../../Zotlabs/Module/Settings/Features.php:48
+#: ../../Zotlabs/Module/Settings/Manage.php:43
+#: ../../Zotlabs/Module/Settings/Display.php:188
+#: ../../Zotlabs/Module/Settings/Photos.php:42
+#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Connections.php:42
+#: ../../Zotlabs/Module/Settings/Calendar.php:42
+#: ../../Zotlabs/Module/Settings/Directory.php:42
+#: ../../Zotlabs/Module/Settings/Channel_home.php:91
+#: ../../Zotlabs/Module/Settings/Network.php:62
+#: ../../Zotlabs/Module/Settings/Conversation.php:49
+#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Sources.php:125
+#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Module/Poke.php:217
+#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Lib/ThreadItem.php:825
+#: ../../Zotlabs/Widget/Wiki_pages.php:42
+#: ../../Zotlabs/Widget/Wiki_pages.php:99
+#: ../../Zotlabs/Widget/Eventstools.php:16 ../../include/js_strings.php:22
+#: ../../extend/addon/hzaddons/irc/irc.php:45
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:95
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:57
+#: ../../extend/addon/hzaddons/piwik/piwik.php:95
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:143
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:51
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:90
+#: ../../extend/addon/hzaddons/cart/cart.php:1376
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:312
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:412
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:643
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:410
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:248
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:132
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:142
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:86
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:100
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:75
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:155
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:82
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1461
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1520
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1639
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2742
+#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:94
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:70
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:61
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:67
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:70
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:602
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:193
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:251
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:306
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:65
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:72
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:262
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:330
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:136
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:184
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:80
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:53
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:142
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:54
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:310
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:53
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:55
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:72
+#: ../../extend/addon/hzaddons/logrot/logrot.php:35
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:109
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:115
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:100
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:124
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:56
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:73
+#: ../../view/theme/redbasic/php/config.php:94
+msgid "Submit"
msgstr ""
-#: ../../addon/superblock/Mod_Superblock.php:87
-msgid "Currently blocked"
+#: ../../Zotlabs/Module/Z6trans.php:19
+msgid "Update to Hubzilla 5.0 step 2"
msgstr ""
-#: ../../addon/superblock/Mod_Superblock.php:89
-msgid "No channels currently blocked"
+#: ../../Zotlabs/Module/Z6trans.php:21
+msgid "To complete the update please run"
msgstr ""
-#: ../../addon/superblock/Mod_Superblock.php:91
-#: ../../Zotlabs/Module/Tagrm.php:137 ../../Zotlabs/Module/Admin/Addons.php:459
-#: ../../Zotlabs/Module/Profile_photo.php:501
-#: ../../Zotlabs/Module/Cover_photo.php:424 ../../Zotlabs/Module/Photos.php:995
-msgid "Remove"
+#: ../../Zotlabs/Module/Z6trans.php:23
+msgid "php util/z6convert.php"
msgstr ""
-#: ../../addon/nsabait/Mod_Nsabait.php:20
-#: ../../addon/nsabait/Mod_Nsabait.php:24
-msgid "NSA Bait App"
+#: ../../Zotlabs/Module/Z6trans.php:25
+msgid "from the terminal."
msgstr ""
-#: ../../addon/nsabait/Mod_Nsabait.php:24
-#: ../../addon/rainbowtag/Mod_Rainbowtag.php:26
-#: ../../addon/planets/Mod_Planets.php:23 ../../addon/hsse/Mod_Hsse.php:26
-#: ../../addon/hideaside/Mod_Hideaside.php:27
-#: ../../addon/authchoose/Mod_Authchoose.php:33
-msgid "Installed"
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Cloud.php:123
+#: ../../Zotlabs/Module/Like.php:332 ../../Zotlabs/Module/Group.php:99
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Subthread.php:86 ../../Zotlabs/Module/Share.php:72
+#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:439
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:75
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:119
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:109
+msgid "Permission denied"
msgstr ""
-#: ../../addon/nsabait/Mod_Nsabait.php:26
-msgid "Make yourself a political target"
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "Invalid message"
msgstr ""
-#: ../../addon/visage/Mod_Visage.php:21
-msgid "Who viewed my channel/profile"
+#: ../../Zotlabs/Module/Dreport.php:93
+msgid "no results"
msgstr ""
-#: ../../addon/visage/Mod_Visage.php:25
-msgid "Recent Channel/Profile Viewers"
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "channel sync processed"
msgstr ""
-#: ../../addon/visage/Mod_Visage.php:36
-msgid "No entries."
+#: ../../Zotlabs/Module/Dreport.php:111
+msgid "queued"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:50
-#: ../../addon/openclipatar/openclipatar.php:128
-msgid "System defaults:"
+#: ../../Zotlabs/Module/Dreport.php:115
+msgid "posted"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:54
-msgid "Preferred Clipart IDs"
+#: ../../Zotlabs/Module/Dreport.php:119
+msgid "accepted for delivery"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:54
-msgid "List of preferred clipart ids. These will be shown first."
+#: ../../Zotlabs/Module/Dreport.php:123
+msgid "updated"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:55
-msgid "Default Search Term"
+#: ../../Zotlabs/Module/Dreport.php:126
+msgid "update ignored"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:55
-msgid "The default search term. These will be shown second."
+#: ../../Zotlabs/Module/Dreport.php:129
+msgid "permission denied"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:56
-msgid "Return After"
+#: ../../Zotlabs/Module/Dreport.php:133
+msgid "recipient not found"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:56
-msgid "Page to load after image selection."
+#: ../../Zotlabs/Module/Dreport.php:136
+msgid "mail recalled"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:57 ../../include/nav.php:112
-#: ../../include/conversation.php:1077 ../../Zotlabs/Module/Connedit.php:611
-#: ../../Zotlabs/Lib/Apps.php:344
-msgid "View Profile"
+#: ../../Zotlabs/Module/Dreport.php:139
+msgid "duplicate mail received"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:58 ../../include/nav.php:117
-#: ../../include/channel.php:1528
-msgid "Edit Profile"
+#: ../../Zotlabs/Module/Dreport.php:142
+msgid "mail delivered"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:59
-msgid "Profile List"
+#: ../../Zotlabs/Module/Dreport.php:162
+#, php-format
+msgid "Delivery report for %1$s"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:61
-msgid "Order of Preferred"
+#: ../../Zotlabs/Module/Dreport.php:166 ../../Zotlabs/Widget/Wiki_pages.php:41
+#: ../../Zotlabs/Widget/Wiki_pages.php:98
+msgid "Options"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:61
-msgid "Sort order of preferred clipart ids."
+#: ../../Zotlabs/Module/Dreport.php:167
+msgid "Redeliver"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:62
-#: ../../addon/openclipatar/openclipatar.php:68
-msgid "Newest first"
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:65
-msgid "As entered"
+#: ../../Zotlabs/Module/Profperm.php:111
+msgid "Profile Visibility Editor"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:67
-msgid "Order of other"
+#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362
+#: ../../include/channel.php:1886
+msgid "Profile"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:67
-msgid "Sort order of other clipart ids."
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Click on a contact to add or remove."
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:69
-msgid "Most downloaded first"
+#: ../../Zotlabs/Module/Profperm.php:124
+msgid "Visible To"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:70
-msgid "Most liked first"
+#: ../../Zotlabs/Module/Profperm.php:140
+#: ../../Zotlabs/Module/Connections.php:217
+msgid "All Connections"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:72
-msgid "Preferred IDs Message"
+#: ../../Zotlabs/Module/Cloud.php:120
+msgid "Not found"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:72
-msgid "Message to display above preferred results."
+#: ../../Zotlabs/Module/Cloud.php:126
+msgid "Please refresh page"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:78
-msgid "Uploaded by: "
+#: ../../Zotlabs/Module/Cloud.php:129
+msgid "Unknown error"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:78
-msgid "Drawn by: "
+#: ../../Zotlabs/Module/Authorize.php:17
+msgid "Unknown App"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:182
-#: ../../addon/openclipatar/openclipatar.php:194
-msgid "Use this image"
+#: ../../Zotlabs/Module/Authorize.php:29
+msgid "Authorize"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:192
-msgid "Or select from a free OpenClipart.org image:"
+#: ../../Zotlabs/Module/Authorize.php:30
+#, php-format
+msgid "Do you authorize the app %s to access your channel data?"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:195
-msgid "Search Term"
+#: ../../Zotlabs/Module/Authorize.php:32 ../../include/acl_selectors.php:146
+msgid "Allow"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:232
-msgid "Unknown error. Please try again later."
+#: ../../Zotlabs/Module/Authorize.php:33
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+msgid "Deny"
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:298
-#: ../../Zotlabs/Module/Profile_photo.php:254
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
+#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28
+msgid "Calendar entries imported."
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:308
-msgid "Profile photo updated successfully."
+#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30
+msgid "No calendar entries found."
msgstr ""
-#: ../../addon/bookmarker/bookmarker.php:38
-#: ../../Zotlabs/Lib/ThreadItem.php:472
-msgid "Save Bookmarks"
+#: ../../Zotlabs/Module/Cdav.php:876
+msgid "CardDAV App"
msgstr ""
-#: ../../addon/queueworker/Mod_Queueworker.php:77
-msgid "Max queueworker threads"
+#: ../../Zotlabs/Module/Cdav.php:877
+msgid "CalDAV capable addressbook"
msgstr ""
-#: ../../addon/queueworker/Mod_Queueworker.php:91
-msgid "Assume workers dead after ___ seconds"
+#: ../../Zotlabs/Module/Cdav.php:943 ../../Zotlabs/Module/Cal.php:167
+#: ../../Zotlabs/Module/Channel_calendar.php:393
+msgid "Link to source"
msgstr ""
-#: ../../addon/queueworker/Mod_Queueworker.php:105
-msgid ""
-"Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)"
+#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468
+msgid "Event title"
msgstr ""
-#: ../../addon/queueworker/Mod_Queueworker.php:116
-msgid "Queueworker Settings"
+#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474
+msgid "Start date and time"
msgstr ""
-#: ../../addon/queueworker/Mod_Queueworker.php:119 ../../include/text.php:1151
-#: ../../include/text.php:1163 ../../Zotlabs/Widget/Notes.php:23
-#: ../../Zotlabs/Module/Admin/Profs.php:94
-#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Filer.php:53
-#: ../../Zotlabs/Module/Rbmark.php:32 ../../Zotlabs/Module/Rbmark.php:104
-msgid "Save"
+#: ../../Zotlabs/Module/Cdav.php:1011
+msgid "End date and time"
msgstr ""
-#: ../../addon/rainbowtag/Mod_Rainbowtag.php:15
-msgid "Add some colour to tag clouds"
+#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497
+msgid "Timezone:"
msgstr ""
-#: ../../addon/rainbowtag/Mod_Rainbowtag.php:21
-#: ../../addon/rainbowtag/Mod_Rainbowtag.php:26
-msgid "Rainbow Tag App"
+#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Events.php:481
+#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:173
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:655
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:260
+msgid "Description"
msgstr ""
-#: ../../addon/rainbowtag/Mod_Rainbowtag.php:34
-msgid "Rainbow Tag"
+#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:483
+#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736
+#: ../../Zotlabs/Module/Locs.php:128 ../../Zotlabs/Module/Pubsites.php:53
+#: ../../include/js_strings.php:25
+msgid "Location"
msgstr ""
-#: ../../addon/photocache/Mod_Photocache.php:27
-msgid "Photo Cache settings saved."
+#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:697
+#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947
+#: ../../Zotlabs/Module/Cal.php:205
+msgid "Previous"
msgstr ""
-#: ../../addon/photocache/Mod_Photocache.php:36
-msgid ""
-"Photo Cache addon saves a copy of images from external sites locally to "
-"increase your anonymity in the web."
+#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:698
+#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956
+#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Setup.php:260
+msgid "Next"
msgstr ""
-#: ../../addon/photocache/Mod_Photocache.php:42
-msgid "Photo Cache App"
+#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708
+#: ../../Zotlabs/Module/Cal.php:207
+msgid "Today"
msgstr ""
-#: ../../addon/photocache/Mod_Photocache.php:53
-msgid "Minimal photo size for caching"
+#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703
+msgid "Month"
msgstr ""
-#: ../../addon/photocache/Mod_Photocache.php:55
-msgid "In pixels. From 1 up to 1024, 0 will be replaced with system default."
+#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704
+msgid "Week"
msgstr ""
-#: ../../addon/photocache/Mod_Photocache.php:64
-msgid "Photo Cache"
+#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705
+msgid "Day"
msgstr ""
-#: ../../addon/gallery/gallery.php:43 ../../addon/gallery/Mod_Gallery.php:136
-msgid "Gallery"
+#: ../../Zotlabs/Module/Cdav.php:1041
+msgid "List month"
msgstr ""
-#: ../../addon/gallery/gallery.php:46
-msgid "Photo Gallery"
+#: ../../Zotlabs/Module/Cdav.php:1042
+msgid "List week"
msgstr ""
-#: ../../addon/gallery/Mod_Gallery.php:49 ../../include/channel.php:1425
-#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Editwebpage.php:32
-#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Webpages.php:39
-#: ../../Zotlabs/Module/Filestorage.php:53 ../../Zotlabs/Module/Connect.php:17
-#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Cards.php:42
-#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editblock.php:31
-#: ../../Zotlabs/Module/Editlayout.php:31 ../../Zotlabs/Module/Articles.php:43
-#: ../../Zotlabs/Module/Menu.php:92 ../../Zotlabs/Module/Layouts.php:31
-msgid "Requested profile is not available."
+#: ../../Zotlabs/Module/Cdav.php:1043
+msgid "List day"
msgstr ""
-#: ../../addon/gallery/Mod_Gallery.php:58
-msgid "Gallery App"
+#: ../../Zotlabs/Module/Cdav.php:1051
+msgid "More"
msgstr ""
-#: ../../addon/gallery/Mod_Gallery.php:59
-msgid "A simple gallery for your photo albums"
+#: ../../Zotlabs/Module/Cdav.php:1052
+msgid "Less"
msgstr ""
-#: ../../addon/planets/Mod_Planets.php:20
-#: ../../addon/planets/Mod_Planets.php:23
-msgid "Random Planet App"
+#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388
+#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53
+#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58
+#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:931
+#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536
+msgid "Update"
msgstr ""
-#: ../../addon/planets/Mod_Planets.php:25
-msgid ""
-"Set a random planet from the Star Wars Empire as your location when posting"
+#: ../../Zotlabs/Module/Cdav.php:1054
+msgid "Select calendar"
msgstr ""
-#: ../../addon/openid/Mod_Id.php:53 ../../addon/mail/Mod_Mail.php:25
-#: ../../addon/pumpio/pumpio.php:44 ../../addon/keepout/keepout.php:36
-#: ../../include/photos.php:27 ../../include/items.php:3966
-#: ../../include/attach.php:156 ../../include/attach.php:205
-#: ../../include/attach.php:278 ../../include/attach.php:386
-#: ../../include/attach.php:400 ../../include/attach.php:407
-#: ../../include/attach.php:489 ../../include/attach.php:1055
-#: ../../include/attach.php:1129 ../../include/attach.php:1292
-#: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Network.php:19
-#: ../../Zotlabs/Module/Register.php:80 ../../Zotlabs/Module/Setup.php:206
-#: ../../Zotlabs/Module/Viewconnections.php:28
-#: ../../Zotlabs/Module/Viewconnections.php:33
-#: ../../Zotlabs/Module/Channel.php:181 ../../Zotlabs/Module/Channel.php:348
-#: ../../Zotlabs/Module/Channel.php:387 ../../Zotlabs/Module/Group.php:15
-#: ../../Zotlabs/Module/Group.php:31 ../../Zotlabs/Module/Card_edit.php:51
-#: ../../Zotlabs/Module/Editwebpage.php:68
-#: ../../Zotlabs/Module/Editwebpage.php:89
-#: ../../Zotlabs/Module/Editwebpage.php:107
-#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Chat.php:113
-#: ../../Zotlabs/Module/Chat.php:118
-#: ../../Zotlabs/Module/Channel_calendar.php:230
-#: ../../Zotlabs/Module/Like.php:193 ../../Zotlabs/Module/Poke.php:157
-#: ../../Zotlabs/Module/Item.php:483 ../../Zotlabs/Module/Item.php:502
-#: ../../Zotlabs/Module/Item.php:512 ../../Zotlabs/Module/Item.php:1428
-#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Profile.php:85
-#: ../../Zotlabs/Module/Profile.php:101
-#: ../../Zotlabs/Module/Sharedwithme.php:19
-#: ../../Zotlabs/Module/Webpages.php:133
-#: ../../Zotlabs/Module/Filestorage.php:17
-#: ../../Zotlabs/Module/Filestorage.php:72
-#: ../../Zotlabs/Module/Filestorage.php:90
-#: ../../Zotlabs/Module/Filestorage.php:113
-#: ../../Zotlabs/Module/Filestorage.php:160
-#: ../../Zotlabs/Module/Editpost.php:17
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Events.php:277
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Authtest.php:16
-#: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Moderate.php:15
-#: ../../Zotlabs/Module/Display.php:442 ../../Zotlabs/Module/Common.php:38
-#: ../../Zotlabs/Module/New_channel.php:105
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Service_limits.php:11 ../../Zotlabs/Module/Mood.php:126
-#: ../../Zotlabs/Module/Appman.php:87 ../../Zotlabs/Module/Cards.php:86
-#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Regmod.php:20
-#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
-#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Vote.php:19
-#: ../../Zotlabs/Module/Profile_photo.php:338
-#: ../../Zotlabs/Module/Profile_photo.php:351
-#: ../../Zotlabs/Module/Editblock.php:67 ../../Zotlabs/Module/Settings.php:59
-#: ../../Zotlabs/Module/Editlayout.php:67
-#: ../../Zotlabs/Module/Editlayout.php:90
-#: ../../Zotlabs/Module/Connections.php:32
-#: ../../Zotlabs/Module/Cover_photo.php:341
-#: ../../Zotlabs/Module/Cover_photo.php:354 ../../Zotlabs/Module/Photos.php:71
-#: ../../Zotlabs/Module/Page.php:34 ../../Zotlabs/Module/Page.php:133
-#: ../../Zotlabs/Module/Profiles.php:200 ../../Zotlabs/Module/Profiles.php:637
-#: ../../Zotlabs/Module/Articles.php:89 ../../Zotlabs/Module/Bookmarks.php:70
-#: ../../Zotlabs/Module/Invite.php:21 ../../Zotlabs/Module/Invite.php:102
-#: ../../Zotlabs/Module/Block.php:24 ../../Zotlabs/Module/Block.php:74
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Menu.php:130
-#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Defperms.php:182
-#: ../../Zotlabs/Module/Thing.php:282 ../../Zotlabs/Module/Thing.php:302
-#: ../../Zotlabs/Module/Thing.php:343 ../../Zotlabs/Module/Pdledit.php:35
-#: ../../Zotlabs/Module/Wiki.php:59 ../../Zotlabs/Module/Wiki.php:285
-#: ../../Zotlabs/Module/Wiki.php:428 ../../Zotlabs/Module/Suggest.php:32
-#: ../../Zotlabs/Module/Connedit.php:407
-#: ../../Zotlabs/Module/Notifications.php:11
-#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Locs.php:91
-#: ../../Zotlabs/Module/Sources.php:80 ../../Zotlabs/Lib/Chatroom.php:135
-#: ../../Zotlabs/Web/WebServer.php:116
-msgid "Permission denied."
+#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:143
+msgid "Channel Calendars"
msgstr ""
-#: ../../addon/openid/Mod_Id.php:85 ../../include/selectors.php:60
-#: ../../include/selectors.php:77 ../../include/channel.php:1708
-msgid "Male"
+#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:129
+#: ../../Zotlabs/Widget/Cdav.php:143
+msgid "CalDAV Calendars"
msgstr ""
-#: ../../addon/openid/Mod_Id.php:87 ../../include/selectors.php:60
-#: ../../include/selectors.php:77 ../../include/channel.php:1706
-msgid "Female"
+#: ../../Zotlabs/Module/Cdav.php:1056 ../../Zotlabs/Module/Cdav.php:1389
+#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:129
+#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Connedit.php:660 ../../Zotlabs/Module/Connedit.php:932
+#: ../../Zotlabs/Module/Editlayout.php:138
+#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179
+#: ../../Zotlabs/Module/Connections.php:328
+#: ../../Zotlabs/Module/Editwebpage.php:167
+#: ../../Zotlabs/Module/Article_edit.php:128
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Thing.php:269
+#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Lib/Apps.php:558
+#: ../../Zotlabs/Lib/ThreadItem.php:170 ../../include/conversation.php:730
+#: ../../include/conversation.php:775
+msgid "Delete"
msgstr ""
-#: ../../addon/openid/Mod_Openid.php:30
-msgid "OpenID protocol error. No ID returned."
+#: ../../Zotlabs/Module/Cdav.php:1057
+msgid "Delete all"
msgstr ""
-#: ../../addon/openid/Mod_Openid.php:76 ../../addon/openid/Mod_Openid.php:178
-#: ../../Zotlabs/Zot/Auth.php:264
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
+#: ../../Zotlabs/Module/Cdav.php:1058 ../../Zotlabs/Module/Cdav.php:1390
+#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138
+#: ../../Zotlabs/Module/Card_edit.php:131 ../../Zotlabs/Module/Oauth2.php:117
+#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:368
+#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Fbrowser.php:66
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:933
+#: ../../Zotlabs/Module/Profile_photo.php:507
+#: ../../Zotlabs/Module/Editlayout.php:140
+#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:110
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Editwebpage.php:169
+#: ../../Zotlabs/Module/Article_edit.php:130
+#: ../../Zotlabs/Module/Admin/Addons.php:427
+#: ../../Zotlabs/Module/Cover_photo.php:428
+#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1458
+#: ../../include/conversation.php:1511
+#: ../../extend/addon/hzaddons/hsse/hsse.php:209
+#: ../../extend/addon/hzaddons/hsse/hsse.php:258
+msgid "Cancel"
msgstr ""
-#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:320
-msgid "Login failed."
+#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387
+#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Profiles.php:800
+#: ../../Zotlabs/Module/Layouts.php:185
+#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:930 ../../Zotlabs/Module/Cards.php:113
+#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Menu.php:182
+#: ../../Zotlabs/Storage/Browser.php:365 ../../Zotlabs/Storage/Browser.php:538
+#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178
+msgid "Create"
msgstr ""
-#: ../../addon/openid/openid.php:49
-msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
+#: ../../Zotlabs/Module/Cdav.php:1060
+msgid "Sorry! Editing of recurrent events is not yet implemented."
msgstr ""
-#: ../../addon/openid/openid.php:49
-msgid "The error message was:"
+#: ../../Zotlabs/Module/Cdav.php:1070 ../../Zotlabs/Storage/Browser.php:293
+#: ../../Zotlabs/Storage/Browser.php:388 ../../Zotlabs/Storage/Browser.php:403
+#: ../../Zotlabs/Widget/Appcategories.php:43
+#: ../../include/contact_widgets.php:108 ../../include/contact_widgets.php:152
+#: ../../include/contact_widgets.php:197 ../../include/contact_widgets.php:232
+#: ../../include/taxonomy.php:418 ../../include/taxonomy.php:500
+#: ../../include/taxonomy.php:520 ../../include/taxonomy.php:541
+msgid "Categories"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:52
-msgid "First Name"
+#: ../../Zotlabs/Module/Cdav.php:1372 ../../Zotlabs/Module/Group.php:155
+#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth.php:139
+#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Connedit.php:915
+#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257
+#: ../../Zotlabs/Module/Admin/Channels.php:159
+#: ../../Zotlabs/Storage/Browser.php:377
+#: ../../Zotlabs/Lib/NativeWikiPage.php:564
+#: ../../Zotlabs/Widget/Wiki_page_history.php:22
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:172
+msgid "Name"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:53
-msgid "Last Name"
+#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:916
+msgid "Organisation"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:54 ../../addon/redred/Mod_Redred.php:75
-msgid "Nickname"
+#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2617
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2678
+msgid "Title"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:55
-msgid "Full Name"
+#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Connedit.php:918
+msgid "Phone"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:56
-#: ../../addon/openid/MysqlProvider.php:57 ../../addon/redred/Mod_Redred.php:71
-#: ../../addon/rtof/Mod_Rtof.php:57 ../../include/network.php:1736
-#: ../../Zotlabs/Module/Cdav.php:1372
+#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:789
+#: ../../Zotlabs/Module/Connedit.php:919
#: ../../Zotlabs/Module/Admin/Accounts.php:171
-#: ../../Zotlabs/Module/Admin/Accounts.php:183
-#: ../../Zotlabs/Module/Profiles.php:789 ../../Zotlabs/Module/Connedit.php:930
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/network.php:1737
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:56
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:57
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57
msgid "Email"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:58
-#: ../../addon/openid/MysqlProvider.php:59
-#: ../../addon/openid/MysqlProvider.php:60 ../../Zotlabs/Lib/Apps.php:361
-msgid "Profile Photo"
+#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Connedit.php:920
+msgid "Instant messenger"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:61
-msgid "Profile Photo 16px"
+#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791
+#: ../../Zotlabs/Module/Connedit.php:921
+msgid "Website"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:62
-msgid "Profile Photo 32px"
+#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:504
+#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129
+#: ../../Zotlabs/Module/Connedit.php:922
+#: ../../Zotlabs/Module/Admin/Channels.php:160
+msgid "Address"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:63
-msgid "Profile Photo 48px"
+#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Connedit.php:923
+msgid "Note"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:64
-msgid "Profile Photo 64px"
+#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794
+#: ../../Zotlabs/Module/Connedit.php:924 ../../include/connections.php:734
+#: ../../include/event.php:1422
+msgid "Mobile"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:65
-msgid "Profile Photo 80px"
+#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795
+#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:735
+#: ../../include/event.php:1423
+msgid "Home"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:66
-msgid "Profile Photo 128px"
+#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796
+#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:738
+#: ../../include/event.php:1426
+msgid "Work"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:67 ../../include/event.php:123
-msgid "Timezone"
+#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Connedit.php:928
+msgid "Add Contact"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:68
-#: ../../Zotlabs/Module/Profiles.php:769
-msgid "Homepage URL"
+#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799
+#: ../../Zotlabs/Module/Connedit.php:929
+msgid "Add Field"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:69 ../../Zotlabs/Lib/Apps.php:359
-msgid "Language"
+#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:934
+msgid "P.O. Box"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:70
-msgid "Birth Year"
+#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935
+msgid "Additional"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:71
-msgid "Birth Month"
+#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936
+msgid "Street"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:72
-msgid "Birth Day"
+#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937
+msgid "Locality"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:73
-msgid "Birthdate"
+#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938
+msgid "Region"
msgstr ""
-#: ../../addon/openid/MysqlProvider.php:74
-#: ../../Zotlabs/Module/Profiles.php:488
-msgid "Gender"
+#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939
+msgid "ZIP Code"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:19
-msgid "lonely"
+#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759
+#: ../../Zotlabs/Module/Connedit.php:940
+msgid "Country"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:20
-msgid "drunk"
+#: ../../Zotlabs/Module/Cdav.php:1456
+msgid "Default Calendar"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:21
-msgid "horny"
+#: ../../Zotlabs/Module/Cdav.php:1467
+msgid "Default Addressbook"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:22
-msgid "stoned"
+#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95
+msgid "Authorize application connection"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:23
-msgid "fucked up"
+#: ../../Zotlabs/Module/Api.php:75
+msgid "Return to your app and insert this Security Code:"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:24
-msgid "clusterfucked"
+#: ../../Zotlabs/Module/Api.php:85
+msgid "Please login to continue."
msgstr ""
-#: ../../addon/moremoods/moremoods.php:25
-msgid "crazy"
+#: ../../Zotlabs/Module/Api.php:97
+msgid ""
+"Do you want to authorize this application to access your posts and contacts, "
+"and/or create new posts for you?"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:26
-msgid "hurt"
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683
+#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227
+#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403
+#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:261
+#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
+#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
+#: ../../Zotlabs/Module/Settings/Display.php:88
+#: ../../Zotlabs/Module/Settings/Channel.php:311
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311
+#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389
+#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+#: ../../extend/addon/hzaddons/cart/cart.php:1370
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:337
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:361
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:437
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:461
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+#: ../../view/theme/redbasic/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710
+msgid "Yes"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:27
-msgid "sleepy"
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683
+#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227
+#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403
+#: ../../Zotlabs/Module/Connedit.php:788 ../../Zotlabs/Module/Photos.php:673
+#: ../../Zotlabs/Module/Admin/Site.php:259 ../../Zotlabs/Module/Mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
+#: ../../Zotlabs/Module/Mitem.php:257
+#: ../../Zotlabs/Module/Settings/Display.php:88
+#: ../../Zotlabs/Module/Settings/Channel.php:311
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311
+#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389
+#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+#: ../../extend/addon/hzaddons/cart/cart.php:1370
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:338
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:362
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:438
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:462
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+#: ../../view/theme/redbasic/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710
+msgid "No"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:28
-msgid "grumpy"
+#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52
+msgid "This site is not a directory server"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:29
-msgid "high"
+#: ../../Zotlabs/Module/Dirsearch.php:37
+msgid "This directory server requires an access token"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:30
-msgid "semi-conscious"
+#: ../../Zotlabs/Module/Filer.php:53
+msgid "Enter a folder name"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:31
-msgid "in love"
+#: ../../Zotlabs/Module/Filer.php:53
+msgid "or select an existing folder (doubleclick)"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:32
-msgid "in lust"
+#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Admin/Profs.php:94
+#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23
+#: ../../include/text.php:1151 ../../include/text.php:1163
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:119
+msgid "Save"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:33
-msgid "naked"
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Lib/ThreadItem.php:184
+msgid "Save to Folder"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:34
-msgid "stinky"
+#: ../../Zotlabs/Module/Events.php:113
+#: ../../Zotlabs/Module/Channel_calendar.php:57
+msgid "Event can not end before it has started."
msgstr ""
-#: ../../addon/moremoods/moremoods.php:35
-msgid "sweaty"
+#: ../../Zotlabs/Module/Events.php:115 ../../Zotlabs/Module/Events.php:124
+#: ../../Zotlabs/Module/Events.php:146
+#: ../../Zotlabs/Module/Channel_calendar.php:59
+#: ../../Zotlabs/Module/Channel_calendar.php:67
+#: ../../Zotlabs/Module/Channel_calendar.php:84
+msgid "Unable to generate preview."
msgstr ""
-#: ../../addon/moremoods/moremoods.php:36
-msgid "bleeding out"
+#: ../../Zotlabs/Module/Events.php:122
+#: ../../Zotlabs/Module/Channel_calendar.php:65
+msgid "Event title and start time are required."
msgstr ""
-#: ../../addon/moremoods/moremoods.php:37
-msgid "victorious"
+#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271
+#: ../../Zotlabs/Module/Channel_calendar.php:82
+#: ../../Zotlabs/Module/Channel_calendar.php:224
+msgid "Event not found."
msgstr ""
-#: ../../addon/moremoods/moremoods.php:38
-msgid "defeated"
+#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:435
+#: ../../Zotlabs/Module/Tagger.php:75
+#: ../../Zotlabs/Module/Channel_calendar.php:219
+#: ../../include/conversation.php:132 ../../include/text.php:2255
+#: ../../include/event.php:1259
+msgid "event"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:39
-msgid "envious"
+#: ../../Zotlabs/Module/Events.php:468
+msgid "Edit event title"
msgstr ""
-#: ../../addon/moremoods/moremoods.php:40
-msgid "jealous"
+#: ../../Zotlabs/Module/Events.php:468 ../../Zotlabs/Module/Events.php:473
+#: ../../Zotlabs/Module/Profiles.php:747 ../../Zotlabs/Module/Profiles.php:751
+#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144
+#: ../../include/datetime.php:211
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:334
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:358
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:434
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:458
+msgid "Required"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:94
-msgid "Hubzilla Directory Stats"
+#: ../../Zotlabs/Module/Events.php:470
+msgid "Categories (comma-separated list)"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:95
-msgid "Total Hubs"
+#: ../../Zotlabs/Module/Events.php:471
+msgid "Edit Category"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:97
-msgid "Hubzilla Hubs"
+#: ../../Zotlabs/Module/Events.php:471
+msgid "Category"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:99
-msgid "Friendica Hubs"
+#: ../../Zotlabs/Module/Events.php:474
+msgid "Edit start date and time"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:101
-msgid "Diaspora Pods"
+#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:478
+msgid "Finish date and time are not known or not relevant"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:103
-msgid "Hubzilla Channels"
+#: ../../Zotlabs/Module/Events.php:477
+msgid "Edit finish date and time"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:105
-msgid "Friendica Channels"
+#: ../../Zotlabs/Module/Events.php:477
+msgid "Finish date and time"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:107
-msgid "Diaspora Channels"
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Events.php:480
+msgid "Adjust for viewer timezone"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:109
-msgid "Aged 35 and above"
+#: ../../Zotlabs/Module/Events.php:479
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
msgstr ""
-#: ../../addon/dirstats/dirstats.php:111
-msgid "Aged 34 and under"
+#: ../../Zotlabs/Module/Events.php:481
+msgid "Edit Description"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:113
-msgid "Average Age"
+#: ../../Zotlabs/Module/Events.php:483
+msgid "Edit Location"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:115
-msgid "Known Chatrooms"
+#: ../../Zotlabs/Module/Events.php:486 ../../Zotlabs/Module/Webpages.php:262
+#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:835
+#: ../../include/conversation.php:1402
+#: ../../extend/addon/hzaddons/hsse/hsse.php:153
+msgid "Preview"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:117
-msgid "Known Tags"
+#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1478
+#: ../../extend/addon/hzaddons/hsse/hsse.php:225
+msgid "Permission settings"
msgstr ""
-#: ../../addon/dirstats/dirstats.php:119
-msgid ""
-"Please note Diaspora and Friendica statistics are merely those **this "
-"directory** is aware of, and not all those known in the network. This also "
-"applies to chatrooms,"
+#: ../../Zotlabs/Module/Events.php:502
+msgid "Advanced Options"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:24
-msgid "Channel is required."
+#: ../../Zotlabs/Module/Events.php:613
+msgid "l, F j"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:29 ../../Zotlabs/Module/Network.php:329
-msgid "Invalid channel."
+#: ../../Zotlabs/Module/Events.php:641
+#: ../../Zotlabs/Module/Channel_calendar.php:371
+msgid "Edit event"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:38
-msgid "Hubzilla Crosspost Connector Settings saved."
+#: ../../Zotlabs/Module/Events.php:643
+#: ../../Zotlabs/Module/Channel_calendar.php:373
+msgid "Delete event"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:50
-#: ../../addon/statusnet/Mod_Statusnet.php:146
-msgid "Hubzilla Crosspost Connector App"
+#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2074
+msgid "Link to Source"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:51
-msgid "Relay public postings to another Hubzilla channel"
+#: ../../Zotlabs/Module/Events.php:677
+#: ../../Zotlabs/Module/Channel_calendar.php:407
+msgid "calendar"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:63
-msgid "Send public postings to Hubzilla channel by default"
+#: ../../Zotlabs/Module/Events.php:696
+msgid "Edit Event"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:67
-msgid "Hubzilla API Path"
+#: ../../Zotlabs/Module/Events.php:696
+msgid "Create Event"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:67 ../../addon/rtof/Mod_Rtof.php:53
-msgid "https://{sitename}/api"
+#: ../../Zotlabs/Module/Events.php:699 ../../include/channel.php:1889
+msgid "Export"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:71
-msgid "Hubzilla login name"
+#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261
+#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:213
+#: ../../Zotlabs/Module/Wiki.php:409 ../../Zotlabs/Module/Blocks.php:166
+#: ../../Zotlabs/Module/Pubsites.php:61
+msgid "View"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:75
-msgid "Hubzilla channel name"
+#: ../../Zotlabs/Module/Events.php:739
+msgid "Event removed"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:79
-msgid "Hubzilla password"
+#: ../../Zotlabs/Module/Events.php:742
+#: ../../Zotlabs/Module/Channel_calendar.php:494
+msgid "Failed to remove event"
msgstr ""
-#: ../../addon/redred/Mod_Redred.php:87
-msgid "Hubzilla Crosspost Connector"
+#: ../../Zotlabs/Module/Help.php:23
+msgid "Documentation Search"
msgstr ""
-#: ../../addon/redred/redred.php:50
-msgid "Post to Hubzilla"
+#: ../../Zotlabs/Module/Help.php:83 ../../include/nav.php:434
+msgid "About"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:106
-msgid "Photos imported"
+#: ../../Zotlabs/Module/Help.php:84 ../../Zotlabs/Module/Group.php:156
+msgid "Members"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:119
-#: ../../addon/redfiles/redfiles.php:109 ../../addon/hzfiles/hzfiles.php:75
-#: ../../include/items.php:439 ../../Zotlabs/Module/Import_items.php:120
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Group.php:99
-#: ../../Zotlabs/Module/Like.php:295 ../../Zotlabs/Module/Cloud.php:119
-#: ../../Zotlabs/Module/Share.php:72 ../../Zotlabs/Module/Subthread.php:86
-#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82
-#: ../../Zotlabs/Web/WebServer.php:115
-msgid "Permission denied"
+#: ../../Zotlabs/Module/Help.php:85
+msgid "Administrators"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:129
-msgid "Redmatrix Photo Album Import"
+#: ../../Zotlabs/Module/Help.php:86
+msgid "Developers"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:130
-msgid "This will import all your Redmatrix photo albums to this channel."
+#: ../../Zotlabs/Module/Help.php:87
+msgid "Tutorials"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:131
-#: ../../addon/redfiles/redfiles.php:121
-msgid "Redmatrix Server base URL"
+#: ../../Zotlabs/Module/Help.php:98
+msgid "$Projectname Documentation"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:132
-#: ../../addon/redfiles/redfiles.php:122
-msgid "Redmatrix Login Username"
+#: ../../Zotlabs/Module/Help.php:99
+msgid "Contents"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:133
-#: ../../addon/redfiles/redfiles.php:123
-msgid "Redmatrix Login Password"
+#: ../../Zotlabs/Module/Bookmarks.php:62
+msgid "Bookmark added"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:134
-msgid "Import just this album"
+#: ../../Zotlabs/Module/Bookmarks.php:78
+msgid "Bookmarks App"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:134
-msgid "Leave blank to import all albums"
+#: ../../Zotlabs/Module/Bookmarks.php:79
+msgid "Bookmark links from posts and manage them"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:135
-msgid "Maximum count to import"
+#: ../../Zotlabs/Module/Bookmarks.php:92
+msgid "My Bookmarks"
msgstr ""
-#: ../../addon/redphotos/redphotos.php:135
-msgid "0 or blank to import all available"
+#: ../../Zotlabs/Module/Bookmarks.php:103
+msgid "My Connections Bookmarks"
msgstr ""
-#: ../../addon/redphotos/redphotohelper.php:71 ../../addon/pubcrawl/as.php:1841
-#: ../../addon/diaspora/Receiver.php:1597 ../../include/text.php:2252
-#: ../../include/conversation.php:128 ../../Zotlabs/Module/Like.php:386
-#: ../../Zotlabs/Module/Tagger.php:71 ../../Zotlabs/Module/Subthread.php:112
-#: ../../Zotlabs/Lib/Activity.php:2953
-msgid "photo"
+#: ../../Zotlabs/Module/Webpages.php:39 ../../Zotlabs/Module/Layouts.php:31
+#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Filestorage.php:59
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Achievements.php:15
+#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42
+#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1439
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:49
+msgid "Requested profile is not available."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:61
-msgid ""
-"Please contact your site administrator.<br />The provided API URL is not "
-"valid."
+#: ../../Zotlabs/Module/Webpages.php:48
+msgid "Webpages App"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:98
-msgid "We could not contact the GNU social API with the Path you entered."
+#: ../../Zotlabs/Module/Webpages.php:49
+msgid "Provide managed web pages on your channel"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:130
-msgid "GNU social settings updated."
+#: ../../Zotlabs/Module/Webpages.php:69
+msgid "Import Webpage Elements"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:147
-msgid ""
-"Relay public postings to a connected GNU social account (formerly StatusNet)"
+#: ../../Zotlabs/Module/Webpages.php:70
+msgid "Import selected"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:181
-msgid "Globally Available GNU social OAuthKeys"
+#: ../../Zotlabs/Module/Webpages.php:93
+msgid "Export Webpage Elements"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:183
-msgid ""
-"There are preconfigured OAuth key pairs for some GNU social servers "
-"available. If you are using one of them, please use these credentials.<br /"
-">If not feel free to connect to any other GNU social instance (see below)."
+#: ../../Zotlabs/Module/Webpages.php:94
+msgid "Export selected"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:198
-msgid "Provide your own OAuth Credentials"
+#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341
+#: ../../include/nav.php:524
+msgid "Webpages"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:200
-msgid ""
-"No consumer key pair for GNU social found. Register your Hubzilla Account as "
-"an desktop client on your GNU social account, copy the consumer key pair "
-"here and enter the API base root.<br />Before you register your own OAuth "
-"key pair ask the administrator if there is already a key pair for this "
-"Hubzilla installation at your favourite GNU social installation."
+#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Group.php:253 ../../Zotlabs/Module/Oauth.php:173
+#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Module/Oauth2.php:194
+#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Wiki.php:384
+#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114
+#: ../../Zotlabs/Module/Editblock.php:114
+#: ../../Zotlabs/Module/Connections.php:320
+#: ../../Zotlabs/Module/Connections.php:362
+#: ../../Zotlabs/Module/Connections.php:382
+#: ../../Zotlabs/Module/Editwebpage.php:142
+#: ../../Zotlabs/Module/Article_edit.php:98
+#: ../../Zotlabs/Module/Admin/Profs.php:175 ../../Zotlabs/Module/Thing.php:268
+#: ../../Zotlabs/Module/Menu.php:176 ../../Zotlabs/Lib/Apps.php:557
+#: ../../Zotlabs/Lib/ThreadItem.php:148 ../../Zotlabs/Widget/Cdav.php:138
+#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1538
+#: ../../include/channel.php:1542 ../../include/menu.php:120
+msgid "Edit"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:204
-msgid "OAuth Consumer Key"
+#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Blocks.php:161
+#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136
+#: ../../include/conversation.php:1435
+#: ../../extend/addon/hzaddons/hsse/hsse.php:186
+msgid "Share"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:208
-msgid "OAuth Consumer Secret"
+#: ../../Zotlabs/Module/Webpages.php:263
+msgid "Actions"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:212
-msgid "Base API Path"
+#: ../../Zotlabs/Module/Webpages.php:264
+msgid "Page Link"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:212
-msgid "Remember the trailing /"
+#: ../../Zotlabs/Module/Webpages.php:265
+msgid "Page Title"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:216
-msgid "GNU social application name"
+#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:178
+msgid "Created"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:239
-msgid ""
-"To connect to your GNU social account click the button below to get a "
-"security code from GNU social which you have to copy into the input box "
-"below and submit the form. Only your <strong>public</strong> posts will be "
-"posted to GNU social."
+#: ../../Zotlabs/Module/Webpages.php:267 ../../Zotlabs/Module/Layouts.php:192
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179
+msgid "Edited"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:241
-msgid "Log in with GNU social"
+#: ../../Zotlabs/Module/Webpages.php:295
+msgid "Invalid file type."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:244
-msgid "Copy the security code from GNU social here"
+#: ../../Zotlabs/Module/Webpages.php:307
+msgid "Error opening zip file"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:254
-msgid "Cancel Connection Process"
+#: ../../Zotlabs/Module/Webpages.php:318
+msgid "Invalid folder path."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:256
-msgid "Current GNU social API is"
+#: ../../Zotlabs/Module/Webpages.php:345
+msgid "No webpage elements detected."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:260
-msgid "Cancel GNU social Connection"
+#: ../../Zotlabs/Module/Webpages.php:420
+msgid "Import complete."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:272
-#: ../../addon/twitter/Mod_Twitter.php:147
-msgid "Currently connected to: "
+#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186
+#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661
+msgid "Profile not found."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:277
-msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to GNU social will lead the visitor to a blank page "
-"informing the visitor that the access to your profile has been restricted."
+#: ../../Zotlabs/Module/Profiles.php:46
+msgid "Profile deleted."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:282
-msgid "Post to GNU social by default"
+#: ../../Zotlabs/Module/Profiles.php:70 ../../Zotlabs/Module/Profiles.php:107
+msgid "Profile-"
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:282
-msgid ""
-"If enabled your public postings will be posted to the associated GNU-social "
-"account by default"
+#: ../../Zotlabs/Module/Profiles.php:92 ../../Zotlabs/Module/Profiles.php:129
+msgid "New profile created."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:291
-#: ../../addon/twitter/Mod_Twitter.php:171
-msgid "Clear OAuth configuration"
+#: ../../Zotlabs/Module/Profiles.php:113
+msgid "Profile unavailable to clone."
msgstr ""
-#: ../../addon/statusnet/Mod_Statusnet.php:303
-msgid "GNU-Social Crosspost Connector"
+#: ../../Zotlabs/Module/Profiles.php:148
+msgid "Profile unavailable to export."
msgstr ""
-#: ../../addon/statusnet/statusnet.php:145
-msgid "Post to GNU social"
+#: ../../Zotlabs/Module/Profiles.php:254
+msgid "Profile Name is required."
msgstr ""
-#: ../../addon/statusnet/statusnet.php:593
-#: ../../Zotlabs/Module/Admin/Site.php:295
-msgid "Site name"
+#: ../../Zotlabs/Module/Profiles.php:461
+msgid "Marital Status"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:594
-msgid "API URL"
+#: ../../Zotlabs/Module/Profiles.php:465
+msgid "Romantic Partner"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:595 ../../addon/twitter/twitter.php:506
-#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141
-#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
-msgid "Consumer Secret"
+#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774
+msgid "Likes"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:596 ../../addon/twitter/twitter.php:505
-#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140
-msgid "Consumer Key"
+#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775
+msgid "Dislikes"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:597
-msgid "Application name"
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782
+msgid "Work/Employment"
msgstr ""
-#: ../../addon/rtof/Mod_Rtof.php:24
-msgid "Friendica Crosspost Connector Settings saved."
+#: ../../Zotlabs/Module/Profiles.php:480
+msgid "Religion"
msgstr ""
-#: ../../addon/rtof/Mod_Rtof.php:36
-msgid "Friendica Crosspost Connector App"
+#: ../../Zotlabs/Module/Profiles.php:484
+msgid "Political Views"
msgstr ""
-#: ../../addon/rtof/Mod_Rtof.php:37
-msgid "Relay public postings to a connected Friendica account"
+#: ../../Zotlabs/Module/Profiles.php:488
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:74
+msgid "Gender"
msgstr ""
-#: ../../addon/rtof/Mod_Rtof.php:49
-msgid "Send public postings to Friendica by default"
+#: ../../Zotlabs/Module/Profiles.php:492
+msgid "Sexual Preference"
msgstr ""
-#: ../../addon/rtof/Mod_Rtof.php:53
-msgid "Friendica API Path"
+#: ../../Zotlabs/Module/Profiles.php:496
+msgid "Homepage"
msgstr ""
-#: ../../addon/rtof/Mod_Rtof.php:57
-msgid "Friendica login name"
+#: ../../Zotlabs/Module/Profiles.php:500
+msgid "Interests"
msgstr ""
-#: ../../addon/rtof/Mod_Rtof.php:61
-msgid "Friendica password"
+#: ../../Zotlabs/Module/Profiles.php:596
+msgid "Profile updated."
msgstr ""
-#: ../../addon/rtof/Mod_Rtof.php:69
-msgid "Friendica Crosspost Connector"
+#: ../../Zotlabs/Module/Profiles.php:680
+msgid "Hide your connections list from viewers of this profile"
msgstr ""
-#: ../../addon/rtof/rtof.php:51
-msgid "Post to Friendica"
+#: ../../Zotlabs/Module/Profiles.php:724
+msgid "Edit Profile Details"
msgstr ""
-#: ../../addon/wppost/wppost.php:46
-msgid "Post to WordPress"
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "View this profile"
msgstr ""
-#: ../../addon/wppost/wppost.php:173 ../../addon/wppost/Mod_Wppost.php:98
-#: ../../addon/dwpost/Mod_Dwpost.php:69 ../../addon/dwpost/dwpost.php:134
-#: ../../addon/ljpost/ljpost.php:134 ../../Zotlabs/Module/Wiki.php:384
-msgid "Source"
+#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826
+#: ../../include/channel.php:1561
+msgid "Edit visibility"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:30
-msgid "Wordpress Settings saved."
+#: ../../Zotlabs/Module/Profiles.php:728
+msgid "Profile Tools"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:43
-msgid "Wordpress Post App"
+#: ../../Zotlabs/Module/Profiles.php:729
+msgid "Change cover photo"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:44
-msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API"
+#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1531
+msgid "Change profile photo"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:69
-msgid "WordPress username"
+#: ../../Zotlabs/Module/Profiles.php:731
+msgid "Create a new profile using these settings"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:73
-msgid "WordPress password"
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Clone this profile"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:77
-msgid "WordPress API URL"
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Delete this profile"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:78
-msgid "Typically https://your-blog.tld/xmlrpc.php"
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Add profile things"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:81
-msgid "WordPress blogid"
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Personal"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:82
-msgid "For multi-user sites such as wordpress.com, otherwise leave blank"
+#: ../../Zotlabs/Module/Profiles.php:737
+msgid "Relationship"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:86
-msgid "Post to WordPress by default"
+#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51
+#: ../../include/datetime.php:58
+msgid "Miscellaneous"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:90
-msgid "Forward comments (requires hubzilla_wp plugin)"
+#: ../../Zotlabs/Module/Profiles.php:740
+msgid "Import profile from file"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:94 ../../addon/dwpost/Mod_Dwpost.php:65
-#: ../../addon/ljpost/Mod_Ljpost.php:71
-msgid "Add link to original post"
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Export profile to file"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:98 ../../addon/dwpost/Mod_Dwpost.php:69
-msgid "Link description (default:"
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Your gender"
msgstr ""
-#: ../../addon/wppost/Mod_Wppost.php:106
-msgid "Wordpress Post"
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Marital status"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:27
-msgid "No server specified"
+#: ../../Zotlabs/Module/Profiles.php:744
+msgid "Sexual preference"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:73
-msgid "Posts imported"
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "Profile name"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:113
-msgid "Files imported"
+#: ../../Zotlabs/Module/Profiles.php:749
+msgid "This is your default profile."
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:122
-msgid ""
-"This addon app copies existing content and file storage to a cloned/copied "
-"channel. Once the app is installed, visit the newly installed app. This will "
-"allow you to set the location of your original channel and an optional date "
-"range of files/conversations to copy."
+#: ../../Zotlabs/Module/Profiles.php:751
+msgid "Your full name"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:135
-#: ../../Zotlabs/Lib/Apps.php:332
-msgid "Content Import"
+#: ../../Zotlabs/Module/Profiles.php:752
+msgid "Short title/tescription"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:136
-msgid ""
-"This will import all your conversations and cloud files from a cloned "
-"channel on another server. This may take a while if you have lots of posts "
-"and or files."
+#: ../../Zotlabs/Module/Profiles.php:752
+msgid "Maximal 190 characters"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:137
-msgid "Include posts"
+#: ../../Zotlabs/Module/Profiles.php:755
+msgid "Street address"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:137
-msgid "Conversations, Articles, Cards, and other posted content"
+#: ../../Zotlabs/Module/Profiles.php:756
+msgid "Locality/City"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:138
-msgid "Include files"
+#: ../../Zotlabs/Module/Profiles.php:757
+msgid "Region/State"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:138
-msgid "Files, Photos and other cloud storage"
+#: ../../Zotlabs/Module/Profiles.php:758
+msgid "Postal/Zip code"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:139
-msgid "Original Server base URL"
+#: ../../Zotlabs/Module/Profiles.php:764
+msgid "Who (if applicable)"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:140
-#: ../../addon/hzfiles/hzfiles.php:84
-msgid "Since modified date yyyy-mm-dd"
+#: ../../Zotlabs/Module/Profiles.php:764
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../addon/content_import/Mod_content_import.php:141
-#: ../../addon/hzfiles/hzfiles.php:85
-msgid "Until modified date yyyy-mm-dd"
+#: ../../Zotlabs/Module/Profiles.php:765
+msgid "Since (date)"
msgstr ""
-#: ../../addon/hsse/hsse.php:82 ../../include/conversation.php:1325
-msgid "Set your location"
+#: ../../Zotlabs/Module/Profiles.php:768
+msgid "Tell us about yourself"
msgstr ""
-#: ../../addon/hsse/hsse.php:83 ../../include/conversation.php:1326
-msgid "Clear browser location"
+#: ../../Zotlabs/Module/Profiles.php:769
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:68
+msgid "Homepage URL"
msgstr ""
-#: ../../addon/hsse/hsse.php:95 ../../addon/mail/Mod_Mail.php:166
-#: ../../addon/mail/Mod_Mail.php:309 ../../include/conversation.php:1338
-#: ../../Zotlabs/Module/Article_edit.php:100
-#: ../../Zotlabs/Module/Card_edit.php:101
-#: ../../Zotlabs/Module/Editwebpage.php:143 ../../Zotlabs/Module/Chat.php:220
-#: ../../Zotlabs/Module/Editblock.php:116
-msgid "Insert web link"
+#: ../../Zotlabs/Module/Profiles.php:770
+msgid "Hometown"
msgstr ""
-#: ../../addon/hsse/hsse.php:99 ../../include/conversation.php:1342
-msgid "Embed (existing) photo from your photo albums"
+#: ../../Zotlabs/Module/Profiles.php:771
+msgid "Political views"
msgstr ""
-#: ../../addon/hsse/hsse.php:134 ../../addon/mail/Mod_Mail.php:119
-#: ../../addon/mail/Mod_Mail.php:240 ../../include/conversation.php:1377
-#: ../../Zotlabs/Module/Chat.php:218
-msgid "Please enter a link URL:"
+#: ../../Zotlabs/Module/Profiles.php:772
+msgid "Religious views"
msgstr ""
-#: ../../addon/hsse/hsse.php:135 ../../include/conversation.php:1378
-msgid "Tag term:"
+#: ../../Zotlabs/Module/Profiles.php:773
+msgid "Keywords used in directory listings"
msgstr ""
-#: ../../addon/hsse/hsse.php:136 ../../include/conversation.php:1379
-msgid "Where are you right now?"
+#: ../../Zotlabs/Module/Profiles.php:773
+msgid "Example: fishing photography software"
msgstr ""
-#: ../../addon/hsse/hsse.php:139 ../../include/conversation.php:1382
-#: ../../Zotlabs/Module/Profile_photo.php:509
-#: ../../Zotlabs/Module/Cover_photo.php:430 ../../Zotlabs/Module/Wiki.php:403
-msgid "Choose images to embed"
+#: ../../Zotlabs/Module/Profiles.php:776
+msgid "Musical interests"
msgstr ""
-#: ../../addon/hsse/hsse.php:140 ../../include/conversation.php:1383
-#: ../../Zotlabs/Module/Profile_photo.php:510
-#: ../../Zotlabs/Module/Cover_photo.php:431 ../../Zotlabs/Module/Wiki.php:404
-msgid "Choose an album"
+#: ../../Zotlabs/Module/Profiles.php:777
+msgid "Books, literature"
msgstr ""
-#: ../../addon/hsse/hsse.php:141 ../../include/conversation.php:1384
-msgid "Choose a different album..."
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Television"
msgstr ""
-#: ../../addon/hsse/hsse.php:142 ../../include/conversation.php:1385
-#: ../../Zotlabs/Module/Profile_photo.php:512
-#: ../../Zotlabs/Module/Cover_photo.php:433 ../../Zotlabs/Module/Wiki.php:406
-msgid "Error getting album list"
+#: ../../Zotlabs/Module/Profiles.php:779
+msgid "Film/Dance/Culture/Entertainment"
msgstr ""
-#: ../../addon/hsse/hsse.php:143 ../../include/conversation.php:1386
-#: ../../Zotlabs/Module/Profile_photo.php:513
-#: ../../Zotlabs/Module/Cover_photo.php:434 ../../Zotlabs/Module/Wiki.php:407
-msgid "Error getting photo link"
+#: ../../Zotlabs/Module/Profiles.php:780
+msgid "Hobbies/Interests"
msgstr ""
-#: ../../addon/hsse/hsse.php:144 ../../include/conversation.php:1387
-#: ../../Zotlabs/Module/Profile_photo.php:514
-#: ../../Zotlabs/Module/Cover_photo.php:435 ../../Zotlabs/Module/Wiki.php:408
-msgid "Error getting album"
+#: ../../Zotlabs/Module/Profiles.php:781
+msgid "Love/Romance"
msgstr ""
-#: ../../addon/hsse/hsse.php:145 ../../include/conversation.php:1388
-msgid "Comments enabled"
+#: ../../Zotlabs/Module/Profiles.php:783
+msgid "School/Education"
msgstr ""
-#: ../../addon/hsse/hsse.php:146 ../../include/conversation.php:1389
-msgid "Comments disabled"
+#: ../../Zotlabs/Module/Profiles.php:784
+msgid "Contact information and social networks"
msgstr ""
-#: ../../addon/hsse/hsse.php:153 ../../include/conversation.php:1399
-#: ../../Zotlabs/Module/Webpages.php:262 ../../Zotlabs/Module/Events.php:486
-#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Lib/ThreadItem.php:835
-msgid "Preview"
+#: ../../Zotlabs/Module/Profiles.php:785
+msgid "My other channels"
msgstr ""
-#: ../../addon/hsse/hsse.php:186 ../../include/conversation.php:1432
-#: ../../Zotlabs/Widget/Cdav.php:136 ../../Zotlabs/Module/Webpages.php:256
-#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Photos.php:1077
-#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Layouts.php:194
-msgid "Share"
+#: ../../Zotlabs/Module/Profiles.php:787
+msgid "Communications"
msgstr ""
-#: ../../addon/hsse/hsse.php:195 ../../include/conversation.php:1441
-msgid "Page link name"
+#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1557
+msgid "Profile Image"
msgstr ""
-#: ../../addon/hsse/hsse.php:198 ../../include/conversation.php:1444
-msgid "Post as"
+#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1538
+#: ../../include/nav.php:115
+msgid "Edit Profiles"
msgstr ""
-#: ../../addon/hsse/hsse.php:200 ../../include/conversation.php:1446
-#: ../../Zotlabs/Lib/ThreadItem.php:826
-msgid "Bold"
+#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214
+#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262
+msgid "Create New"
msgstr ""
-#: ../../addon/hsse/hsse.php:201 ../../include/conversation.php:1447
-#: ../../Zotlabs/Lib/ThreadItem.php:827
-msgid "Italic"
+#: ../../Zotlabs/Module/Import.php:68 ../../Zotlabs/Module/Import_items.php:48
+msgid "Nothing to import."
msgstr ""
-#: ../../addon/hsse/hsse.php:202 ../../include/conversation.php:1448
-#: ../../Zotlabs/Lib/ThreadItem.php:828
-msgid "Underline"
+#: ../../Zotlabs/Module/Import.php:83 ../../Zotlabs/Module/Import.php:99
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Unable to download data from old server"
msgstr ""
-#: ../../addon/hsse/hsse.php:203 ../../include/conversation.php:1449
-#: ../../Zotlabs/Lib/ThreadItem.php:829
-msgid "Quote"
+#: ../../Zotlabs/Module/Import.php:106 ../../Zotlabs/Module/Import_items.php:77
+msgid "Imported file is empty."
msgstr ""
-#: ../../addon/hsse/hsse.php:204 ../../include/conversation.php:1450
-#: ../../Zotlabs/Lib/ThreadItem.php:830
-msgid "Code"
+#: ../../Zotlabs/Module/Import.php:162
+#, php-format
+msgid "Your service plan only allows %d channels."
msgstr ""
-#: ../../addon/hsse/hsse.php:205 ../../include/conversation.php:1451
-#: ../../Zotlabs/Lib/ThreadItem.php:832
-msgid "Attach/Upload file"
+#: ../../Zotlabs/Module/Import.php:189
+msgid "No channel. Import failed."
msgstr ""
-#: ../../addon/hsse/hsse.php:208 ../../include/conversation.php:1454
-#: ../../Zotlabs/Module/Wiki.php:400
-msgid "Embed an image from your albums"
+#: ../../Zotlabs/Module/Import.php:593
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:142
+msgid "Import completed."
msgstr ""
-#: ../../addon/hsse/hsse.php:209 ../../addon/hsse/hsse.php:258
-#: ../../include/conversation.php:1455 ../../include/conversation.php:1508
-#: ../../Zotlabs/Module/Article_edit.php:130
-#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Card_edit.php:131 ../../Zotlabs/Module/Oauth.php:112
-#: ../../Zotlabs/Module/Oauth.php:138 ../../Zotlabs/Module/Editwebpage.php:169
-#: ../../Zotlabs/Module/Cdav.php:1054 ../../Zotlabs/Module/Cdav.php:1386
-#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
-#: ../../Zotlabs/Module/Editpost.php:110
-#: ../../Zotlabs/Module/Admin/Addons.php:427
-#: ../../Zotlabs/Module/Profile_photo.php:507
-#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Filer.php:55
-#: ../../Zotlabs/Module/Editlayout.php:140
-#: ../../Zotlabs/Module/Cover_photo.php:428
-#: ../../Zotlabs/Module/Profiles.php:803 ../../Zotlabs/Module/Oauth2.php:117
-#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:368
-#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Connedit.php:944
-msgid "Cancel"
+#: ../../Zotlabs/Module/Import.php:621
+msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../addon/hsse/hsse.php:210 ../../addon/hsse/hsse.php:257
-#: ../../include/conversation.php:1456 ../../include/conversation.php:1507
-#: ../../Zotlabs/Module/Profile_photo.php:508
-#: ../../Zotlabs/Module/Cover_photo.php:429 ../../Zotlabs/Module/Wiki.php:402
-msgid "OK"
+#: ../../Zotlabs/Module/Import.php:626
+msgid "Import Channel"
msgstr ""
-#: ../../addon/hsse/hsse.php:212 ../../include/conversation.php:1458
-msgid "Toggle voting"
+#: ../../Zotlabs/Module/Import.php:627
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You "
+"may retrieve the channel identity from the old server/hub via the network or "
+"provide an export file."
msgstr ""
-#: ../../addon/hsse/hsse.php:215 ../../include/conversation.php:1465
-msgid "Disable comments"
+#: ../../Zotlabs/Module/Import.php:628
+#: ../../Zotlabs/Module/Import_items.php:127
+msgid "File to Upload"
msgstr ""
-#: ../../addon/hsse/hsse.php:216 ../../include/conversation.php:1466
-msgid "Toggle comments"
+#: ../../Zotlabs/Module/Import.php:629
+msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../addon/hsse/hsse.php:221 ../../include/conversation.php:1471
-#: ../../Zotlabs/Module/Article_edit.php:116
-#: ../../Zotlabs/Module/Card_edit.php:117
-#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:673
-#: ../../Zotlabs/Module/Photos.php:1043
-msgid "Title (optional)"
+#: ../../Zotlabs/Module/Import.php:631
+msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../addon/hsse/hsse.php:224 ../../include/conversation.php:1474
-msgid "Categories (optional, comma-separated list)"
+#: ../../Zotlabs/Module/Import.php:632
+msgid "Your old login email address"
msgstr ""
-#: ../../addon/hsse/hsse.php:225 ../../include/conversation.php:1475
-#: ../../Zotlabs/Module/Events.php:487
-msgid "Permission settings"
+#: ../../Zotlabs/Module/Import.php:633
+msgid "Your old login password"
msgstr ""
-#: ../../addon/hsse/hsse.php:247 ../../include/conversation.php:1497
-msgid "Other networks and post services"
+#: ../../Zotlabs/Module/Import.php:634
+msgid "Import a few months of posts if possible (limited by available memory"
msgstr ""
-#: ../../addon/hsse/hsse.php:250 ../../addon/mail/Mod_Mail.php:170
-#: ../../addon/mail/Mod_Mail.php:313 ../../include/conversation.php:1500
-msgid "Set expiration date"
+#: ../../Zotlabs/Module/Import.php:636
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be "
+"able to post from either location, but only one can be marked as the primary "
+"location for files, photos, and media."
msgstr ""
-#: ../../addon/hsse/hsse.php:253 ../../include/conversation.php:1503
-msgid "Set publish date"
+#: ../../Zotlabs/Module/Import.php:638
+msgid "Make this hub my primary location"
msgstr ""
-#: ../../addon/hsse/hsse.php:255 ../../addon/mail/Mod_Mail.php:172
-#: ../../addon/mail/Mod_Mail.php:315 ../../include/conversation.php:1505
-#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:839
-msgid "Encrypt text"
+#: ../../Zotlabs/Module/Import.php:639
+msgid "Move this channel (disable all previous locations)"
msgstr ""
-#: ../../addon/hsse/Mod_Hsse.php:15
-msgid "WYSIWYG status editor"
+#: ../../Zotlabs/Module/Import.php:640
+msgid "Use this channel nickname instead of the one provided"
msgstr ""
-#: ../../addon/hsse/Mod_Hsse.php:21 ../../addon/hsse/Mod_Hsse.php:26
-msgid "WYSIWYG Status App"
+#: ../../Zotlabs/Module/Import.php:640
+msgid ""
+"Leave blank to keep your existing channel nickname. You will be randomly "
+"assigned a similar nickname if either name is already allocated on this site."
msgstr ""
-#: ../../addon/hsse/Mod_Hsse.php:34
-msgid "WYSIWYG Status"
+#: ../../Zotlabs/Module/Import.php:642
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:133
-msgid "View Larger"
+#: ../../Zotlabs/Module/Like.php:93
+msgid "Like/Dislike"
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:156
-msgid "Tile Server URL"
+#: ../../Zotlabs/Module/Like.php:98
+msgid "This action is restricted to members."
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:156
+#: ../../Zotlabs/Module/Like.php:99
msgid ""
-"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank"
-"\">public tile servers</a>"
-msgstr ""
-
-#: ../../addon/openstreetmap/openstreetmap.php:157
-msgid "Nominatim (reverse geocoding) Server URL"
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
+"\"register\">register as a new $Projectname member</a> to continue."
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:157
-msgid ""
-"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target="
-"\"_blank\">Nominatim servers</a>"
+#: ../../Zotlabs/Module/Like.php:154 ../../Zotlabs/Module/Like.php:180
+#: ../../Zotlabs/Module/Like.php:218
+msgid "Invalid request."
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:158
-msgid "Default zoom"
+#: ../../Zotlabs/Module/Like.php:166 ../../include/conversation.php:135
+msgid "channel"
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:158
-msgid ""
-"The default zoom level. (1:world, 18:highest, also depends on tile server)"
+#: ../../Zotlabs/Module/Like.php:195
+msgid "thing"
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:159
-msgid "Include marker on map"
+#: ../../Zotlabs/Module/Like.php:241
+msgid "Channel unavailable."
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:159
-msgid "Include a marker on the map."
+#: ../../Zotlabs/Module/Like.php:277
+msgid "Previous action reversed."
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:171
-#: ../../addon/rendezvous/rendezvous.php:82 ../../addon/twitter/twitter.php:494
-#: ../../addon/msgfooter/msgfooter.php:54 ../../addon/diaspora/diaspora.php:93
-#: ../../addon/piwik/piwik.php:116 ../../addon/logrot/logrot.php:54
-#: ../../addon/xmpp/xmpp.php:54 ../../Zotlabs/Module/Settings/Channel.php:267
-#: ../../Zotlabs/Module/Defperms.php:112
-msgid "Settings updated."
+#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Tagger.php:71
+#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2971
+#: ../../include/conversation.php:128 ../../include/text.php:2252
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895
+#: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71
+msgid "photo"
msgstr ""
-#: ../../addon/ijpost/Mod_Ijpost.php:23
-msgid "Insane Journal Crosspost Connector Settings saved."
+#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Subthread.php:112
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895
+msgid "status"
msgstr ""
-#: ../../addon/ijpost/Mod_Ijpost.php:35
-msgid "Insane Journal Crosspost Connector App"
+#: ../../Zotlabs/Module/Like.php:469 ../../Zotlabs/Lib/Activity.php:3006
+#: ../../include/conversation.php:174
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1537
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1932
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../addon/ijpost/Mod_Ijpost.php:36
-msgid "Relay public postings to Insane Journal"
+#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3008
+#: ../../include/conversation.php:177
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1934
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
-#: ../../addon/ijpost/Mod_Ijpost.php:53
-msgid "InsaneJournal username"
+#: ../../Zotlabs/Module/Like.php:473
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
msgstr ""
-#: ../../addon/ijpost/Mod_Ijpost.php:57
-msgid "InsaneJournal password"
+#: ../../Zotlabs/Module/Like.php:475
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr ""
-#: ../../addon/ijpost/Mod_Ijpost.php:61
-msgid "Post to InsaneJournal by default"
+#: ../../Zotlabs/Module/Like.php:477
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr ""
-#: ../../addon/ijpost/Mod_Ijpost.php:69
-msgid "Insane Journal Crosspost Connector"
+#: ../../Zotlabs/Module/Like.php:479
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2184
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
msgstr ""
-#: ../../addon/ijpost/ijpost.php:44
-msgid "Post to Insane Journal"
+#: ../../Zotlabs/Module/Like.php:481
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2186
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
msgstr ""
-#: ../../addon/wholikesme/wholikesme.php:29
-msgid "Who likes me?"
+#: ../../Zotlabs/Module/Like.php:483
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2188
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
msgstr ""
-#: ../../addon/qrator/qrator.php:48
-msgid "QR code"
+#: ../../Zotlabs/Module/Like.php:592
+msgid "Action completed."
msgstr ""
-#: ../../addon/qrator/qrator.php:63
-msgid "QR Generator"
+#: ../../Zotlabs/Module/Like.php:593
+msgid "Thank you."
msgstr ""
-#: ../../addon/qrator/qrator.php:64
-msgid "Enter some text"
+#: ../../Zotlabs/Module/Defperms.php:68 ../../Zotlabs/Module/Connedit.php:89
+msgid "Could not access contact record."
msgstr ""
-#: ../../addon/pubcrawl/as.php:1135 ../../include/cdav.php:158
-#: ../../include/cdav.php:159 ../../include/cdav.php:167
-#: ../../include/conversation.php:1208 ../../Zotlabs/Widget/Album.php:84
-#: ../../Zotlabs/Widget/Pinned.php:270 ../../Zotlabs/Widget/Portfolio.php:95
-#: ../../Zotlabs/Module/Embedphotos.php:176 ../../Zotlabs/Module/Photos.php:792
-#: ../../Zotlabs/Module/Photos.php:1254 ../../Zotlabs/Lib/Activity.php:1492
-#: ../../Zotlabs/Lib/Apps.php:1112 ../../Zotlabs/Lib/Apps.php:1196
-#: ../../Zotlabs/Storage/Browser.php:164
-msgid "Unknown"
+#: ../../Zotlabs/Module/Defperms.php:112
+#: ../../Zotlabs/Module/Settings/Channel.php:267
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:54
+#: ../../extend/addon/hzaddons/piwik/piwik.php:116
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:82
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:93
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:171
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:54
+#: ../../extend/addon/hzaddons/twitter/twitter.php:494
+#: ../../extend/addon/hzaddons/logrot/logrot.php:54
+msgid "Settings updated."
msgstr ""
-#: ../../addon/pubcrawl/as.php:1429 ../../addon/pubcrawl/as.php:1679
-#: ../../addon/pubcrawl/as.php:1887 ../../include/network.php:1735
-#: ../../Zotlabs/Lib/Activity.php:2803 ../../Zotlabs/Lib/Activity.php:2997
-msgid "ActivityPub"
+#: ../../Zotlabs/Module/Defperms.php:190
+msgid "Default Permissions App"
msgstr ""
-#: ../../addon/pubcrawl/as.php:1841 ../../addon/diaspora/Receiver.php:1597
-#: ../../Zotlabs/Module/Like.php:386 ../../Zotlabs/Module/Subthread.php:112
-msgid "status"
+#: ../../Zotlabs/Module/Defperms.php:191
+msgid "Set custom default permissions for new connections"
msgstr ""
-#: ../../addon/pubcrawl/as.php:1878 ../../addon/diaspora/Receiver.php:1537
-#: ../../include/conversation.php:174 ../../Zotlabs/Module/Like.php:422
-#: ../../Zotlabs/Lib/Activity.php:2988
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
+#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:859
+msgid "Connection Default Permissions"
msgstr ""
-#: ../../addon/pubcrawl/as.php:1880 ../../include/conversation.php:177
-#: ../../Zotlabs/Module/Like.php:424 ../../Zotlabs/Lib/Activity.php:2990
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
+#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:860
+msgid "Apply these permissions automatically"
msgstr ""
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:25
-msgid "ActivityPub Protocol Settings updated."
+#: ../../Zotlabs/Module/Defperms.php:256
+#: ../../Zotlabs/Module/Settings/Channel.php:472
+msgid ""
+"If enabled, connection requests will be approved without your interaction"
msgstr ""
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:34
-msgid ""
-"The activitypub protocol does not support location independence. Connections "
-"you make within that network may be unreachable from alternate channel "
-"locations."
+#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:861
+msgid "Permission role"
msgstr ""
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:40
-msgid "Activitypub Protocol App"
+#: ../../Zotlabs/Module/Defperms.php:257
+#: ../../Zotlabs/Module/New_channel.php:157
+#: ../../Zotlabs/Module/New_channel.php:164
+#: ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324
+msgid "Loading"
msgstr ""
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:50
-msgid "Deliver to ActivityPub recipients in privacy groups"
+#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:862
+msgid "Add permission role"
msgstr ""
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:50
+#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:875
msgid ""
-"May result in a large number of mentions and expose all the members of your "
-"privacy group"
+"The permissions indicated on this page will be applied to all new "
+"connections."
msgstr ""
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:54
-msgid "Send multi-media HTML articles"
+#: ../../Zotlabs/Module/Defperms.php:263
+msgid "Automatic approval settings"
msgstr ""
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:54
-msgid "Not supported by some microblog services such as Mastodon"
+#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:895
+#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124
+msgid "inherited"
msgstr ""
-#: ../../addon/pubcrawl/Mod_Pubcrawl.php:62
-msgid "Activitypub Protocol"
+#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:900
+#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122
+msgid "My Settings"
msgstr ""
-#: ../../addon/ldapauth/ldapauth.php:70
-msgid "An account has been created for you."
+#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:902
+#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127
+msgid "Individual Permissions"
msgstr ""
-#: ../../addon/ldapauth/ldapauth.php:77
-msgid "Authentication successful but rejected: account creation is disabled."
+#: ../../Zotlabs/Module/Defperms.php:271
+msgid ""
+"Some individual permissions may have been preset or locked based on your "
+"channel type and privacy settings."
msgstr ""
-#: ../../addon/dwpost/Mod_Dwpost.php:26
-msgid "Dreamwidth Crosspost Connector Settings saved."
+#: ../../Zotlabs/Module/Layouts.php:129 ../../Zotlabs/Module/Layouts.php:189
+#: ../../Zotlabs/Module/Editlayout.php:128
+msgid "Layout Name"
msgstr ""
-#: ../../addon/dwpost/Mod_Dwpost.php:39
-msgid "Dreamwidth Crosspost Connector App"
+#: ../../Zotlabs/Module/Layouts.php:132 ../../Zotlabs/Module/Editlayout.php:129
+msgid "Layout Description (Optional)"
msgstr ""
-#: ../../addon/dwpost/Mod_Dwpost.php:40
-msgid "Relay public posts to Dreamwidth"
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2700
+msgid "Layouts"
msgstr ""
-#: ../../addon/dwpost/Mod_Dwpost.php:53
-msgid "Dreamwidth username"
+#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348
+#: ../../include/nav.php:174 ../../include/nav.php:320
+#: ../../include/help.php:117 ../../include/help.php:125
+msgid "Help"
msgstr ""
-#: ../../addon/dwpost/Mod_Dwpost.php:57
-msgid "Dreamwidth password"
+#: ../../Zotlabs/Module/Layouts.php:186
+msgid "Comanche page description language help"
msgstr ""
-#: ../../addon/dwpost/Mod_Dwpost.php:61
-msgid "Post to Dreamwidth by default"
+#: ../../Zotlabs/Module/Layouts.php:190
+msgid "Layout Description"
msgstr ""
-#: ../../addon/dwpost/Mod_Dwpost.php:77
-msgid "Dreamwidth Crosspost Connector"
+#: ../../Zotlabs/Module/Layouts.php:195
+msgid "Download PDL file"
msgstr ""
-#: ../../addon/dwpost/dwpost.php:49
-msgid "Post to Dreamwidth"
+#: ../../Zotlabs/Module/Pubstream.php:20
+msgid "Public Stream App"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:19
-msgid "bitchslap"
+#: ../../Zotlabs/Module/Pubstream.php:21
+msgid "The unmoderated public stream of this hub"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:19
-msgid "bitchslapped"
+#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76
+#: ../../Zotlabs/Module/Channel.php:224 ../../Zotlabs/Module/Hq.php:125
+#: ../../Zotlabs/Module/Network.php:205
+msgid "Reset form"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:20
-msgid "shag"
+#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375
+#: ../../Zotlabs/Widget/Notifications.php:162
+msgid "Public Stream"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:20
-msgid "shagged"
+#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672
+msgid "Private forum"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:21
-msgid "patent"
+#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672
+msgid "Public forum"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:21
-msgid "patented"
+#: ../../Zotlabs/Module/Group.php:46
+msgid "Privacy group created."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:22
-msgid "hug"
+#: ../../Zotlabs/Module/Group.php:49
+msgid "Could not create privacy group."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:22
-msgid "hugged"
+#: ../../Zotlabs/Module/Group.php:62 ../../Zotlabs/Module/Group.php:214
+#: ../../include/items.php:4491
+msgid "Privacy group not found."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:23
-msgid "murder"
+#: ../../Zotlabs/Module/Group.php:81
+msgid "Privacy group updated."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:23
-msgid "murdered"
+#: ../../Zotlabs/Module/Group.php:107
+msgid "Privacy Groups App"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:24
-msgid "worship"
+#: ../../Zotlabs/Module/Group.php:108
+msgid "Management of privacy groups"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:24
-msgid "worshipped"
+#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154
+#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364
+#: ../../Zotlabs/Widget/Activity_filter.php:82 ../../include/group.php:321
+#: ../../include/acl_selectors.php:86 ../../include/nav.php:101
+msgid "Privacy Groups"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:25
-msgid "kiss"
+#: ../../Zotlabs/Module/Group.php:143
+msgid "Add Group"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:25
-msgid "kissed"
+#: ../../Zotlabs/Module/Group.php:147
+msgid "Privacy group name"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:26
-msgid "tempt"
+#: ../../Zotlabs/Module/Group.php:148 ../../Zotlabs/Module/Group.php:257
+msgid "Members are visible to other channels"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:26
-msgid "tempted"
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group removed."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:27
-msgid "raise eyebrows at"
+#: ../../Zotlabs/Module/Group.php:186
+msgid "Unable to remove privacy group."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:27
-msgid "raised their eyebrows at"
+#: ../../Zotlabs/Module/Group.php:252
+#, php-format
+msgid "Privacy Group: %s"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:28
-msgid "insult"
+#: ../../Zotlabs/Module/Group.php:254
+msgid "Privacy group name: "
msgstr ""
-#: ../../addon/morepokes/morepokes.php:28
-msgid "insulted"
+#: ../../Zotlabs/Module/Group.php:259
+msgid "Delete Group"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:29
-msgid "praise"
+#: ../../Zotlabs/Module/Group.php:270
+msgid "Group members"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:29
-msgid "praised"
+#: ../../Zotlabs/Module/Group.php:272
+msgid "Not in this group"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:30
-msgid "be dubious of"
+#: ../../Zotlabs/Module/Group.php:304
+msgid "Click a channel to toggle membership"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:30
-msgid "was dubious of"
+#: ../../Zotlabs/Module/Removeme.php:35
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:31
-msgid "eat"
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:31
-msgid "ate"
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Changeaddr.php:78
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "WARNING: "
msgstr ""
-#: ../../addon/morepokes/morepokes.php:32
-msgid "giggle and fawn at"
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
msgstr ""
-#: ../../addon/morepokes/morepokes.php:32
-msgid "giggled and fawned at"
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:33
-msgid "doubt"
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Changeaddr.php:79
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid "Please enter your password for verification:"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:33
-msgid "doubted"
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:596
+msgid "Remove Channel"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:34
-msgid "glare"
+#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56
+msgid "App installed."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:34
-msgid "glared at"
+#: ../../Zotlabs/Module/Appman.php:49
+msgid "Malformed app."
msgstr ""
-#: ../../addon/morepokes/morepokes.php:35
-msgid "fuck"
+#: ../../Zotlabs/Module/Appman.php:132
+msgid "Embed code"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:35
-msgid "fucked"
+#: ../../Zotlabs/Module/Appman.php:138
+msgid "Edit App"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:36
-msgid "bonk"
+#: ../../Zotlabs/Module/Appman.php:138
+msgid "Create App"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:36
-msgid "bonked"
+#: ../../Zotlabs/Module/Appman.php:143
+msgid "Name of app"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:37
-msgid "declare undying love for"
+#: ../../Zotlabs/Module/Appman.php:144
+msgid "Location (URL) of app"
msgstr ""
-#: ../../addon/morepokes/morepokes.php:37
-msgid "declared undying love for"
+#: ../../Zotlabs/Module/Appman.php:146
+msgid "Photo icon URL"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:57
-msgid "Errors encountered deleting database table "
+#: ../../Zotlabs/Module/Appman.php:146
+msgid "80 x 80 pixels - optional"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:95 ../../addon/twitter/twitter.php:503
-msgid "Submit Settings"
+#: ../../Zotlabs/Module/Appman.php:147
+msgid "Categories (optional, comma separated list)"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:96
-msgid "Drop tables when uninstalling?"
+#: ../../Zotlabs/Module/Appman.php:148
+msgid "Version ID"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:96
-msgid ""
-"If checked, the Rendezvous database tables will be deleted when the plugin "
-"is uninstalled."
+#: ../../Zotlabs/Module/Appman.php:149
+msgid "Price of app"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:97
-msgid "Mapbox Access Token"
+#: ../../Zotlabs/Module/Appman.php:150
+msgid "Location (URL) to purchase app"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:97
+#: ../../Zotlabs/Module/Changeaddr.php:35
msgid ""
-"If you enter a Mapbox access token, it will be used to retrieve map tiles "
-"from Mapbox instead of the default OpenStreetMap tile server."
+"Channel name changes are not allowed within 48 hours of changing the account "
+"password."
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:162
-msgid "Rendezvous"
+#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:225
+#: ../../include/channel.php:706
+msgid "Reserved nickname. Please choose another."
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:167
+#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:230
+#: ../../include/channel.php:711
msgid ""
-"This identity has been deleted by another member due to inactivity. Please "
-"press the \"New identity\" button or refresh the page to register a new "
-"identity. You may use the same name."
+"Nickname has unsupported characters or is already being used on this site."
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:168
-msgid "Welcome to Rendezvous!"
+#: ../../Zotlabs/Module/Changeaddr.php:77
+msgid "Change channel nickname/address"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:169
-msgid ""
-"Enter your name to join this rendezvous. To begin sharing your location with "
-"the other members, tap the GPS control. When your location is discovered, a "
-"red dot will appear and others will be able to see you on the map."
+#: ../../Zotlabs/Module/Changeaddr.php:78
+msgid "Any/all connections on other networks will be lost!"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:171
-msgid "Let's meet here"
+#: ../../Zotlabs/Module/Changeaddr.php:80
+msgid "New channel address"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:172
-#: ../../Zotlabs/Widget/Wiki_page_history.php:22
-#: ../../Zotlabs/Module/Group.php:155 ../../Zotlabs/Module/Oauth.php:113
-#: ../../Zotlabs/Module/Oauth.php:139 ../../Zotlabs/Module/Chat.php:257
-#: ../../Zotlabs/Module/Cdav.php:1368 ../../Zotlabs/Module/Sharedwithme.php:106
-#: ../../Zotlabs/Module/Admin/Channels.php:159
-#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146
-#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Connedit.php:926
-#: ../../Zotlabs/Lib/NativeWikiPage.php:564
-#: ../../Zotlabs/Storage/Browser.php:291
-msgid "Name"
+#: ../../Zotlabs/Module/Changeaddr.php:81
+msgid "Rename Channel"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:173
-#: ../../addon/cart/submodules/hzservices.php:655
-#: ../../addon/cart/submodules/manualcat.php:260
-#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:481
-#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101
-msgid "Description"
+#: ../../Zotlabs/Module/Oauth.php:45
+msgid "Name is required"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:174
-msgid "New marker"
+#: ../../Zotlabs/Module/Oauth.php:49
+msgid "Key and Secret are required"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:175
-msgid "Edit marker"
+#: ../../Zotlabs/Module/Oauth.php:100
+msgid "OAuth Apps Manager App"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:176
-msgid "New identity"
+#: ../../Zotlabs/Module/Oauth.php:101
+msgid "OAuth authentication tokens for mobile and remote apps"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:177
-msgid "Delete marker"
+#: ../../Zotlabs/Module/Oauth.php:110 ../../Zotlabs/Module/Oauth.php:136
+#: ../../Zotlabs/Module/Oauth.php:172 ../../Zotlabs/Module/Oauth2.php:143
+#: ../../Zotlabs/Module/Oauth2.php:193
+msgid "Add application"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:178
-msgid "Delete member"
+#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth2.php:118
+#: ../../Zotlabs/Module/Oauth2.php:146
+msgid "Name of application"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:179
-msgid "Edit proximity alert"
+#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:596
+#: ../../extend/addon/hzaddons/twitter/twitter.php:505
+msgid "Consumer Key"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:180
-msgid ""
-"A proximity alert will be issued when this member is within a certain radius "
-"of you.<br><br>Enter a radius in meters (0 to disable):"
+#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:115
+#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
+msgid "Automatically generated - change if desired. Max length 20"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:180
-#: ../../addon/rendezvous/rendezvous.php:185
-msgid "distance"
+#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141
+#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:595
+#: ../../extend/addon/hzaddons/twitter/twitter.php:506
+msgid "Consumer Secret"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:181
-msgid "Proximity alert distance (meters)"
+#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142
+#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148
+msgid "Redirect"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:182
-#: ../../addon/rendezvous/rendezvous.php:184
+#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth2.php:120
+#: ../../Zotlabs/Module/Oauth2.php:148
msgid ""
-"A proximity alert will be issued when you are within a certain radius of the "
-"marker location.<br><br>Enter a radius in meters (0 to disable):"
+"Redirect URI - leave blank unless your application specifically requires this"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:183
-msgid "Marker proximity alert"
+#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143
+msgid "Icon url"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:186
-msgid "Reminder note"
+#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123
+#: ../../Zotlabs/Module/Sources.php:158
+msgid "Optional"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:187
-msgid ""
-"Enter a note to be displayed when you are within the specified proximity..."
+#: ../../Zotlabs/Module/Oauth.php:128
+msgid "Application not found."
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:199
-msgid "Add new rendezvous"
+#: ../../Zotlabs/Module/Oauth.php:171
+msgid "Connected OAuth Apps"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:200
-msgid ""
-"Create a new rendezvous and share the access link with those you wish to "
-"invite to the group. Those who open the link become members of the "
-"rendezvous. They can view other member locations, add markers to the map, or "
-"share their own locations with the group."
+#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196
+msgid "Client key starts with"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:232
-msgid "You have no rendezvous. Press the button above to create a rendezvous!"
+#: ../../Zotlabs/Module/Oauth.php:176 ../../Zotlabs/Module/Oauth2.php:197
+msgid "No name"
msgstr ""
-#: ../../addon/rendezvous/rendezvous.php:401 ../../Zotlabs/Module/Setup.php:718
-msgid "Errors encountered creating database tables."
+#: ../../Zotlabs/Module/Oauth.php:177 ../../Zotlabs/Module/Oauth2.php:198
+msgid "Remove authorization"
msgstr ""
-#: ../../addon/startpage/Mod_Startpage.php:50
-msgid "Startpage App"
+#: ../../Zotlabs/Module/Email_resend.php:12
+#: ../../Zotlabs/Module/Email_validation.php:24
+msgid "Token verification failed."
msgstr ""
-#: ../../addon/startpage/Mod_Startpage.php:51
-msgid "Set a preferred page to load on login from home page"
+#: ../../Zotlabs/Module/Email_resend.php:30
+msgid "Email verification resent"
msgstr ""
-#: ../../addon/startpage/Mod_Startpage.php:62
-msgid "Page to load after login"
+#: ../../Zotlabs/Module/Email_resend.php:33
+msgid "Unable to resend email verification message."
msgstr ""
-#: ../../addon/startpage/Mod_Startpage.php:62
-msgid ""
-"Examples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (privacy "
-"collection), &quot;channel&quot; or &quot;notifications/system&quot; (leave "
-"blank for default network page (grid)."
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:23
+#: ../../Zotlabs/Module/Display.php:26 ../../Zotlabs/Module/Photos.php:519
+#: ../../Zotlabs/Module/Directory.php:73 ../../Zotlabs/Module/Directory.php:78
+#: ../../Zotlabs/Module/Ratings.php:83
+msgid "Public access denied."
msgstr ""
-#: ../../addon/startpage/Mod_Startpage.php:70
-msgid "Startpage"
+#: ../../Zotlabs/Module/Search.php:41 ../../Zotlabs/Module/Connections.php:378
+#: ../../Zotlabs/Lib/Apps.php:353 ../../Zotlabs/Widget/Sitesearch.php:31
+#: ../../Zotlabs/Widget/Activity_filter.php:193 ../../include/text.php:1150
+#: ../../include/text.php:1162 ../../include/acl_selectors.php:148
+#: ../../include/nav.php:188
+msgid "Search"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:39
-msgid "Messages"
+#: ../../Zotlabs/Module/Search.php:222
+#, php-format
+msgid "Items tagged with: %s"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:52
-msgid "message"
+#: ../../Zotlabs/Module/Search.php:224
+#, php-format
+msgid "Search results for: %s"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:92
-msgid "Message recalled."
+#: ../../Zotlabs/Module/Moderate.php:67
+msgid "Comment approved"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:105
-msgid "Conversation removed."
+#: ../../Zotlabs/Module/Moderate.php:71
+msgid "Comment deleted"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:120 ../../addon/mail/Mod_Mail.php:241
-msgid "Expires YYYY-MM-DD HH:MM"
+#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:109
+msgid "Edit post"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:148
-msgid "Requested channel is not in this network"
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:156
-msgid "Send Private Message"
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:157 ../../addon/mail/Mod_Mail.php:300
-msgid "To:"
+#: ../../Zotlabs/Module/Chanview.php:95 ../../Zotlabs/Module/Card_edit.php:44
+#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Page.php:75
+#: ../../Zotlabs/Module/Block.php:41 ../../Zotlabs/Module/Article_edit.php:44
+#: ../../Zotlabs/Module/Attach.php:21 ../../Zotlabs/Module/Cal.php:31
+#: ../../Zotlabs/Module/Attach_edit.php:52
+msgid "Channel not found."
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:160 ../../addon/mail/Mod_Mail.php:302
-msgid "Subject:"
+#: ../../Zotlabs/Module/Chanview.php:132
+msgid "toggle full screen mode"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:163 ../../Zotlabs/Module/Invite.php:157
-msgid "Your message:"
+#: ../../Zotlabs/Module/Tagger.php:50
+msgid "Post not found."
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:165 ../../addon/mail/Mod_Mail.php:308
-msgid "Attach file"
+#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2971
+#: ../../include/conversation.php:158 ../../include/text.php:2258
+#: ../../include/markdown.php:204 ../../include/bbcode.php:523
+msgid "post"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:167
-msgid "Send"
+#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160
+#: ../../include/text.php:2260
+msgid "comment"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:271
-msgid "Delete message"
+#: ../../Zotlabs/Module/Tagger.php:121
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:272
-msgid "Delivery report"
+#: ../../Zotlabs/Module/Import_items.php:93
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:273
-msgid "Recall message"
+#: ../../Zotlabs/Module/Import_items.php:108
+msgid "Import completed"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:275
-msgid "Message has been recalled."
+#: ../../Zotlabs/Module/Import_items.php:125
+msgid "Import Items"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:293
-msgid "Delete Conversation"
+#: ../../Zotlabs/Module/Import_items.php:126
+msgid "Use this form to import existing posts and content from an export file."
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:295
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
+#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118
+msgid "Continue"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:299
-msgid "Send Reply"
+#: ../../Zotlabs/Module/Connect.php:99
+msgid "Premium Channel Setup"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:304
-#, php-format
-msgid "Your message for %s (%s):"
+#: ../../Zotlabs/Module/Connect.php:101
+msgid "Enable premium channel connection restrictions"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:384
-msgid "Unable to lookup recipient."
+#: ../../Zotlabs/Module/Connect.php:102
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:391
-msgid "Unable to communicate with requested channel."
+#: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Connect.php:124
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:398
-msgid "Cannot verify requested channel."
+#: ../../Zotlabs/Module/Connect.php:105
+msgid ""
+"Potential connections will then see the following text before proceeding:"
msgstr ""
-#: ../../addon/mail/Mod_Mail.php:416
-msgid "Selected channel has private message restrictions. Send failed."
+#: ../../Zotlabs/Module/Connect.php:106 ../../Zotlabs/Module/Connect.php:127
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided "
+"on this page."
msgstr ""
-#: ../../addon/adultphotoflag/adultphotoflag.php:24
-msgid "Flag Adult Photos"
+#: ../../Zotlabs/Module/Connect.php:115
+msgid "(No specific instructions have been provided by the channel owner.)"
msgstr ""
-#: ../../addon/adultphotoflag/adultphotoflag.php:25
-msgid ""
-"Provide photo edit option to hide inappropriate photos from default album "
-"view"
+#: ../../Zotlabs/Module/Connect.php:123
+msgid "Restricted or Premium Channel"
msgstr ""
-#: ../../addon/upgrade_info/upgrade_info.php:48
-msgid "Your channel has been upgraded to $Projectname version"
+#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr ""
-#: ../../addon/upgrade_info/upgrade_info.php:50
-msgid "Please have a look at the"
+#: ../../Zotlabs/Module/New_channel.php:159
+msgid "Your real name is recommended."
msgstr ""
-#: ../../addon/upgrade_info/upgrade_info.php:52
-msgid "git history"
+#: ../../Zotlabs/Module/New_channel.php:160
+msgid ""
+"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
+"Group\""
msgstr ""
-#: ../../addon/upgrade_info/upgrade_info.php:54
-msgid "change log"
+#: ../../Zotlabs/Module/New_channel.php:165
+msgid ""
+"This will be used to create a unique network address (like an email address)."
msgstr ""
-#: ../../addon/upgrade_info/upgrade_info.php:55
-msgid "for further info."
+#: ../../Zotlabs/Module/New_channel.php:167
+msgid "Allowed characters are a-z 0-9, - and _"
msgstr ""
-#: ../../addon/upgrade_info/upgrade_info.php:60
-msgid "Upgrade Info"
+#: ../../Zotlabs/Module/New_channel.php:175
+msgid "Channel name"
msgstr ""
-#: ../../addon/upgrade_info/upgrade_info.php:64
-msgid "Do not show this again"
+#: ../../Zotlabs/Module/New_channel.php:177
+#: ../../Zotlabs/Module/Register.php:263
+msgid "Choose a short nickname"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:65
-msgid "Twitter settings updated."
+#: ../../Zotlabs/Module/New_channel.php:178
+#: ../../Zotlabs/Module/Register.php:264
+#: ../../Zotlabs/Module/Settings/Channel.php:537
+msgid "Channel role and privacy"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:78
-msgid "Twitter Crosspost Connector App"
+#: ../../Zotlabs/Module/New_channel.php:178
+msgid ""
+"Select a channel permission role compatible with your usage needs and "
+"privacy requirements."
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:79
-msgid "Relay public posts to Twitter"
+#: ../../Zotlabs/Module/New_channel.php:178
+#: ../../Zotlabs/Module/Register.php:264
+msgid "Read more about channel permission roles"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:103
-msgid ""
-"No consumer key pair for Twitter found. Please contact your site "
-"administrator."
+#: ../../Zotlabs/Module/New_channel.php:181
+msgid "Create a Channel"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:125
+#: ../../Zotlabs/Module/New_channel.php:182
msgid ""
-"At this Hubzilla instance the Twitter plugin was enabled but you have not "
-"yet connected your account to your Twitter account. To do so click the "
-"button below to get a PIN from Twitter which you have to copy into the input "
-"box below and submit the form. Only your <strong>public</strong> posts will "
-"be posted to Twitter."
+"A channel is a unique network identity. It can represent a person (social "
+"network profile), a forum (group), a business or celebrity page, a newsfeed, "
+"and many other things."
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:127
-msgid "Log in with Twitter"
+#: ../../Zotlabs/Module/New_channel.php:183
+msgid ""
+"or <a href=\"import\">import an existing channel</a> from another location."
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:130
-msgid "Copy the PIN from Twitter here"
+#: ../../Zotlabs/Module/New_channel.php:188
+msgid "Validate"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:152
-msgid ""
-"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to Twitter will lead the visitor to a blank page informing "
-"the visitor that the access to your profile has been restricted."
+#: ../../Zotlabs/Module/Apps.php:50 ../../Zotlabs/Widget/Appstore.php:14
+msgid "Available Apps"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:157
-msgid "Twitter post length"
+#: ../../Zotlabs/Module/Apps.php:50
+msgid "Installed Apps"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:157
-msgid "Maximum tweet length"
+#: ../../Zotlabs/Module/Apps.php:53
+msgid "Manage Apps"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:162
-msgid "Send public postings to Twitter by default"
+#: ../../Zotlabs/Module/Apps.php:54
+msgid "Create Custom App"
msgstr ""
-#: ../../addon/twitter/Mod_Twitter.php:162
+#: ../../Zotlabs/Module/Removeaccount.php:35
msgid ""
-"If enabled your public postings will be posted to the associated Twitter "
-"account by default"
-msgstr ""
-
-#: ../../addon/twitter/Mod_Twitter.php:181
-msgid "Twitter Crosspost Connector"
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
msgstr ""
-#: ../../addon/twitter/twitter.php:109
-msgid "Post to Twitter"
+#: ../../Zotlabs/Module/Removeaccount.php:57
+msgid "Remove This Account"
msgstr ""
-#: ../../addon/pumpio/pumpio.php:152
-msgid "You are now authenticated to pumpio."
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid ""
+"This account and all its channels will be completely removed from the "
+"network. "
msgstr ""
-#: ../../addon/pumpio/pumpio.php:153
-msgid "return to the featured settings page"
+#: ../../Zotlabs/Module/Removeaccount.php:61
+#: ../../Zotlabs/Module/Settings/Account.php:105
+msgid "Remove Account"
msgstr ""
-#: ../../addon/pumpio/pumpio.php:168
-msgid "Post to Pump.io"
+#: ../../Zotlabs/Module/Filestorage.php:14
+#: ../../Zotlabs/Module/Filestorage.php:53
+msgid "Deprecated!"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:40
-msgid "Pump.io Settings saved."
+#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Display.php:42
+#: ../../Zotlabs/Module/Display.php:429 ../../Zotlabs/Module/Admin.php:62
+#: ../../Zotlabs/Module/Admin/Themes.php:72
+#: ../../Zotlabs/Module/Admin/Addons.php:260 ../../Zotlabs/Module/Thing.php:96
+#: ../../Zotlabs/Module/Viewsrc.php:25 ../../include/items.php:3919
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:284
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:285
+msgid "Item not found."
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:53
-msgid "Pump.io Crosspost Connector App"
+#: ../../Zotlabs/Module/Filestorage.php:109
+#: ../../Zotlabs/Module/Attach_edit.php:69
+msgid "File not found."
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:54
-msgid "Relay public posts to pump.io"
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Permission Denied."
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:73
-msgid "Pump.io servername"
+#: ../../Zotlabs/Module/Filestorage.php:190
+msgid "Edit file permissions"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:73
-msgid "Without \"http://\" or \"https://\""
+#: ../../Zotlabs/Module/Filestorage.php:195
+#: ../../Zotlabs/Module/Connedit.php:682 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Photos.php:678 ../../Zotlabs/Module/Photos.php:1047
+#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374
+#: ../../include/acl_selectors.php:153
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:254
+msgid "Permissions"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:77
-msgid "Pump.io username"
+#: ../../Zotlabs/Module/Filestorage.php:202
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:261
+msgid "Set/edit permissions"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:77
-msgid "Without the servername"
+#: ../../Zotlabs/Module/Filestorage.php:203
+msgid "Include all files and sub folders"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:88
-msgid "You are not authenticated to pumpio"
+#: ../../Zotlabs/Module/Filestorage.php:204
+msgid "Return to file list"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:90
-msgid "(Re-)Authenticate your pump.io connection"
+#: ../../Zotlabs/Module/Filestorage.php:206
+#: ../../Zotlabs/Storage/Browser.php:386
+msgid "Copy/paste this code to attach file to a post"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:94
-msgid "Post to pump.io by default"
+#: ../../Zotlabs/Module/Filestorage.php:207
+#: ../../Zotlabs/Storage/Browser.php:387
+msgid "Copy/paste this URL to link file from a web page"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:98
-msgid "Should posts be public"
+#: ../../Zotlabs/Module/Filestorage.php:209
+msgid "Share this file"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:102
-msgid "Mirror all public posts"
+#: ../../Zotlabs/Module/Filestorage.php:210
+msgid "Show URL to this file"
msgstr ""
-#: ../../addon/pumpio/Mod_Pumpio.php:112
-msgid "Pump.io Crosspost Connector"
+#: ../../Zotlabs/Module/Filestorage.php:211
+#: ../../Zotlabs/Storage/Browser.php:552
+msgid "Show in your contacts shared folder"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:123
-msgid "generic profile image"
+#: ../../Zotlabs/Module/Card_edit.php:17 ../../Zotlabs/Module/Card_edit.php:33
+#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editblock.php:79
+#: ../../Zotlabs/Module/Editblock.php:95 ../../Zotlabs/Module/Editpost.php:24
+#: ../../Zotlabs/Module/Editwebpage.php:80
+#: ../../Zotlabs/Module/Article_edit.php:17
+#: ../../Zotlabs/Module/Article_edit.php:33
+msgid "Item not found"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:124
-msgid "random geometric pattern"
+#: ../../Zotlabs/Module/Card_edit.php:101
+#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:220
+#: ../../Zotlabs/Module/Editwebpage.php:143
+#: ../../Zotlabs/Module/Article_edit.php:100
+#: ../../include/conversation.php:1341
+#: ../../extend/addon/hzaddons/hsse/hsse.php:95
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:166
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:309
+msgid "Insert web link"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:125
-msgid "monster face"
+#: ../../Zotlabs/Module/Card_edit.php:117
+#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674
+#: ../../Zotlabs/Module/Photos.php:1044
+#: ../../Zotlabs/Module/Article_edit.php:116
+#: ../../include/conversation.php:1474
+#: ../../extend/addon/hzaddons/hsse/hsse.php:221
+msgid "Title (optional)"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:126
-msgid "computer generated face"
+#: ../../Zotlabs/Module/Card_edit.php:128
+msgid "Edit Card"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:127
-msgid "retro arcade style face"
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
msgstr ""
-#: ../../addon/gravatar/gravatar.php:128
-msgid "Hub default profile photo"
+#: ../../Zotlabs/Module/Viewconnections.php:80
+#: ../../Zotlabs/Module/Connections.php:288 ../../include/text.php:1044
+msgid "Accepts"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:143
-msgid "Information"
+#: ../../Zotlabs/Module/Viewconnections.php:83
+#: ../../Zotlabs/Module/Connections.php:291 ../../include/text.php:1047
+msgid "Comments"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:143
-msgid ""
-"Libravatar addon is installed, too. Please disable Libravatar addon or this "
-"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if "
-"nothing was found at Libravatar."
+#: ../../Zotlabs/Module/Viewconnections.php:88
+#: ../../Zotlabs/Module/Connections.php:296 ../../include/text.php:1052
+msgid "Stream items"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:150 ../../addon/msgfooter/msgfooter.php:46
-#: ../../addon/xmpp/xmpp.php:43
-msgid "Save Settings"
+#: ../../Zotlabs/Module/Viewconnections.php:93
+#: ../../Zotlabs/Module/Connections.php:301 ../../include/text.php:1057
+msgid "Wall posts"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:151
-msgid "Default avatar image"
+#: ../../Zotlabs/Module/Viewconnections.php:97
+#: ../../Zotlabs/Module/Connections.php:305 ../../include/text.php:1061
+msgid "Nothing"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:151
-msgid "Select default avatar image if none was found at Gravatar. See README"
+#: ../../Zotlabs/Module/Viewconnections.php:105
+#, php-format
+msgid "Visit %s's profile [%s]"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:152
-msgid "Rating of images"
+#: ../../Zotlabs/Module/Viewconnections.php:135
+msgid "View Connections"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:152
-msgid "Select the appropriate avatar rating for your site. See README"
+#: ../../Zotlabs/Module/Oauth2.php:54
+msgid "Name and Secret are required"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:165
-msgid "Gravatar settings updated."
+#: ../../Zotlabs/Module/Oauth2.php:106
+msgid "OAuth2 Apps Manager App"
msgstr ""
-#: ../../addon/msgfooter/msgfooter.php:47
-msgid "text to include in all outgoing posts from this site"
+#: ../../Zotlabs/Module/Oauth2.php:107
+msgid "OAuth2 authenticatication tokens for mobile and remote apps"
msgstr ""
-#: ../../addon/sendzid/Mod_Sendzid.php:14
-msgid "Send your identity to all websites"
+#: ../../Zotlabs/Module/Oauth2.php:115
+msgid "Add OAuth2 application"
msgstr ""
-#: ../../addon/sendzid/Mod_Sendzid.php:20
-msgid "Sendzid App"
+#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149
+msgid "Grant Types"
msgstr ""
-#: ../../addon/sendzid/Mod_Sendzid.php:32
-msgid "Send ZID"
+#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:122
+msgid "leave blank unless your application sepcifically requires this"
msgstr ""
-#: ../../addon/cart/widgets/catalogitem.php:57
-#: ../../addon/cart/submodules/hzservices.php:658
-#: ../../addon/cart/submodules/manualcat.php:263
-msgid "Price"
+#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150
+msgid "Authorization scope"
msgstr ""
-#: ../../addon/cart/manual_payments.php:7
-msgid "Error: order mismatch. Please try again."
+#: ../../Zotlabs/Module/Oauth2.php:134
+msgid "OAuth2 Application not found."
msgstr ""
-#: ../../addon/cart/manual_payments.php:61
-msgid "Manual payments are not enabled."
+#: ../../Zotlabs/Module/Oauth2.php:149 ../../Zotlabs/Module/Oauth2.php:150
+msgid "leave blank unless your application specifically requires this"
msgstr ""
-#: ../../addon/cart/manual_payments.php:68
-#: ../../addon/cart/submodules/paypalbutton.php:392
-#: ../../addon/cart/submodules/paypalbuttonV2.php:409
-#: ../../addon/cart/cart.php:1578
-msgid "Order not found."
+#: ../../Zotlabs/Module/Oauth2.php:192
+msgid "Connected OAuth2 Apps"
msgstr ""
-#: ../../addon/cart/manual_payments.php:77
-msgid "Finished"
+#: ../../Zotlabs/Module/Wiki.php:35
+#: ../../extend/addon/hzaddons/cart/cart.php:1410
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:51
+msgid "Profile Unavailable."
msgstr ""
-#: ../../addon/cart/manual_payments.php:93
-#: ../../addon/cart/submodules/paypalbutton.php:456
-#: ../../addon/cart/submodules/paypalbuttonV2.php:478
-#: ../../addon/cart/myshop.php:37 ../../addon/cart/cart.php:1556
-#: ../../Zotlabs/Module/Wiki.php:77
-msgid "Invalid channel"
+#: ../../Zotlabs/Module/Wiki.php:52
+msgid "Wiki App"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:151
-msgid "Enable Subscription Management Module"
+#: ../../Zotlabs/Module/Wiki.php:53
+msgid "Provide a wiki for your channel"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:223
-msgid ""
-"Cannot include subscription items with different terms in the same order."
+#: ../../Zotlabs/Module/Wiki.php:77
+#: ../../extend/addon/hzaddons/cart/cart.php:1556
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:478
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:456
+#: ../../extend/addon/hzaddons/cart/myshop.php:37
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:93
+msgid "Invalid channel"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:372
-msgid "Select Subscription to Edit"
+#: ../../Zotlabs/Module/Wiki.php:133
+msgid "Error retrieving wiki"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:380
-msgid "Edit Subscriptions"
+#: ../../Zotlabs/Module/Wiki.php:140
+msgid "Error creating zip file export folder"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:414
-msgid "Subscription SKU"
+#: ../../Zotlabs/Module/Wiki.php:191
+msgid "Error downloading wiki: "
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:419
-msgid "Catalog Description"
+#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Widget/Wiki_list.php:15
+#: ../../include/nav.php:536
+msgid "Wikis"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:423
-msgid "Subscription available for purchase."
+#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Storage/Browser.php:404
+msgid "Download"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:428
-msgid "Maximum active subscriptions to this item per account."
+#: ../../Zotlabs/Module/Wiki.php:216
+msgid "Wiki name"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:431
-msgid "Subscription price."
+#: ../../Zotlabs/Module/Wiki.php:217
+msgid "Content type"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:435
-msgid "Quantity"
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371
+#: ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2116
+#: ../../extend/addon/hzaddons/mdpost/mdpost.php:41
+msgid "Markdown"
msgstr ""
-#: ../../addon/cart/submodules/subscriptions.php:439
-msgid "Term"
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371
+#: ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2114
+msgid "BBcode"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:63
-msgid "Enable Hubzilla Services Module"
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2117
+msgid "Text"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:162
-#: ../../addon/cart/submodules/manualcat.php:172
-msgid "New Sku"
+#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:378
+msgid "Type"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:197
-#: ../../addon/cart/submodules/manualcat.php:208
-msgid "Cannot save edits to locked item."
+#: ../../Zotlabs/Module/Wiki.php:220
+msgid "Any&nbsp;type"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:246
-#: ../../addon/cart/submodules/hzservices.php:333
-msgid "SKU not found."
+#: ../../Zotlabs/Module/Wiki.php:227
+msgid "Lock content type"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:299
-#: ../../addon/cart/submodules/hzservices.php:303
-msgid "Invalid Activation Directive."
+#: ../../Zotlabs/Module/Wiki.php:228
+msgid "Create a status post for this wiki"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:374
-#: ../../addon/cart/submodules/hzservices.php:378
-msgid "Invalid Deactivation Directive."
+#: ../../Zotlabs/Module/Wiki.php:229
+msgid "Edit Wiki Name"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:564
-msgid "Add to this privacy group"
+#: ../../Zotlabs/Module/Wiki.php:274
+msgid "Wiki not found"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:580
-msgid "Set user service class"
+#: ../../Zotlabs/Module/Wiki.php:300
+msgid "Rename page"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:607
-msgid "You must be using a local account to purchase this service."
+#: ../../Zotlabs/Module/Wiki.php:321
+msgid "Error retrieving page content"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:647
-#: ../../addon/cart/submodules/manualcat.php:252
-msgid "Changes Locked"
+#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331
+msgid "New page"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:651
-#: ../../addon/cart/submodules/manualcat.php:256
-msgid "Item available for purchase."
+#: ../../Zotlabs/Module/Wiki.php:366
+msgid "Revision Comparison"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:661
-#: ../../addon/cart/submodules/manualcat.php:266
-msgid "Photo URL"
+#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:567
+#: ../../Zotlabs/Widget/Wiki_page_history.php:25
+msgid "Revert"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:665
-msgid "Add buyer to privacy group"
+#: ../../Zotlabs/Module/Wiki.php:374
+msgid "Short description of your changes (optional)"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:670
-msgid "Add buyer as connection"
+#: ../../Zotlabs/Module/Wiki.php:384
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:134
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69
+#: ../../extend/addon/hzaddons/dwpost/dwpost.php:134
+#: ../../extend/addon/hzaddons/wppost/wppost.php:173
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98
+msgid "Source"
msgstr ""
-#: ../../addon/cart/submodules/hzservices.php:678
-#: ../../addon/cart/submodules/hzservices.php:720
-msgid "Set Service Class"
+#: ../../Zotlabs/Module/Wiki.php:394
+msgid "New page name"
msgstr ""
-#: ../../addon/cart/submodules/orderoptions.php:70
-msgid "Enable Order/Item Options"
+#: ../../Zotlabs/Module/Wiki.php:399
+msgid "Embed image from photo albums"
msgstr ""
-#: ../../addon/cart/submodules/orderoptions.php:333
-#: ../../addon/cart/submodules/orderoptions.php:357
-#: ../../addon/cart/submodules/orderoptions.php:433
-#: ../../addon/cart/submodules/orderoptions.php:457
-msgid "Label"
+#: ../../Zotlabs/Module/Wiki.php:400 ../../include/conversation.php:1457
+#: ../../extend/addon/hzaddons/hsse/hsse.php:208
+msgid "Embed an image from your albums"
msgstr ""
-#: ../../addon/cart/submodules/orderoptions.php:334
-#: ../../addon/cart/submodules/orderoptions.php:358
-#: ../../addon/cart/submodules/orderoptions.php:434
-#: ../../addon/cart/submodules/orderoptions.php:458
-#: ../../include/datetime.php:211 ../../Zotlabs/Module/Events.php:468
-#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Module/Appman.php:143
-#: ../../Zotlabs/Module/Appman.php:144 ../../Zotlabs/Module/Profiles.php:747
-#: ../../Zotlabs/Module/Profiles.php:751
-msgid "Required"
+#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:508
+#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1459
+#: ../../include/conversation.php:1510
+#: ../../extend/addon/hzaddons/hsse/hsse.php:210
+#: ../../extend/addon/hzaddons/hsse/hsse.php:257
+msgid "OK"
msgstr ""
-#: ../../addon/cart/submodules/orderoptions.php:336
-#: ../../addon/cart/submodules/orderoptions.php:360
-#: ../../addon/cart/submodules/orderoptions.php:436
-#: ../../addon/cart/submodules/orderoptions.php:460
-msgid "Instructions"
+#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:509
+#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1385
+#: ../../extend/addon/hzaddons/hsse/hsse.php:139
+msgid "Choose images to embed"
msgstr ""
-#: ../../addon/cart/submodules/paypalbutton.php:85
-msgid "Enable Paypal Button Module"
+#: ../../Zotlabs/Module/Wiki.php:404 ../../Zotlabs/Module/Profile_photo.php:510
+#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1386
+#: ../../extend/addon/hzaddons/hsse/hsse.php:140
+msgid "Choose an album"
msgstr ""
-#: ../../addon/cart/submodules/paypalbutton.php:93
-#: ../../addon/cart/submodules/paypalbuttonV2.php:94
-msgid "Use Production Key"
+#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:511
+#: ../../Zotlabs/Module/Cover_photo.php:432
+msgid "Choose a different album"
msgstr ""
-#: ../../addon/cart/submodules/paypalbutton.php:100
-#: ../../addon/cart/submodules/paypalbuttonV2.php:101
-msgid "Paypal Sandbox Client Key"
+#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:512
+#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1388
+#: ../../extend/addon/hzaddons/hsse/hsse.php:142
+msgid "Error getting album list"
msgstr ""
-#: ../../addon/cart/submodules/paypalbutton.php:107
-#: ../../addon/cart/submodules/paypalbuttonV2.php:108
-msgid "Paypal Sandbox Secret Key"
+#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:513
+#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1389
+#: ../../extend/addon/hzaddons/hsse/hsse.php:143
+msgid "Error getting photo link"
msgstr ""
-#: ../../addon/cart/submodules/paypalbutton.php:113
-#: ../../addon/cart/submodules/paypalbuttonV2.php:114
-msgid "Paypal Production Client Key"
+#: ../../Zotlabs/Module/Wiki.php:408 ../../Zotlabs/Module/Profile_photo.php:514
+#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1390
+#: ../../extend/addon/hzaddons/hsse/hsse.php:144
+msgid "Error getting album"
msgstr ""
-#: ../../addon/cart/submodules/paypalbutton.php:120
-#: ../../addon/cart/submodules/paypalbuttonV2.php:121
-msgid "Paypal Production Secret Key"
+#: ../../Zotlabs/Module/Wiki.php:410
+msgid "History"
msgstr ""
-#: ../../addon/cart/submodules/paypalbutton.php:252
-#: ../../addon/cart/submodules/paypalbuttonV2.php:264
-msgid "Paypal button payments are not enabled."
+#: ../../Zotlabs/Module/Wiki.php:488
+msgid "Error creating wiki. Invalid name."
msgstr ""
-#: ../../addon/cart/submodules/paypalbutton.php:270
-#: ../../addon/cart/submodules/paypalbuttonV2.php:282
-msgid ""
-"Paypal button payments are not properly configured. Please choose another "
-"payment option."
+#: ../../Zotlabs/Module/Wiki.php:495
+msgid "A wiki with this name already exists."
msgstr ""
-#: ../../addon/cart/submodules/paypalbuttonV2.php:86
-msgid "Enable Paypal Button Module (API-v2)"
+#: ../../Zotlabs/Module/Wiki.php:508
+msgid "Wiki created, but error creating Home page."
msgstr ""
-#: ../../addon/cart/submodules/manualcat.php:61
-msgid "Enable Manual Cart Module"
+#: ../../Zotlabs/Module/Wiki.php:515
+msgid "Error creating wiki"
msgstr ""
-#: ../../addon/cart/myshop.php:30
-msgid "Access Denied."
+#: ../../Zotlabs/Module/Wiki.php:539
+msgid "Error updating wiki. Invalid name."
msgstr ""
-#: ../../addon/cart/myshop.php:112 ../../addon/cart/cart.php:1446
-msgid "Order Not Found"
+#: ../../Zotlabs/Module/Wiki.php:559
+msgid "Error updating wiki"
msgstr ""
-#: ../../addon/cart/myshop.php:189 ../../addon/cart/myshop.php:223
-#: ../../addon/cart/myshop.php:271 ../../addon/cart/myshop.php:329
-msgid "Invalid Item"
+#: ../../Zotlabs/Module/Wiki.php:574
+msgid "Wiki delete permission denied."
msgstr ""
-#: ../../addon/cart/Settings/Cart.php:58
-msgid "Enable Test Catalog"
+#: ../../Zotlabs/Module/Wiki.php:584
+msgid "Error deleting wiki"
msgstr ""
-#: ../../addon/cart/Settings/Cart.php:70
-msgid "Enable Manual Payments"
+#: ../../Zotlabs/Module/Wiki.php:617
+msgid "New page created"
msgstr ""
-#: ../../addon/cart/Settings/Cart.php:90
-msgid "Base Merchant Currency"
+#: ../../Zotlabs/Module/Wiki.php:739
+msgid "Cannot delete Home"
msgstr ""
-#: ../../addon/cart/Settings/Cart.php:129 ../../addon/cart/cart.php:1375
-msgid "Cart Settings"
+#: ../../Zotlabs/Module/Wiki.php:803
+msgid "Current Revision"
msgstr ""
-#: ../../addon/cart/cart.php:252
-msgid "DB Cleanup Failure"
+#: ../../Zotlabs/Module/Wiki.php:803
+msgid "Selected Revision"
msgstr ""
-#: ../../addon/cart/cart.php:674
-msgid "[cart] Item Added"
+#: ../../Zotlabs/Module/Wiki.php:853
+msgid "You must be authenticated."
msgstr ""
-#: ../../addon/cart/cart.php:1063
-msgid "Order already checked out."
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
+#: ../../Zotlabs/Module/Editblock.php:113
+msgid "Block Name"
msgstr ""
-#: ../../addon/cart/cart.php:1368
-msgid "Drop database tables when uninstalling."
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2698
+msgid "Blocks"
msgstr ""
-#: ../../addon/cart/cart.php:1387 ../../addon/cart/cart.php:1390
-msgid "Shop"
+#: ../../Zotlabs/Module/Blocks.php:156
+msgid "Block Title"
msgstr ""
-#: ../../addon/cart/cart.php:1410 ../../addon/flashcards/Mod_Flashcards.php:51
-#: ../../Zotlabs/Module/Wiki.php:35
-msgid "Profile Unavailable."
+#: ../../Zotlabs/Module/Dircensor.php:42
+msgid "Entry censored"
msgstr ""
-#: ../../addon/cart/cart.php:1507
-msgid "Cart utilities for orders and payments"
+#: ../../Zotlabs/Module/Dircensor.php:45
+msgid "Entry uncensored"
msgstr ""
-#: ../../addon/cart/cart.php:1545
-msgid "You must be logged into the Grid to shop."
+#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66
+msgid "Location not found."
msgstr ""
-#: ../../addon/cart/cart.php:1592
-msgid "Access denied."
+#: ../../Zotlabs/Module/Locs.php:75
+msgid "Location lookup failed."
msgstr ""
-#: ../../addon/cart/cart.php:1644 ../../addon/cart/cart.php:1787
-msgid "No Order Found"
+#: ../../Zotlabs/Module/Locs.php:79
+msgid ""
+"Please select another location to become primary before removing the primary "
+"location."
msgstr ""
-#: ../../addon/cart/cart.php:1653
-msgid "An unknown error has occurred Please start again."
+#: ../../Zotlabs/Module/Locs.php:108
+msgid "Syncing locations"
msgstr ""
-#: ../../addon/cart/cart.php:1796
-msgid "Requirements not met."
+#: ../../Zotlabs/Module/Locs.php:117
+msgid "No locations found."
msgstr ""
-#: ../../addon/cart/cart.php:1796
-msgid "Review your order and complete any needed requirements."
+#: ../../Zotlabs/Module/Locs.php:127
+msgid "Manage Channel Locations"
msgstr ""
-#: ../../addon/cart/cart.php:1822
-msgid "Invalid Payment Type. Please start again."
+#: ../../Zotlabs/Module/Locs.php:130
+#: ../../extend/addon/hzaddons/workflow/workflow.php:285
+msgid "Primary"
msgstr ""
-#: ../../addon/cart/cart.php:1829
-msgid "Order not found"
+#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177
+msgid "Drop"
msgstr ""
-#: ../../addon/nofed/Mod_Nofed.php:21
-msgid "nofed Settings saved."
+#: ../../Zotlabs/Module/Locs.php:133
+msgid "Sync Now"
msgstr ""
-#: ../../addon/nofed/Mod_Nofed.php:33
-msgid "No Federation App"
+#: ../../Zotlabs/Module/Locs.php:134
+msgid "Please wait several minutes between consecutive operations."
msgstr ""
-#: ../../addon/nofed/Mod_Nofed.php:34
+#: ../../Zotlabs/Module/Locs.php:135
msgid ""
-"Prevent posting from being federated to anybody. It will exist only on your "
-"channel page."
+"When possible, drop a location by logging into that website/hub and removing "
+"your channel."
msgstr ""
-#: ../../addon/nofed/Mod_Nofed.php:42
-msgid "Federate posts by default"
+#: ../../Zotlabs/Module/Locs.php:136
+msgid "Use this form to drop the location if the hub is no longer operating."
msgstr ""
-#: ../../addon/nofed/Mod_Nofed.php:50
-msgid "No Federation"
+#: ../../Zotlabs/Module/Chatsvc.php:131
+msgid "Away"
msgstr ""
-#: ../../addon/nofed/nofed.php:47
-msgid "Federate"
+#: ../../Zotlabs/Module/Chatsvc.php:136
+msgid "Online"
msgstr ""
-#: ../../addon/smileybutton/Mod_Smileybutton.php:35
-msgid "Smileybutton App"
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345
+#: ../../include/features.php:369 ../../include/nav.php:444
+msgid "Photos"
msgstr ""
-#: ../../addon/smileybutton/Mod_Smileybutton.php:36
-msgid "Adds a smileybutton to the jot editor"
+#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Storage/Browser.php:351
+#: ../../Zotlabs/Lib/Apps.php:340 ../../include/nav.php:452
+msgid "Files"
msgstr ""
-#: ../../addon/smileybutton/Mod_Smileybutton.php:44
-msgid "Hide the button and show the smilies directly."
+#: ../../Zotlabs/Module/Connedit.php:120
+msgid "Could not locate selected profile."
msgstr ""
-#: ../../addon/smileybutton/Mod_Smileybutton.php:52
-msgid "Smileybutton Settings"
+#: ../../Zotlabs/Module/Connedit.php:264
+msgid "Connection updated."
msgstr ""
-#: ../../addon/redfiles/redfilehelper.php:64 ../../include/attach.php:2035
-msgid "file"
+#: ../../Zotlabs/Module/Connedit.php:266
+msgid "Failed to update connection record."
msgstr ""
-#: ../../addon/redfiles/redfiles.php:119
-msgid "Redmatrix File Storage Import"
+#: ../../Zotlabs/Module/Connedit.php:309
+msgid "is now connected to"
msgstr ""
-#: ../../addon/redfiles/redfiles.php:120
-msgid "This will import all your Redmatrix cloud files to this channel."
+#: ../../Zotlabs/Module/Connedit.php:434
+msgid "Could not access address book record."
msgstr ""
-#: ../../addon/diaspora/diaspora.php:66
-msgid ""
-"Please install the statistics addon to be able to configure a diaspora relay"
+#: ../../Zotlabs/Module/Connedit.php:482 ../../Zotlabs/Module/Connedit.php:486
+msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../addon/diaspora/diaspora.php:76
-msgid "Diaspora Relay Handle"
+#: ../../Zotlabs/Module/Connedit.php:501 ../../Zotlabs/Module/Connedit.php:510
+#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Module/Connedit.php:528
+#: ../../Zotlabs/Module/Connedit.php:541
+msgid "Unable to set address book parameters."
msgstr ""
-#: ../../addon/diaspora/diaspora.php:76
-msgid "Address of a diaspora relay. Example: relay@diasporarelay.tld"
+#: ../../Zotlabs/Module/Connedit.php:560
+msgid "Connection has been removed."
msgstr ""
-#: ../../addon/diaspora/diaspora.php:96
-msgid "Diaspora relay could not be imported"
+#: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:344
+#: ../../include/conversation.php:1080 ../../include/nav.php:112
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57
+msgid "View Profile"
msgstr ""
-#: ../../addon/diaspora/p.php:48 ../../addon/diaspora/util.php:336
-#: ../../addon/diaspora/util.php:349 ../../Zotlabs/Lib/Enotify.php:61
-msgid "$projectname"
+#: ../../Zotlabs/Module/Connedit.php:603
+#, php-format
+msgid "View %s's profile"
msgstr ""
-#: ../../addon/diaspora/import_diaspora.php:19
-msgid "No username found in import file."
+#: ../../Zotlabs/Module/Connedit.php:607
+msgid "Refresh Permissions"
msgstr ""
-#: ../../addon/diaspora/import_diaspora.php:44 ../../include/import.php:76
-msgid "Unable to create a unique channel address. Import failed."
+#: ../../Zotlabs/Module/Connedit.php:610
+msgid "Fetch updated permissions"
msgstr ""
-#: ../../addon/diaspora/import_diaspora.php:142
-#: ../../Zotlabs/Module/Import.php:597
-msgid "Import completed."
+#: ../../Zotlabs/Module/Connedit.php:614
+msgid "Refresh Photo"
msgstr ""
-#: ../../addon/diaspora/Mod_Diaspora.php:43
-msgid "Diaspora Protocol Settings updated."
+#: ../../Zotlabs/Module/Connedit.php:617
+msgid "Fetch updated photo"
msgstr ""
-#: ../../addon/diaspora/Mod_Diaspora.php:52
-msgid ""
-"The diaspora protocol does not support location independence. Connections "
-"you make within that network may be unreachable from alternate channel "
-"locations."
+#: ../../Zotlabs/Module/Connedit.php:621 ../../include/conversation.php:1090
+msgid "Recent Activity"
msgstr ""
-#: ../../addon/diaspora/Mod_Diaspora.php:58
-msgid "Diaspora Protocol App"
+#: ../../Zotlabs/Module/Connedit.php:624
+msgid "View recent posts and comments"
msgstr ""
-#: ../../addon/diaspora/Mod_Diaspora.php:75
-msgid "Allow any Diaspora member to comment on your public posts"
+#: ../../Zotlabs/Module/Connedit.php:628
+#: ../../Zotlabs/Module/Admin/Accounts.php:177
+msgid "Unblock"
msgstr ""
-#: ../../addon/diaspora/Mod_Diaspora.php:79
-msgid "Prevent your hashtags from being redirected to other sites"
+#: ../../Zotlabs/Module/Connedit.php:628
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+msgid "Block"
msgstr ""
-#: ../../addon/diaspora/Mod_Diaspora.php:83
-msgid "Sign and forward posts and comments with no existing Diaspora signature"
+#: ../../Zotlabs/Module/Connedit.php:631
+msgid "Block (or Unblock) all communications with this connection"
msgstr ""
-#: ../../addon/diaspora/Mod_Diaspora.php:88
-msgid "Followed hashtags (comma separated, do not include the #)"
+#: ../../Zotlabs/Module/Connedit.php:632
+msgid "This connection is blocked!"
msgstr ""
-#: ../../addon/diaspora/Mod_Diaspora.php:97
-msgid "Diaspora Protocol"
+#: ../../Zotlabs/Module/Connedit.php:636
+msgid "Unignore"
msgstr ""
-#: ../../addon/diaspora/Receiver.php:1541
-#, php-format
-msgid "%1$s dislikes %2$s's %3$s"
+#: ../../Zotlabs/Module/Connedit.php:636
+#: ../../Zotlabs/Module/Connections.php:344
+msgid "Ignore"
msgstr ""
-#: ../../addon/diaspora/Receiver.php:2184 ../../Zotlabs/Module/Like.php:432
-#, php-format
-msgid "%1$s is attending %2$s's %3$s"
+#: ../../Zotlabs/Module/Connedit.php:639
+msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr ""
-#: ../../addon/diaspora/Receiver.php:2186 ../../Zotlabs/Module/Like.php:434
-#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
+#: ../../Zotlabs/Module/Connedit.php:640
+msgid "This connection is ignored!"
msgstr ""
-#: ../../addon/diaspora/Receiver.php:2188 ../../Zotlabs/Module/Like.php:436
-#, php-format
-msgid "%1$s may attend %2$s's %3$s"
+#: ../../Zotlabs/Module/Connedit.php:644
+msgid "Unarchive"
msgstr ""
-#: ../../addon/piwik/piwik.php:85
-msgid ""
-"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
-"analytics tool."
+#: ../../Zotlabs/Module/Connedit.php:644
+msgid "Archive"
msgstr ""
-#: ../../addon/piwik/piwik.php:88
-#, php-format
+#: ../../Zotlabs/Module/Connedit.php:647
msgid ""
-"If you do not want that your visits are logged this way you <a href='%s'>can "
-"set a cookie to prevent Piwik from tracking further visits of the site</a> "
-"(opt-out)."
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr ""
-#: ../../addon/piwik/piwik.php:96
-msgid "Piwik Base URL"
+#: ../../Zotlabs/Module/Connedit.php:648
+msgid "This connection is archived!"
msgstr ""
-#: ../../addon/piwik/piwik.php:96
-msgid ""
-"Absolute path to your Piwik installation. (without protocol (http/s), with "
-"trailing slash)"
+#: ../../Zotlabs/Module/Connedit.php:652
+msgid "Unhide"
msgstr ""
-#: ../../addon/piwik/piwik.php:97
-msgid "Site ID"
+#: ../../Zotlabs/Module/Connedit.php:652
+msgid "Hide"
msgstr ""
-#: ../../addon/piwik/piwik.php:98
-msgid "Show opt-out cookie link?"
+#: ../../Zotlabs/Module/Connedit.php:655
+msgid "Hide or Unhide this connection from your other connections"
msgstr ""
-#: ../../addon/piwik/piwik.php:99
-msgid "Asynchronous tracking"
+#: ../../Zotlabs/Module/Connedit.php:656
+msgid "This connection is hidden!"
msgstr ""
-#: ../../addon/piwik/piwik.php:100
-msgid "Enable frontend JavaScript error tracking"
+#: ../../Zotlabs/Module/Connedit.php:663
+msgid "Delete this connection"
msgstr ""
-#: ../../addon/piwik/piwik.php:100
-msgid "This feature requires Piwik >= 2.2.0"
+#: ../../Zotlabs/Module/Connedit.php:671
+msgid "Fetch Vcard"
msgstr ""
-#: ../../addon/workflow/workflow.php:222
-msgid "Workflow user."
+#: ../../Zotlabs/Module/Connedit.php:674
+msgid "Fetch electronic calling card for this connection"
msgstr ""
-#: ../../addon/workflow/workflow.php:272
-msgid "This channel"
+#: ../../Zotlabs/Module/Connedit.php:685
+msgid "Open Individual Permissions section by default"
msgstr ""
-#: ../../addon/workflow/workflow.php:285 ../../Zotlabs/Module/Locs.php:123
-msgid "Primary"
+#: ../../Zotlabs/Module/Connedit.php:708
+msgid "Affinity"
msgstr ""
-#: ../../addon/workflow/workflow.php:541 ../../addon/workflow/workflow.php:1437
-#: ../../addon/workflow/workflow.php:1456
-msgid "Workflow"
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "Open Set Affinity section by default"
msgstr ""
-#: ../../addon/workflow/workflow.php:1425
-msgid "No Workflows Available"
+#: ../../Zotlabs/Module/Connedit.php:715 ../../Zotlabs/Widget/Affinity.php:30
+msgid "Me"
msgstr ""
-#: ../../addon/workflow/workflow.php:1455
-msgid "Add item to which workflow"
+#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:31
+msgid "Family"
msgstr ""
-#: ../../addon/workflow/workflow.php:1515
-#: ../../addon/workflow/workflow.php:1634
-msgid "Create Workflow Item"
+#: ../../Zotlabs/Module/Connedit.php:717
+#: ../../Zotlabs/Module/Settings/Channel.php:71
+#: ../../Zotlabs/Module/Settings/Channel.php:75
+#: ../../Zotlabs/Module/Settings/Channel.php:76
+#: ../../Zotlabs/Module/Settings/Channel.php:79
+#: ../../Zotlabs/Module/Settings/Channel.php:90
+#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:505
+#: ../../include/channel.php:506 ../../include/channel.php:513
+#: ../../include/selectors.php:134
+msgid "Friends"
msgstr ""
-#: ../../addon/workflow/workflow.php:2596
-msgid "Link"
+#: ../../Zotlabs/Module/Connedit.php:718 ../../Zotlabs/Widget/Affinity.php:33
+msgid "Acquaintances"
msgstr ""
-#: ../../addon/workflow/workflow.php:2598
-msgid "Web link."
+#: ../../Zotlabs/Module/Connedit.php:719
+#: ../../Zotlabs/Module/Connections.php:97
+#: ../../Zotlabs/Module/Connections.php:111
+#: ../../Zotlabs/Widget/Affinity.php:34
+msgid "All"
msgstr ""
-#: ../../addon/workflow/workflow.php:2617
-#: ../../addon/workflow/workflow.php:2678 ../../Zotlabs/Module/Cdav.php:1370
-#: ../../Zotlabs/Module/Connedit.php:928
-msgid "Title"
+#: ../../Zotlabs/Module/Connedit.php:748
+msgid "Filter"
msgstr ""
-#: ../../addon/workflow/workflow.php:2619
-#: ../../addon/workflow/workflow.php:2680
-msgid "Brief description or title"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Open Custom Filter section by default"
msgstr ""
-#: ../../addon/workflow/workflow.php:2625 ../../Zotlabs/Widget/Notes.php:21
-#: ../../Zotlabs/Lib/Apps.php:370
-msgid "Notes"
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Approve this connection"
msgstr ""
-#: ../../addon/workflow/workflow.php:2627
-#: ../../addon/workflow/workflow.php:2688
-msgid "Notes and Info"
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Accept connection to allow communication"
msgstr ""
-#: ../../addon/workflow/workflow.php:2686
-msgid "Body"
+#: ../../Zotlabs/Module/Connedit.php:793
+msgid "Set Affinity"
msgstr ""
-#: ../../addon/workflow/Settings/Mod_WorkflowSettings.php:101
-msgid "Workflow Settings"
+#: ../../Zotlabs/Module/Connedit.php:796
+msgid "Set Profile"
msgstr ""
-#: ../../addon/donate/donate.php:21
-msgid "Project Servers and Resources"
+#: ../../Zotlabs/Module/Connedit.php:799
+msgid "Set Affinity & Profile"
msgstr ""
-#: ../../addon/donate/donate.php:22
-msgid "Project Creator and Tech Lead"
+#: ../../Zotlabs/Module/Connedit.php:847
+msgid "This connection is unreachable from this location."
msgstr ""
-#: ../../addon/donate/donate.php:49
-msgid ""
-"And the hundreds of other people and organisations who helped make the "
-"Hubzilla possible."
+#: ../../Zotlabs/Module/Connedit.php:848
+msgid "This connection may be unreachable from other channel locations."
msgstr ""
-#: ../../addon/donate/donate.php:52
-msgid ""
-"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving "
-"their time and expertise - and often paying out of pocket for services they "
-"share with others."
+#: ../../Zotlabs/Module/Connedit.php:850
+msgid "Location independence is not supported by their network."
msgstr ""
-#: ../../addon/donate/donate.php:53
+#: ../../Zotlabs/Module/Connedit.php:856
msgid ""
-"There is no corporate funding and no ads, and we do not collect and sell "
-"your personal information. (We don't control your personal information - "
-"<strong>you do</strong>.)"
+"This connection is unreachable from this location. Location independence is "
+"not supported by their network."
msgstr ""
-#: ../../addon/donate/donate.php:54
-msgid ""
-"Help support our ground-breaking work in decentralisation, web identity, and "
-"privacy."
+#: ../../Zotlabs/Module/Connedit.php:859 ../../include/items.php:4524
+#, php-format
+msgid "Connection: %s"
msgstr ""
-#: ../../addon/donate/donate.php:56
-msgid ""
-"Your donations keep servers and services running and also helps us to "
-"provide innovative new features and continued development."
+#: ../../Zotlabs/Module/Connedit.php:860
+msgid "Connection requests will be approved without your interaction"
msgstr ""
-#: ../../addon/donate/donate.php:59
-msgid "Donate"
+#: ../../Zotlabs/Module/Connedit.php:869
+msgid "This connection's primary address is"
msgstr ""
-#: ../../addon/donate/donate.php:61
-msgid ""
-"Choose a project, developer, or public hub to support with a one-time "
-"donation"
+#: ../../Zotlabs/Module/Connedit.php:870
+msgid "Available locations:"
msgstr ""
-#: ../../addon/donate/donate.php:62
-msgid "Donate Now"
+#: ../../Zotlabs/Module/Connedit.php:876
+msgid "Connection Tools"
msgstr ""
-#: ../../addon/donate/donate.php:63
-msgid ""
-"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"
+#: ../../Zotlabs/Module/Connedit.php:878
+msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../addon/donate/donate.php:64
-msgid ""
-"Please indicate if you would like your first name or full name (or nothing) "
-"to appear in our sponsor listing"
+#: ../../Zotlabs/Module/Connedit.php:879 ../../Zotlabs/Module/Rate.php:155
+#: ../../include/js_strings.php:20
+msgid "Rating"
msgstr ""
-#: ../../addon/donate/donate.php:65
-msgid "Sponsor"
+#: ../../Zotlabs/Module/Connedit.php:880
+msgid "Slide to adjust your rating"
msgstr ""
-#: ../../addon/donate/donate.php:68
-msgid "Special thanks to: "
+#: ../../Zotlabs/Module/Connedit.php:881 ../../Zotlabs/Module/Connedit.php:886
+msgid "Optionally explain your rating"
msgstr ""
-#: ../../addon/likebanner/likebanner.php:51
-msgid "Your Webbie:"
+#: ../../Zotlabs/Module/Connedit.php:883
+msgid "Custom Filter"
msgstr ""
-#: ../../addon/likebanner/likebanner.php:54
-msgid "Fontsize (px):"
+#: ../../Zotlabs/Module/Connedit.php:884
+msgid "Only import posts with this text"
msgstr ""
-#: ../../addon/likebanner/likebanner.php:68
-msgid "Link:"
+#: ../../Zotlabs/Module/Connedit.php:884 ../../Zotlabs/Module/Connedit.php:885
+#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:328
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
msgstr ""
-#: ../../addon/likebanner/likebanner.php:70
-msgid "Like us on Hubzilla"
+#: ../../Zotlabs/Module/Connedit.php:885
+msgid "Do not import posts with this text"
msgstr ""
-#: ../../addon/likebanner/likebanner.php:72
-msgid "Embed:"
+#: ../../Zotlabs/Module/Connedit.php:887
+msgid "This information is public!"
msgstr ""
-#: ../../addon/opensearch/opensearch.php:26
-#, php-format
-msgctxt "opensearch"
-msgid "Search %1$s (%2$s)"
+#: ../../Zotlabs/Module/Connedit.php:892
+msgid "Connection Pending Approval"
msgstr ""
-#: ../../addon/opensearch/opensearch.php:28
-msgctxt "opensearch"
-msgid "$Projectname"
+#: ../../Zotlabs/Module/Connedit.php:897
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
msgstr ""
-#: ../../addon/opensearch/opensearch.php:42 ../../Zotlabs/Module/Home.php:72
-#: ../../Zotlabs/Module/Home.php:80 ../../Zotlabs/Lib/Enotify.php:66
-msgid "$Projectname"
+#: ../../Zotlabs/Module/Connedit.php:899 ../../Zotlabs/Module/Tokens.php:180
+msgid "Their Settings"
msgstr ""
-#: ../../addon/opensearch/opensearch.php:43
-msgid "Search $Projectname"
+#: ../../Zotlabs/Module/Connedit.php:903 ../../Zotlabs/Module/Tokens.php:187
+#: ../../Zotlabs/Module/Permcats.php:128
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can <strong>not</strong> change those settings here."
msgstr ""
-#: ../../addon/fuzzloc/Mod_Fuzzloc.php:22
-msgid "Fuzzloc Settings updated."
+#: ../../Zotlabs/Module/Connedit.php:904
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can change those settings here but they wont have "
+"any impact unless the inherited setting changes."
msgstr ""
-#: ../../addon/fuzzloc/Mod_Fuzzloc.php:34
-msgid "Fuzzy Location App"
+#: ../../Zotlabs/Module/Connedit.php:905
+msgid "Last update:"
msgstr ""
-#: ../../addon/fuzzloc/Mod_Fuzzloc.php:35
-msgid ""
-"Blur your precise location if your channel uses browser location mapping"
+#: ../../Zotlabs/Module/Connedit.php:913
+msgid "Details"
msgstr ""
-#: ../../addon/fuzzloc/Mod_Fuzzloc.php:40
-msgid "Minimum offset in meters"
+#: ../../Zotlabs/Module/Profile_photo.php:93
+#: ../../Zotlabs/Module/Cover_photo.php:85
+msgid "Image uploaded but image cropping failed."
msgstr ""
-#: ../../addon/fuzzloc/Mod_Fuzzloc.php:44
-msgid "Maximum offset in meters"
+#: ../../Zotlabs/Module/Profile_photo.php:147
+#: ../../Zotlabs/Module/Profile_photo.php:284
+#: ../../include/photo/photo_driver.php:417
+msgid "Profile Photos"
msgstr ""
-#: ../../addon/fuzzloc/Mod_Fuzzloc.php:53
-msgid "Fuzzy Location"
+#: ../../Zotlabs/Module/Profile_photo.php:166
+#: ../../Zotlabs/Module/Cover_photo.php:212
+msgid "Image resize failed."
msgstr ""
-#: ../../addon/hubwall/hubwall.php:19
-msgid "Send email to all members"
+#: ../../Zotlabs/Module/Profile_photo.php:254
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:298
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
msgstr ""
-#: ../../addon/hubwall/hubwall.php:33 ../../Zotlabs/Lib/Enotify.php:65
-#, php-format
-msgid "%s Administrator"
+#: ../../Zotlabs/Module/Profile_photo.php:261
+#: ../../Zotlabs/Module/Cover_photo.php:241 ../../include/photos.php:196
+msgid "Unable to process image"
msgstr ""
-#: ../../addon/hubwall/hubwall.php:50 ../../addon/mailtest/mailtest.php:50
-msgid "No recipients found."
+#: ../../Zotlabs/Module/Profile_photo.php:296
+#: ../../Zotlabs/Module/Cover_photo.php:265
+msgid "Image upload failed."
msgstr ""
-#: ../../addon/hubwall/hubwall.php:73
-#, php-format
-msgid "%1$d of %2$d messages sent."
+#: ../../Zotlabs/Module/Profile_photo.php:315
+#: ../../Zotlabs/Module/Cover_photo.php:282
+msgid "Unable to process image."
msgstr ""
-#: ../../addon/hubwall/hubwall.php:81
-msgid "Send email to all hub members."
+#: ../../Zotlabs/Module/Profile_photo.php:379
+#: ../../Zotlabs/Module/Profile_photo.php:431
+#: ../../Zotlabs/Module/Cover_photo.php:367
+#: ../../Zotlabs/Module/Cover_photo.php:382
+msgid "Photo not available."
msgstr ""
-#: ../../addon/hubwall/hubwall.php:92 ../../addon/mailtest/mailtest.php:96
-msgid "Message subject"
+#: ../../Zotlabs/Module/Profile_photo.php:495
+msgid ""
+"Your default profile photo is visible to anybody on the internet. Profile "
+"photos for alternate profiles will inherit the permissions of the profile"
msgstr ""
-#: ../../addon/hubwall/hubwall.php:93
-msgid "Sender Email address"
+#: ../../Zotlabs/Module/Profile_photo.php:495
+msgid ""
+"Your profile photo is visible to anybody on the internet and may be "
+"distributed to other websites."
msgstr ""
-#: ../../addon/hubwall/hubwall.php:94
-msgid "Test mode (only send to hub administrator)"
+#: ../../Zotlabs/Module/Profile_photo.php:497
+#: ../../Zotlabs/Module/Cover_photo.php:420
+msgid "Upload File:"
msgstr ""
-#: ../../addon/notifyadmin/notifyadmin.php:34
-msgid "New registration"
+#: ../../Zotlabs/Module/Profile_photo.php:498
+#: ../../Zotlabs/Module/Cover_photo.php:421
+msgid "Select a profile:"
msgstr ""
-#: ../../addon/notifyadmin/notifyadmin.php:40
-#: ../../Zotlabs/Module/Invite.php:90
-#, php-format
-msgid "%s : Message delivery failed."
+#: ../../Zotlabs/Module/Profile_photo.php:499
+msgid "Use Photo for Profile"
msgstr ""
-#: ../../addon/notifyadmin/notifyadmin.php:42
-#, php-format
-msgid "Message sent to %s. New account registration: %s"
+#: ../../Zotlabs/Module/Profile_photo.php:499
+msgid "Change Profile Photo"
msgstr ""
-#: ../../addon/flashcards/Mod_Flashcards.php:218
-msgid "Not allowed."
+#: ../../Zotlabs/Module/Profile_photo.php:500
+msgid "Use"
msgstr ""
-#: ../../addon/flashcards/Mod_Flashcards.php:254
-#: ../../include/acl_selectors.php:144 ../../Zotlabs/Module/Chat.php:241
-#: ../../Zotlabs/Module/Filestorage.php:190 ../../Zotlabs/Module/Photos.php:677
-#: ../../Zotlabs/Module/Photos.php:1046 ../../Zotlabs/Module/Thing.php:321
-#: ../../Zotlabs/Module/Thing.php:374 ../../Zotlabs/Module/Connedit.php:693
-msgid "Permissions"
+#: ../../Zotlabs/Module/Profile_photo.php:500
+#: ../../Zotlabs/Module/Photos.php:688 ../../Zotlabs/Module/Cover_photo.php:423
+#: ../../Zotlabs/Module/Embedphotos.php:188
+#: ../../Zotlabs/Storage/Browser.php:540 ../../Zotlabs/Widget/Cdav.php:146
+#: ../../Zotlabs/Widget/Cdav.php:182 ../../Zotlabs/Widget/Portfolio.php:110
+#: ../../Zotlabs/Widget/Album.php:97
+msgid "Upload"
msgstr ""
-#: ../../addon/flashcards/Mod_Flashcards.php:261
-#: ../../Zotlabs/Module/Filestorage.php:197
-msgid "Set/edit permissions"
+#: ../../Zotlabs/Module/Profile_photo.php:501
+#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Tagrm.php:137
+#: ../../Zotlabs/Module/Admin/Addons.php:459
+#: ../../Zotlabs/Module/Cover_photo.php:424
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:91
+msgid "Remove"
msgstr ""
-#: ../../addon/flashcards/Mod_Flashcards.php:284
-#: ../../addon/flashcards/Mod_Flashcards.php:285 ../../include/items.php:3889
-#: ../../Zotlabs/Module/Filestorage.php:26
-#: ../../Zotlabs/Module/Admin/Themes.php:72
-#: ../../Zotlabs/Module/Admin/Addons.php:260
-#: ../../Zotlabs/Module/Viewsrc.php:25 ../../Zotlabs/Module/Display.php:45
-#: ../../Zotlabs/Module/Display.php:446 ../../Zotlabs/Module/Admin.php:62
-#: ../../Zotlabs/Module/Thing.php:96
-msgid "Item not found."
+#: ../../Zotlabs/Module/Profile_photo.php:505
+#: ../../Zotlabs/Module/Profile_photo.php:506
+#: ../../Zotlabs/Module/Cover_photo.php:426
+#: ../../Zotlabs/Module/Cover_photo.php:427
+msgid "Use a photo from your albums"
msgstr ""
-#: ../../addon/libertree/libertree.php:43
-msgid "Post to Libertree"
+#: ../../Zotlabs/Module/Profile_photo.php:516
+#: ../../Zotlabs/Module/Cover_photo.php:438
+msgid "Select existing photo"
msgstr ""
-#: ../../addon/libertree/Mod_Libertree.php:25
-msgid "Libertree Crosspost Connector Settings saved."
+#: ../../Zotlabs/Module/Profile_photo.php:535
+#: ../../Zotlabs/Module/Cover_photo.php:455
+msgid "Crop Image"
msgstr ""
-#: ../../addon/libertree/Mod_Libertree.php:35
-msgid "Libertree Crosspost Connector App"
+#: ../../Zotlabs/Module/Profile_photo.php:536
+#: ../../Zotlabs/Module/Cover_photo.php:456
+msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
-#: ../../addon/libertree/Mod_Libertree.php:36
-msgid "Relay public posts to Libertree"
+#: ../../Zotlabs/Module/Profile_photo.php:538
+#: ../../Zotlabs/Module/Cover_photo.php:458
+msgid "Done Editing"
msgstr ""
-#: ../../addon/libertree/Mod_Libertree.php:51
-msgid "Libertree API token"
+#: ../../Zotlabs/Module/Sharedwithme.php:105
+msgid "Files: shared with me"
msgstr ""
-#: ../../addon/libertree/Mod_Libertree.php:55
-msgid "Libertree site URL"
+#: ../../Zotlabs/Module/Sharedwithme.php:107
+msgid "NEW"
msgstr ""
-#: ../../addon/libertree/Mod_Libertree.php:59
-msgid "Post to Libertree by default"
+#: ../../Zotlabs/Module/Sharedwithme.php:108
+#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1562
+msgid "Size"
msgstr ""
-#: ../../addon/libertree/Mod_Libertree.php:67
-msgid "Libertree Crosspost Connector"
+#: ../../Zotlabs/Module/Sharedwithme.php:109
+#: ../../Zotlabs/Storage/Browser.php:380
+msgid "Last Modified"
msgstr ""
-#: ../../addon/randpost/randpost.php:97
-msgid "You're welcome."
+#: ../../Zotlabs/Module/Sharedwithme.php:110
+msgid "Remove all files"
msgstr ""
-#: ../../addon/randpost/randpost.php:98
-msgid "Ah shucks..."
+#: ../../Zotlabs/Module/Sharedwithme.php:111
+msgid "Remove this file"
msgstr ""
-#: ../../addon/randpost/randpost.php:99
-msgid "Don't mention it."
+#: ../../Zotlabs/Module/Editlayout.php:137
+msgid "Edit Layout"
msgstr ""
-#: ../../addon/randpost/randpost.php:100
-msgid "&lt;blush&gt;"
+#: ../../Zotlabs/Module/Manage.php:145
+msgid "Create a new channel"
msgstr ""
-#: ../../addon/buglink/buglink.php:16 ../../Zotlabs/Lib/Apps.php:328
-msgid "Report Bug"
+#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337
+#: ../../include/nav.php:98
+msgid "Channel Manager"
msgstr ""
-#: ../../addon/totp/Mod_Totp.php:23
-msgid "TOTP Two-Step Verification"
+#: ../../Zotlabs/Module/Manage.php:171
+msgid "Current Channel"
msgstr ""
-#: ../../addon/totp/Mod_Totp.php:24
-msgid "Enter the 2-step verification generated by your authenticator app:"
+#: ../../Zotlabs/Module/Manage.php:173
+msgid "Switch to one of your channels by selecting it."
msgstr ""
-#: ../../addon/totp/Mod_Totp.php:25
-msgid "Success!"
+#: ../../Zotlabs/Module/Manage.php:174
+msgid "Default Channel"
msgstr ""
-#: ../../addon/totp/Mod_Totp.php:26
-msgid "Invalid code, please try again."
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Make Default"
msgstr ""
-#: ../../addon/totp/Mod_Totp.php:27
-msgid "Too many invalid codes..."
+#: ../../Zotlabs/Module/Manage.php:178
+#, php-format
+msgid "%d new messages"
msgstr ""
-#: ../../addon/totp/Mod_Totp.php:28
-msgid "Verify"
+#: ../../Zotlabs/Module/Manage.php:179
+#, php-format
+msgid "%d new introductions"
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:90
-msgid ""
-"You haven't set a TOTP secret yet.\n"
-"Please click the button below to generate one and register this site\n"
-"with your preferred authenticator app."
+#: ../../Zotlabs/Module/Manage.php:181
+msgid "Delegated Channel"
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:93
-msgid "Your TOTP secret is"
+#: ../../Zotlabs/Module/Follow.php:93
+msgid "Connection added."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:94
-msgid ""
-"Be sure to save it somewhere in case you lose or replace your mobile "
-"device.\n"
-"Use your mobile device to scan the QR code below to register this site\n"
-"with your preferred authenticator app."
+#: ../../Zotlabs/Module/Item.php:450 ../../Zotlabs/Module/Pin.php:35
+msgid "Unable to locate original post."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:99
-msgid "Test"
+#: ../../Zotlabs/Module/Item.php:736
+msgid "Empty post discarded."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:100
-msgid "Generate New Secret"
+#: ../../Zotlabs/Module/Item.php:1187
+msgid "Duplicate post suppressed."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:101
-msgid "Go"
+#: ../../Zotlabs/Module/Item.php:1332
+msgid "System error. Post not saved."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:102
-msgid "Enter your password"
+#: ../../Zotlabs/Module/Item.php:1366
+msgid "Your comment is awaiting approval."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:103
-msgid "enter TOTP code from your device"
+#: ../../Zotlabs/Module/Item.php:1496
+msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:104
-msgid "Pass!"
+#: ../../Zotlabs/Module/Item.php:1503
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:105
-msgid "Fail"
+#: ../../Zotlabs/Module/Item.php:1510
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:106
-msgid "Incorrect password, try again."
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:107
-msgid "Record your new TOTP secret and rescan the QR code above."
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
msgstr ""
-#: ../../addon/totp/Settings/Totp.php:115
-msgid "TOTP Settings"
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
msgstr ""
-#: ../../addon/logrot/logrot.php:36
-msgid "Logfile archive directory"
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
msgstr ""
-#: ../../addon/logrot/logrot.php:36
-msgid "Directory to store rotated logs"
+#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
+msgid "Invalid item."
msgstr ""
-#: ../../addon/logrot/logrot.php:37
-msgid "Logfile size in bytes before rotating"
+#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Display.php:136
+#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173
+#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77
+#: ../../Zotlabs/Web/Router.php:185 ../../Zotlabs/Lib/NativeWikiPage.php:521
+#: ../../include/help.php:132
+msgid "Page not found."
msgstr ""
-#: ../../addon/logrot/logrot.php:38
-msgid "Number of logfiles to retain"
+#: ../../Zotlabs/Module/Page.php:173
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
+"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
msgstr ""
-#: ../../addon/testdrive/testdrive.php:104
-#, php-format
-msgid "Your account on %s will expire in a few days."
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
msgstr ""
-#: ../../addon/testdrive/testdrive.php:105
-msgid "Your $Productname test account is about to expire."
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
msgstr ""
-#: ../../addon/hideaside/Mod_Hideaside.php:23
-#: ../../addon/hideaside/Mod_Hideaside.php:27
-msgid "Hide Aside App"
+#: ../../Zotlabs/Module/Xchan.php:41 ../../Zotlabs/Module/Mitem.php:134
+#: ../../Zotlabs/Module/Menu.php:232
+msgid "Not found."
msgstr ""
-#: ../../addon/hideaside/Mod_Hideaside.php:24
-#: ../../addon/hideaside/Mod_Hideaside.php:28
-msgid "Fade out aside areas after a while when using endless scroll"
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
msgstr ""
-#: ../../addon/skeleton/Mod_Skeleton.php:32
-msgid "Skeleton App"
+#: ../../Zotlabs/Module/Subthread.php:143
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
msgstr ""
-#: ../../addon/skeleton/Mod_Skeleton.php:33
-msgid "A skeleton for addons, you can copy/paste"
+#: ../../Zotlabs/Module/Subthread.php:145
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
msgstr ""
-#: ../../addon/skeleton/Mod_Skeleton.php:40
-msgid "Some setting"
+#: ../../Zotlabs/Module/Regmod.php:15
+msgid "Please login."
msgstr ""
-#: ../../addon/skeleton/Mod_Skeleton.php:40
-msgid "A setting"
+#: ../../Zotlabs/Module/Editblock.php:138
+msgid "Edit Block"
msgstr ""
-#: ../../addon/skeleton/Mod_Skeleton.php:48
-msgid "Skeleton Settings"
+#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:316
+msgid "webpage"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:104
-#: ../../addon/socialauth/Mod_SocialAuth.php:176
-msgid "Network error"
+#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:322
+msgid "block"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:108
-#: ../../addon/socialauth/Mod_SocialAuth.php:180
-msgid "API error"
+#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:319
+msgid "layout"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:112
-#: ../../addon/socialauth/Mod_SocialAuth.php:184
-msgid "Unknown issue"
+#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:325
+msgid "menu"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:168
-msgid "Unable to login using email address "
+#: ../../Zotlabs/Module/Impel.php:185
+#, php-format
+msgid "%s element installed"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:202
-msgid "Sign in to Hubzilla using a social account"
+#: ../../Zotlabs/Module/Impel.php:188
+#, php-format
+msgid "%s element installation failed"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:207
-msgid "Social Authentication using your social media account"
+#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12
+msgid "Public Hubs"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:211
+#: ../../Zotlabs/Module/Pubsites.php:28
msgid ""
-"This app enables one or more social provider sign-in buttons on the login "
-"page."
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:229
-msgid "Add an identity provider"
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Hub URL"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:256
-msgid "Enable "
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Access Type"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:263
-msgid "Key"
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Registration Policy"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:263
-#: ../../addon/socialauth/Mod_SocialAuth.php:268
-#: ../../addon/socialauth/Mod_SocialAuth.php:284
-#: ../../addon/socialauth/Mod_SocialAuth.php:297
-msgid "Word"
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Stats"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:268
-msgid "Secret"
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Software"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:297
-msgid "Add a custom provider"
+#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97
+#: ../../include/conversation.php:1130
+msgid "Ratings"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:317
-msgid "Remove an identity provider"
+#: ../../Zotlabs/Module/Pubsites.php:50
+msgid "Rate"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:327
-msgid "Social authentication"
+#: ../../Zotlabs/Module/Chat.php:29 ../../Zotlabs/Module/Channel.php:42
+#: ../../Zotlabs/Module/Ochannel.php:32
+msgid "You must be logged in to see this page."
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:366
-msgid "Error while saving provider settings"
+#: ../../Zotlabs/Module/Chat.php:100
+msgid "Chatrooms App"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:382
-msgid "Custom provider already exists"
+#: ../../Zotlabs/Module/Chat.php:101
+msgid "Access Controlled Chatrooms"
msgstr ""
-#: ../../addon/socialauth/Mod_SocialAuth.php:399
-msgid "Social authentication settings saved."
+#: ../../Zotlabs/Module/Chat.php:194
+msgid "Room not found"
msgstr ""
-#: ../../addon/nsfw/nsfw.php:152
-msgid "Possible adult content"
+#: ../../Zotlabs/Module/Chat.php:210
+msgid "Leave Room"
msgstr ""
-#: ../../addon/nsfw/nsfw.php:167
-#, php-format
-msgid "%s - view"
+#: ../../Zotlabs/Module/Chat.php:211
+msgid "Delete Room"
msgstr ""
-#: ../../addon/nsfw/Mod_Nsfw.php:22
-msgid "NSFW Settings saved."
+#: ../../Zotlabs/Module/Chat.php:212
+msgid "I am away right now"
msgstr ""
-#: ../../addon/nsfw/Mod_Nsfw.php:33
-msgid "NSFW App"
+#: ../../Zotlabs/Module/Chat.php:213
+msgid "I am online"
msgstr ""
-#: ../../addon/nsfw/Mod_Nsfw.php:34
-msgid "Collapse content that contains predefined words"
+#: ../../Zotlabs/Module/Chat.php:215
+msgid "Bookmark this room"
msgstr ""
-#: ../../addon/nsfw/Mod_Nsfw.php:44
-msgid ""
-"This app looks in posts for the words/text you specify below, and collapses "
-"any content containing those keywords so it is not displayed at "
-"inappropriate times, such as sexual innuendo that may be improper in a work "
-"setting. It is polite and recommended to tag any content containing nudity "
-"with #NSFW. This filter can also match any other word/text you specify, and "
-"can thereby be used as a general purpose content filter."
+#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1380
+#: ../../extend/addon/hzaddons/hsse/hsse.php:134
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:119
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:240
+msgid "Please enter a link URL:"
msgstr ""
-#: ../../addon/nsfw/Mod_Nsfw.php:49
-msgid "Comma separated list of keywords to hide"
+#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:839
+#: ../../include/conversation.php:1508
+#: ../../extend/addon/hzaddons/hsse/hsse.php:255
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:172
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:315
+msgid "Encrypt text"
msgstr ""
-#: ../../addon/nsfw/Mod_Nsfw.php:49
-msgid "Word, /regular-expression/, lang=xx, lang!=xx"
+#: ../../Zotlabs/Module/Chat.php:238
+msgid "New Chatroom"
msgstr ""
-#: ../../addon/nsfw/Mod_Nsfw.php:58
-msgid "NSFW"
+#: ../../Zotlabs/Module/Chat.php:239
+msgid "Chatroom name"
msgstr ""
-#: ../../addon/upload_limits/upload_limits.php:25
-msgid "Show Upload Limits"
+#: ../../Zotlabs/Module/Chat.php:240
+msgid "Expiration of chats (minutes)"
msgstr ""
-#: ../../addon/upload_limits/upload_limits.php:27
-msgid "Hubzilla configured maximum size: "
+#: ../../Zotlabs/Module/Chat.php:256
+#, php-format
+msgid "%1$s's Chatrooms"
msgstr ""
-#: ../../addon/upload_limits/upload_limits.php:28
-msgid "PHP upload_max_filesize: "
+#: ../../Zotlabs/Module/Chat.php:261
+msgid "No chatrooms available"
msgstr ""
-#: ../../addon/upload_limits/upload_limits.php:29
-msgid "PHP post_max_size (must be larger than upload_max_filesize): "
+#: ../../Zotlabs/Module/Chat.php:265
+msgid "Expiration"
msgstr ""
-#: ../../addon/tictac/tictac.php:21
-msgid "Three Dimensional Tic-Tac-Toe"
+#: ../../Zotlabs/Module/Chat.php:266
+msgid "min"
msgstr ""
-#: ../../addon/tictac/tictac.php:54
-msgid "3D Tic-Tac-Toe"
+#: ../../Zotlabs/Module/Uexport.php:61
+msgid "Channel Export App"
msgstr ""
-#: ../../addon/tictac/tictac.php:59
-msgid "New game"
+#: ../../Zotlabs/Module/Uexport.php:62
+msgid "Export your channel"
msgstr ""
-#: ../../addon/tictac/tictac.php:60
-msgid "New game with handicap"
+#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73
+msgid "Export Channel"
msgstr ""
-#: ../../addon/tictac/tictac.php:61
+#: ../../Zotlabs/Module/Uexport.php:74
msgid ""
-"Three dimensional tic-tac-toe is just like the traditional game except that "
-"it is played on multiple levels simultaneously. "
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
msgstr ""
-#: ../../addon/tictac/tictac.php:62
+#: ../../Zotlabs/Module/Uexport.php:75
+msgid "Export Content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:76
msgid ""
-"In this case there are three levels. You win by getting three in a row on "
-"any level, as well as up, down, and diagonally across the different levels."
+"Export your channel information and recent content to a JSON backup that can "
+"be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for "
+"this download to begin."
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:78
+msgid "Export your posts from a given year."
msgstr ""
-#: ../../addon/tictac/tictac.php:64
+#: ../../Zotlabs/Module/Uexport.php:80
msgid ""
-"The handicap game disables the center position on the middle level because "
-"the player claiming this square often has an unfair advantage."
+"You may also export your posts and conversations for a particular year or "
+"month. Adjust the date in your browser location bar to select other dates. "
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
msgstr ""
-#: ../../addon/tictac/tictac.php:183
-msgid "You go first..."
+#: ../../Zotlabs/Module/Uexport.php:81
+#, php-format
+msgid ""
+"To select all posts for a given year, such as this year, visit <a href=\"%1$s"
+"\">%2$s</a>"
msgstr ""
-#: ../../addon/tictac/tictac.php:188
-msgid "I'm going first this time..."
+#: ../../Zotlabs/Module/Uexport.php:82
+#, php-format
+msgid ""
+"To select all posts for a given month, such as January of this year, visit "
+"<a href=\"%1$s\">%2$s</a>"
msgstr ""
-#: ../../addon/tictac/tictac.php:194
-msgid "You won!"
+#: ../../Zotlabs/Module/Uexport.php:83
+#, php-format
+msgid ""
+"These content files may be imported or restored by visiting <a href=\"%1$s\">"
+"%2$s</a> on any site containing your channel. For best results please import "
+"or restore these in date order (oldest first)."
msgstr ""
-#: ../../addon/tictac/tictac.php:200 ../../addon/tictac/tictac.php:225
-msgid "\"Cat\" game!"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
msgstr ""
-#: ../../addon/tictac/tictac.php:223
-msgid "I won!"
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
msgstr ""
-#: ../../addon/gnusoc/gnusoc.php:451
-msgid "Follow"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108
+#, php-format
+msgid "Site Member (%s)"
msgstr ""
-#: ../../addon/gnusoc/gnusoc.php:454
+#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49
#, php-format
-msgid "%1$s is now following %2$s"
+msgid "Password reset requested at %s"
msgstr ""
-#: ../../addon/gnusoc/Mod_Gnusoc.php:16
+#: ../../Zotlabs/Module/Lostpass.php:68
msgid ""
-"The GNU-Social protocol does not support location independence. Connections "
-"you make within that network may be unreachable from alternate channel "
-"locations."
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
msgstr ""
-#: ../../addon/gnusoc/Mod_Gnusoc.php:22
-msgid "GNU-Social Protocol App"
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1714
+msgid "Password Reset"
msgstr ""
-#: ../../addon/gnusoc/Mod_Gnusoc.php:34
-msgid "GNU-Social Protocol"
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your password has been reset as requested."
msgstr ""
-#: ../../addon/mailtest/mailtest.php:19
-msgid "Send test email"
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Your new password is"
msgstr ""
-#: ../../addon/mailtest/mailtest.php:66
-msgid "Mail sent."
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "Save or copy your new password - and then"
msgstr ""
-#: ../../addon/mailtest/mailtest.php:68
-msgid "Sending of mail failed."
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid "click here to login"
msgstr ""
-#: ../../addon/mailtest/mailtest.php:77
-msgid "Mail Test"
+#: ../../Zotlabs/Module/Lostpass.php:96
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
msgstr ""
-#: ../../addon/ljpost/Mod_Ljpost.php:38
-msgid "Livejournal Crosspost Connector App"
+#: ../../Zotlabs/Module/Lostpass.php:117
+#, php-format
+msgid "Your password has changed at %s"
msgstr ""
-#: ../../addon/ljpost/Mod_Ljpost.php:39
-msgid "Relay public posts to Livejournal"
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Forgot your Password?"
msgstr ""
-#: ../../addon/ljpost/Mod_Ljpost.php:55
-msgid "Livejournal username"
+#: ../../Zotlabs/Module/Lostpass.php:131
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
msgstr ""
-#: ../../addon/ljpost/Mod_Ljpost.php:59
-msgid "Livejournal password"
+#: ../../Zotlabs/Module/Lostpass.php:132
+msgid "Email Address"
msgstr ""
-#: ../../addon/ljpost/Mod_Ljpost.php:63
-msgid "Post to Livejournal by default"
+#: ../../Zotlabs/Module/Vote.php:40
+msgid "Poll not found."
msgstr ""
-#: ../../addon/ljpost/Mod_Ljpost.php:67
-msgid "Send wall-to-wall posts to Livejournal"
+#: ../../Zotlabs/Module/Vote.php:71
+msgid "Invalid response."
msgstr ""
-#: ../../addon/ljpost/Mod_Ljpost.php:79
-msgid "Livejournal Crosspost Connector"
+#: ../../Zotlabs/Module/Vote.php:132
+msgid "Response submitted. Updates may not appear instantly."
msgstr ""
-#: ../../addon/ljpost/ljpost.php:49
-msgid "Post to Livejournal"
+#: ../../Zotlabs/Module/Ping.php:337 ../../Zotlabs/Lib/Enotify.php:948
+msgid "sent you a private message"
msgstr ""
-#: ../../addon/ljpost/ljpost.php:127
-msgid "Posted by"
+#: ../../Zotlabs/Module/Ping.php:393 ../../Zotlabs/Lib/Enotify.php:914
+msgid "added your channel"
msgstr ""
-#: ../../addon/mdpost/mdpost.php:41 ../../include/text.php:2116
-#: ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217
-#: ../../Zotlabs/Module/Wiki.php:371
-msgid "Markdown"
+#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986
+msgid "requires approval"
msgstr ""
-#: ../../addon/mdpost/mdpost.php:42
-msgid "Use markdown for editing posts"
+#: ../../Zotlabs/Module/Ping.php:428 ../../Zotlabs/Lib/Enotify.php:957
+msgid "g A l F d"
msgstr ""
-#: ../../addon/hzfiles/hzfiles.php:81
-msgid "Hubzilla File Storage Import"
+#: ../../Zotlabs/Module/Ping.php:446 ../../Zotlabs/Lib/Enotify.php:960
+msgid "[today]"
msgstr ""
-#: ../../addon/hzfiles/hzfiles.php:82
-msgid "This will import all your cloud files from another server."
+#: ../../Zotlabs/Module/Ping.php:456
+msgid "posted an event"
msgstr ""
-#: ../../addon/hzfiles/hzfiles.php:83
-msgid "Hubzilla Server base URL"
+#: ../../Zotlabs/Module/Ping.php:490 ../../Zotlabs/Lib/Enotify.php:829
+#: ../../Zotlabs/Lib/Enotify.php:931
+msgid "shared a file with you"
msgstr ""
-#: ../../addon/authchoose/Mod_Authchoose.php:22
+#: ../../Zotlabs/Module/Display.php:359 ../../Zotlabs/Module/Channel.php:449
msgid ""
-"Allow magic authentication only to websites of your immediate connections"
+"You must enable javascript for your browser to be able to view this content."
msgstr ""
-#: ../../addon/authchoose/Mod_Authchoose.php:28
-#: ../../addon/authchoose/Mod_Authchoose.php:33
-msgid "Authchoose App"
+#: ../../Zotlabs/Module/Display.php:377
+msgid "Article"
msgstr ""
-#: ../../addon/authchoose/Mod_Authchoose.php:39
-msgid "Authchoose"
+#: ../../Zotlabs/Module/Display.php:422
+msgid "Item has been removed."
msgstr ""
-#: ../../addon/pageheader/Mod_Pageheader.php:22
-msgid "pageheader Settings saved."
+#: ../../Zotlabs/Module/Admin.php:96
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Accounts.php:180
+#: ../../Zotlabs/Widget/Admin.php:23
+msgid "Accounts"
msgstr ""
-#: ../../addon/pageheader/Mod_Pageheader.php:34
-msgid "Page Header App"
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "Blocked accounts"
msgstr ""
-#: ../../addon/pageheader/Mod_Pageheader.php:35
-msgid "Inserts a page header"
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "Expired accounts"
msgstr ""
-#: ../../addon/pageheader/Mod_Pageheader.php:43
-msgid "Message to display on every page on this server"
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "Expiring accounts"
msgstr ""
-#: ../../addon/pageheader/Mod_Pageheader.php:51
-msgid "Page Header"
+#: ../../Zotlabs/Module/Admin.php:114
+#: ../../Zotlabs/Module/Admin/Channels.php:146
+#: ../../Zotlabs/Widget/Admin.php:24
+msgid "Channels"
msgstr ""
-#: ../../addon/irc/Mod_Irc.php:23 ../../addon/irc/irc.php:41
-msgid "Popular Channels"
+#: ../../Zotlabs/Module/Admin.php:120
+msgid "Message queues"
msgstr ""
-#: ../../addon/irc/irc.php:37
-msgid "Channels to auto connect"
+#: ../../Zotlabs/Module/Admin.php:134
+msgid "Your software should be updated"
msgstr ""
-#: ../../addon/irc/irc.php:37 ../../addon/irc/irc.php:41
-msgid "Comma separated list"
+#: ../../Zotlabs/Module/Admin.php:138 ../../Zotlabs/Module/Admin/Themes.php:122
+#: ../../Zotlabs/Module/Admin/Themes.php:156
+#: ../../Zotlabs/Module/Admin/Security.php:98
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Channels.php:145
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Addons.php:342
+#: ../../Zotlabs/Module/Admin/Addons.php:440
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "Administration"
msgstr ""
-#: ../../addon/irc/irc.php:45
-msgid "IRC Settings"
+#: ../../Zotlabs/Module/Admin.php:139
+msgid "Summary"
msgstr ""
-#: ../../addon/irc/irc.php:54
-msgid "IRC settings saved."
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Registered accounts"
msgstr ""
-#: ../../addon/irc/irc.php:58
-msgid "IRC Chatroom"
+#: ../../Zotlabs/Module/Admin.php:143
+msgid "Pending registrations"
msgstr ""
-#: ../../addon/xmpp/xmpp.php:44
-msgid "Jabber BOSH host"
+#: ../../Zotlabs/Module/Admin.php:144
+msgid "Registered channels"
msgstr ""
-#: ../../addon/xmpp/xmpp.php:45
-msgid "Use central userbase"
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Active addons"
msgstr ""
-#: ../../addon/xmpp/xmpp.php:45
-msgid ""
-"If enabled, members will automatically login to an ejabberd server that has "
-"to be installed on this machine with synchronized credentials via the "
-"\"auth_ejabberd.php\" script."
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Version"
msgstr ""
-#: ../../addon/xmpp/Mod_Xmpp.php:23
-msgid "XMPP settings updated."
+#: ../../Zotlabs/Module/Admin.php:147
+msgid "Repository version (master)"
msgstr ""
-#: ../../addon/xmpp/Mod_Xmpp.php:35
-msgid "XMPP App"
+#: ../../Zotlabs/Module/Admin.php:148
+msgid "Repository version (dev)"
msgstr ""
-#: ../../addon/xmpp/Mod_Xmpp.php:36
-msgid "Embedded XMPP (Jabber) client"
+#: ../../Zotlabs/Module/Photos.php:80
+msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../addon/xmpp/Mod_Xmpp.php:52
-msgid "Individual credentials"
+#: ../../Zotlabs/Module/Photos.php:96 ../../Zotlabs/Module/Photos.php:115
+msgid "Album not found."
msgstr ""
-#: ../../addon/xmpp/Mod_Xmpp.php:58
-msgid "Jabber BOSH server"
+#: ../../Zotlabs/Module/Photos.php:105
+msgid "Delete Album"
msgstr ""
-#: ../../addon/xmpp/Mod_Xmpp.php:67
-msgid "XMPP Settings"
+#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1059
+msgid "Delete Photo"
msgstr ""
-#: ../../include/zot.php:775
-msgid "Invalid data packet"
+#: ../../Zotlabs/Module/Photos.php:530
+msgid "No photos selected"
msgstr ""
-#: ../../include/zot.php:802 ../../Zotlabs/Lib/Libzot.php:656
-msgid "Unable to verify channel signature"
+#: ../../Zotlabs/Module/Photos.php:579
+msgid "Access to this item is restricted."
msgstr ""
-#: ../../include/zot.php:2657 ../../Zotlabs/Lib/Libsync.php:740
+#: ../../Zotlabs/Module/Photos.php:622
#, php-format
-msgid "Unable to verify site signature for %s"
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr ""
-#: ../../include/zot.php:4372
-msgid "invalid target signature"
+#: ../../Zotlabs/Module/Photos.php:625
+#, php-format
+msgid "%1$.2f MB photo storage used."
msgstr ""
-#: ../../include/text.php:522
-msgid "prev"
+#: ../../Zotlabs/Module/Photos.php:667
+msgid "Upload Photos"
msgstr ""
-#: ../../include/text.php:524
-msgid "first"
+#: ../../Zotlabs/Module/Photos.php:671
+msgid "Enter an album name"
msgstr ""
-#: ../../include/text.php:553
-msgid "last"
+#: ../../Zotlabs/Module/Photos.php:672
+msgid "or select an existing album (doubleclick)"
msgstr ""
-#: ../../include/text.php:556
-msgid "next"
+#: ../../Zotlabs/Module/Photos.php:673
+msgid "Create a status post for this upload"
msgstr ""
-#: ../../include/text.php:574
-msgid "older"
+#: ../../Zotlabs/Module/Photos.php:675
+msgid "Description (optional)"
msgstr ""
-#: ../../include/text.php:576
-msgid "newer"
+#: ../../Zotlabs/Module/Photos.php:761
+msgid "Show Newest First"
msgstr ""
-#: ../../include/text.php:1024
-msgid "No connections"
+#: ../../Zotlabs/Module/Photos.php:763
+msgid "Show Oldest First"
msgstr ""
-#: ../../include/text.php:1036 ../../include/features.php:133
-#: ../../Zotlabs/Module/Connections.php:374 ../../Zotlabs/Lib/Apps.php:333
-msgid "Connections"
+#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333
+#: ../../Zotlabs/Module/Embedphotos.php:170
+#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78
+msgid "View Photo"
msgstr ""
-#: ../../include/text.php:1044 ../../Zotlabs/Module/Viewconnections.php:80
-#: ../../Zotlabs/Module/Connections.php:288
-msgid "Accepts"
+#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255
+#: ../../Zotlabs/Module/Embedphotos.php:176 ../../Zotlabs/Lib/Apps.php:1112
+#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1508
+#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:270
+#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1211
+#: ../../include/cdav.php:158 ../../include/cdav.php:159
+#: ../../include/cdav.php:167 ../../extend/addon/hzaddons/pubcrawl/as.php:1187
+msgid "Unknown"
msgstr ""
-#: ../../include/text.php:1047 ../../Zotlabs/Module/Viewconnections.php:83
-#: ../../Zotlabs/Module/Connections.php:291
-msgid "Comments"
+#: ../../Zotlabs/Module/Photos.php:818 ../../Zotlabs/Module/Embedphotos.php:186
+#: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95
+msgid "Edit Album"
msgstr ""
-#: ../../include/text.php:1052 ../../Zotlabs/Module/Viewconnections.php:88
-#: ../../Zotlabs/Module/Connections.php:296
-msgid "Stream items"
+#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364
+msgid "Add Photos"
msgstr ""
-#: ../../include/text.php:1057 ../../Zotlabs/Module/Viewconnections.php:93
-#: ../../Zotlabs/Module/Connections.php:301
-msgid "Wall posts"
+#: ../../Zotlabs/Module/Photos.php:868
+msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../include/text.php:1061 ../../Zotlabs/Module/Viewconnections.php:97
-#: ../../Zotlabs/Module/Connections.php:305
-msgid "Nothing"
+#: ../../Zotlabs/Module/Photos.php:870
+msgid "Photo not available"
msgstr ""
-#: ../../include/text.php:1076
-#, php-format
-msgid "View all %s connections"
+#: ../../Zotlabs/Module/Photos.php:928
+msgid "Use as profile photo"
msgstr ""
-#: ../../include/text.php:1139
-#, php-format
-msgid "Network: %s"
+#: ../../Zotlabs/Module/Photos.php:929
+msgid "Use as cover photo"
msgstr ""
-#: ../../include/text.php:1150 ../../include/text.php:1162
-#: ../../include/nav.php:188 ../../include/acl_selectors.php:139
-#: ../../Zotlabs/Widget/Sitesearch.php:31
-#: ../../Zotlabs/Widget/Activity_filter.php:193
-#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:378
-#: ../../Zotlabs/Lib/Apps.php:353
-msgid "Search"
+#: ../../Zotlabs/Module/Photos.php:936
+msgid "Private Photo"
msgstr ""
-#: ../../include/text.php:1242 ../../include/text.php:1246
-msgid "poke"
+#: ../../Zotlabs/Module/Photos.php:951
+msgid "View Full Size"
msgstr ""
-#: ../../include/text.php:1242 ../../include/text.php:1246
-#: ../../include/conversation.php:267
-msgid "poked"
+#: ../../Zotlabs/Module/Photos.php:1033
+msgid "Edit photo"
msgstr ""
-#: ../../include/text.php:1247
-msgid "ping"
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CW (right)"
msgstr ""
-#: ../../include/text.php:1247
-msgid "pinged"
+#: ../../Zotlabs/Module/Photos.php:1036
+msgid "Rotate CCW (left)"
msgstr ""
-#: ../../include/text.php:1248
-msgid "prod"
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "Move photo to album"
msgstr ""
-#: ../../include/text.php:1248
-msgid "prodded"
+#: ../../Zotlabs/Module/Photos.php:1040
+msgid "Enter a new album name"
msgstr ""
-#: ../../include/text.php:1249
-msgid "slap"
+#: ../../Zotlabs/Module/Photos.php:1041
+msgid "or select an existing one (doubleclick)"
msgstr ""
-#: ../../include/text.php:1249
-msgid "slapped"
+#: ../../Zotlabs/Module/Photos.php:1046
+msgid "Add a Tag"
msgstr ""
-#: ../../include/text.php:1250
-msgid "finger"
+#: ../../Zotlabs/Module/Photos.php:1054
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr ""
-#: ../../include/text.php:1250
-msgid "fingered"
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Flag as adult in album view"
msgstr ""
-#: ../../include/text.php:1251
-msgid "rebuff"
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:317
+msgid "I like this (toggle)"
msgstr ""
-#: ../../include/text.php:1251
-msgid "rebuffed"
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:318
+msgid "I don't like this (toggle)"
msgstr ""
-#: ../../include/text.php:1274
-msgid "happy"
+#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:501
+#: ../../include/conversation.php:827
+msgid "Please wait"
msgstr ""
-#: ../../include/text.php:1275
-msgid "sad"
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Lib/ThreadItem.php:822
+msgid "This is you"
msgstr ""
-#: ../../include/text.php:1276
-msgid "mellow"
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:824 ../../include/js_strings.php:6
+msgid "Comment"
msgstr ""
-#: ../../include/text.php:1277
-msgid "tired"
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:652
+msgctxt "title"
+msgid "Likes"
msgstr ""
-#: ../../include/text.php:1278
-msgid "perky"
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:653
+msgctxt "title"
+msgid "Dislikes"
msgstr ""
-#: ../../include/text.php:1279
-msgid "angry"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:77
+#: ../../include/conversation.php:654
+msgctxt "title"
+msgid "Agree"
msgstr ""
-#: ../../include/text.php:1280
-msgid "stupefied"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:78
+#: ../../include/conversation.php:655
+msgctxt "title"
+msgid "Disagree"
msgstr ""
-#: ../../include/text.php:1281
-msgid "puzzled"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:79
+#: ../../include/conversation.php:656
+msgctxt "title"
+msgid "Abstain"
msgstr ""
-#: ../../include/text.php:1282
-msgid "interested"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:66
+#: ../../include/conversation.php:657
+msgctxt "title"
+msgid "Attending"
msgstr ""
-#: ../../include/text.php:1283
-msgid "bitter"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:67
+#: ../../include/conversation.php:658
+msgctxt "title"
+msgid "Not attending"
msgstr ""
-#: ../../include/text.php:1284
-msgid "cheerful"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:68
+#: ../../include/conversation.php:659
+msgctxt "title"
+msgid "Might attend"
msgstr ""
-#: ../../include/text.php:1285
-msgid "alive"
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
+#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250
+msgid "View all"
msgstr ""
-#: ../../include/text.php:1286
-msgid "annoyed"
-msgstr ""
+#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:242
+#: ../../include/conversation.php:1749 ../../include/channel.php:1781
+#: ../../include/taxonomy.php:668
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/text.php:1287
-msgid "anxious"
-msgstr ""
+#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:247
+#: ../../include/conversation.php:1752
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/text.php:1288
-msgid "cranky"
+#: ../../Zotlabs/Module/Photos.php:1247
+msgid "Photo Tools"
msgstr ""
-#: ../../include/text.php:1289
-msgid "disturbed"
+#: ../../Zotlabs/Module/Photos.php:1256
+msgid "In This Photo:"
msgstr ""
-#: ../../include/text.php:1290
-msgid "frustrated"
+#: ../../Zotlabs/Module/Photos.php:1261
+msgid "Map"
msgstr ""
-#: ../../include/text.php:1291
-msgid "depressed"
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:489
+msgctxt "noun"
+msgid "Likes"
msgstr ""
-#: ../../include/text.php:1292
-msgid "motivated"
+#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:490
+msgctxt "noun"
+msgid "Dislikes"
msgstr ""
-#: ../../include/text.php:1293
-msgid "relaxed"
+#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411
+#: ../../Zotlabs/Lib/ThreadItem.php:495 ../../Zotlabs/Widget/Pinned.php:160
+#: ../../include/acl_selectors.php:155
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:233
+msgid "Close"
msgstr ""
-#: ../../include/text.php:1294
-msgid "surprised"
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362 ../../include/photos.php:667
+msgid "Recent Photos"
msgstr ""
-#: ../../include/text.php:1482 ../../include/js_strings.php:99
-msgid "Monday"
+#: ../../Zotlabs/Module/Channel.php:99 ../../Zotlabs/Module/Profile.php:45
+#: ../../Zotlabs/Module/Hcard.php:37
+msgid "Posts and comments"
msgstr ""
-#: ../../include/text.php:1482 ../../include/js_strings.php:100
-msgid "Tuesday"
+#: ../../Zotlabs/Module/Channel.php:106 ../../Zotlabs/Module/Profile.php:52
+#: ../../Zotlabs/Module/Hcard.php:44
+msgid "Only posts"
msgstr ""
-#: ../../include/text.php:1482 ../../include/js_strings.php:101
-msgid "Wednesday"
+#: ../../Zotlabs/Module/Channel.php:174
+msgid "Insufficient permissions. Request redirected to profile page."
msgstr ""
-#: ../../include/text.php:1482 ../../include/js_strings.php:102
-msgid "Thursday"
+#: ../../Zotlabs/Module/Channel.php:189 ../../Zotlabs/Module/Network.php:164
+msgid "Search Results For:"
msgstr ""
-#: ../../include/text.php:1482 ../../include/js_strings.php:103
-msgid "Friday"
+#: ../../Zotlabs/Module/Cards.php:51
+msgid "Cards App"
msgstr ""
-#: ../../include/text.php:1482 ../../include/js_strings.php:104
-msgid "Saturday"
+#: ../../Zotlabs/Module/Cards.php:52
+msgid "Create personal planning cards"
msgstr ""
-#: ../../include/text.php:1482 ../../include/js_strings.php:98
-msgid "Sunday"
+#: ../../Zotlabs/Module/Cards.php:112
+msgid "Add Card"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:74
-msgid "January"
+#: ../../Zotlabs/Module/Cards.php:207 ../../Zotlabs/Lib/Apps.php:326
+#: ../../include/nav.php:501
+msgid "Cards"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:75
-msgid "February"
+#: ../../Zotlabs/Module/Go.php:21
+msgid "This page is available only to site members"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:76
-msgid "March"
+#: ../../Zotlabs/Module/Go.php:27
+msgid "Welcome"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:77
-msgid "April"
+#: ../../Zotlabs/Module/Go.php:29
+msgid "What would you like to do?"
msgstr ""
-#: ../../include/text.php:1486
-msgid "May"
+#: ../../Zotlabs/Module/Go.php:31
+msgid ""
+"Please bookmark this page if you would like to return to it in the future"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:79
-msgid "June"
+#: ../../Zotlabs/Module/Go.php:35
+msgid "Upload a profile photo"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:80
-msgid "July"
+#: ../../Zotlabs/Module/Go.php:36
+msgid "Upload a cover photo"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:81
-msgid "August"
+#: ../../Zotlabs/Module/Go.php:37
+msgid "Edit your default profile"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:82
-msgid "September"
+#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:41
+msgid "View friend suggestions"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:83
-msgid "October"
+#: ../../Zotlabs/Module/Go.php:39
+msgid "View the channel directory"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:84
-msgid "November"
+#: ../../Zotlabs/Module/Go.php:40
+msgid "View/edit your channel settings"
msgstr ""
-#: ../../include/text.php:1486 ../../include/js_strings.php:85
-msgid "December"
+#: ../../Zotlabs/Module/Go.php:41
+msgid "View the site or project documentation"
msgstr ""
-#: ../../include/text.php:1560
-msgid "Unknown Attachment"
+#: ../../Zotlabs/Module/Go.php:42
+msgid "Visit your channel homepage"
msgstr ""
-#: ../../include/text.php:1562 ../../Zotlabs/Module/Sharedwithme.php:108
-#: ../../Zotlabs/Storage/Browser.php:293
-msgid "Size"
+#: ../../Zotlabs/Module/Go.php:43
+msgid ""
+"View your connections and/or add somebody whose address you already know"
msgstr ""
-#: ../../include/text.php:1562 ../../include/feedutils.php:871
-msgid "unknown"
+#: ../../Zotlabs/Module/Go.php:44
+msgid ""
+"View your personal stream (this may be empty until you add some connections)"
msgstr ""
-#: ../../include/text.php:1598
-msgid "remove category"
+#: ../../Zotlabs/Module/Go.php:52
+msgid "View the public stream. Warning: this content is not moderated"
msgstr ""
-#: ../../include/text.php:1674
-msgid "remove from file"
+#: ../../Zotlabs/Module/Connections.php:58
+#: ../../Zotlabs/Module/Connections.php:115
+#: ../../Zotlabs/Module/Connections.php:273
+msgid "Active"
msgstr ""
-#: ../../include/text.php:1843 ../../include/message.php:13
-msgid "Download binary/encrypted content"
+#: ../../Zotlabs/Module/Connections.php:63
+#: ../../Zotlabs/Module/Connections.php:181
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Blocked"
msgstr ""
-#: ../../include/text.php:1914
-msgid "Poll has ended."
+#: ../../Zotlabs/Module/Connections.php:68
+#: ../../Zotlabs/Module/Connections.php:188
+#: ../../Zotlabs/Module/Connections.php:277
+msgid "Ignored"
msgstr ""
-#: ../../include/text.php:1917
-#, php-format
-msgid "Poll ends: %s"
+#: ../../Zotlabs/Module/Connections.php:73
+#: ../../Zotlabs/Module/Connections.php:202
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Hidden"
msgstr ""
-#: ../../include/text.php:1922 ../../Zotlabs/Lib/ThreadItem.php:444
-msgid "Vote"
+#: ../../Zotlabs/Module/Connections.php:78
+#: ../../Zotlabs/Module/Connections.php:195
+msgid "Archived/Unreachable"
msgstr ""
-#: ../../include/text.php:2074 ../../Zotlabs/Module/Events.php:669
-msgid "Link to Source"
+#: ../../Zotlabs/Module/Connections.php:83
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Notifications.php:50 ../../Zotlabs/Module/Menu.php:180
+msgid "New"
msgstr ""
-#: ../../include/text.php:2096 ../../include/language.php:424
-msgid "default"
+#: ../../Zotlabs/Module/Connections.php:157
+msgid "Active Connections"
msgstr ""
-#: ../../include/text.php:2104
-msgid "Page layout"
+#: ../../Zotlabs/Module/Connections.php:160
+msgid "Show active connections"
msgstr ""
-#: ../../include/text.php:2104
-msgid "You can create your own with the layouts tool"
+#: ../../Zotlabs/Module/Connections.php:164
+#: ../../Zotlabs/Widget/Notifications.php:104
+msgid "New Connections"
msgstr ""
-#: ../../include/text.php:2114 ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217
-#: ../../Zotlabs/Module/Wiki.php:371
-msgid "BBcode"
+#: ../../Zotlabs/Module/Connections.php:167
+msgid "Show pending (new) connections"
msgstr ""
-#: ../../include/text.php:2115
-msgid "HTML"
+#: ../../Zotlabs/Module/Connections.php:184
+msgid "Only show blocked connections"
msgstr ""
-#: ../../include/text.php:2117 ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217
-msgid "Text"
+#: ../../Zotlabs/Module/Connections.php:191
+msgid "Only show ignored connections"
msgstr ""
-#: ../../include/text.php:2118
-msgid "Comanche Layout"
+#: ../../Zotlabs/Module/Connections.php:198
+msgid "Only show archived/unreachable connections"
msgstr ""
-#: ../../include/text.php:2123
-msgid "PHP"
+#: ../../Zotlabs/Module/Connections.php:205
+msgid "Only show hidden connections"
msgstr ""
-#: ../../include/text.php:2132
-msgid "Page content type"
+#: ../../Zotlabs/Module/Connections.php:220
+msgid "Show all connections"
msgstr ""
-#: ../../include/text.php:2255 ../../include/event.php:1259
-#: ../../include/conversation.php:132
-#: ../../Zotlabs/Module/Channel_calendar.php:219
-#: ../../Zotlabs/Module/Like.php:388 ../../Zotlabs/Module/Tagger.php:75
-#: ../../Zotlabs/Module/Events.php:266
-msgid "event"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Pending approval"
msgstr ""
-#: ../../include/text.php:2258 ../../include/conversation.php:158
-#: ../../include/bbcode.php:523 ../../include/markdown.php:204
-#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2953
-msgid "post"
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Archived"
msgstr ""
-#: ../../include/text.php:2260 ../../include/conversation.php:160
-#: ../../Zotlabs/Module/Tagger.php:81
-msgid "comment"
+#: ../../Zotlabs/Module/Connections.php:279
+msgid "Not connected at this location"
msgstr ""
-#: ../../include/text.php:2265
-msgid "activity"
+#: ../../Zotlabs/Module/Connections.php:318
+#, php-format
+msgid "%1$s [%2$s]"
msgstr ""
-#: ../../include/text.php:2268
-msgid "poll"
+#: ../../Zotlabs/Module/Connections.php:319
+msgid "Edit connection"
msgstr ""
-#: ../../include/text.php:2369
-msgid "a-z, 0-9, -, and _ only"
+#: ../../Zotlabs/Module/Connections.php:321
+msgid "Delete connection"
msgstr ""
-#: ../../include/text.php:2695
-msgid "Design Tools"
+#: ../../Zotlabs/Module/Connections.php:330
+msgid "Channel address"
msgstr ""
-#: ../../include/text.php:2698 ../../Zotlabs/Module/Blocks.php:154
-msgid "Blocks"
+#: ../../Zotlabs/Module/Connections.php:332 ../../include/features.php:291
+msgid "Network"
msgstr ""
-#: ../../include/text.php:2699 ../../Zotlabs/Module/Menu.php:171
-msgid "Menus"
+#: ../../Zotlabs/Module/Connections.php:335
+msgid "Call"
msgstr ""
-#: ../../include/text.php:2700 ../../Zotlabs/Module/Layouts.php:184
-msgid "Layouts"
+#: ../../Zotlabs/Module/Connections.php:337
+msgid "Status"
msgstr ""
-#: ../../include/text.php:2701
-msgid "Pages"
+#: ../../Zotlabs/Module/Connections.php:339
+msgid "Connected"
msgstr ""
-#: ../../include/text.php:2713
-msgid "Import"
+#: ../../Zotlabs/Module/Connections.php:341
+msgid "Approve connection"
msgstr ""
-#: ../../include/text.php:2714
-msgid "Import website..."
+#: ../../Zotlabs/Module/Connections.php:342
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../include/conversation.php:774
+msgid "Approve"
msgstr ""
-#: ../../include/text.php:2715
-msgid "Select folder to import"
+#: ../../Zotlabs/Module/Connections.php:343
+msgid "Ignore connection"
msgstr ""
-#: ../../include/text.php:2716
-msgid "Import from a zipped folder:"
+#: ../../Zotlabs/Module/Connections.php:345
+msgid "Recent activity"
msgstr ""
-#: ../../include/text.php:2717
-msgid "Import from cloud files:"
+#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71
+#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32
+#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1100
+#: ../../include/channel.php:1618 ../../include/connections.php:110
+msgid "Connect"
msgstr ""
-#: ../../include/text.php:2718
-msgid "/cloud/channel/path/to/folder"
+#: ../../Zotlabs/Module/Connections.php:351
+msgid "Connect at this location"
msgstr ""
-#: ../../include/text.php:2719
-msgid "Enter path to website files"
+#: ../../Zotlabs/Module/Connections.php:374 ../../Zotlabs/Lib/Apps.php:333
+#: ../../include/features.php:133 ../../include/text.php:1036
+msgid "Connections"
msgstr ""
-#: ../../include/text.php:2720
-msgid "Select folder"
+#: ../../Zotlabs/Module/Connections.php:379
+msgid "Search your connections"
msgstr ""
-#: ../../include/text.php:2721
-msgid "Export website..."
+#: ../../Zotlabs/Module/Connections.php:380
+msgid "Connections search"
msgstr ""
-#: ../../include/text.php:2722
-msgid "Export to a zip file"
+#: ../../Zotlabs/Module/Connections.php:381
+#: ../../Zotlabs/Module/Directory.php:433
+#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23
+msgid "Find"
msgstr ""
-#: ../../include/text.php:2723
-msgid "website.zip"
+#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43
+msgid "Item is not editable"
msgstr ""
-#: ../../include/text.php:2724
-msgid "Enter a name for the zip file."
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
msgstr ""
-#: ../../include/text.php:2725
-msgid "Export to cloud files"
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
msgstr ""
-#: ../../include/text.php:2726
-msgid "/path/to/export/folder"
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
msgstr ""
-#: ../../include/text.php:2727
-msgid "Enter a path to a cloud files destination."
+#: ../../Zotlabs/Module/Affinity.php:35
+msgid "Affinity Tool settings updated."
msgstr ""
-#: ../../include/text.php:2728
-msgid "Specify folder"
+#: ../../Zotlabs/Module/Affinity.php:47
+msgid ""
+"This app presents a slider control in your connection editor and also on "
+"your network page. The slider represents your degree of friendship "
+"(affinity) with each connection. It allows you to zoom in or out and display "
+"conversations from only your closest friends or everybody in your stream."
msgstr ""
-#: ../../include/text.php:3101 ../../Zotlabs/Storage/Browser.php:131
-msgid "Collection"
+#: ../../Zotlabs/Module/Affinity.php:52
+msgid "Affinity Tool App"
msgstr ""
-#: ../../include/opengraph.php:56
-#, php-format
-msgid "This is the home page of %s."
+#: ../../Zotlabs/Module/Affinity.php:57
+msgid ""
+"The numbers below represent the minimum and maximum slider default positions "
+"for your network/stream page as a percentage."
msgstr ""
-#: ../../include/event.php:33 ../../include/event.php:110
-msgid "l F d, Y \\@ g:i A"
+#: ../../Zotlabs/Module/Affinity.php:64
+msgid "Default maximum affinity level"
msgstr ""
-#: ../../include/event.php:41
-msgid "Starts:"
+#: ../../Zotlabs/Module/Affinity.php:64
+msgid "0-99 default 99"
msgstr ""
-#: ../../include/event.php:51
-msgid "Finishes:"
+#: ../../Zotlabs/Module/Affinity.php:70
+msgid "Default minimum affinity level"
msgstr ""
-#: ../../include/event.php:63 ../../include/event.php:134
-#: ../../include/channel.php:1619 ../../Zotlabs/Module/Directory.php:352
-msgid "Location:"
+#: ../../Zotlabs/Module/Affinity.php:70
+msgid "0-99 - default 0"
msgstr ""
-#: ../../include/event.php:110
-msgid "l F d, Y"
+#: ../../Zotlabs/Module/Affinity.php:76
+msgid "Persistent affinity levels"
msgstr ""
-#: ../../include/event.php:114
-msgid "Start:"
+#: ../../Zotlabs/Module/Affinity.php:76
+msgid ""
+"If disabled the max and min levels will be reset to default after page reload"
msgstr ""
-#: ../../include/event.php:118
-msgid "End:"
+#: ../../Zotlabs/Module/Affinity.php:84
+msgid "Affinity Tool Settings"
msgstr ""
-#: ../../include/event.php:1106
-msgid "This event has been added to your calendar."
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
msgstr ""
-#: ../../include/event.php:1337
-msgid "Not specified"
+#: ../../Zotlabs/Module/Common.php:45
+msgid "No connections in common."
msgstr ""
-#: ../../include/event.php:1338
-msgid "Needs Action"
+#: ../../Zotlabs/Module/Common.php:65
+msgid "View Common Connections"
msgstr ""
-#: ../../include/event.php:1339
-msgid "Completed"
+#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2133
+#, php-format
+msgid "&#x1f501; Repeated %1$s's %2$s"
msgstr ""
-#: ../../include/event.php:1340
-msgid "In Process"
+#: ../../Zotlabs/Module/Share.php:120
+msgid "Post repeated"
msgstr ""
-#: ../../include/event.php:1341
-msgid "Cancelled"
+#: ../../Zotlabs/Module/Editwebpage.php:139
+msgid "Page link"
msgstr ""
-#: ../../include/event.php:1422 ../../include/connections.php:733
-#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:794
-#: ../../Zotlabs/Module/Connedit.php:935
-msgid "Mobile"
+#: ../../Zotlabs/Module/Editwebpage.php:166
+msgid "Edit Webpage"
msgstr ""
-#: ../../include/event.php:1423 ../../include/connections.php:734
-#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:795
-#: ../../Zotlabs/Module/Connedit.php:936
-msgid "Home"
+#: ../../Zotlabs/Module/Profile.php:93
+msgid "vcard"
msgstr ""
-#: ../../include/event.php:1424 ../../include/connections.php:735
-msgid "Home, Voice"
+#: ../../Zotlabs/Module/Article_edit.php:127
+msgid "Edit Article"
msgstr ""
-#: ../../include/event.php:1425 ../../include/connections.php:736
-msgid "Home, Fax"
+#: ../../Zotlabs/Module/Rmagic.php:46
+msgid "Authentication failed."
msgstr ""
-#: ../../include/event.php:1426 ../../include/connections.php:737
-#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:796
-#: ../../Zotlabs/Module/Connedit.php:937
-msgid "Work"
+#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2597
+#: ../../boot.php:1706
+msgid "Remote Authentication"
msgstr ""
-#: ../../include/event.php:1427 ../../include/connections.php:738
-msgid "Work, Voice"
+#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2598
+msgid "Enter your channel address (e.g. channel@example.com)"
msgstr ""
-#: ../../include/event.php:1428 ../../include/connections.php:739
-msgid "Work, Fax"
+#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2599
+msgid "Authenticate"
msgstr ""
-#: ../../include/event.php:1429 ../../include/event.php:1436
-#: ../../include/selectors.php:60 ../../include/selectors.php:77
-#: ../../include/selectors.php:115 ../../include/selectors.php:151
-#: ../../include/connections.php:740 ../../include/connections.php:747
-#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:797
-#: ../../Zotlabs/Module/Connedit.php:938
-#: ../../Zotlabs/Access/PermissionRoles.php:310
-msgid "Other"
+#: ../../Zotlabs/Module/Attach.php:67
+msgid "Item not available."
msgstr ""
-#: ../../include/features.php:55 ../../Zotlabs/Module/Admin/Features.php:55
-#: ../../Zotlabs/Module/Admin/Features.php:56
-#: ../../Zotlabs/Module/Settings/Features.php:38
-msgid "Off"
+#: ../../Zotlabs/Module/Pconfig.php:32 ../../Zotlabs/Module/Pconfig.php:68
+msgid "This setting requires special processing and editing has been blocked."
msgstr ""
-#: ../../include/features.php:55 ../../Zotlabs/Module/Admin/Features.php:55
-#: ../../Zotlabs/Module/Admin/Features.php:56
-#: ../../Zotlabs/Module/Settings/Features.php:38
-msgid "On"
+#: ../../Zotlabs/Module/Pconfig.php:57
+msgid "Configuration Editor"
msgstr ""
-#: ../../include/features.php:82 ../../include/nav.php:463
-#: ../../include/nav.php:466 ../../Zotlabs/Lib/Apps.php:346
-#: ../../Zotlabs/Storage/Browser.php:140
-msgid "Calendar"
+#: ../../Zotlabs/Module/Pconfig.php:58
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please "
+"leave this page unless you are comfortable with and knowledgeable about how "
+"to correctly use this feature."
msgstr ""
-#: ../../include/features.php:86
-msgid "Start calendar week on Monday"
+#: ../../Zotlabs/Module/Randprof.php:29
+msgid "Random Channel App"
msgstr ""
-#: ../../include/features.php:87
-msgid "Default is Sunday"
+#: ../../Zotlabs/Module/Randprof.php:30
+msgid "Visit a random channel in the $Projectname network"
msgstr ""
-#: ../../include/features.php:94
-msgid "Event Timezone Selection"
+#: ../../Zotlabs/Module/Admin/Themes.php:26
+msgid "Theme settings updated."
msgstr ""
-#: ../../include/features.php:95
-msgid "Allow event creation in timezones other than your own."
+#: ../../Zotlabs/Module/Admin/Themes.php:61
+msgid "No themes found."
msgstr ""
-#: ../../include/features.php:104 ../../Zotlabs/Lib/Apps.php:343
-msgid "Channel Home"
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+#: ../../Zotlabs/Module/Admin/Addons.php:311
+msgid "Disable"
msgstr ""
-#: ../../include/features.php:108
-msgid "Search by Date"
+#: ../../Zotlabs/Module/Admin/Themes.php:97
+#: ../../Zotlabs/Module/Admin/Addons.php:314
+msgid "Enable"
msgstr ""
-#: ../../include/features.php:109
-msgid "Ability to select posts by date ranges"
+#: ../../Zotlabs/Module/Admin/Themes.php:116
+msgid "Screenshot"
msgstr ""
-#: ../../include/features.php:116
-msgid "Tag Cloud"
+#: ../../Zotlabs/Module/Admin/Themes.php:123
+#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../Zotlabs/Widget/Admin.php:28
+msgid "Themes"
msgstr ""
-#: ../../include/features.php:117
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../Zotlabs/Module/Admin/Themes.php:124
+#: ../../Zotlabs/Module/Admin/Addons.php:344
+msgid "Toggle"
msgstr ""
-#: ../../include/features.php:124 ../../include/features.php:359
-msgid "Use blog/list mode"
+#: ../../Zotlabs/Module/Admin/Themes.php:125
+#: ../../Zotlabs/Module/Admin/Addons.php:345 ../../Zotlabs/Lib/Apps.php:339
+#: ../../Zotlabs/Widget/Settings_menu.php:61
+#: ../../Zotlabs/Widget/Newmember.php:53 ../../include/nav.php:103
+msgid "Settings"
msgstr ""
-#: ../../include/features.php:125 ../../include/features.php:360
-msgid "Comments will be displayed separately"
+#: ../../Zotlabs/Module/Admin/Themes.php:134
+#: ../../Zotlabs/Module/Admin/Addons.php:352
+msgid "Author: "
msgstr ""
-#: ../../include/features.php:137
-msgid "Connection Filtering"
+#: ../../Zotlabs/Module/Admin/Themes.php:135
+#: ../../Zotlabs/Module/Admin/Addons.php:353
+msgid "Maintainer: "
msgstr ""
-#: ../../include/features.php:138
-msgid "Filter incoming posts from connections based on keywords/content"
+#: ../../Zotlabs/Module/Admin/Themes.php:162
+msgid "[Experimental]"
msgstr ""
-#: ../../include/features.php:146
-msgid "Conversation"
+#: ../../Zotlabs/Module/Admin/Themes.php:163
+msgid "[Unsupported]"
msgstr ""
-#: ../../include/features.php:158
-msgid "Emoji Reactions"
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently "
+"insecure."
msgstr ""
-#: ../../include/features.php:159
-msgid "Add emoji reaction ability to posts"
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
msgstr ""
-#: ../../include/features.php:166
-msgid "Dislike Posts"
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/"
+"<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
msgstr ""
-#: ../../include/features.php:167
-msgid "Ability to dislike posts/comments"
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
msgstr ""
-#: ../../include/features.php:174
-msgid "Star Posts"
+#: ../../Zotlabs/Module/Admin/Security.php:99 ../../Zotlabs/Widget/Admin.php:25
+msgid "Security"
msgstr ""
-#: ../../include/features.php:175
-msgid "Ability to mark special posts with a star indicator"
+#: ../../Zotlabs/Module/Admin/Security.php:101
+msgid "Block public"
msgstr ""
-#: ../../include/features.php:182
-msgid "Reply on comment"
+#: ../../Zotlabs/Module/Admin/Security.php:101
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
msgstr ""
-#: ../../include/features.php:183
-msgid "Ability to reply on selected comment"
+#: ../../Zotlabs/Module/Admin/Security.php:102
+msgid "Provide a cloud root directory"
msgstr ""
-#: ../../include/features.php:192 ../../Zotlabs/Lib/Apps.php:347
-msgid "Directory"
+#: ../../Zotlabs/Module/Admin/Security.php:102
+msgid ""
+"The cloud root directory lists all channel names which provide public files"
msgstr ""
-#: ../../include/features.php:196
-msgid "Advanced Directory Search"
+#: ../../Zotlabs/Module/Admin/Security.php:103
+msgid "Show total disk space available to cloud uploads"
msgstr ""
-#: ../../include/features.php:197
-msgid "Allows creation of complex directory search queries"
+#: ../../Zotlabs/Module/Admin/Security.php:104
+msgid "Set \"Transport Security\" HTTP header"
msgstr ""
-#: ../../include/features.php:206
-msgid "Editor"
+#: ../../Zotlabs/Module/Admin/Security.php:105
+msgid "Set \"Content Security Policy\" HTTP header"
msgstr ""
-#: ../../include/features.php:210
-msgid "Post Categories"
+#: ../../Zotlabs/Module/Admin/Security.php:106
+msgid "Allowed email domains"
msgstr ""
-#: ../../include/features.php:211
-msgid "Add categories to your posts"
+#: ../../Zotlabs/Module/Admin/Security.php:106
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
msgstr ""
-#: ../../include/features.php:219
-msgid "Large Photos"
+#: ../../Zotlabs/Module/Admin/Security.php:107
+msgid "Not allowed email domains"
msgstr ""
-#: ../../include/features.php:220
+#: ../../Zotlabs/Module/Admin/Security.php:107
msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
+"Comma separated list of domains which are not allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
msgstr ""
-#: ../../include/features.php:227
-msgid "Even More Encryption"
+#: ../../Zotlabs/Module/Admin/Security.php:108
+msgid "Allow communications only from these sites"
msgstr ""
-#: ../../include/features.php:228
+#: ../../Zotlabs/Module/Admin/Security.php:108
msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
msgstr ""
-#: ../../include/features.php:235
-msgid "Disable Comments"
+#: ../../Zotlabs/Module/Admin/Security.php:109
+msgid "Block communications from these sites"
msgstr ""
-#: ../../include/features.php:236
-msgid "Provide the option to disable comments for a post"
+#: ../../Zotlabs/Module/Admin/Security.php:110
+msgid "Allow communications only from these channels"
msgstr ""
-#: ../../include/features.php:243
-msgid "Delayed Posting"
+#: ../../Zotlabs/Module/Admin/Security.php:110
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by default"
msgstr ""
-#: ../../include/features.php:244
-msgid "Allow posts to be published at a later date"
+#: ../../Zotlabs/Module/Admin/Security.php:111
+msgid "Block communications from these channels"
msgstr ""
-#: ../../include/features.php:251
-msgid "Content Expiration"
+#: ../../Zotlabs/Module/Admin/Security.php:112
+msgid "Only allow embeds from secure (SSL) websites and links."
msgstr ""
-#: ../../include/features.php:252
-msgid "Remove posts/comments and/or private messages at a future time"
+#: ../../Zotlabs/Module/Admin/Security.php:113
+msgid "Allow unfiltered embedded HTML content only from these domains"
msgstr ""
-#: ../../include/features.php:259
-msgid "Suppress Duplicate Posts/Comments"
+#: ../../Zotlabs/Module/Admin/Security.php:113
+msgid "One site per line. By default embedded content is filtered."
msgstr ""
-#: ../../include/features.php:260
-msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
+#: ../../Zotlabs/Module/Admin/Security.php:114
+msgid "Block embedded HTML from these domains"
msgstr ""
-#: ../../include/features.php:267
-msgid "Auto-save drafts of posts and comments"
+#: ../../Zotlabs/Module/Admin/Security.php:115
+msgid "Allow SVG thumbnails in file browser"
msgstr ""
-#: ../../include/features.php:268
-msgid ""
-"Automatically saves post and comment drafts in local browser storage to help "
-"prevent accidental loss of compositions"
+#: ../../Zotlabs/Module/Admin/Security.php:115
+msgid "WARNING: SVG images may contain malicious code."
msgstr ""
-#: ../../include/features.php:277
-msgid "Manage"
+#: ../../Zotlabs/Module/Admin/Security.php:116
+msgid "Allow embedded (inline) PDF files"
msgstr ""
-#: ../../include/features.php:281
-msgid "Navigation Channel Select"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Accounts.php:37
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/features.php:282
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Accounts.php:44
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/features.php:291 ../../Zotlabs/Module/Connections.php:332
-msgid "Network"
+#: ../../Zotlabs/Module/Admin/Accounts.php:80
+msgid "Account not found"
msgstr ""
-#: ../../include/features.php:295
-msgid "Events Filter"
+#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2757
+#, php-format
+msgid "Account '%s' deleted"
msgstr ""
-#: ../../include/features.php:296
-msgid "Ability to display only events"
+#: ../../Zotlabs/Module/Admin/Accounts.php:99
+#, php-format
+msgid "Account '%s' blocked"
msgstr ""
-#: ../../include/features.php:303
-msgid "Polls Filter"
+#: ../../Zotlabs/Module/Admin/Accounts.php:107
+#, php-format
+msgid "Account '%s' unblocked"
msgstr ""
-#: ../../include/features.php:304
-msgid "Ability to display only polls"
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+#: ../../Zotlabs/Module/Admin/Channels.php:148
+msgid "select all"
msgstr ""
-#: ../../include/features.php:311 ../../Zotlabs/Widget/Savedsearch.php:83
-msgid "Saved Searches"
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Registrations waiting for confirm"
msgstr ""
-#: ../../include/features.php:312
-msgid "Save search terms for re-use"
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "Request date"
msgstr ""
-#: ../../include/features.php:319 ../../include/contact_widgets.php:53
-#: ../../Zotlabs/Widget/Activity_filter.php:179
-#: ../../Zotlabs/Widget/Filer.php:28
-msgid "Saved Folders"
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+msgid "No registrations."
msgstr ""
-#: ../../include/features.php:320
-msgid "Ability to file posts under folders"
+#: ../../Zotlabs/Module/Admin/Accounts.php:182
+msgid "ID"
msgstr ""
-#: ../../include/features.php:327
-msgid "Alternate Stream Order"
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "All Channels"
msgstr ""
-#: ../../include/features.php:328
-msgid ""
-"Ability to order the stream by last post date, last comment date or "
-"unthreaded activities"
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Register date"
msgstr ""
-#: ../../include/features.php:335
-msgid "Contact Filter"
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Last login"
msgstr ""
-#: ../../include/features.php:336
-msgid "Ability to display only posts of a selected contact"
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Expires"
msgstr ""
-#: ../../include/features.php:343
-msgid "Forum Filter"
+#: ../../Zotlabs/Module/Admin/Accounts.php:188
+msgid "Service Class"
msgstr ""
-#: ../../include/features.php:344
-msgid "Ability to display only posts of a specific forum"
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
+"on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../include/features.php:351
-msgid "Personal Posts Filter"
+#: ../../Zotlabs/Module/Admin/Accounts.php:191
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../include/features.php:352
-msgid "Ability to display only posts that you've interacted on"
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55
+msgid "Off"
msgstr ""
-#: ../../include/features.php:369 ../../include/nav.php:444
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345
-msgid "Photos"
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55
+msgid "On"
msgstr ""
-#: ../../include/features.php:373
-msgid "Photo Location"
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
msgstr ""
-#: ../../include/features.php:374
-msgid "If location data is available on uploaded photos, link this to a map."
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
msgstr ""
-#: ../../include/features.php:383 ../../Zotlabs/Lib/Apps.php:363
-msgid "Profiles"
+#: ../../Zotlabs/Module/Admin/Queue.php:35
+msgid "Queue Statistics"
msgstr ""
-#: ../../include/features.php:387
-msgid "Advanced Profiles"
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Total Entries"
msgstr ""
-#: ../../include/features.php:388
-msgid "Additional profile sections and selections"
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Priority"
msgstr ""
-#: ../../include/features.php:395
-msgid "Profile Import/Export"
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Destination URL"
msgstr ""
-#: ../../include/features.php:396
-msgid "Save and load profile details across sites/channels"
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Mark hub permanently offline"
msgstr ""
-#: ../../include/features.php:403
-msgid "Multiple Profiles"
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Empty queue for this hub"
msgstr ""
-#: ../../include/features.php:404
-msgid "Ability to create multiple profiles"
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Last known contact"
msgstr ""
-#: ../../include/security.php:609
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Update has been marked successful"
msgstr ""
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#, php-format
+msgid "Verification of update %s failed. Check system logs."
msgstr ""
-#: ../../include/js_strings.php:6 ../../Zotlabs/Module/Photos.php:1096
-#: ../../Zotlabs/Module/Photos.php:1214 ../../Zotlabs/Lib/ThreadItem.php:824
-msgid "Comment"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:35
+#: ../../Zotlabs/Module/Admin/Dbsync.php:74
+#, php-format
+msgid "Update %s was successfully applied."
msgstr ""
-#: ../../include/js_strings.php:7 ../../Zotlabs/Lib/ThreadItem.php:533
+#: ../../Zotlabs/Module/Admin/Dbsync.php:39
#, php-format
-msgid "%s show all"
+msgid "Verifying update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../include/js_strings.php:8
+#: ../../Zotlabs/Module/Admin/Dbsync.php:42
#, php-format
-msgid "%s show less"
+msgid "Update %s does not contain a verification function."
msgstr ""
-#: ../../include/js_strings.php:9
+#: ../../Zotlabs/Module/Admin/Dbsync.php:46
+#: ../../Zotlabs/Module/Admin/Dbsync.php:81
#, php-format
-msgid "%s expand"
+msgid "Update function %s could not be found."
msgstr ""
-#: ../../include/js_strings.php:10
+#: ../../Zotlabs/Module/Admin/Dbsync.php:71
#, php-format
-msgid "%s collapse"
+msgid "Executing update procedure %s failed. Check system logs."
msgstr ""
-#: ../../include/js_strings.php:11
-msgid "Password too short"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:78
+#, php-format
+msgid ""
+"Update %s did not return a status. It cannot be determined if it was "
+"successful."
msgstr ""
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:99
+msgid "Failed Updates"
msgstr ""
-#: ../../include/js_strings.php:13
-msgid "everybody"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:101
+msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:102
+msgid "Attempt to verify this update if a verification procedure exists"
msgstr ""
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:103
+msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
+#: ../../Zotlabs/Module/Admin/Dbsync.php:108
+msgid "No failed updates."
msgstr ""
-#: ../../include/js_strings.php:17
-msgid "close all"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Channels.php:31
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Channels.php:40
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Channels.php:46
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/js_strings.php:20 ../../Zotlabs/Module/Rate.php:155
-#: ../../Zotlabs/Module/Connedit.php:890
-msgid "Rating"
+#: ../../Zotlabs/Module/Admin/Channels.php:65
+msgid "Channel not found"
msgstr ""
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
+#: ../../Zotlabs/Module/Admin/Channels.php:75
+#, php-format
+msgid "Channel '%s' deleted"
msgstr ""
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
+#: ../../Zotlabs/Module/Admin/Channels.php:87
+#, php-format
+msgid "Channel '%s' censored"
msgstr ""
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
+#: ../../Zotlabs/Module/Admin/Channels.php:87
+#, php-format
+msgid "Channel '%s' uncensored"
msgstr ""
-#: ../../include/js_strings.php:25 ../../Zotlabs/Module/Pubsites.php:52
-#: ../../Zotlabs/Module/Cdav.php:1011 ../../Zotlabs/Module/Events.php:483
-#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736
-#: ../../Zotlabs/Module/Locs.php:121
-msgid "Location"
+#: ../../Zotlabs/Module/Admin/Channels.php:98
+#, php-format
+msgid "Channel '%s' code allowed"
msgstr ""
-#: ../../include/js_strings.php:26
-msgid "lovely"
+#: ../../Zotlabs/Module/Admin/Channels.php:98
+#, php-format
+msgid "Channel '%s' code disallowed"
msgstr ""
-#: ../../include/js_strings.php:27
-msgid "wonderful"
+#: ../../Zotlabs/Module/Admin/Channels.php:150
+#: ../../Zotlabs/Module/Directory.php:362
+msgid "Censor"
msgstr ""
-#: ../../include/js_strings.php:28
-msgid "fantastic"
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Directory.php:362
+msgid "Uncensor"
msgstr ""
-#: ../../include/js_strings.php:29
-msgid "great"
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "Allow Code"
msgstr ""
-#: ../../include/js_strings.php:30
-msgid ""
-"Your chosen nickname was either already taken or not valid. Please use our "
-"suggestion ("
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+msgid "Disallow Code"
msgstr ""
-#: ../../include/js_strings.php:31
-msgid ") or enter a new one."
+#: ../../Zotlabs/Module/Admin/Channels.php:154 ../../include/nav.php:421
+msgid "Channel"
msgstr ""
-#: ../../include/js_strings.php:32
-msgid "Thank you, this nickname is valid."
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+msgid "UID"
msgstr ""
-#: ../../include/js_strings.php:33
-msgid "A channel name is required."
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../include/js_strings.php:34
-msgid "This is a "
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../include/js_strings.php:35
-msgid " channel name"
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
msgstr ""
-#: ../../include/js_strings.php:36
-msgid "Back to reply"
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../Zotlabs/Widget/Admin.php:48
+#: ../../Zotlabs/Widget/Admin.php:58
+msgid "Logs"
msgstr ""
-#: ../../include/js_strings.php:37
-msgid "Pinned"
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
msgstr ""
-#: ../../include/js_strings.php:38 ../../Zotlabs/Lib/ThreadItem.php:471
-msgid "Pin to the top"
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
msgstr ""
-#: ../../include/js_strings.php:39 ../../Zotlabs/Widget/Pinned.php:157
-#: ../../Zotlabs/Lib/ThreadItem.php:471
-msgid "Unpin from the top"
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
msgstr ""
-#: ../../include/js_strings.php:45
-#, php-format
-msgid "%d minutes"
-msgid_plural "%d minutes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/js_strings.php:46
-#, php-format
-msgid "about %d hours"
-msgid_plural "about %d hours"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr ""
-#: ../../include/js_strings.php:47
-#, php-format
-msgid "%d days"
-msgid_plural "%d days"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr ""
-#: ../../include/js_strings.php:48
+#: ../../Zotlabs/Module/Admin/Account_edit.php:29
#, php-format
-msgid "%d months"
-msgid_plural "%d months"
-msgstr[0] ""
-msgstr[1] ""
+msgid "Password changed for account %d."
+msgstr ""
-#: ../../include/js_strings.php:49
-#, php-format
-msgid "%d years"
-msgid_plural "%d years"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Admin/Account_edit.php:46
+msgid "Account settings updated."
+msgstr ""
-#: ../../include/js_strings.php:54
-msgid "timeago.prefixAgo"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:61
+msgid "Account not found."
msgstr ""
-#: ../../include/js_strings.php:55
-msgid "timeago.prefixFromNow"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:68
+msgid "Account Edit"
msgstr ""
-#: ../../include/js_strings.php:56
-msgid "timeago.suffixAgo"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:69
+msgid "New Password"
msgstr ""
-#: ../../include/js_strings.php:57
-msgid "timeago.suffixFromNow"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:70
+msgid "New Password again"
msgstr ""
-#: ../../include/js_strings.php:60
-msgid "less than a minute"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:71
+msgid "Account language (for emails)"
msgstr ""
-#: ../../include/js_strings.php:61
-msgid "about a minute"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:72
+msgid "Service class"
msgstr ""
-#: ../../include/js_strings.php:63
-msgid "about an hour"
+#: ../../Zotlabs/Module/Admin/Addons.php:290
+#, php-format
+msgid "Plugin %s disabled."
msgstr ""
-#: ../../include/js_strings.php:65
-msgid "a day"
+#: ../../Zotlabs/Module/Admin/Addons.php:295
+#, php-format
+msgid "Plugin %s enabled."
msgstr ""
-#: ../../include/js_strings.php:67
-msgid "about a month"
+#: ../../Zotlabs/Module/Admin/Addons.php:343
+#: ../../Zotlabs/Module/Admin/Addons.php:441 ../../Zotlabs/Widget/Admin.php:27
+msgid "Addons"
msgstr ""
-#: ../../include/js_strings.php:69
-msgid "about a year"
+#: ../../Zotlabs/Module/Admin/Addons.php:354
+msgid "Minimum project version: "
msgstr ""
-#: ../../include/js_strings.php:71
-msgid " "
+#: ../../Zotlabs/Module/Admin/Addons.php:355
+msgid "Maximum project version: "
msgstr ""
-#: ../../include/js_strings.php:72
-msgid "timeago.numbers"
+#: ../../Zotlabs/Module/Admin/Addons.php:356
+msgid "Minimum PHP version: "
msgstr ""
-#: ../../include/js_strings.php:78
-msgctxt "long"
-msgid "May"
+#: ../../Zotlabs/Module/Admin/Addons.php:357
+msgid "Compatible Server Roles: "
msgstr ""
-#: ../../include/js_strings.php:86
-msgid "Jan"
+#: ../../Zotlabs/Module/Admin/Addons.php:358
+msgid "Requires: "
msgstr ""
-#: ../../include/js_strings.php:87
-msgid "Feb"
+#: ../../Zotlabs/Module/Admin/Addons.php:359
+#: ../../Zotlabs/Module/Admin/Addons.php:446
+msgid "Disabled - version incompatibility"
msgstr ""
-#: ../../include/js_strings.php:88
-msgid "Mar"
+#: ../../Zotlabs/Module/Admin/Addons.php:415
+msgid "Enter the public git repository URL of the addon repo."
msgstr ""
-#: ../../include/js_strings.php:89
-msgid "Apr"
+#: ../../Zotlabs/Module/Admin/Addons.php:416
+msgid "Addon repo git URL"
msgstr ""
-#: ../../include/js_strings.php:90
-msgctxt "short"
-msgid "May"
+#: ../../Zotlabs/Module/Admin/Addons.php:417
+msgid "Custom repo name"
msgstr ""
-#: ../../include/js_strings.php:91
-msgid "Jun"
+#: ../../Zotlabs/Module/Admin/Addons.php:417
+msgid "(optional)"
msgstr ""
-#: ../../include/js_strings.php:92
-msgid "Jul"
+#: ../../Zotlabs/Module/Admin/Addons.php:418
+msgid "Download Addon Repo"
msgstr ""
-#: ../../include/js_strings.php:93
-msgid "Aug"
+#: ../../Zotlabs/Module/Admin/Addons.php:425
+msgid "Install new repo"
msgstr ""
-#: ../../include/js_strings.php:94
-msgid "Sep"
+#: ../../Zotlabs/Module/Admin/Addons.php:426 ../../Zotlabs/Lib/Apps.php:536
+msgid "Install"
msgstr ""
-#: ../../include/js_strings.php:95
-msgid "Oct"
+#: ../../Zotlabs/Module/Admin/Addons.php:449
+msgid "Manage Repos"
msgstr ""
-#: ../../include/js_strings.php:96
-msgid "Nov"
+#: ../../Zotlabs/Module/Admin/Addons.php:450
+msgid "Installed Addon Repositories"
msgstr ""
-#: ../../include/js_strings.php:97
-msgid "Dec"
+#: ../../Zotlabs/Module/Admin/Addons.php:451
+msgid "Install a New Addon Repository"
msgstr ""
-#: ../../include/js_strings.php:105
-msgid "Sun"
+#: ../../Zotlabs/Module/Admin/Addons.php:458
+msgid "Switch branch"
msgstr ""
-#: ../../include/js_strings.php:106
-msgid "Mon"
+#: ../../Zotlabs/Module/Admin/Site.php:165
+msgid "Site settings updated."
msgstr ""
-#: ../../include/js_strings.php:107
-msgid "Tue"
+#: ../../Zotlabs/Module/Admin/Site.php:191 ../../include/text.php:3381
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:335
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:359
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:435
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:459
+#: ../../view/theme/redbasic/php/config.php:15
+msgid "Default"
msgstr ""
-#: ../../include/js_strings.php:108
-msgid "Wed"
+#: ../../Zotlabs/Module/Admin/Site.php:202
+#: ../../Zotlabs/Module/Settings/Display.php:118
+#, php-format
+msgid "%s - (Incompatible)"
msgstr ""
-#: ../../include/js_strings.php:109
-msgid "Thu"
+#: ../../Zotlabs/Module/Admin/Site.php:209
+msgid "mobile"
msgstr ""
-#: ../../include/js_strings.php:110
-msgid "Fri"
+#: ../../Zotlabs/Module/Admin/Site.php:211
+msgid "experimental"
msgstr ""
-#: ../../include/js_strings.php:111
-msgid "Sat"
+#: ../../Zotlabs/Module/Admin/Site.php:213
+msgid "unsupported"
msgstr ""
-#: ../../include/js_strings.php:112
-msgctxt "calendar"
-msgid "today"
+#: ../../Zotlabs/Module/Admin/Site.php:260
+msgid "Yes - with approval"
msgstr ""
-#: ../../include/js_strings.php:113
-msgctxt "calendar"
-msgid "month"
+#: ../../Zotlabs/Module/Admin/Site.php:266
+msgid "My site is not a public server"
msgstr ""
-#: ../../include/js_strings.php:114
-msgctxt "calendar"
-msgid "week"
+#: ../../Zotlabs/Module/Admin/Site.php:267
+msgid "My site has paid access only"
msgstr ""
-#: ../../include/js_strings.php:115
-msgctxt "calendar"
-msgid "day"
+#: ../../Zotlabs/Module/Admin/Site.php:268
+msgid "My site has free access only"
msgstr ""
-#: ../../include/js_strings.php:116
-msgctxt "calendar"
-msgid "All day"
+#: ../../Zotlabs/Module/Admin/Site.php:269
+msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../include/help.php:80
-msgid "Help:"
+#: ../../Zotlabs/Module/Admin/Site.php:283
+msgid "Default permission role for new accounts"
msgstr ""
-#: ../../include/help.php:117 ../../include/help.php:125
-#: ../../include/nav.php:174 ../../include/nav.php:320
-#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348
-msgid "Help"
+#: ../../Zotlabs/Module/Admin/Site.php:283
+msgid ""
+"This role will be used for the first channel created after registration."
msgstr ""
-#: ../../include/help.php:129
-msgid "Not Found"
+#: ../../Zotlabs/Module/Admin/Site.php:292 ../../Zotlabs/Widget/Admin.php:22
+msgid "Site"
msgstr ""
-#: ../../include/help.php:132 ../../Zotlabs/Module/Display.php:139
-#: ../../Zotlabs/Module/Display.php:156 ../../Zotlabs/Module/Display.php:176
-#: ../../Zotlabs/Module/Display.php:182 ../../Zotlabs/Module/Page.php:136
-#: ../../Zotlabs/Module/Block.php:77 ../../Zotlabs/Lib/NativeWikiPage.php:521
-#: ../../Zotlabs/Web/Router.php:185
-msgid "Page not found."
+#: ../../Zotlabs/Module/Admin/Site.php:294
+#: ../../Zotlabs/Module/Register.php:277
+msgid "Registration"
msgstr ""
-#: ../../include/photos.php:151
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "File upload"
msgstr ""
-#: ../../include/photos.php:162
-msgid "Image file is empty."
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid "Policies"
msgstr ""
-#: ../../include/photos.php:196 ../../Zotlabs/Module/Profile_photo.php:261
-#: ../../Zotlabs/Module/Cover_photo.php:241
-msgid "Unable to process image"
+#: ../../Zotlabs/Module/Admin/Site.php:297 ../../include/contact_widgets.php:16
+#: ../../include/acl_selectors.php:144
+msgid "Advanced"
msgstr ""
-#: ../../include/photos.php:324
-msgid "Photo storage failed."
+#: ../../Zotlabs/Module/Admin/Site.php:301
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:593
+msgid "Site name"
msgstr ""
-#: ../../include/photos.php:373
-msgid "a new photo"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Banner/Logo"
msgstr ""
-#: ../../include/photos.php:377
-#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Unfiltered HTML/CSS/JS is allowed"
msgstr ""
-#: ../../include/photos.php:666 ../../include/nav.php:447
-msgid "Photo Albums"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Administrator Information"
msgstr ""
-#: ../../include/photos.php:667 ../../Zotlabs/Module/Photos.php:1347
-#: ../../Zotlabs/Module/Photos.php:1360 ../../Zotlabs/Module/Photos.php:1361
-msgid "Recent Photos"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
msgstr ""
-#: ../../include/photos.php:671
-msgid "Upload New Photos"
+#: ../../Zotlabs/Module/Admin/Site.php:305 ../../Zotlabs/Module/Siteinfo.php:24
+msgid "Site Information"
msgstr ""
-#: ../../include/network.php:1730 ../../include/network.php:1731
-msgid "Friendica"
+#: ../../Zotlabs/Module/Admin/Site.php:305
+msgid ""
+"Publicly visible description of this site. Displayed on siteinfo page. "
+"BBCode can be used here"
msgstr ""
-#: ../../include/network.php:1732
-msgid "OStatus"
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "System language"
msgstr ""
-#: ../../include/network.php:1733
-msgid "GNU-Social"
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid "System theme"
msgstr ""
-#: ../../include/network.php:1734
-msgid "RSS/Atom"
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../include/network.php:1737
-msgid "Diaspora"
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Allow Feeds as Connections"
msgstr ""
-#: ../../include/network.php:1738
-msgid "Facebook"
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "(Heavy system resource usage)"
msgstr ""
-#: ../../include/network.php:1739
-msgid "Zot"
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Maximum image size"
msgstr ""
-#: ../../include/network.php:1740
-msgid "LinkedIn"
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
msgstr ""
-#: ../../include/network.php:1741
-msgid "XMPP/IM"
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Does this site allow new member registration?"
msgstr ""
-#: ../../include/network.php:1742
-msgid "MySpace"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Invitation only"
msgstr ""
-#: ../../include/activities.php:42
-msgid " and "
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
msgstr ""
-#: ../../include/activities.php:50
-msgid "public profile"
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age"
msgstr ""
-#: ../../include/activities.php:59
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age (in years) for who may register on this site."
msgstr ""
-#: ../../include/activities.php:60
-#, php-format
-msgid "Visit %1$s's %2$s"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Which best describes the types of account offered by this hub?"
msgstr ""
-#: ../../include/activities.php:63
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "This is displayed on the public server site list."
msgstr ""
-#: ../../include/contact_widgets.php:11
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Register text"
+msgstr ""
-#: ../../include/contact_widgets.php:16 ../../include/acl_selectors.php:135
-#: ../../Zotlabs/Module/Admin/Site.php:291
-msgid "Advanced"
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid "Site homepage to show visitors (default: login box)"
msgstr ""
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid ""
+"example: 'pubstream' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
msgstr ""
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid "Preserve site homepage URL"
msgstr ""
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
msgstr ""
-#: ../../include/contact_widgets.php:23 ../../Zotlabs/Module/Directory.php:431
-#: ../../Zotlabs/Module/Directory.php:436
-#: ../../Zotlabs/Module/Connections.php:381
-msgid "Find"
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../include/contact_widgets.php:24 ../../Zotlabs/Module/Directory.php:435
-#: ../../Zotlabs/Module/Suggest.php:79
-msgid "Channel Suggestions"
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid "Allowed friend domains"
msgstr ""
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr ""
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid "Verify Email Addresses"
msgstr ""
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:99
-#: ../../include/contact_widgets.php:142 ../../include/contact_widgets.php:187
-#: ../../Zotlabs/Widget/Appcategories.php:46 ../../Zotlabs/Widget/Filer.php:31
-msgid "Everything"
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
msgstr ""
-#: ../../include/contact_widgets.php:96 ../../include/contact_widgets.php:139
-#: ../../include/contact_widgets.php:184 ../../include/taxonomy.php:409
-#: ../../include/taxonomy.php:491 ../../include/taxonomy.php:511
-#: ../../include/taxonomy.php:532 ../../Zotlabs/Widget/Appcategories.php:43
-#: ../../Zotlabs/Module/Cdav.php:1066
-msgid "Categories"
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid "Force publish"
msgstr ""
-#: ../../include/contact_widgets.php:218
-msgid "Common Connections"
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../include/contact_widgets.php:222
-#, php-format
-msgid "View all %d common connections"
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid "Import Public Streams"
msgstr ""
-#: ../../include/language.php:437
-msgid "Select an alternate language"
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
msgstr ""
-#: ../../include/import.php:29
-msgid "Unable to import a removed channel."
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid "Site only Public Streams"
msgstr ""
-#: ../../include/import.php:55
+#: ../../Zotlabs/Module/Admin/Site.php:325
msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
+"Allow access to public content originating only from this site if Imported "
+"Public Streams are disabled."
msgstr ""
-#: ../../include/import.php:121
-msgid "Cloned channel not found. Import failed."
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid "Allow anybody on the internet to access the Public streams"
msgstr ""
-#: ../../include/nav.php:92
-msgid "Remote authentication"
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid ""
+"Disable to require authentication before viewing. Warning: this content is "
+"unmoderated."
msgstr ""
-#: ../../include/nav.php:92
-msgid "Click to authenticate to your home hub"
+#: ../../Zotlabs/Module/Admin/Site.php:327
+msgid "Only import Public stream posts with this text"
msgstr ""
-#: ../../include/nav.php:98 ../../Zotlabs/Module/Manage.php:170
-#: ../../Zotlabs/Lib/Apps.php:337
-msgid "Channel Manager"
+#: ../../Zotlabs/Module/Admin/Site.php:328
+msgid "Do not import Public stream posts with this text"
msgstr ""
-#: ../../include/nav.php:98
-msgid "Manage your channels"
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid "Login on Homepage"
msgstr ""
-#: ../../include/nav.php:101 ../../include/group.php:321
-#: ../../include/acl_selectors.php:87
-#: ../../Zotlabs/Widget/Activity_filter.php:82
-#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154
-#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364
-msgid "Privacy Groups"
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
msgstr ""
-#: ../../include/nav.php:101
-msgid "Manage your privacy groups"
+#: ../../Zotlabs/Module/Admin/Site.php:332
+msgid "Enable context help"
msgstr ""
-#: ../../include/nav.php:103 ../../Zotlabs/Widget/Settings_menu.php:61
-#: ../../Zotlabs/Widget/Newmember.php:53
-#: ../../Zotlabs/Module/Admin/Themes.php:125
-#: ../../Zotlabs/Module/Admin/Addons.php:345 ../../Zotlabs/Lib/Apps.php:339
-msgid "Settings"
+#: ../../Zotlabs/Module/Admin/Site.php:332
+msgid ""
+"Display contextual help for the current page when the help button is pressed."
msgstr ""
-#: ../../include/nav.php:103
-msgid "Account/Channel Settings"
+#: ../../Zotlabs/Module/Admin/Site.php:334
+msgid "Reply-to email address for system generated email."
msgstr ""
-#: ../../include/nav.php:109 ../../include/nav.php:138
-#: ../../include/nav.php:157 ../../boot.php:1697
-msgid "Logout"
+#: ../../Zotlabs/Module/Admin/Site.php:335
+msgid "Sender (From) email address for system generated email."
msgstr ""
-#: ../../include/nav.php:109 ../../include/nav.php:138
-msgid "End this session"
+#: ../../Zotlabs/Module/Admin/Site.php:336
+msgid "Name of email sender for system generated email."
msgstr ""
-#: ../../include/nav.php:112
-msgid "Your profile page"
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid "Directory Server URL"
msgstr ""
-#: ../../include/nav.php:115 ../../include/channel.php:1524
-#: ../../Zotlabs/Module/Profiles.php:832
-msgid "Edit Profiles"
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid "Default directory server"
msgstr ""
-#: ../../include/nav.php:115
-msgid "Manage/Edit profiles"
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid "Enable SSE Notifications"
msgstr ""
-#: ../../include/nav.php:117 ../../Zotlabs/Widget/Newmember.php:35
-msgid "Edit your profile"
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid ""
+"If disabled, traditional polling will be used. Warning: this setting might "
+"not be suited for shared hosting"
msgstr ""
-#: ../../include/nav.php:124 ../../include/nav.php:128
-#: ../../Zotlabs/Lib/Apps.php:336 ../../boot.php:1698
-msgid "Login"
+#: ../../Zotlabs/Module/Admin/Site.php:342
+msgid "Proxy user"
msgstr ""
-#: ../../include/nav.php:124 ../../include/nav.php:128
-msgid "Sign in"
+#: ../../Zotlabs/Module/Admin/Site.php:343
+msgid "Proxy URL"
msgstr ""
-#: ../../include/nav.php:155
-msgid "Take me home"
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid "Network timeout"
msgstr ""
-#: ../../include/nav.php:157
-msgid "Log me out of this site"
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../include/nav.php:162 ../../Zotlabs/Module/Register.php:293
-#: ../../boot.php:1678
-msgid "Register"
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid "Delivery interval"
msgstr ""
-#: ../../include/nav.php:162
-msgid "Create an account"
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
msgstr ""
-#: ../../include/nav.php:174
-msgid "Help and documentation"
+#: ../../Zotlabs/Module/Admin/Site.php:346
+msgid "Deliveries per process"
msgstr ""
-#: ../../include/nav.php:188
-msgid "Search site @name, !forum, #tag, ?docs, content"
+#: ../../Zotlabs/Module/Admin/Site.php:346
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust "
+"if necessary to tune system performance. Recommend: 1-5."
msgstr ""
-#: ../../include/nav.php:194 ../../Zotlabs/Widget/Admin.php:55
-msgid "Admin"
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid "Queue Threshold"
msgstr ""
-#: ../../include/nav.php:194
-msgid "Site Setup and Configuration"
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid ""
+"Always defer immediate delivery if queue contains more than this number of "
+"entries."
msgstr ""
-#: ../../include/nav.php:324 ../../Zotlabs/Widget/Notifications.php:182
-#: ../../Zotlabs/Module/New_channel.php:157
-#: ../../Zotlabs/Module/New_channel.php:164
-#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:872
-msgid "Loading"
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Poll interval"
msgstr ""
-#: ../../include/nav.php:330
-msgid "@name, !forum, #tag, ?doc, content"
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
msgstr ""
-#: ../../include/nav.php:331
-msgid "Please wait..."
+#: ../../Zotlabs/Module/Admin/Site.php:349
+msgid "Path to ImageMagick convert program"
msgstr ""
-#: ../../include/nav.php:337
-msgid "Add Apps"
+#: ../../Zotlabs/Module/Admin/Site.php:349
+msgid ""
+"If set, use this program to generate photo thumbnails for huge images ( > "
+"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
+"Example: /usr/bin/convert"
msgstr ""
-#: ../../include/nav.php:338
-msgid "Arrange Apps"
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Maximum Load Average"
msgstr ""
-#: ../../include/nav.php:339
-msgid "Toggle System Apps"
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
msgstr ""
-#: ../../include/nav.php:421 ../../Zotlabs/Module/Admin/Channels.php:154
-msgid "Channel"
+#: ../../Zotlabs/Module/Admin/Site.php:351
+msgid "Expiration period in days for imported (grid/network) content"
msgstr ""
-#: ../../include/nav.php:424
-msgid "Status Messages and Posts"
+#: ../../Zotlabs/Module/Admin/Site.php:351
+msgid "0 for no expiration of imported content"
msgstr ""
-#: ../../include/nav.php:434 ../../Zotlabs/Module/Help.php:83
-msgid "About"
+#: ../../Zotlabs/Module/Admin/Site.php:352
+msgid ""
+"Do not expire any posts which have comments less than this many days ago"
msgstr ""
-#: ../../include/nav.php:437
-msgid "Profile Details"
+#: ../../Zotlabs/Module/Admin/Site.php:354
+msgid ""
+"Public servers: Optional landing (marketing) webpage for new registrants"
msgstr ""
-#: ../../include/nav.php:452 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:340 ../../Zotlabs/Storage/Browser.php:278
-msgid "Files"
+#: ../../Zotlabs/Module/Admin/Site.php:354
+#, php-format
+msgid "Create this page first. Default is %s/register"
msgstr ""
-#: ../../include/nav.php:455
-msgid "Files and Storage"
+#: ../../Zotlabs/Module/Admin/Site.php:355
+msgid "Page to display after creating a new channel"
msgstr ""
-#: ../../include/nav.php:477 ../../include/nav.php:480
-#: ../../Zotlabs/Widget/Chatroom_list.php:16 ../../Zotlabs/Lib/Apps.php:330
-msgid "Chatrooms"
+#: ../../Zotlabs/Module/Admin/Site.php:355
+msgid "Default: profiles"
msgstr ""
-#: ../../include/nav.php:490 ../../Zotlabs/Lib/Apps.php:329
-msgid "Bookmarks"
+#: ../../Zotlabs/Module/Admin/Site.php:357
+msgid "Optional: site location"
msgstr ""
-#: ../../include/nav.php:493
-msgid "Saved Bookmarks"
+#: ../../Zotlabs/Module/Admin/Site.php:357
+msgid "Region or country"
msgstr ""
-#: ../../include/nav.php:501 ../../Zotlabs/Module/Cards.php:207
-#: ../../Zotlabs/Lib/Apps.php:326
-msgid "Cards"
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "New Profile Field"
msgstr ""
-#: ../../include/nav.php:504
-msgid "View Cards"
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
+msgid "Field nickname"
msgstr ""
-#: ../../include/nav.php:512 ../../Zotlabs/Module/Articles.php:226
-#: ../../Zotlabs/Lib/Apps.php:325
-msgid "Articles"
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
+msgid "System name of field"
msgstr ""
-#: ../../include/nav.php:515
-msgid "View Articles"
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+#: ../../Zotlabs/Module/Admin/Profs.php:111
+msgid "Input type"
msgstr ""
-#: ../../include/nav.php:524 ../../Zotlabs/Module/Webpages.php:252
-#: ../../Zotlabs/Lib/Apps.php:341
-msgid "Webpages"
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
+msgid "Field Name"
msgstr ""
-#: ../../include/nav.php:527
-msgid "View Webpages"
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
+msgid "Label on profile pages"
msgstr ""
-#: ../../include/nav.php:536 ../../Zotlabs/Widget/Wiki_list.php:15
-#: ../../Zotlabs/Module/Wiki.php:206
-msgid "Wikis"
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
+msgid "Help text"
msgstr ""
-#: ../../include/nav.php:539 ../../Zotlabs/Lib/Apps.php:342
-msgid "Wiki"
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
+msgid "Additional info (optional)"
msgstr ""
-#: ../../include/auth.php:194
-msgid "Delegation session ended."
+#: ../../Zotlabs/Module/Admin/Profs.php:103
+msgid "Field definition not found"
msgstr ""
-#: ../../include/auth.php:198
-msgid "Logged out."
+#: ../../Zotlabs/Module/Admin/Profs.php:109
+msgid "Edit Profile Field"
msgstr ""
-#: ../../include/auth.php:294
-msgid "Email validation is incomplete. Please check your email."
+#: ../../Zotlabs/Module/Admin/Profs.php:168 ../../Zotlabs/Widget/Admin.php:30
+msgid "Profile Fields"
msgstr ""
-#: ../../include/auth.php:310
-msgid "Failed authentication"
+#: ../../Zotlabs/Module/Admin/Profs.php:169
+msgid "Basic Profile Fields"
msgstr ""
-#: ../../include/datetime.php:58 ../../Zotlabs/Widget/Newmember.php:51
-#: ../../Zotlabs/Module/Profiles.php:738
-msgid "Miscellaneous"
+#: ../../Zotlabs/Module/Admin/Profs.php:170
+msgid "Advanced Profile Fields"
msgstr ""
-#: ../../include/datetime.php:140
-msgid "Birthday"
+#: ../../Zotlabs/Module/Admin/Profs.php:170
+msgid "(In addition to basic fields)"
msgstr ""
-#: ../../include/datetime.php:140
-msgid "Age: "
+#: ../../Zotlabs/Module/Admin/Profs.php:172
+msgid "All available fields"
msgstr ""
-#: ../../include/datetime.php:140
-msgid "YYYY-MM-DD or MM-DD"
+#: ../../Zotlabs/Module/Admin/Profs.php:173
+msgid "Custom Fields"
msgstr ""
-#: ../../include/datetime.php:238 ../../boot.php:2702
-msgid "never"
+#: ../../Zotlabs/Module/Admin/Profs.php:177
+msgid "Create Custom Field"
msgstr ""
-#: ../../include/datetime.php:244
-msgid "less than a second ago"
+#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:55
+msgid "No more system notifications."
msgstr ""
-#: ../../include/datetime.php:262
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
+#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:59
+msgid "System Notifications"
msgstr ""
-#: ../../include/datetime.php:273
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Cal.php:64
+msgid "Permissions denied."
+msgstr ""
-#: ../../include/datetime.php:276
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Thing.php:122
+msgid "Thing updated"
+msgstr ""
-#: ../../include/datetime.php:279
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Thing.php:174
+msgid "Object store: failed"
+msgstr ""
-#: ../../include/datetime.php:282
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Thing.php:178
+msgid "Thing added"
+msgstr ""
-#: ../../include/datetime.php:285
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Thing.php:204
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr ""
-#: ../../include/datetime.php:288
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Thing.php:267
+msgid "Show Thing"
+msgstr ""
-#: ../../include/datetime.php:291
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Thing.php:274
+msgid "item not found."
+msgstr ""
-#: ../../include/datetime.php:520
-#, php-format
-msgid "%1$s's birthday"
+#: ../../Zotlabs/Module/Thing.php:307
+msgid "Edit Thing"
msgstr ""
-#: ../../include/datetime.php:521
-#, php-format
-msgid "Happy Birthday %1$s"
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:366
+msgid "Select a profile"
msgstr ""
-#: ../../include/cdav.php:157
-msgid "INVALID EVENT DISMISSED!"
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
+msgid "Post an activity"
msgstr ""
-#: ../../include/cdav.php:158
-msgid "Summary: "
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
+msgid "Only sends to viewers of the applicable profile"
msgstr ""
-#: ../../include/cdav.php:159
-msgid "Date: "
+#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:371
+msgid "Name of thing e.g. something"
msgstr ""
-#: ../../include/cdav.php:160 ../../include/cdav.php:168
-msgid "Reason: "
+#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:372
+msgid "URL of thing (optional)"
msgstr ""
-#: ../../include/cdav.php:166
-msgid "INVALID CARD DISMISSED!"
+#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:373
+msgid "URL for photo of thing (optional)"
msgstr ""
-#: ../../include/cdav.php:167
-msgid "Name: "
+#: ../../Zotlabs/Module/Thing.php:364
+msgid "Add Thing to your Profile"
msgstr ""
-#: ../../include/follow.php:37 ../../Zotlabs/Lib/Connect.php:46
-#: ../../Zotlabs/Lib/Connect.php:143
-msgid "Channel is blocked on this site."
+#: ../../Zotlabs/Module/Suggest.php:40
+msgid "Suggest Channels App"
msgstr ""
-#: ../../include/follow.php:42 ../../Zotlabs/Lib/Connect.php:51
-msgid "Channel location missing."
+#: ../../Zotlabs/Module/Suggest.php:41
+msgid ""
+"Suggestions for channels in the $Projectname network you might be interested "
+"in"
msgstr ""
-#: ../../include/follow.php:84
-msgid "Response from remote channel was incomplete."
+#: ../../Zotlabs/Module/Suggest.php:54
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
msgstr ""
-#: ../../include/follow.php:96
-msgid "Premium channel - please visit:"
+#: ../../Zotlabs/Module/Suggest.php:73 ../../Zotlabs/Widget/Suggestions.php:48
+msgid "Ignore/Hide"
msgstr ""
-#: ../../include/follow.php:110
-msgid "Channel was deleted and no longer exists."
+#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:437
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
msgstr ""
-#: ../../include/follow.php:166 ../../Zotlabs/Lib/Connect.php:103
-msgid "Remote channel or protocol unavailable."
+#: ../../Zotlabs/Module/Email_validation.php:36
+msgid "Email Verification Required"
msgstr ""
-#: ../../include/follow.php:190 ../../Zotlabs/Lib/Connect.php:137
-msgid "Channel discovery failed."
+#: ../../Zotlabs/Module/Email_validation.php:37
+#, php-format
+msgid ""
+"A verification token was sent to your email address [%s]. Enter that token "
+"here to complete the account verification step. Please allow a few minutes "
+"for delivery, and check your spam folder if you do not see the message."
msgstr ""
-#: ../../include/follow.php:202 ../../Zotlabs/Lib/Connect.php:155
-msgid "Protocol disabled."
+#: ../../Zotlabs/Module/Email_validation.php:38
+msgid "Resend Email"
msgstr ""
-#: ../../include/follow.php:213 ../../Zotlabs/Lib/Connect.php:167
-msgid "Cannot connect to yourself."
+#: ../../Zotlabs/Module/Email_validation.php:41
+msgid "Validation token"
msgstr ""
-#: ../../include/conversation.php:135 ../../Zotlabs/Module/Like.php:129
-msgid "channel"
+#: ../../Zotlabs/Module/Notes.php:57
+msgid "Notes App"
msgstr ""
-#: ../../include/conversation.php:183
-#, php-format
-msgid "likes %1$s's %2$s"
+#: ../../Zotlabs/Module/Notes.php:58
+msgid "A simple notes app with a widget (note: notes are not encrypted)"
msgstr ""
-#: ../../include/conversation.php:186
+#: ../../Zotlabs/Module/Tokens.php:39
#, php-format
-msgid "doesn't like %1$s's %2$s"
+msgid "This channel is limited to %d tokens"
msgstr ""
-#: ../../include/conversation.php:226 ../../include/conversation.php:228
-#, php-format
-msgid "%1$s is now connected with %2$s"
+#: ../../Zotlabs/Module/Tokens.php:45
+msgid "Name and Password are required."
msgstr ""
-#: ../../include/conversation.php:263
-#, php-format
-msgid "%1$s poked %2$s"
+#: ../../Zotlabs/Module/Tokens.php:85
+msgid "Token saved."
msgstr ""
-#: ../../include/conversation.php:286 ../../Zotlabs/Module/Mood.php:76
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
+#: ../../Zotlabs/Module/Tokens.php:99
+msgid "Guest Access App"
msgstr ""
-#: ../../include/conversation.php:515 ../../Zotlabs/Lib/ThreadItem.php:500
-msgid "This is an unsaved preview"
+#: ../../Zotlabs/Module/Tokens.php:100
+msgid "Create access tokens so that non-members can access private content"
msgstr ""
-#: ../../include/conversation.php:651 ../../Zotlabs/Module/Photos.php:1112
-msgctxt "title"
-msgid "Likes"
+#: ../../Zotlabs/Module/Tokens.php:133
+msgid ""
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
msgstr ""
-#: ../../include/conversation.php:652 ../../Zotlabs/Module/Photos.php:1112
-msgctxt "title"
-msgid "Dislikes"
+#: ../../Zotlabs/Module/Tokens.php:135
+msgid ""
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
msgstr ""
-#: ../../include/conversation.php:653 ../../Zotlabs/Widget/Pinned.php:77
-#: ../../Zotlabs/Module/Photos.php:1113
-msgctxt "title"
-msgid "Agree"
+#: ../../Zotlabs/Module/Tokens.php:170
+msgid "Guest Access Tokens"
msgstr ""
-#: ../../include/conversation.php:654 ../../Zotlabs/Widget/Pinned.php:78
-#: ../../Zotlabs/Module/Photos.php:1113
-msgctxt "title"
-msgid "Disagree"
+#: ../../Zotlabs/Module/Tokens.php:177
+msgid "Login Name"
msgstr ""
-#: ../../include/conversation.php:655 ../../Zotlabs/Widget/Pinned.php:79
-#: ../../Zotlabs/Module/Photos.php:1113
-msgctxt "title"
-msgid "Abstain"
+#: ../../Zotlabs/Module/Tokens.php:178
+msgid "Login Password"
msgstr ""
-#: ../../include/conversation.php:656 ../../Zotlabs/Widget/Pinned.php:66
-#: ../../Zotlabs/Module/Photos.php:1114
-msgctxt "title"
-msgid "Attending"
+#: ../../Zotlabs/Module/Tokens.php:179
+msgid "Expires (yyyy-mm-dd)"
msgstr ""
-#: ../../include/conversation.php:657 ../../Zotlabs/Widget/Pinned.php:67
-#: ../../Zotlabs/Module/Photos.php:1114
-msgctxt "title"
-msgid "Not attending"
+#: ../../Zotlabs/Module/Apporder.php:47
+msgid "Change Order of Pinned Navbar Apps"
msgstr ""
-#: ../../include/conversation.php:658 ../../Zotlabs/Widget/Pinned.php:68
-#: ../../Zotlabs/Module/Photos.php:1114
-msgctxt "title"
-msgid "Might attend"
+#: ../../Zotlabs/Module/Apporder.php:47
+msgid "Change Order of App Tray Apps"
msgstr ""
-#: ../../include/conversation.php:728 ../../Zotlabs/Lib/ThreadItem.php:180
-msgid "Select"
+#: ../../Zotlabs/Module/Apporder.php:48
+msgid ""
+"Use arrows to move the corresponding app left (top) or right (bottom) in the "
+"navbar"
msgstr ""
-#: ../../include/conversation.php:729 ../../include/conversation.php:774
-#: ../../Zotlabs/Module/Article_edit.php:128
-#: ../../Zotlabs/Module/Card_edit.php:129 ../../Zotlabs/Module/Oauth.php:174
-#: ../../Zotlabs/Module/Editwebpage.php:167 ../../Zotlabs/Module/Cdav.php:1052
-#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Webpages.php:257
-#: ../../Zotlabs/Module/Admin/Accounts.php:175
-#: ../../Zotlabs/Module/Admin/Channels.php:149
-#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Editblock.php:139
-#: ../../Zotlabs/Module/Editlayout.php:138
-#: ../../Zotlabs/Module/Connections.php:328
-#: ../../Zotlabs/Module/Photos.php:1178 ../../Zotlabs/Module/Profiles.php:802
-#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Thing.php:269
-#: ../../Zotlabs/Module/Connedit.php:671 ../../Zotlabs/Module/Connedit.php:943
-#: ../../Zotlabs/Lib/Apps.php:558 ../../Zotlabs/Lib/ThreadItem.php:170
-#: ../../Zotlabs/Storage/Browser.php:297
-msgid "Delete"
+#: ../../Zotlabs/Module/Apporder.php:48
+msgid "Use arrows to move the corresponding app up or down in the app tray"
msgstr ""
-#: ../../include/conversation.php:733 ../../Zotlabs/Lib/ThreadItem.php:273
-msgid "Toggle Star Status"
+#: ../../Zotlabs/Module/Notifications.php:60
+#: ../../Zotlabs/Lib/ThreadItem.php:482
+msgid "Mark all seen"
msgstr ""
-#: ../../include/conversation.php:738 ../../Zotlabs/Lib/ThreadItem.php:103
-msgid "Private Message"
+#: ../../Zotlabs/Module/Home.php:72 ../../Zotlabs/Module/Home.php:80
+#: ../../Zotlabs/Lib/Enotify.php:66
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:42
+msgid "$Projectname"
msgstr ""
-#: ../../include/conversation.php:745 ../../Zotlabs/Widget/Pinned.php:88
-#: ../../Zotlabs/Lib/ThreadItem.php:284
-msgid "Message signature validated"
+#: ../../Zotlabs/Module/Home.php:90
+#, php-format
+msgid "Welcome to %s"
msgstr ""
-#: ../../include/conversation.php:746 ../../Zotlabs/Widget/Pinned.php:89
-#: ../../Zotlabs/Lib/ThreadItem.php:285
-msgid "Message signature incorrect"
+#: ../../Zotlabs/Module/Articles.php:52
+msgid "Articles App"
msgstr ""
-#: ../../include/conversation.php:773
-#: ../../Zotlabs/Module/Admin/Accounts.php:173
-#: ../../Zotlabs/Module/Connections.php:342
-msgid "Approve"
+#: ../../Zotlabs/Module/Articles.php:53
+msgid "Create interactive articles"
msgstr ""
-#: ../../include/conversation.php:778
-#, php-format
-msgid "View %s's profile @ %s"
+#: ../../Zotlabs/Module/Articles.php:116
+msgid "Add Article"
msgstr ""
-#: ../../include/conversation.php:798
-msgid "Categories:"
+#: ../../Zotlabs/Module/Articles.php:226 ../../Zotlabs/Lib/Apps.php:325
+#: ../../include/nav.php:512
+msgid "Articles"
msgstr ""
-#: ../../include/conversation.php:799
-msgid "Filed under:"
+#: ../../Zotlabs/Module/Setup.php:167
+msgid "$Projectname Server - Setup"
msgstr ""
-#: ../../include/conversation.php:805 ../../Zotlabs/Widget/Pinned.php:133
-#: ../../Zotlabs/Lib/ThreadItem.php:429
-#, php-format
-msgid "from %s"
+#: ../../Zotlabs/Module/Setup.php:171
+msgid "Could not connect to database."
msgstr ""
-#: ../../include/conversation.php:808 ../../Zotlabs/Widget/Pinned.php:136
-#: ../../Zotlabs/Lib/ThreadItem.php:432
-#, php-format
-msgid "last edited: %s"
+#: ../../Zotlabs/Module/Setup.php:175
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
msgstr ""
-#: ../../include/conversation.php:809 ../../Zotlabs/Widget/Pinned.php:137
-#: ../../Zotlabs/Lib/ThreadItem.php:433
-#, php-format
-msgid "Expires: %s"
+#: ../../Zotlabs/Module/Setup.php:182
+msgid "Could not create table."
msgstr ""
-#: ../../include/conversation.php:824
-msgid "View in context"
+#: ../../Zotlabs/Module/Setup.php:188
+msgid "Your site database has been installed."
msgstr ""
-#: ../../include/conversation.php:826 ../../Zotlabs/Module/Photos.php:1078
-#: ../../Zotlabs/Lib/ThreadItem.php:501
-msgid "Please wait"
+#: ../../Zotlabs/Module/Setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
msgstr ""
-#: ../../include/conversation.php:925
-msgid "remove"
+#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259
+#: ../../Zotlabs/Module/Setup.php:766
+msgid "Please see the file \"install/INSTALL.txt\"."
msgstr ""
-#: ../../include/conversation.php:929
-msgid "Loading..."
+#: ../../Zotlabs/Module/Setup.php:256
+msgid "System check"
msgstr ""
-#: ../../include/conversation.php:930 ../../Zotlabs/Lib/ThreadItem.php:301
-msgid "Conversation Tools"
+#: ../../Zotlabs/Module/Setup.php:261
+msgid "Check again"
msgstr ""
-#: ../../include/conversation.php:931
-msgid "Delete Selected Items"
+#: ../../Zotlabs/Module/Setup.php:282
+msgid "Database connection"
msgstr ""
-#: ../../include/conversation.php:974
-msgid "View Source"
+#: ../../Zotlabs/Module/Setup.php:283
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
msgstr ""
-#: ../../include/conversation.php:984
-msgid "Follow Thread"
+#: ../../Zotlabs/Module/Setup.php:284
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
msgstr ""
-#: ../../include/conversation.php:993
-msgid "Unfollow Thread"
+#: ../../Zotlabs/Module/Setup.php:285
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
msgstr ""
-#: ../../include/conversation.php:1087 ../../Zotlabs/Module/Connedit.php:632
-msgid "Recent Activity"
+#: ../../Zotlabs/Module/Setup.php:289
+msgid "Database Server Name"
msgstr ""
-#: ../../include/conversation.php:1097 ../../include/connections.php:110
-#: ../../include/channel.php:1604 ../../Zotlabs/Widget/Suggestions.php:46
-#: ../../Zotlabs/Widget/Follow.php:32 ../../Zotlabs/Module/Directory.php:368
-#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71
-msgid "Connect"
+#: ../../Zotlabs/Module/Setup.php:289
+msgid "Default is 127.0.0.1"
msgstr ""
-#: ../../include/conversation.php:1107
-msgid "Edit Connection"
+#: ../../Zotlabs/Module/Setup.php:290
+msgid "Database Port"
msgstr ""
-#: ../../include/conversation.php:1117
-msgid "Message"
+#: ../../Zotlabs/Module/Setup.php:290
+msgid "Communication port number - use 0 for default"
msgstr ""
-#: ../../include/conversation.php:1127 ../../Zotlabs/Module/Pubsites.php:35
-#: ../../Zotlabs/Module/Ratings.php:97
-msgid "Ratings"
+#: ../../Zotlabs/Module/Setup.php:291
+msgid "Database Login Name"
msgstr ""
-#: ../../include/conversation.php:1137 ../../Zotlabs/Module/Poke.php:199
-#: ../../Zotlabs/Lib/Apps.php:351
-msgid "Poke"
+#: ../../Zotlabs/Module/Setup.php:292
+msgid "Database Login Password"
msgstr ""
-#: ../../include/conversation.php:1259
-#, php-format
-msgid "%s likes this."
+#: ../../Zotlabs/Module/Setup.php:293
+msgid "Database Name"
msgstr ""
-#: ../../include/conversation.php:1259
-#, php-format
-msgid "%s doesn't like this."
+#: ../../Zotlabs/Module/Setup.php:294
+msgid "Database Type"
msgstr ""
-#: ../../include/conversation.php:1263
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
+msgid "Site administrator email address"
+msgstr ""
-#: ../../include/conversation.php:1265
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr ""
-#: ../../include/conversation.php:1271
-msgid "and"
+#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
+msgid "Website URL"
msgstr ""
-#: ../../include/conversation.php:1274
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
+msgid "Please use SSL (https) URL if available."
+msgstr ""
-#: ../../include/conversation.php:1275
-#, php-format
-msgid "%s like this."
+#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340
+msgid "Please select a default timezone for your website"
msgstr ""
-#: ../../include/conversation.php:1275
-#, php-format
-msgid "%s don't like this."
+#: ../../Zotlabs/Module/Setup.php:325
+msgid "Site settings"
msgstr ""
-#: ../../include/conversation.php:1459
-msgid "Toggle poll"
+#: ../../Zotlabs/Module/Setup.php:379
+msgid "PHP version 7.1 or greater is required."
msgstr ""
-#: ../../include/conversation.php:1460
-msgid "Option"
+#: ../../Zotlabs/Module/Setup.php:380
+msgid "PHP version"
msgstr ""
-#: ../../include/conversation.php:1461
-msgid "Add option"
+#: ../../Zotlabs/Module/Setup.php:396
+msgid "Could not find a command line version of PHP in the web server PATH."
msgstr ""
-#: ../../include/conversation.php:1462
-msgid "Minutes"
+#: ../../Zotlabs/Module/Setup.php:397
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
msgstr ""
-#: ../../include/conversation.php:1462
-msgid "Hours"
+#: ../../Zotlabs/Module/Setup.php:401
+msgid "PHP executable path"
msgstr ""
-#: ../../include/conversation.php:1462
-msgid "Days"
+#: ../../Zotlabs/Module/Setup.php:401
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
msgstr ""
-#: ../../include/conversation.php:1463
-msgid "Allow multiple answers"
+#: ../../Zotlabs/Module/Setup.php:406
+msgid "Command line PHP"
msgstr ""
-#: ../../include/conversation.php:1746 ../../include/taxonomy.php:659
-#: ../../include/channel.php:1767 ../../Zotlabs/Module/Photos.php:1135
-#: ../../Zotlabs/Lib/ThreadItem.php:242
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:416
+msgid ""
+"Unable to check command line PHP, as shell_exec() is disabled. This is "
+"required."
+msgstr ""
-#: ../../include/conversation.php:1749 ../../Zotlabs/Module/Photos.php:1140
-#: ../../Zotlabs/Lib/ThreadItem.php:247
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:420
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr ""
-#: ../../include/conversation.php:1752
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:421
+msgid "This is required for message delivery to work."
+msgstr ""
-#: ../../include/conversation.php:1755
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:424
+msgid "PHP register_argc_argv"
+msgstr ""
-#: ../../include/conversation.php:1758
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:444
+msgid ""
+"This is not sufficient to upload larger images or files. You should be able "
+"to upload at least 4 MB at once."
+msgstr ""
-#: ../../include/conversation.php:1761
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:446
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to "
+"upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr ""
-#: ../../include/conversation.php:1764
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:452
+msgid "You can adjust these settings in the server php.ini file."
+msgstr ""
-#: ../../include/conversation.php:1767
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../Zotlabs/Module/Setup.php:454
+msgid "PHP upload limits"
+msgstr ""
-#: ../../include/selectors.php:18
-msgid "Profile to assign new connections"
+#: ../../Zotlabs/Module/Setup.php:477
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
msgstr ""
-#: ../../include/selectors.php:41
-msgid "Frequently"
+#: ../../Zotlabs/Module/Setup.php:478
+msgid ""
+"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
+"installation.php\"."
msgstr ""
-#: ../../include/selectors.php:42
-msgid "Hourly"
+#: ../../Zotlabs/Module/Setup.php:481
+msgid "Generate encryption keys"
msgstr ""
-#: ../../include/selectors.php:43
-msgid "Twice daily"
+#: ../../Zotlabs/Module/Setup.php:498
+msgid "libCurl PHP module"
msgstr ""
-#: ../../include/selectors.php:44
-msgid "Daily"
+#: ../../Zotlabs/Module/Setup.php:499
+msgid "GD graphics PHP module"
msgstr ""
-#: ../../include/selectors.php:45
-msgid "Weekly"
+#: ../../Zotlabs/Module/Setup.php:500
+msgid "OpenSSL PHP module"
msgstr ""
-#: ../../include/selectors.php:46
-msgid "Monthly"
+#: ../../Zotlabs/Module/Setup.php:501
+msgid "PDO database PHP module"
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Currently Male"
+#: ../../Zotlabs/Module/Setup.php:502
+msgid "mb_string PHP module"
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Currently Female"
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "xml PHP module"
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Mostly Male"
+#: ../../Zotlabs/Module/Setup.php:504
+msgid "zip PHP module"
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Mostly Female"
+#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510
+msgid "Apache mod_rewrite module"
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Transgender"
+#: ../../Zotlabs/Module/Setup.php:508
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Intersex"
+#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517
+msgid "exec"
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Transsexual"
+#: ../../Zotlabs/Module/Setup.php:514
+msgid ""
+"Error: exec is required but is either not installed or has been disabled in "
+"php.ini"
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Hermaphrodite"
+#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523
+msgid "shell_exec"
msgstr ""
-#: ../../include/selectors.php:60 ../../include/channel.php:1712
-msgid "Neuter"
+#: ../../Zotlabs/Module/Setup.php:520
+msgid ""
+"Error: shell_exec is required but is either not installed or has been "
+"disabled in php.ini"
msgstr ""
-#: ../../include/selectors.php:60 ../../include/channel.php:1714
-msgid "Non-specific"
+#: ../../Zotlabs/Module/Setup.php:528
+msgid "Error: libCURL PHP module required but not installed."
msgstr ""
-#: ../../include/selectors.php:60
-msgid "Undecided"
+#: ../../Zotlabs/Module/Setup.php:532
+msgid ""
+"Error: GD PHP module with JPEG support or ImageMagick graphics library "
+"required but not installed."
msgstr ""
-#: ../../include/selectors.php:96 ../../include/selectors.php:115
-msgid "Males"
+#: ../../Zotlabs/Module/Setup.php:536
+msgid "Error: openssl PHP module required but not installed."
msgstr ""
-#: ../../include/selectors.php:96 ../../include/selectors.php:115
-msgid "Females"
+#: ../../Zotlabs/Module/Setup.php:542
+msgid ""
+"Error: PDO database PHP module missing a driver for either mysql or pgsql."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Gay"
+#: ../../Zotlabs/Module/Setup.php:547
+msgid "Error: PDO database PHP module required but not installed."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Lesbian"
+#: ../../Zotlabs/Module/Setup.php:551
+msgid "Error: mb_string PHP module required but not installed."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "No Preference"
+#: ../../Zotlabs/Module/Setup.php:555
+msgid "Error: xml PHP module required for DAV but not installed."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Bisexual"
+#: ../../Zotlabs/Module/Setup.php:559
+msgid "Error: zip PHP module required but not installed."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Autosexual"
+#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587
+msgid ".htconfig.php is writable"
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Abstinent"
+#: ../../Zotlabs/Module/Setup.php:583
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\" "
+"in the top folder of your web server and it is unable to do so."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Virgin"
+#: ../../Zotlabs/Module/Setup.php:584
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Deviant"
+#: ../../Zotlabs/Module/Setup.php:585
+msgid "Please see install/INSTALL.txt for additional information."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Fetish"
+#: ../../Zotlabs/Module/Setup.php:601
+msgid ""
+"This software uses the Smarty3 template engine to render its web views. "
+"Smarty3 compiles templates to PHP to speed up rendering."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Oodles"
+#: ../../Zotlabs/Module/Setup.php:602
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the top level web folder."
msgstr ""
-#: ../../include/selectors.php:96
-msgid "Nonsexual"
+#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has "
+"write access to this folder."
msgstr ""
-#: ../../include/selectors.php:134 ../../include/selectors.php:151
-msgid "Single"
+#: ../../Zotlabs/Module/Setup.php:604
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Lonely"
+#: ../../Zotlabs/Module/Setup.php:607
+#, php-format
+msgid "%s is writable"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Available"
+#: ../../Zotlabs/Module/Setup.php:623
+msgid ""
+"This software uses the store directory to save uploaded files. The web "
+"server needs to have write access to the store directory under the top level "
+"web folder"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Unavailable"
+#: ../../Zotlabs/Module/Setup.php:627
+msgid "store is writable"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Has crush"
+#: ../../Zotlabs/Module/Setup.php:659
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access "
+"to this site."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Infatuated"
+#: ../../Zotlabs/Module/Setup.php:660
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
msgstr ""
-#: ../../include/selectors.php:134 ../../include/selectors.php:151
-msgid "Dating"
+#: ../../Zotlabs/Module/Setup.php:661
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Unfaithful"
+#: ../../Zotlabs/Module/Setup.php:662
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Sex Addict"
+#: ../../Zotlabs/Module/Setup.php:663
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
msgstr ""
-#: ../../include/selectors.php:134 ../../include/channel.php:505
-#: ../../include/channel.php:506 ../../include/channel.php:513
-#: ../../Zotlabs/Widget/Affinity.php:32
-#: ../../Zotlabs/Module/Settings/Channel.php:71
-#: ../../Zotlabs/Module/Settings/Channel.php:75
-#: ../../Zotlabs/Module/Settings/Channel.php:76
-#: ../../Zotlabs/Module/Settings/Channel.php:79
-#: ../../Zotlabs/Module/Settings/Channel.php:90
-#: ../../Zotlabs/Module/Connedit.php:728
-msgid "Friends"
+#: ../../Zotlabs/Module/Setup.php:664
+msgid ""
+"Providers are available that issue free certificates which are browser-valid."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Friends/Benefits"
+#: ../../Zotlabs/Module/Setup.php:665
+msgid ""
+"If you are confident that the certificate is valid and signed by a trusted "
+"authority, check to see if you have failed to install an intermediate cert. "
+"These are not normally required by browsers, but are required for server-to-"
+"server communications."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Casual"
+#: ../../Zotlabs/Module/Setup.php:667
+msgid "SSL certificate validation"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Engaged"
+#: ../../Zotlabs/Module/Setup.php:673
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server configuration."
+"Test: "
msgstr ""
-#: ../../include/selectors.php:134 ../../include/selectors.php:151
-msgid "Married"
+#: ../../Zotlabs/Module/Setup.php:676
+msgid "Url rewrite is working"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Imaginarily married"
+#: ../../Zotlabs/Module/Setup.php:689
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Partners"
+#: ../../Zotlabs/Module/Setup.php:718
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:401
+msgid "Errors encountered creating database tables."
msgstr ""
-#: ../../include/selectors.php:134 ../../include/selectors.php:151
-msgid "Cohabiting"
+#: ../../Zotlabs/Module/Setup.php:764
+msgid "<h1>What next?</h1>"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Common law"
+#: ../../Zotlabs/Module/Setup.php:765
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Happy"
+#: ../../Zotlabs/Module/Directory.php:122
+msgid "No default suggestions were found."
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Not looking"
+#: ../../Zotlabs/Module/Directory.php:282
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Directory.php:293
+msgid "Gender: "
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Swinger"
+#: ../../Zotlabs/Module/Directory.php:295
+msgid "Status: "
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Betrayed"
+#: ../../Zotlabs/Module/Directory.php:297
+msgid "Homepage: "
msgstr ""
-#: ../../include/selectors.php:134 ../../include/selectors.php:151
-msgid "Separated"
+#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1806
+msgid "Age:"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Unstable"
+#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1633
+#: ../../include/event.php:63 ../../include/event.php:134
+msgid "Location:"
msgstr ""
-#: ../../include/selectors.php:134 ../../include/selectors.php:151
-msgid "Divorced"
+#: ../../Zotlabs/Module/Directory.php:360
+msgid "Description:"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Imaginarily divorced"
+#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1835
+msgid "Hometown:"
msgstr ""
-#: ../../include/selectors.php:134 ../../include/selectors.php:151
-msgid "Widowed"
+#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1841
+msgid "About:"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Uncertain"
+#: ../../Zotlabs/Module/Directory.php:371
+msgid "Public Forum:"
msgstr ""
-#: ../../include/selectors.php:134 ../../include/selectors.php:151
-msgid "It's complicated"
+#: ../../Zotlabs/Module/Directory.php:374
+msgid "Keywords: "
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Don't care"
+#: ../../Zotlabs/Module/Directory.php:377
+msgid "Don't suggest"
msgstr ""
-#: ../../include/selectors.php:134
-msgid "Ask me"
+#: ../../Zotlabs/Module/Directory.php:379
+msgid "Common connections (estimated):"
msgstr ""
-#: ../../include/connections.php:133
-msgid "New window"
+#: ../../Zotlabs/Module/Directory.php:428
+msgid "Global Directory"
msgstr ""
-#: ../../include/connections.php:134
-msgid "Open the selected location in a different window or browser tab"
+#: ../../Zotlabs/Module/Directory.php:428
+msgid "Local Directory"
msgstr ""
-#: ../../include/group.php:23 ../../Zotlabs/Lib/Group.php:28
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
+#: ../../Zotlabs/Module/Directory.php:434
+msgid "Finding:"
msgstr ""
-#: ../../include/group.php:265 ../../Zotlabs/Lib/Group.php:270
-msgid "Add new connections to this privacy group"
+#: ../../Zotlabs/Module/Directory.php:439
+msgid "next page"
msgstr ""
-#: ../../include/group.php:299 ../../Zotlabs/Lib/AccessList.php:311
-#: ../../Zotlabs/Lib/Group.php:302
-msgid "edit"
+#: ../../Zotlabs/Module/Directory.php:439
+msgid "previous page"
msgstr ""
-#: ../../include/group.php:322 ../../Zotlabs/Lib/Group.php:325
-msgid "Edit group"
+#: ../../Zotlabs/Module/Directory.php:440
+msgid "Sort options"
msgstr ""
-#: ../../include/group.php:323 ../../Zotlabs/Lib/Group.php:326
-msgid "Add privacy group"
+#: ../../Zotlabs/Module/Directory.php:441
+msgid "Alphabetic"
msgstr ""
-#: ../../include/group.php:324 ../../Zotlabs/Lib/Group.php:327
-msgid "Channels not in any privacy group"
+#: ../../Zotlabs/Module/Directory.php:442
+msgid "Reverse Alphabetic"
msgstr ""
-#: ../../include/group.php:326 ../../Zotlabs/Widget/Savedsearch.php:84
-#: ../../Zotlabs/Lib/AccessList.php:336 ../../Zotlabs/Lib/Group.php:329
-msgid "add"
+#: ../../Zotlabs/Module/Directory.php:443
+msgid "Newest to Oldest"
msgstr ""
-#: ../../include/taxonomy.php:320
-msgid "Trending"
+#: ../../Zotlabs/Module/Directory.php:444
+msgid "Oldest to Newest"
msgstr ""
-#: ../../include/taxonomy.php:320 ../../include/taxonomy.php:449
-#: ../../include/taxonomy.php:470 ../../Zotlabs/Widget/Tagcloud.php:22
-msgid "Tags"
+#: ../../Zotlabs/Module/Directory.php:461
+msgid "No entries (some entries may be hidden)."
msgstr ""
-#: ../../include/taxonomy.php:550
-msgid "Keywords"
+#: ../../Zotlabs/Module/Mitem.php:31 ../../Zotlabs/Module/Menu.php:209
+msgid "Menu not found."
msgstr ""
-#: ../../include/taxonomy.php:571
-msgid "have"
+#: ../../Zotlabs/Module/Mitem.php:63
+msgid "Unable to create element."
msgstr ""
-#: ../../include/taxonomy.php:571
-msgid "has"
+#: ../../Zotlabs/Module/Mitem.php:87
+msgid "Unable to update menu element."
msgstr ""
-#: ../../include/taxonomy.php:572
-msgid "want"
+#: ../../Zotlabs/Module/Mitem.php:103
+msgid "Unable to add menu element."
msgstr ""
-#: ../../include/taxonomy.php:572
-msgid "wants"
+#: ../../Zotlabs/Module/Mitem.php:167 ../../Zotlabs/Module/Mitem.php:246
+msgid "Menu Item Permissions"
msgstr ""
-#: ../../include/taxonomy.php:573 ../../Zotlabs/Lib/ThreadItem.php:317
-msgid "like"
+#: ../../Zotlabs/Module/Mitem.php:168 ../../Zotlabs/Module/Mitem.php:247
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+msgid "(click to open/close)"
msgstr ""
-#: ../../include/taxonomy.php:573
-msgid "likes"
+#: ../../Zotlabs/Module/Mitem.php:174 ../../Zotlabs/Module/Mitem.php:191
+msgid "Link Name"
msgstr ""
-#: ../../include/taxonomy.php:574 ../../Zotlabs/Lib/ThreadItem.php:318
-msgid "dislike"
+#: ../../Zotlabs/Module/Mitem.php:175 ../../Zotlabs/Module/Mitem.php:255
+msgid "Link or Submenu Target"
msgstr ""
-#: ../../include/taxonomy.php:574
-msgid "dislikes"
+#: ../../Zotlabs/Module/Mitem.php:175
+msgid "Enter URL of the link or select a menu name to create a submenu"
msgstr ""
-#: ../../include/items.php:999 ../../include/items.php:1059
-msgid "(Unknown)"
+#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:256
+msgid "Use magic-auth if available"
msgstr ""
-#: ../../include/items.php:1247
-msgid "Visible to anybody on the internet."
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:257
+msgid "Open link in new window"
msgstr ""
-#: ../../include/items.php:1249
-msgid "Visible to you only."
+#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258
+msgid "Order in list"
msgstr ""
-#: ../../include/items.php:1251
-msgid "Visible to anybody in this network."
+#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258
+msgid "Higher numbers will sink to bottom of listing"
msgstr ""
-#: ../../include/items.php:1253
-msgid "Visible to anybody authenticated."
+#: ../../Zotlabs/Module/Mitem.php:179
+msgid "Submit and finish"
msgstr ""
-#: ../../include/items.php:1255
-#, php-format
-msgid "Visible to anybody on %s."
+#: ../../Zotlabs/Module/Mitem.php:180
+msgid "Submit and continue"
msgstr ""
-#: ../../include/items.php:1257
-msgid "Visible to all connections."
+#: ../../Zotlabs/Module/Mitem.php:189
+msgid "Menu:"
msgstr ""
-#: ../../include/items.php:1259
-msgid "Visible to approved connections."
+#: ../../Zotlabs/Module/Mitem.php:192
+msgid "Link Target"
msgstr ""
-#: ../../include/items.php:1261
-msgid "Visible to specific connections."
+#: ../../Zotlabs/Module/Mitem.php:195
+msgid "Edit menu"
msgstr ""
-#: ../../include/items.php:4466 ../../Zotlabs/Module/Group.php:62
-#: ../../Zotlabs/Module/Group.php:214
-msgid "Privacy group not found."
+#: ../../Zotlabs/Module/Mitem.php:198
+msgid "Edit element"
msgstr ""
-#: ../../include/items.php:4482
-msgid "Privacy group is empty."
+#: ../../Zotlabs/Module/Mitem.php:199
+msgid "Drop element"
msgstr ""
-#: ../../include/items.php:4489
-#, php-format
-msgid "Privacy group: %s"
+#: ../../Zotlabs/Module/Mitem.php:200
+msgid "New element"
msgstr ""
-#: ../../include/items.php:4499 ../../Zotlabs/Module/Connedit.php:870
-#, php-format
-msgid "Connection: %s"
+#: ../../Zotlabs/Module/Mitem.php:201
+msgid "Edit this menu container"
msgstr ""
-#: ../../include/items.php:4501
-msgid "Connection not found."
+#: ../../Zotlabs/Module/Mitem.php:202
+msgid "Add menu element"
msgstr ""
-#: ../../include/items.php:4835 ../../Zotlabs/Module/Cover_photo.php:297
-msgid "female"
+#: ../../Zotlabs/Module/Mitem.php:203
+msgid "Delete this menu item"
msgstr ""
-#: ../../include/items.php:4836 ../../Zotlabs/Module/Cover_photo.php:298
-#, php-format
-msgid "%1$s updated her %2$s"
+#: ../../Zotlabs/Module/Mitem.php:204
+msgid "Edit this menu item"
msgstr ""
-#: ../../include/items.php:4837 ../../Zotlabs/Module/Cover_photo.php:299
-msgid "male"
+#: ../../Zotlabs/Module/Mitem.php:222
+msgid "Menu item not found."
msgstr ""
-#: ../../include/items.php:4838 ../../Zotlabs/Module/Cover_photo.php:300
-#, php-format
-msgid "%1$s updated his %2$s"
+#: ../../Zotlabs/Module/Mitem.php:235
+msgid "Menu item deleted."
msgstr ""
-#: ../../include/items.php:4840 ../../Zotlabs/Module/Cover_photo.php:302
-#, php-format
-msgid "%1$s updated their %2$s"
+#: ../../Zotlabs/Module/Mitem.php:237
+msgid "Menu item could not be deleted."
msgstr ""
-#: ../../include/items.php:4842
-msgid "profile photo"
+#: ../../Zotlabs/Module/Mitem.php:244
+msgid "Edit Menu Element"
msgstr ""
-#: ../../include/items.php:5034
-#, php-format
-msgid "[Edited %s]"
+#: ../../Zotlabs/Module/Mitem.php:254
+msgid "Link text"
msgstr ""
-#: ../../include/items.php:5034
-msgctxt "edit_activity"
-msgid "Post"
+#: ../../Zotlabs/Module/Mood.php:76 ../../include/conversation.php:286
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
msgstr ""
-#: ../../include/items.php:5034
-msgctxt "edit_activity"
-msgid "Comment"
+#: ../../Zotlabs/Module/Mood.php:134
+msgid "Mood App"
msgstr ""
-#: ../../include/account.php:36
-msgid "Not a valid email address"
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155
+msgid "Set your current mood and tell your friends"
msgstr ""
-#: ../../include/account.php:38
-msgid "Your email domain is not among those allowed on this site"
+#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:350
+msgid "Mood"
msgstr ""
-#: ../../include/account.php:44
-msgid "Your email address is already registered at this site."
+#: ../../Zotlabs/Module/Permcats.php:29
+msgid "Permission category name is required."
msgstr ""
-#: ../../include/account.php:76
-msgid "An invitation is required."
+#: ../../Zotlabs/Module/Permcats.php:48
+msgid "Permission category saved."
msgstr ""
-#: ../../include/account.php:80
-msgid "Invitation could not be verified."
+#: ../../Zotlabs/Module/Permcats.php:63
+msgid "Permission Categories App"
msgstr ""
-#: ../../include/account.php:156
-msgid "Please enter the required information."
+#: ../../Zotlabs/Module/Permcats.php:64
+msgid "Create custom connection permission limits"
msgstr ""
-#: ../../include/account.php:223
-msgid "Failed to store account information."
+#: ../../Zotlabs/Module/Permcats.php:80
+msgid ""
+"Use this form to create permission rules for various classes of people or "
+"connections."
msgstr ""
-#: ../../include/account.php:311
-#, php-format
-msgid "Registration confirmation for %s"
+#: ../../Zotlabs/Module/Permcats.php:113 ../../Zotlabs/Lib/Apps.php:374
+msgid "Permission Categories"
msgstr ""
-#: ../../include/account.php:380
-#, php-format
-msgid "Registration request at %s"
+#: ../../Zotlabs/Module/Permcats.php:121
+msgid "Permission category name"
msgstr ""
-#: ../../include/account.php:402
-msgid "your registration password"
+#: ../../Zotlabs/Module/Ratings.php:70
+msgid "No ratings"
msgstr ""
-#: ../../include/account.php:408 ../../include/account.php:471
-#, php-format
-msgid "Registration details for %s"
+#: ../../Zotlabs/Module/Ratings.php:98
+msgid "Rating: "
msgstr ""
-#: ../../include/account.php:482
-msgid "Account approved."
+#: ../../Zotlabs/Module/Ratings.php:99
+msgid "Website: "
msgstr ""
-#: ../../include/account.php:522
-#, php-format
-msgid "Registration revoked for %s"
+#: ../../Zotlabs/Module/Ratings.php:101
+msgid "Description: "
msgstr ""
-#: ../../include/account.php:805 ../../include/account.php:807
-msgid "Click here to upgrade."
+#: ../../Zotlabs/Module/Register.php:52
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr ""
-#: ../../include/account.php:813
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../Zotlabs/Module/Register.php:58
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr ""
-#: ../../include/account.php:818
-msgid "This action is not available under your subscription plan."
+#: ../../Zotlabs/Module/Register.php:92
+msgid "Passwords do not match."
msgstr ""
-#: ../../include/photo/photo_driver.php:413
-#: ../../Zotlabs/Module/Profile_photo.php:147
-#: ../../Zotlabs/Module/Profile_photo.php:284
-msgid "Profile Photos"
+#: ../../Zotlabs/Module/Register.php:135
+msgid "Registration successful. Continue to create your first channel..."
msgstr ""
-#: ../../include/attach.php:273 ../../include/attach.php:381
-msgid "Item was not found."
+#: ../../Zotlabs/Module/Register.php:138
+msgid ""
+"Registration successful. Please check your email for validation instructions."
msgstr ""
-#: ../../include/attach.php:290
-msgid "Unknown error."
+#: ../../Zotlabs/Module/Register.php:145
+msgid "Your registration is pending approval by the site owner."
msgstr ""
-#: ../../include/attach.php:574
-msgid "No source file."
+#: ../../Zotlabs/Module/Register.php:148
+msgid "Your registration can not be processed."
msgstr ""
-#: ../../include/attach.php:596
-msgid "Cannot locate file to replace"
+#: ../../Zotlabs/Module/Register.php:195
+msgid "Registration on this hub is disabled."
msgstr ""
-#: ../../include/attach.php:615
-msgid "Cannot locate file to revise/update"
+#: ../../Zotlabs/Module/Register.php:204
+msgid "Registration on this hub is by approval only."
msgstr ""
-#: ../../include/attach.php:759
-#, php-format
-msgid "File exceeds size limit of %d"
+#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
msgstr ""
-#: ../../include/attach.php:780
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+#: ../../Zotlabs/Module/Register.php:213
+msgid "Registration on this hub is by invitation only."
msgstr ""
-#: ../../include/attach.php:968
-msgid "File upload failed. Possible system limit or action terminated."
+#: ../../Zotlabs/Module/Register.php:224
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
msgstr ""
-#: ../../include/attach.php:997
-msgid "Stored file could not be verified. Upload failed."
+#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28
+msgid "Terms of Service"
msgstr ""
-#: ../../include/attach.php:1069 ../../include/attach.php:1085
-msgid "Path not available."
+#: ../../Zotlabs/Module/Register.php:245
+#, php-format
+msgid "I accept the %s for this website"
msgstr ""
-#: ../../include/attach.php:1134 ../../include/attach.php:1297
-msgid "Empty pathname"
+#: ../../Zotlabs/Module/Register.php:252
+#, php-format
+msgid "I am over %s years of age and accept the %s for this website"
msgstr ""
-#: ../../include/attach.php:1160
-msgid "duplicate filename or path"
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Your email address"
msgstr ""
-#: ../../include/attach.php:1185
-msgid "Path not found."
+#: ../../Zotlabs/Module/Register.php:258
+msgid "Choose a password"
msgstr ""
-#: ../../include/attach.php:1253
-msgid "mkdir failed."
+#: ../../Zotlabs/Module/Register.php:259
+msgid "Please re-enter your password"
msgstr ""
-#: ../../include/attach.php:1257
-msgid "database storage failed."
+#: ../../Zotlabs/Module/Register.php:260
+msgid "Please enter your invitation code"
msgstr ""
-#: ../../include/attach.php:1303
-msgid "Empty path"
+#: ../../Zotlabs/Module/Register.php:261
+msgid "Your Name"
msgstr ""
-#: ../../include/attach.php:2035
-#, php-format
-msgid "%s shared a %s with you"
+#: ../../Zotlabs/Module/Register.php:261
+msgid "Real names are preferred."
msgstr ""
-#: ../../include/bookmarks.php:34
+#: ../../Zotlabs/Module/Register.php:263
#, php-format
-msgid "%1$s's bookmarks"
+msgid ""
+"Your nickname will be used to create an easy to remember channel address e."
+"g. nickname%s"
msgstr ""
-#: ../../include/menu.php:120 ../../include/channel.php:1524
-#: ../../include/channel.php:1528 ../../Zotlabs/Widget/Cdav.php:138
-#: ../../Zotlabs/Widget/Cdav.php:175 ../../Zotlabs/Module/Article_edit.php:98
-#: ../../Zotlabs/Module/Group.php:253 ../../Zotlabs/Module/Card_edit.php:99
-#: ../../Zotlabs/Module/Oauth.php:173 ../../Zotlabs/Module/Editwebpage.php:142
-#: ../../Zotlabs/Module/Webpages.php:255
-#: ../../Zotlabs/Module/Admin/Profs.php:175 ../../Zotlabs/Module/Blocks.php:160
-#: ../../Zotlabs/Module/Editblock.php:114
-#: ../../Zotlabs/Module/Editlayout.php:114
-#: ../../Zotlabs/Module/Connections.php:320
-#: ../../Zotlabs/Module/Connections.php:362
-#: ../../Zotlabs/Module/Connections.php:382 ../../Zotlabs/Module/Menu.php:176
-#: ../../Zotlabs/Module/Oauth2.php:194 ../../Zotlabs/Module/Thing.php:268
-#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Wiki.php:384
-#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Lib/Apps.php:557
-#: ../../Zotlabs/Lib/ThreadItem.php:148 ../../Zotlabs/Storage/Browser.php:296
-msgid "Edit"
+#: ../../Zotlabs/Module/Register.php:264
+msgid ""
+"Select a channel permission role for your usage needs and privacy "
+"requirements."
msgstr ""
-#: ../../include/bbcode.php:221 ../../include/bbcode.php:896
-#: ../../include/bbcode.php:1486 ../../include/bbcode.php:1494
-msgid "Image/photo"
+#: ../../Zotlabs/Module/Register.php:265
+msgid "no"
msgstr ""
-#: ../../include/bbcode.php:268 ../../include/bbcode.php:1511
-msgid "Encrypted content"
+#: ../../Zotlabs/Module/Register.php:265
+msgid "yes"
msgstr ""
-#: ../../include/bbcode.php:302
-#, php-format
-msgid "Install %1$s element %2$s"
+#: ../../Zotlabs/Module/Register.php:293 ../../include/nav.php:162
+#: ../../boot.php:1685
+msgid "Register"
msgstr ""
-#: ../../include/bbcode.php:306
-#, php-format
+#: ../../Zotlabs/Module/Register.php:294
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
+"This site requires email verification. After completing this form, please "
+"check your email for further instructions."
msgstr ""
-#: ../../include/bbcode.php:316 ../../Zotlabs/Module/Impel.php:43
-msgid "webpage"
+#: ../../Zotlabs/Module/Acl.php:123 ../../Zotlabs/Module/Lockview.php:117
+#: ../../Zotlabs/Module/Lockview.php:153
+msgctxt "acl"
+msgid "Profile"
msgstr ""
-#: ../../include/bbcode.php:319 ../../Zotlabs/Module/Impel.php:53
-msgid "layout"
+#: ../../Zotlabs/Module/Acl.php:370
+msgid "network"
msgstr ""
-#: ../../include/bbcode.php:322 ../../Zotlabs/Module/Impel.php:48
-msgid "block"
+#: ../../Zotlabs/Module/Settings/Featured.php:25
+msgid "No feature settings configured"
msgstr ""
-#: ../../include/bbcode.php:325 ../../Zotlabs/Module/Impel.php:60
-msgid "menu"
+#: ../../Zotlabs/Module/Settings/Featured.php:34
+msgid "Addon Settings"
msgstr ""
-#: ../../include/bbcode.php:519
-msgid "card"
+#: ../../Zotlabs/Module/Settings/Featured.php:35
+msgid "Please save/submit changes to any panel before opening another."
msgstr ""
-#: ../../include/bbcode.php:521
-msgid "article"
+#: ../../Zotlabs/Module/Settings/Account.php:19
+msgid "Not valid email."
msgstr ""
-#: ../../include/bbcode.php:527 ../../include/markdown.php:202
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
+#: ../../Zotlabs/Module/Settings/Account.php:22
+msgid "Protected email address. Cannot change to that email."
msgstr ""
-#: ../../include/bbcode.php:604 ../../include/bbcode.php:612
-msgid "Click to open/close"
+#: ../../Zotlabs/Module/Settings/Account.php:31
+msgid "System failure storing new email. Please try again."
msgstr ""
-#: ../../include/bbcode.php:612 ../../include/markdown.php:251
-msgid "spoiler"
+#: ../../Zotlabs/Module/Settings/Account.php:48
+msgid "Password verification failed."
msgstr ""
-#: ../../include/bbcode.php:625
-msgid "View article"
+#: ../../Zotlabs/Module/Settings/Account.php:55
+msgid "Passwords do not match. Password unchanged."
msgstr ""
-#: ../../include/bbcode.php:625
-msgid "View summary"
+#: ../../Zotlabs/Module/Settings/Account.php:59
+msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
-#: ../../include/bbcode.php:1018 ../../include/bbcode.php:1190
-#: ../../Zotlabs/Lib/NativeWikiPage.php:606
-msgid "Different viewers will see this text differently"
+#: ../../Zotlabs/Module/Settings/Account.php:73
+msgid "Password changed."
msgstr ""
-#: ../../include/bbcode.php:1474
-msgid "$1 wrote:"
+#: ../../Zotlabs/Module/Settings/Account.php:75
+msgid "Password update failed. Please try again."
msgstr ""
-#: ../../include/channel.php:46
-msgid "Unable to obtain identity information from database"
+#: ../../Zotlabs/Module/Settings/Account.php:99
+msgid "Account Settings"
msgstr ""
-#: ../../include/channel.php:79
-msgid "Empty name"
+#: ../../Zotlabs/Module/Settings/Account.php:100
+msgid "Current Password"
msgstr ""
-#: ../../include/channel.php:82
-msgid "Name too long"
+#: ../../Zotlabs/Module/Settings/Account.php:101
+msgid "Enter New Password"
msgstr ""
-#: ../../include/channel.php:199
-msgid "No account identifier"
+#: ../../Zotlabs/Module/Settings/Account.php:102
+msgid "Confirm New Password"
msgstr ""
-#: ../../include/channel.php:211
-msgid "Nickname is required."
+#: ../../Zotlabs/Module/Settings/Account.php:102
+msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../include/channel.php:225 ../../include/channel.php:706
-#: ../../Zotlabs/Module/Changeaddr.php:46
-msgid "Reserved nickname. Please choose another."
+#: ../../Zotlabs/Module/Settings/Account.php:104
+#: ../../Zotlabs/Module/Settings/Channel.php:502
+msgid "Email Address:"
msgstr ""
-#: ../../include/channel.php:230 ../../include/channel.php:711
-#: ../../Zotlabs/Module/Changeaddr.php:51
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
+#: ../../Zotlabs/Module/Settings/Account.php:106
+msgid "Remove this account including all its channels"
msgstr ""
-#: ../../include/channel.php:294
-msgid "Unable to retrieve created identity"
+#: ../../Zotlabs/Module/Settings/Events.php:40
+msgid "Events Settings"
msgstr ""
-#: ../../include/channel.php:441
-msgid "Default Profile"
+#: ../../Zotlabs/Module/Settings/Profiles.php:49
+msgid "Profiles Settings"
msgstr ""
-#: ../../include/channel.php:639 ../../include/channel.php:728
-msgid "Unable to retrieve modified identity"
+#: ../../Zotlabs/Module/Settings/Editor.php:40
+msgid "Editor Settings"
msgstr ""
-#: ../../include/channel.php:1371
-msgid "Requested channel is not available."
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
msgstr ""
-#: ../../include/channel.php:1517 ../../Zotlabs/Module/Profiles.php:730
-msgid "Change profile photo"
+#: ../../Zotlabs/Module/Settings/Manage.php:41
+msgid "Channel Manager Settings"
msgstr ""
-#: ../../include/channel.php:1525
-msgid "Create New Profile"
+#: ../../Zotlabs/Module/Settings/Display.php:127
+#, php-format
+msgid "%s - (Experimental)"
msgstr ""
-#: ../../include/channel.php:1543 ../../Zotlabs/Module/Profiles.php:822
-msgid "Profile Image"
+#: ../../Zotlabs/Module/Settings/Display.php:183
+msgid "Display Settings"
msgstr ""
-#: ../../include/channel.php:1546
-msgid "Visible to everybody"
+#: ../../Zotlabs/Module/Settings/Display.php:184
+msgid "Theme Settings"
msgstr ""
-#: ../../include/channel.php:1547 ../../Zotlabs/Module/Profiles.php:727
-#: ../../Zotlabs/Module/Profiles.php:826
-msgid "Edit visibility"
+#: ../../Zotlabs/Module/Settings/Display.php:185
+msgid "Custom Theme Settings"
msgstr ""
-#: ../../include/channel.php:1623 ../../include/channel.php:1751
-msgid "Gender:"
+#: ../../Zotlabs/Module/Settings/Display.php:186
+msgid "Content Settings"
msgstr ""
-#: ../../include/channel.php:1624 ../../include/channel.php:1795
-msgid "Status:"
+#: ../../Zotlabs/Module/Settings/Display.php:192
+msgid "Display Theme:"
msgstr ""
-#: ../../include/channel.php:1625 ../../include/channel.php:1819
-msgid "Homepage:"
+#: ../../Zotlabs/Module/Settings/Display.php:193
+msgid "Select scheme"
msgstr ""
-#: ../../include/channel.php:1626
-msgid "Online Now"
+#: ../../Zotlabs/Module/Settings/Display.php:195
+msgid "Preload images before rendering the page"
msgstr ""
-#: ../../include/channel.php:1679
-msgid "Change your profile photo"
+#: ../../Zotlabs/Module/Settings/Display.php:195
+msgid ""
+"The subjective page load time will be longer but the page will be ready when "
+"displayed"
msgstr ""
-#: ../../include/channel.php:1710
-msgid "Trans"
+#: ../../Zotlabs/Module/Settings/Display.php:196
+msgid "Enable user zoom on mobile devices"
msgstr ""
-#: ../../include/channel.php:1749 ../../Zotlabs/Module/Settings/Channel.php:501
-msgid "Full Name:"
+#: ../../Zotlabs/Module/Settings/Display.php:197
+msgid "Update browser every xx seconds"
msgstr ""
-#: ../../include/channel.php:1756
-msgid "Like this channel"
+#: ../../Zotlabs/Module/Settings/Display.php:197
+msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../include/channel.php:1780
-msgid "j F, Y"
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../include/channel.php:1781
-msgid "j F"
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Maximum of 30 items"
msgstr ""
-#: ../../include/channel.php:1788
-msgid "Birthday:"
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Show emoticons (smilies) as images"
msgstr ""
-#: ../../include/channel.php:1792 ../../Zotlabs/Module/Directory.php:347
-msgid "Age:"
+#: ../../Zotlabs/Module/Settings/Display.php:200
+msgid "Provide channel menu in navigation bar"
msgstr ""
-#: ../../include/channel.php:1801
-#, php-format
-msgid "for %1$d %2$s"
+#: ../../Zotlabs/Module/Settings/Display.php:200
+msgid "Default: channel menu located in app menu"
msgstr ""
-#: ../../include/channel.php:1813
-msgid "Tags:"
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Link post titles to source"
msgstr ""
-#: ../../include/channel.php:1817
-msgid "Sexual Preference:"
+#: ../../Zotlabs/Module/Settings/Display.php:203
+#: ../../Zotlabs/Widget/Newmember.php:75
+msgid "New Member Links"
msgstr ""
-#: ../../include/channel.php:1821 ../../Zotlabs/Module/Directory.php:365
-msgid "Hometown:"
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Display new member quick links menu"
msgstr ""
-#: ../../include/channel.php:1823
-msgid "Political Views:"
+#: ../../Zotlabs/Module/Settings/Photos.php:40
+msgid "Photos Settings"
msgstr ""
-#: ../../include/channel.php:1825
-msgid "Religion:"
+#: ../../Zotlabs/Module/Settings/Channel.php:329
+msgid "Nobody except yourself"
msgstr ""
-#: ../../include/channel.php:1827 ../../Zotlabs/Module/Directory.php:367
-msgid "About:"
+#: ../../Zotlabs/Module/Settings/Channel.php:330
+msgid "Only those you specifically allow"
msgstr ""
-#: ../../include/channel.php:1829
-msgid "Hobbies/Interests:"
+#: ../../Zotlabs/Module/Settings/Channel.php:331
+msgid "Approved connections"
msgstr ""
-#: ../../include/channel.php:1831
-msgid "Likes:"
+#: ../../Zotlabs/Module/Settings/Channel.php:332
+msgid "Any connections"
msgstr ""
-#: ../../include/channel.php:1833
-msgid "Dislikes:"
+#: ../../Zotlabs/Module/Settings/Channel.php:333
+msgid "Anybody on this website"
msgstr ""
-#: ../../include/channel.php:1835
-msgid "Contact information and Social Networks:"
+#: ../../Zotlabs/Module/Settings/Channel.php:334
+msgid "Anybody in this network"
msgstr ""
-#: ../../include/channel.php:1837
-msgid "My other channels:"
+#: ../../Zotlabs/Module/Settings/Channel.php:335
+msgid "Anybody authenticated"
msgstr ""
-#: ../../include/channel.php:1839
-msgid "Musical interests:"
+#: ../../Zotlabs/Module/Settings/Channel.php:336
+msgid "Anybody on the internet"
msgstr ""
-#: ../../include/channel.php:1841
-msgid "Books, literature:"
+#: ../../Zotlabs/Module/Settings/Channel.php:411
+msgid "Publish your default profile in the network directory"
msgstr ""
-#: ../../include/channel.php:1843
-msgid "Television:"
+#: ../../Zotlabs/Module/Settings/Channel.php:416
+msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../include/channel.php:1845
-msgid "Film/dance/culture/entertainment:"
+#: ../../Zotlabs/Module/Settings/Channel.php:420
+msgid "or"
msgstr ""
-#: ../../include/channel.php:1847
-msgid "Love/Romance:"
+#: ../../Zotlabs/Module/Settings/Channel.php:429
+msgid "Your channel address is"
msgstr ""
-#: ../../include/channel.php:1849
-msgid "Work/employment:"
+#: ../../Zotlabs/Module/Settings/Channel.php:432
+msgid "Your files/photos are accessible via WebDAV at"
msgstr ""
-#: ../../include/channel.php:1851
-msgid "School/education:"
+#: ../../Zotlabs/Module/Settings/Channel.php:472
+msgid "Automatic membership approval"
msgstr ""
-#: ../../include/channel.php:1872 ../../Zotlabs/Module/Profperm.php:113
-#: ../../Zotlabs/Lib/Apps.php:362
-msgid "Profile"
+#: ../../Zotlabs/Module/Settings/Channel.php:493
+msgid "Channel Settings"
msgstr ""
-#: ../../include/channel.php:1874
-msgid "Like this thing"
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Basic Settings"
msgstr ""
-#: ../../include/channel.php:1875 ../../Zotlabs/Module/Events.php:699
-msgid "Export"
+#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1763
+msgid "Full Name:"
msgstr ""
-#: ../../include/channel.php:2314 ../../Zotlabs/Module/Cover_photo.php:304
-msgid "cover photo"
+#: ../../Zotlabs/Module/Settings/Channel.php:503
+msgid "Your Timezone:"
msgstr ""
-#: ../../include/channel.php:2603 ../../Zotlabs/Module/Rmagic.php:96
-#: ../../boot.php:1699
-msgid "Remote Authentication"
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "Default Post Location:"
msgstr ""
-#: ../../include/channel.php:2604 ../../Zotlabs/Module/Rmagic.php:97
-msgid "Enter your channel address (e.g. channel@example.com)"
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "Geographical location to display on your posts"
msgstr ""
-#: ../../include/channel.php:2605 ../../Zotlabs/Module/Rmagic.php:98
-msgid "Authenticate"
+#: ../../Zotlabs/Module/Settings/Channel.php:505
+msgid "Use Browser Location:"
msgstr ""
-#: ../../include/channel.php:2763 ../../Zotlabs/Module/Admin/Accounts.php:91
-#, php-format
-msgid "Account '%s' deleted"
+#: ../../Zotlabs/Module/Settings/Channel.php:507
+msgid "Adult Content"
msgstr ""
-#: ../../include/acl_selectors.php:33
-#: ../../Zotlabs/Lib/PermissionDescription.php:34
-msgid "Visible to your default audience"
+#: ../../Zotlabs/Module/Settings/Channel.php:507
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
msgstr ""
-#: ../../include/acl_selectors.php:100
-msgid "Profile-Based Privacy Groups"
+#: ../../Zotlabs/Module/Settings/Channel.php:509
+msgid "Security and Privacy Settings"
msgstr ""
-#: ../../include/acl_selectors.php:113 ../../Zotlabs/Widget/Forums.php:100
-#: ../../Zotlabs/Widget/Activity_filter.php:115
-#: ../../Zotlabs/Widget/Notifications.php:139
-#: ../../Zotlabs/Widget/Notifications.php:140
-msgid "Forums"
+#: ../../Zotlabs/Module/Settings/Channel.php:511
+msgid "Your permissions are already configured. Click to view/adjust"
msgstr ""
-#: ../../include/acl_selectors.php:115
-msgid "Private Forum"
+#: ../../Zotlabs/Module/Settings/Channel.php:513
+msgid "Hide my online presence"
msgstr ""
-#: ../../include/acl_selectors.php:126
-#: ../../Zotlabs/Lib/PermissionDescription.php:107
-msgid "Only me"
+#: ../../Zotlabs/Module/Settings/Channel.php:513
+msgid "Prevents displaying in your profile that you are online"
msgstr ""
-#: ../../include/acl_selectors.php:133
-msgid "Share with"
+#: ../../Zotlabs/Module/Settings/Channel.php:515
+msgid "Simple Privacy Settings:"
msgstr ""
-#: ../../include/acl_selectors.php:134
-msgid "Custom selection"
+#: ../../Zotlabs/Module/Settings/Channel.php:516
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr ""
-#: ../../include/acl_selectors.php:136
+#: ../../Zotlabs/Module/Settings/Channel.php:517
msgid ""
-"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and "
-"limit the scope of \"Allow\"."
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
msgstr ""
-#: ../../include/acl_selectors.php:137 ../../Zotlabs/Module/Authorize.php:32
-msgid "Allow"
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "Private - <em>default private, never open or public</em>"
msgstr ""
-#: ../../include/acl_selectors.php:138
-msgid "Don't allow"
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr ""
-#: ../../include/acl_selectors.php:171
-#, php-format
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid "Allow others to tag your posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These "
-"permissions set who is allowed to view the post."
+"Often used by the community to retro-actively flag inappropriate content"
msgstr ""
-#: ../../include/oembed.php:153
-msgid "View PDF"
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+msgid "Channel Permission Limits"
msgstr ""
-#: ../../include/oembed.php:357
-msgid " by "
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "Expire other channel content after this many days"
msgstr ""
-#: ../../include/oembed.php:358
-msgid " on "
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "0 or blank to use the website limit."
msgstr ""
-#: ../../include/oembed.php:387
-msgid "Embedded content"
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+#, php-format
+msgid "This website expires after %d days."
msgstr ""
-#: ../../include/oembed.php:396
-msgid "Embedding disabled"
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "This website does not expire imported content."
msgstr ""
-#: ../../include/dir_fns.php:140 ../../Zotlabs/Lib/Libzotdir.php:160
-msgid "Directory Options"
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "The website limit takes precedence if lower than your limit."
msgstr ""
-#: ../../include/dir_fns.php:142 ../../Zotlabs/Lib/Libzotdir.php:162
-msgid "Safe Mode"
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../include/dir_fns.php:143 ../../Zotlabs/Lib/Libzotdir.php:163
-msgid "Public Forums Only"
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "May reduce spam activity"
msgstr ""
-#: ../../include/dir_fns.php:144 ../../Zotlabs/Lib/Libzotdir.php:165
-msgid "This Website Only"
+#: ../../Zotlabs/Module/Settings/Channel.php:527
+msgid "Default Privacy Group"
msgstr ""
-#: ../../include/zid.php:364
-#, php-format
-msgid "OpenWebAuth: %1$s welcomes %2$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+msgid "Use my default audience setting for the type of object published"
msgstr ""
-#: ../../include/message.php:41
-msgid "Unable to determine sender."
+#: ../../Zotlabs/Module/Settings/Channel.php:538
+msgid "Default permissions category"
msgstr ""
-#: ../../include/message.php:80
-msgid "No recipient provided."
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../include/message.php:85
-msgid "[no subject]"
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Useful to reduce spamming"
msgstr ""
-#: ../../include/message.php:214
-msgid "Stored post could not be verified."
+#: ../../Zotlabs/Module/Settings/Channel.php:547
+#: ../../Zotlabs/Lib/Enotify.php:68
+msgid "Notification Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_order.php:90
-msgid "Commented Date"
+#: ../../Zotlabs/Module/Settings/Channel.php:548
+msgid "By default post a status message when:"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_order.php:94
-msgid "Order by last commented date"
+#: ../../Zotlabs/Module/Settings/Channel.php:549
+msgid "accepting a friend request"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_order.php:97
-msgid "Posted Date"
+#: ../../Zotlabs/Module/Settings/Channel.php:550
+msgid "joining a forum/community"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_order.php:101
-msgid "Order by last posted date"
+#: ../../Zotlabs/Module/Settings/Channel.php:551
+msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_order.php:104
-msgid "Date Unthreaded"
+#: ../../Zotlabs/Module/Settings/Channel.php:552
+msgid "Send a notification email when:"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_order.php:108
-msgid "Order unthreaded by date"
+#: ../../Zotlabs/Module/Settings/Channel.php:553
+msgid "You receive a connection request"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_order.php:123
-msgid "Stream Order"
+#: ../../Zotlabs/Module/Settings/Channel.php:554
+msgid "Your connections are confirmed"
msgstr ""
-#: ../../Zotlabs/Widget/Archive.php:43
-msgid "Archives"
+#: ../../Zotlabs/Module/Settings/Channel.php:555
+msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_pages.php:34
-#: ../../Zotlabs/Widget/Wiki_pages.php:91
-msgid "Add new page"
+#: ../../Zotlabs/Module/Settings/Channel.php:556
+msgid "Someone writes a followup comment"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_pages.php:41
-#: ../../Zotlabs/Widget/Wiki_pages.php:98 ../../Zotlabs/Module/Dreport.php:166
-msgid "Options"
+#: ../../Zotlabs/Module/Settings/Channel.php:557
+msgid "You receive a private message"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_pages.php:85
-msgid "Wiki Pages"
+#: ../../Zotlabs/Module/Settings/Channel.php:558
+msgid "You receive a friend suggestion"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_pages.php:96
-msgid "Page name"
+#: ../../Zotlabs/Module/Settings/Channel.php:559
+msgid "You are tagged in a post"
msgstr ""
-#: ../../Zotlabs/Widget/Album.php:78 ../../Zotlabs/Widget/Portfolio.php:87
-#: ../../Zotlabs/Module/Embedphotos.php:170 ../../Zotlabs/Module/Photos.php:786
-#: ../../Zotlabs/Module/Photos.php:1332
-msgid "View Photo"
+#: ../../Zotlabs/Module/Settings/Channel.php:560
+msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../Zotlabs/Widget/Album.php:95 ../../Zotlabs/Widget/Portfolio.php:108
-#: ../../Zotlabs/Module/Embedphotos.php:186 ../../Zotlabs/Module/Photos.php:817
-msgid "Edit Album"
+#: ../../Zotlabs/Module/Settings/Channel.php:562
+msgid "Someone likes your post/comment"
msgstr ""
-#: ../../Zotlabs/Widget/Album.php:97 ../../Zotlabs/Widget/Cdav.php:146
-#: ../../Zotlabs/Widget/Cdav.php:182 ../../Zotlabs/Widget/Portfolio.php:110
-#: ../../Zotlabs/Module/Embedphotos.php:188
-#: ../../Zotlabs/Module/Profile_photo.php:500
-#: ../../Zotlabs/Module/Cover_photo.php:423 ../../Zotlabs/Module/Photos.php:687
-#: ../../Zotlabs/Storage/Browser.php:398
-msgid "Upload"
+#: ../../Zotlabs/Module/Settings/Channel.php:565
+msgid "Show visual notifications including:"
msgstr ""
-#: ../../Zotlabs/Widget/Tasklist.php:23
-msgid "Tasks"
+#: ../../Zotlabs/Module/Settings/Channel.php:567
+msgid "Unseen stream activity"
msgstr ""
-#: ../../Zotlabs/Widget/Pubsites.php:12 ../../Zotlabs/Module/Pubsites.php:24
-msgid "Public Hubs"
+#: ../../Zotlabs/Module/Settings/Channel.php:568
+msgid "Unseen channel activity"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:17
-msgid "Received Messages"
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+msgid "Unseen private messages"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:21
-msgid "Sent Messages"
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+#: ../../Zotlabs/Module/Settings/Channel.php:574
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+msgid "Recommended"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:25
-msgid "Conversations"
+#: ../../Zotlabs/Module/Settings/Channel.php:570
+msgid "Upcoming events"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:37
-msgid "No messages."
+#: ../../Zotlabs/Module/Settings/Channel.php:571
+msgid "Events today"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:57
-msgid "Delete conversation"
+#: ../../Zotlabs/Module/Settings/Channel.php:572
+msgid "Upcoming birthdays"
msgstr ""
-#: ../../Zotlabs/Widget/Chatroom_members.php:11
-msgid "Chat Members"
+#: ../../Zotlabs/Module/Settings/Channel.php:572
+msgid "Not available in all themes"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:70 ../../Zotlabs/Lib/ThreadItem.php:205
-msgid "I will attend"
+#: ../../Zotlabs/Module/Settings/Channel.php:573
+msgid "System (personal) notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:70 ../../Zotlabs/Lib/ThreadItem.php:205
-msgid "I will not attend"
+#: ../../Zotlabs/Module/Settings/Channel.php:574
+msgid "System info messages"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:70 ../../Zotlabs/Lib/ThreadItem.php:205
-msgid "I might attend"
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+msgid "System critical alerts"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:81 ../../Zotlabs/Lib/ThreadItem.php:219
-msgid "I agree"
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+msgid "New connections"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:81 ../../Zotlabs/Lib/ThreadItem.php:219
-msgid "I disagree"
+#: ../../Zotlabs/Module/Settings/Channel.php:577
+msgid "System Registrations"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:81 ../../Zotlabs/Lib/ThreadItem.php:219
-msgid "I abstain"
+#: ../../Zotlabs/Module/Settings/Channel.php:578
+msgid "Unseen shared files"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:99 ../../Zotlabs/Lib/ThreadItem.php:329
-msgid "Share This"
+#: ../../Zotlabs/Module/Settings/Channel.php:579
+msgid "Unseen public stream activity"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:99 ../../Zotlabs/Lib/ThreadItem.php:329
-msgid "share"
+#: ../../Zotlabs/Module/Settings/Channel.php:580
+msgid "Unseen likes and dislikes"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124
-#, php-format
-msgid "View %s's profile - %s"
+#: ../../Zotlabs/Module/Settings/Channel.php:581
+msgid "Unseen forum posts"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:128 ../../Zotlabs/Lib/ThreadItem.php:413
-msgid "via"
+#: ../../Zotlabs/Module/Settings/Channel.php:582
+msgid "Email notification hub (hostname)"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:143 ../../Zotlabs/Lib/ThreadItem.php:443
-msgid "Attendance Options"
+#: ../../Zotlabs/Module/Settings/Channel.php:582
+#, php-format
+msgid ""
+"If your channel is mirrored to multiple hubs, set this to your preferred "
+"location. This will prevent duplicate email notifications. Example: %s"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:144 ../../Zotlabs/Lib/ThreadItem.php:445
-msgid "Voting Options"
+#: ../../Zotlabs/Module/Settings/Channel.php:583
+msgid "Show new wall posts, private messages and connections under Notices"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:156 ../../Zotlabs/Lib/ThreadItem.php:469
-msgid "Pinned post"
+#: ../../Zotlabs/Module/Settings/Channel.php:585
+msgid "Notify me of events this many days in advance"
msgstr ""
-#: ../../Zotlabs/Widget/Pinned.php:158
-msgid "Don't show"
+#: ../../Zotlabs/Module/Settings/Channel.php:585
+msgid "Must be greater than 0"
msgstr ""
-#: ../../Zotlabs/Widget/Activity.php:50
-msgctxt "widget"
-msgid "Activity"
+#: ../../Zotlabs/Module/Settings/Channel.php:590
+msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:37
-msgid "Select Channel"
+#: ../../Zotlabs/Module/Settings/Channel.php:591
+msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:42
-msgid "Read-write"
+#: ../../Zotlabs/Module/Settings/Channel.php:593
+msgid "Miscellaneous Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:43
-msgid "Read-only"
+#: ../../Zotlabs/Module/Settings/Channel.php:594
+msgid "Default photo upload folder"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:127
-msgid "Channel Calendar"
+#: ../../Zotlabs/Module/Settings/Channel.php:594
+#: ../../Zotlabs/Module/Settings/Channel.php:595
+msgid "%Y - current year, %m - current month"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:129 ../../Zotlabs/Widget/Cdav.php:143
-#: ../../Zotlabs/Module/Cdav.php:1051
-msgid "CalDAV Calendars"
+#: ../../Zotlabs/Module/Settings/Channel.php:595
+msgid "Default file upload folder"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:131
-msgid "Shared CalDAV Calendars"
+#: ../../Zotlabs/Module/Settings/Channel.php:597
+msgid "Remove this channel."
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:135
-msgid "Share this calendar"
+#: ../../Zotlabs/Module/Settings/Connections.php:40
+msgid "Connections Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:137
-msgid "Calendar name and color"
+#: ../../Zotlabs/Module/Settings/Calendar.php:40
+msgid "Calendar Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:139
-msgid "Create new CalDAV calendar"
+#: ../../Zotlabs/Module/Settings/Directory.php:40
+msgid "Directory Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178
-#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Module/Cdav.php:1383
-#: ../../Zotlabs/Module/Webpages.php:254
-#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Cards.php:113
-#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Profiles.php:800
-#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Menu.php:182
-#: ../../Zotlabs/Module/Connedit.php:941 ../../Zotlabs/Module/Layouts.php:185
-#: ../../Zotlabs/Storage/Browser.php:282 ../../Zotlabs/Storage/Browser.php:396
-msgid "Create"
+#: ../../Zotlabs/Module/Settings/Channel_home.php:46
+#: ../../Zotlabs/Module/Settings/Network.php:42
+msgid "Max height of content (in pixels)"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:141
-msgid "Calendar Name"
+#: ../../Zotlabs/Module/Settings/Channel_home.php:48
+#: ../../Zotlabs/Module/Settings/Network.php:44
+msgid "Click to expand content exceeding this height"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:142
-msgid "Calendar Tools"
+#: ../../Zotlabs/Module/Settings/Channel_home.php:61
+msgid "Personal menu to display in your channel pages"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:143 ../../Zotlabs/Module/Cdav.php:1051
-msgid "Channel Calendars"
+#: ../../Zotlabs/Module/Settings/Channel_home.php:88
+msgid "Channel Home Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:144
-msgid "Import calendar"
+#: ../../Zotlabs/Module/Settings/Network.php:59
+msgid "Stream Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:145
-msgid "Select a calendar to import to"
+#: ../../Zotlabs/Module/Settings/Conversation.php:23
+msgid "Settings saved."
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:172
-msgid "Addressbooks"
+#: ../../Zotlabs/Module/Settings/Conversation.php:25
+msgid "Settings saved. Reload page please."
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:174
-msgid "Addressbook name"
+#: ../../Zotlabs/Module/Settings/Conversation.php:47
+msgid "Conversation Settings"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:176
-msgid "Create new addressbook"
+#: ../../Zotlabs/Module/Probe.php:18
+msgid "Remote Diagnostics App"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:177
-msgid "Addressbook Name"
+#: ../../Zotlabs/Module/Probe.php:19
+msgid "Perform diagnostics on remote channels"
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:179
-msgid "Addressbook Tools"
+#: ../../Zotlabs/Module/Invite.php:37
+msgid "Total invitation limit exceeded."
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:180
-msgid "Import addressbook"
+#: ../../Zotlabs/Module/Invite.php:61
+#, php-format
+msgid "%s : Not a valid email address."
msgstr ""
-#: ../../Zotlabs/Widget/Cdav.php:181
-msgid "Select an addressbook to import to"
+#: ../../Zotlabs/Module/Invite.php:75
+msgid "Please join us on $Projectname"
msgstr ""
-#: ../../Zotlabs/Widget/Savedsearch.php:75
-msgid "Remove term"
+#: ../../Zotlabs/Module/Invite.php:85
+msgid "Invitation limit exceeded. Please contact your site administrator."
msgstr ""
-#: ../../Zotlabs/Widget/Suggestedchats.php:32
-msgid "Suggested Chatrooms"
+#: ../../Zotlabs/Module/Invite.php:90
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:40
+#, php-format
+msgid "%s : Message delivery failed."
msgstr ""
-#: ../../Zotlabs/Widget/Settings_menu.php:32
-msgid "Account settings"
+#: ../../Zotlabs/Module/Invite.php:94
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Invite.php:110
+msgid "Invite App"
msgstr ""
-#: ../../Zotlabs/Widget/Settings_menu.php:38
-msgid "Channel settings"
+#: ../../Zotlabs/Module/Invite.php:111
+msgid "Send email invitations to join this network"
msgstr ""
-#: ../../Zotlabs/Widget/Settings_menu.php:46
-msgid "Display settings"
+#: ../../Zotlabs/Module/Invite.php:124
+msgid "You have no more invitations available"
msgstr ""
-#: ../../Zotlabs/Widget/Settings_menu.php:53
-msgid "Manage locations"
+#: ../../Zotlabs/Module/Invite.php:155
+msgid "Send invitations"
msgstr ""
-#: ../../Zotlabs/Widget/Chatroom_list.php:20
-msgid "Overview"
+#: ../../Zotlabs/Module/Invite.php:156
+msgid "Enter email addresses, one per line:"
msgstr ""
-#: ../../Zotlabs/Widget/Suggestions.php:48 ../../Zotlabs/Module/Suggest.php:73
-msgid "Ignore/Hide"
+#: ../../Zotlabs/Module/Invite.php:157
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:163
+msgid "Your message:"
msgstr ""
-#: ../../Zotlabs/Widget/Suggestions.php:53
-msgid "Suggestions"
+#: ../../Zotlabs/Module/Invite.php:158
+msgid "Please join my community on $Projectname."
msgstr ""
-#: ../../Zotlabs/Widget/Suggestions.php:54
-msgid "See more..."
+#: ../../Zotlabs/Module/Invite.php:160
+msgid "You will need to supply this invitation code:"
msgstr ""
-#: ../../Zotlabs/Widget/Bookmarkedchats.php:24
-msgid "Bookmarked Chatrooms"
+#: ../../Zotlabs/Module/Invite.php:161
+msgid "1. Register at any $Projectname location (they are all inter-connected)"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_page_history.php:23
-#: ../../Zotlabs/Lib/NativeWikiPage.php:565
-msgctxt "wiki_history"
-msgid "Message"
+#: ../../Zotlabs/Module/Invite.php:163
+msgid "2. Enter my $Projectname network address into the site searchbar."
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_page_history.php:24
-#: ../../Zotlabs/Lib/NativeWikiPage.php:566
-msgid "Date"
+#: ../../Zotlabs/Module/Invite.php:164
+msgid "or visit"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_page_history.php:25
-#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:567
-msgid "Revert"
+#: ../../Zotlabs/Module/Invite.php:166
+msgid "3. Click [Connect]"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_page_history.php:26
-#: ../../Zotlabs/Lib/NativeWikiPage.php:568
-msgid "Compare"
+#: ../../Zotlabs/Module/Siteinfo.php:21
+msgid "About this site"
msgstr ""
-#: ../../Zotlabs/Widget/Hq_controls.php:14
-msgid "HQ Control Panel"
+#: ../../Zotlabs/Module/Siteinfo.php:22
+msgid "Site Name"
msgstr ""
-#: ../../Zotlabs/Widget/Hq_controls.php:17
-msgid "Create a new post"
+#: ../../Zotlabs/Module/Siteinfo.php:26
+msgid "Administrator"
msgstr ""
-#: ../../Zotlabs/Widget/Mailmenu.php:13
-msgid "Private Mail Menu"
+#: ../../Zotlabs/Module/Siteinfo.php:29
+msgid "Software and Project information"
msgstr ""
-#: ../../Zotlabs/Widget/Mailmenu.php:15
-msgid "Combined View"
+#: ../../Zotlabs/Module/Siteinfo.php:30
+msgid "This site is powered by $Projectname"
msgstr ""
-#: ../../Zotlabs/Widget/Mailmenu.php:20
-msgid "Inbox"
+#: ../../Zotlabs/Module/Siteinfo.php:31
+msgid ""
+"Federated and decentralised networking and identity services provided by Zot"
msgstr ""
-#: ../../Zotlabs/Widget/Mailmenu.php:25
-msgid "Outbox"
+#: ../../Zotlabs/Module/Siteinfo.php:34
+msgid "Additional federated transport protocols:"
msgstr ""
-#: ../../Zotlabs/Widget/Mailmenu.php:30
-msgid "New Message"
+#: ../../Zotlabs/Module/Siteinfo.php:36
+#, php-format
+msgid "Version %s"
msgstr ""
-#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58
-msgid "photo/image"
+#: ../../Zotlabs/Module/Siteinfo.php:37
+msgid "Project homepage"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:22 ../../Zotlabs/Module/Admin/Site.php:286
-msgid "Site"
+#: ../../Zotlabs/Module/Siteinfo.php:38
+msgid "Developer homepage"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:23
-#: ../../Zotlabs/Module/Admin/Accounts.php:167
-#: ../../Zotlabs/Module/Admin/Accounts.php:180
-#: ../../Zotlabs/Module/Admin.php:96
-msgid "Accounts"
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60
-msgid "Member registrations waiting for confirmation"
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:24
-#: ../../Zotlabs/Module/Admin/Channels.php:146
-#: ../../Zotlabs/Module/Admin.php:114
-msgid "Channels"
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:25 ../../Zotlabs/Module/Admin/Security.php:99
-msgid "Security"
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:26 ../../Zotlabs/Lib/Apps.php:358
-msgid "Features"
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:27 ../../Zotlabs/Module/Admin/Addons.php:343
-#: ../../Zotlabs/Module/Admin/Addons.php:441
-msgid "Addons"
+#: ../../Zotlabs/Module/Lang.php:17
+msgid "Language App"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:28 ../../Zotlabs/Module/Admin/Themes.php:123
-#: ../../Zotlabs/Module/Admin/Themes.php:157
-msgid "Themes"
+#: ../../Zotlabs/Module/Lang.php:18
+msgid "Change UI language"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:29
-msgid "Inspect queue"
+#: ../../Zotlabs/Module/Hq.php:131
+msgid "Welcome to Hubzilla!"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:30 ../../Zotlabs/Module/Admin/Profs.php:168
-msgid "Profile Fields"
+#: ../../Zotlabs/Module/Hq.php:131
+msgid "You have got no unseen posts..."
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:31
-msgid "DB updates"
+#: ../../Zotlabs/Module/Cover_photo.php:196
+#: ../../Zotlabs/Module/Cover_photo.php:254
+msgid "Cover Photos"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:48 ../../Zotlabs/Widget/Admin.php:58
-#: ../../Zotlabs/Module/Admin/Logs.php:83
-msgid "Logs"
+#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4860
+msgid "female"
msgstr ""
-#: ../../Zotlabs/Widget/Admin.php:56
-msgid "Addon Features"
+#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4861
+#, php-format
+msgid "%1$s updated her %2$s"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:33
-msgid "Direct Messages"
+#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4862
+msgid "male"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:37
-msgid "Show direct (private) messages"
+#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4863
+#, php-format
+msgid "%1$s updated his %2$s"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:42
-msgid "Events"
+#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4865
+#, php-format
+msgid "%1$s updated their %2$s"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:46
-msgid "Show posts that include events"
+#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2328
+msgid "cover photo"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:52
-msgid "Polls"
+#: ../../Zotlabs/Module/Cover_photo.php:418
+msgid "Your cover photo may be visible to anybody on the internet"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:56
-msgid "Show posts that include polls"
+#: ../../Zotlabs/Module/Cover_photo.php:422
+msgid "Change Cover Photo"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:77
-#, php-format
-msgid "Show posts related to the %s privacy group"
+#: ../../Zotlabs/Module/Menu.php:68
+msgid "Unable to update menu."
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:86
-msgid "Show my privacy groups"
+#: ../../Zotlabs/Module/Menu.php:79
+msgid "Unable to create menu."
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:108
-msgid "Show posts to this forum"
+#: ../../Zotlabs/Module/Menu.php:161 ../../Zotlabs/Module/Menu.php:174
+msgid "Menu Name"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:119
-msgid "Show forums"
+#: ../../Zotlabs/Module/Menu.php:161
+msgid "Unique name (not visible on webpage) - required"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:133
-msgid "Starred Posts"
+#: ../../Zotlabs/Module/Menu.php:162 ../../Zotlabs/Module/Menu.php:175
+msgid "Menu Title"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:137
-msgid "Show posts that I have starred"
+#: ../../Zotlabs/Module/Menu.php:162
+msgid "Visible on webpage - leave empty for no title"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:148
-msgid "Personal Posts"
+#: ../../Zotlabs/Module/Menu.php:163
+msgid "Allow Bookmarks"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:152
-msgid "Show posts that mention or involve me"
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+msgid "Menu may be used to store saved bookmarks"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:173
-#, php-format
-msgid "Show posts that I have filed to %s"
+#: ../../Zotlabs/Module/Menu.php:164 ../../Zotlabs/Module/Menu.php:225
+msgid "Submit and proceed"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:183
-msgid "Show filed post categories"
+#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2699
+msgid "Menus"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:197
-msgid "Panel search"
+#: ../../Zotlabs/Module/Menu.php:181
+msgid "Bookmarks allowed"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:207
-msgid "Filter by name"
+#: ../../Zotlabs/Module/Menu.php:183
+msgid "Delete this menu"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:222
-msgid "Remove active filter"
+#: ../../Zotlabs/Module/Menu.php:184 ../../Zotlabs/Module/Menu.php:219
+msgid "Edit menu contents"
msgstr ""
-#: ../../Zotlabs/Widget/Activity_filter.php:238
-msgid "Stream Filters"
+#: ../../Zotlabs/Module/Menu.php:185
+msgid "Edit this menu"
msgstr ""
-#: ../../Zotlabs/Widget/Appstore.php:11
-msgid "App Collections"
+#: ../../Zotlabs/Module/Menu.php:201
+msgid "Menu could not be deleted."
msgstr ""
-#: ../../Zotlabs/Widget/Appstore.php:13
-msgid "Installed apps"
+#: ../../Zotlabs/Module/Menu.php:214
+msgid "Edit Menu"
msgstr ""
-#: ../../Zotlabs/Widget/Appstore.php:14 ../../Zotlabs/Module/Apps.php:50
-msgid "Available Apps"
+#: ../../Zotlabs/Module/Menu.php:218
+msgid "Add or remove entries to this menu"
msgstr ""
-#: ../../Zotlabs/Widget/Eventstools.php:13
-msgid "Events Tools"
+#: ../../Zotlabs/Module/Menu.php:220
+msgid "Menu name"
msgstr ""
-#: ../../Zotlabs/Widget/Eventstools.php:14
-msgid "Export Calendar"
+#: ../../Zotlabs/Module/Menu.php:220
+msgid "Must be unique, only seen by you"
msgstr ""
-#: ../../Zotlabs/Widget/Eventstools.php:15
-msgid "Import Calendar"
+#: ../../Zotlabs/Module/Menu.php:221
+msgid "Menu title"
msgstr ""
-#: ../../Zotlabs/Widget/Rating.php:51
-msgid "Rating Tools"
+#: ../../Zotlabs/Module/Menu.php:221
+msgid "Menu title as seen by others"
msgstr ""
-#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57
-msgid "Rate Me"
+#: ../../Zotlabs/Module/Menu.php:222
+msgid "Allow bookmarks"
msgstr ""
-#: ../../Zotlabs/Widget/Rating.php:60
-msgid "View Ratings"
+#: ../../Zotlabs/Module/Sources.php:41
+msgid "Failed to create source. No channel selected."
msgstr ""
-#: ../../Zotlabs/Widget/Cover_photo.php:65
-msgid "Click to show more"
+#: ../../Zotlabs/Module/Sources.php:57
+msgid "Source created."
msgstr ""
-#: ../../Zotlabs/Widget/Follow.php:22
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
+#: ../../Zotlabs/Module/Sources.php:70
+msgid "Source updated."
msgstr ""
-#: ../../Zotlabs/Widget/Follow.php:29
-msgid "Add New Connection"
+#: ../../Zotlabs/Module/Sources.php:88
+msgid "Sources App"
msgstr ""
-#: ../../Zotlabs/Widget/Follow.php:30
-msgid "Enter channel address"
+#: ../../Zotlabs/Module/Sources.php:89
+msgid "Automatically import channel content from other channels or feeds"
msgstr ""
-#: ../../Zotlabs/Widget/Follow.php:31
-msgid "Examples: bob@example.com, https://example.com/barbara"
+#: ../../Zotlabs/Module/Sources.php:101
+msgid "*"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:31
-msgid "Profile Creation"
+#: ../../Zotlabs/Module/Sources.php:107 ../../Zotlabs/Lib/Apps.php:368
+msgid "Channel Sources"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:33
-msgid "Upload profile photo"
+#: ../../Zotlabs/Module/Sources.php:108
+msgid "Manage remote sources of content for your channel."
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:34
-msgid "Upload cover photo"
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:119
+msgid "New Source"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:38
-msgid "Find and Connect with others"
+#: ../../Zotlabs/Module/Sources.php:120 ../../Zotlabs/Module/Sources.php:154
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:40
-msgid "View the directory"
+#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155
+msgid "Only import content with these words (one per line)"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:41 ../../Zotlabs/Module/Go.php:38
-msgid "View friend suggestions"
+#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155
+msgid "Leave blank to import all public content"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:42
-msgid "Manage your connections"
+#: ../../Zotlabs/Module/Sources.php:122 ../../Zotlabs/Module/Sources.php:161
+msgid "Channel Name"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:45
-msgid "Communicate"
+#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:47
-msgid "View your channel homepage"
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+msgid "Resend posts with this channel as author"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:48
-msgid "View your network stream"
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+msgid "Copyrights may apply"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:54
-msgid "Documentation"
+#: ../../Zotlabs/Module/Sources.php:144 ../../Zotlabs/Module/Sources.php:174
+msgid "Source not found."
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:57
-msgid "Missing Features?"
+#: ../../Zotlabs/Module/Sources.php:151
+msgid "Edit Source"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:59
-msgid "Pin apps to navigation bar"
+#: ../../Zotlabs/Module/Sources.php:152
+msgid "Delete Source"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:60
-msgid "Install more apps"
+#: ../../Zotlabs/Module/Sources.php:182
+msgid "Source removed"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:71
-msgid "View public stream"
+#: ../../Zotlabs/Module/Sources.php:184
+msgid "Unable to remove source."
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:75
-#: ../../Zotlabs/Module/Settings/Display.php:206
-msgid "New Member Links"
+#: ../../Zotlabs/Module/Poke.php:165
+msgid "Poke App"
msgstr ""
-#: ../../Zotlabs/Widget/Affinity.php:30 ../../Zotlabs/Module/Connedit.php:726
-msgid "Me"
+#: ../../Zotlabs/Module/Poke.php:166
+msgid "Poke somebody in your addressbook"
msgstr ""
-#: ../../Zotlabs/Widget/Affinity.php:31 ../../Zotlabs/Module/Connedit.php:727
-msgid "Family"
+#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351
+#: ../../include/conversation.php:1140
+msgid "Poke"
msgstr ""
-#: ../../Zotlabs/Widget/Affinity.php:33 ../../Zotlabs/Module/Connedit.php:729
-msgid "Acquaintances"
+#: ../../Zotlabs/Module/Poke.php:200
+msgid "Poke somebody"
msgstr ""
-#: ../../Zotlabs/Widget/Affinity.php:34 ../../Zotlabs/Module/Connections.php:97
-#: ../../Zotlabs/Module/Connections.php:111
-#: ../../Zotlabs/Module/Connedit.php:730
-msgid "All"
+#: ../../Zotlabs/Module/Poke.php:203
+msgid "Poke/Prod"
msgstr ""
-#: ../../Zotlabs/Widget/Affinity.php:54
-msgid "Refresh"
+#: ../../Zotlabs/Module/Poke.php:204
+msgid "Poke, prod or do other things to somebody"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:16
-msgid "New Network Activity"
+#: ../../Zotlabs/Module/Poke.php:211
+msgid "Recipient"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:17
-msgid "New Network Activity Notifications"
+#: ../../Zotlabs/Module/Poke.php:212
+msgid "Choose what you wish to do to recipient"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:20
-msgid "View your network activity"
+#: ../../Zotlabs/Module/Poke.php:215 ../../Zotlabs/Module/Poke.php:216
+msgid "Make this post private"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:23
-#: ../../Zotlabs/Widget/Notifications.php:62
-msgid "Mark all notifications read"
+#: ../../Zotlabs/Module/Network.php:105
+msgid "No such group"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:26
-#: ../../Zotlabs/Widget/Notifications.php:46
-#: ../../Zotlabs/Widget/Notifications.php:65
-#: ../../Zotlabs/Widget/Notifications.php:172
-msgid "Show new posts only"
+#: ../../Zotlabs/Module/Network.php:152
+msgid "No such channel"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:27
-#: ../../Zotlabs/Widget/Notifications.php:47
-#: ../../Zotlabs/Widget/Notifications.php:66
-#: ../../Zotlabs/Widget/Notifications.php:142
-#: ../../Zotlabs/Widget/Notifications.php:173
-msgid "Filter by name or address"
+#: ../../Zotlabs/Module/Network.php:239
+msgid "Privacy group is empty"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:36
-msgid "New Home Activity"
+#: ../../Zotlabs/Module/Network.php:249
+msgid "Privacy group: "
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:37
-msgid "New Home Activity Notifications"
+#: ../../Zotlabs/Module/Network.php:322
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:29
+msgid "Invalid channel."
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:40
-msgid "View your home activity"
+#: ../../Zotlabs/Module/Attach_edit.php:118
+msgid "Can not copy folder into itself."
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:43
-#: ../../Zotlabs/Widget/Notifications.php:169
-msgid "Mark all notifications seen"
+#: ../../Zotlabs/Module/Attach_edit.php:131
+#, php-format
+msgid "Can not move folder \"%s\" into itself."
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:55
-msgid "New Direct Messages"
+#: ../../Zotlabs/Module/Viewsrc.php:43
+msgid "item"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:56
-msgid "New Direct Messages Notifications"
+#: ../../Zotlabs/Module/Lockview.php:75
+msgid "Remote privacy information not available."
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:59
-msgid "View your direct messages"
+#: ../../Zotlabs/Module/Lockview.php:96
+msgid "Visible to:"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:74
-msgid "New Mails"
+#: ../../Zotlabs/Storage/Browser.php:292
+msgid "Change filename to"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:75
-msgid "New Mails Notifications"
+#: ../../Zotlabs/Storage/Browser.php:309 ../../Zotlabs/Storage/Browser.php:390
+msgid "Select a target location"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:78
-msgid "View your private mails"
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:391
+msgid "Copy to target location"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:81
-msgid "Mark all messages seen"
+#: ../../Zotlabs/Storage/Browser.php:311 ../../Zotlabs/Storage/Browser.php:389
+msgid "Set permissions for all files and sub folders"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:89
-msgid "New Events"
+#: ../../Zotlabs/Storage/Browser.php:312
+msgid "Notify your contacts about this file"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:90
-msgid "New Events Notifications"
+#: ../../Zotlabs/Storage/Browser.php:351
+msgid "File category"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:93
-msgid "View events"
+#: ../../Zotlabs/Storage/Browser.php:362
+msgid "Total"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:96
-msgid "Mark all events seen"
+#: ../../Zotlabs/Storage/Browser.php:364
+msgid "Shared"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:104
-#: ../../Zotlabs/Module/Connections.php:164
-msgid "New Connections"
+#: ../../Zotlabs/Storage/Browser.php:366
+msgid "Add Files"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:105
-msgid "New Connections Notifications"
+#: ../../Zotlabs/Storage/Browser.php:369 ../../Zotlabs/Lib/ThreadItem.php:174
+msgid "Admin Delete"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:108
-msgid "View all connections"
+#: ../../Zotlabs/Storage/Browser.php:381
+msgid "parent"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:116
-msgid "New Files"
+#: ../../Zotlabs/Storage/Browser.php:399
+msgid "Select All"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:117
-msgid "New Files Notifications"
+#: ../../Zotlabs/Storage/Browser.php:400
+msgid "Bulk Actions"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:124
-#: ../../Zotlabs/Widget/Notifications.php:125
-msgid "Notices"
+#: ../../Zotlabs/Storage/Browser.php:401
+msgid "Adjust Permissions"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:128
-msgid "View all notices"
+#: ../../Zotlabs/Storage/Browser.php:402
+msgid "Move or Copy"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:131
-msgid "Mark all notices seen"
+#: ../../Zotlabs/Storage/Browser.php:405
+msgid "Info"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:152
-msgid "New Registrations"
+#: ../../Zotlabs/Storage/Browser.php:406
+msgid "Rename"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:153
-msgid "New Registrations Notifications"
+#: ../../Zotlabs/Storage/Browser.php:407 ../../Zotlabs/Lib/Apps.php:360
+msgid "Post"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:162
-#: ../../Zotlabs/Module/Pubstream.php:114 ../../Zotlabs/Lib/Apps.php:375
-msgid "Public Stream"
+#: ../../Zotlabs/Storage/Browser.php:408
+msgid "Attachment BBcode"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:163
-msgid "Public Stream Notifications"
+#: ../../Zotlabs/Storage/Browser.php:409
+msgid "Embed BBcode"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:166
-msgid "View the public stream"
+#: ../../Zotlabs/Storage/Browser.php:410
+msgid "Link BBcode"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:181
-msgid "Sorry, you have got no notifications at the moment"
+#: ../../Zotlabs/Storage/Browser.php:480
+#, php-format
+msgid "You are using %1$s of your available file storage."
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:39
+#: ../../Zotlabs/Storage/Browser.php:485
#, php-format
-msgid "This channel is limited to %d tokens"
+msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:45
-msgid "Name and Password are required."
+#: ../../Zotlabs/Storage/Browser.php:496
+msgid "WARNING:"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:85
-msgid "Token saved."
+#: ../../Zotlabs/Storage/Browser.php:537
+msgid "Create new folder"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:99
-msgid "Guest Access App"
+#: ../../Zotlabs/Storage/Browser.php:539
+msgid "Upload file"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:100
-msgid "Create access tokens so that non-members can access private content"
+#: ../../Zotlabs/Storage/Browser.php:551
+msgid "Drop files here to immediately upload"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:133
+#: ../../Zotlabs/Storage/Browser.php:554
msgid ""
-"Use this form to create temporary access identifiers to share things with "
-"non-members. These identities may be used in Access Control Lists and "
-"visitors may login using these credentials to access private content."
+"You can select files via the upload button or drop them right here or into "
+"an existing folder."
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:135
+#: ../../Zotlabs/Zot/Auth.php:152
msgid ""
-"You may also provide <em>dropbox</em> style access links to friends and "
-"associates by adding the Login Password to any specific site URL as shown. "
-"Examples:"
+"Remote authentication blocked. You are logged into this site locally. Please "
+"logout and retry."
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:170
-msgid "Guest Access Tokens"
+#: ../../Zotlabs/Zot/Auth.php:264
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:76
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:177
-msgid "Login Name"
+#: ../../Zotlabs/Lib/Group.php:28 ../../include/group.php:23
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:178
-msgid "Login Password"
+#: ../../Zotlabs/Lib/Group.php:270 ../../include/group.php:265
+msgid "Add new connections to this privacy group"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:179
-msgid "Expires (yyyy-mm-dd)"
+#: ../../Zotlabs/Lib/Group.php:302 ../../Zotlabs/Lib/AccessList.php:311
+#: ../../include/group.php:299
+msgid "edit"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:180 ../../Zotlabs/Module/Connedit.php:910
-msgid "Their Settings"
+#: ../../Zotlabs/Lib/Group.php:325 ../../include/group.php:322
+msgid "Edit group"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122
-#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:911
-msgid "My Settings"
+#: ../../Zotlabs/Lib/Group.php:326 ../../include/group.php:323
+msgid "Add privacy group"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124
-#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:906
-msgid "inherited"
+#: ../../Zotlabs/Lib/Group.php:327 ../../include/group.php:324
+msgid "Channels not in any privacy group"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127
-#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:913
-msgid "Individual Permissions"
+#: ../../Zotlabs/Lib/Group.php:329 ../../Zotlabs/Lib/AccessList.php:336
+#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:326
+msgid "add"
msgstr ""
-#: ../../Zotlabs/Module/Tokens.php:187 ../../Zotlabs/Module/Permcats.php:128
-#: ../../Zotlabs/Module/Connedit.php:914
-msgid ""
-"Some permissions may be inherited from your channel's <a href=\"settings"
-"\"><strong>privacy settings</strong></a>, which have higher priority than "
-"individual settings. You can <strong>not</strong> change those settings here."
+#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143
+#: ../../include/follow.php:37
+msgid "Channel is blocked on this site."
msgstr ""
-#: ../../Zotlabs/Module/Article_edit.php:17
-#: ../../Zotlabs/Module/Article_edit.php:33
-#: ../../Zotlabs/Module/Card_edit.php:17 ../../Zotlabs/Module/Card_edit.php:33
-#: ../../Zotlabs/Module/Editwebpage.php:80 ../../Zotlabs/Module/Editpost.php:24
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-#: ../../Zotlabs/Module/Editlayout.php:79
-msgid "Item not found"
+#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:42
+msgid "Channel location missing."
msgstr ""
-#: ../../Zotlabs/Module/Article_edit.php:44
-#: ../../Zotlabs/Module/Wall_upload.php:31
-#: ../../Zotlabs/Module/Card_edit.php:44 ../../Zotlabs/Module/Chanview.php:95
-#: ../../Zotlabs/Module/Cal.php:31 ../../Zotlabs/Module/Page.php:75
-#: ../../Zotlabs/Module/Block.php:41
-msgid "Channel not found."
+#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:166
+msgid "Remote channel or protocol unavailable."
msgstr ""
-#: ../../Zotlabs/Module/Article_edit.php:127
-msgid "Edit Article"
+#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:190
+msgid "Channel discovery failed."
msgstr ""
-#: ../../Zotlabs/Module/Network.php:110
-msgid "No such group"
+#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:202
+msgid "Protocol disabled."
msgstr ""
-#: ../../Zotlabs/Module/Network.php:157
-msgid "No such channel"
+#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:213
+msgid "Cannot connect to yourself."
msgstr ""
-#: ../../Zotlabs/Module/Network.php:169 ../../Zotlabs/Module/Channel.php:195
-msgid "Search Results For:"
+#: ../../Zotlabs/Lib/Connect.php:271
+msgid "error saving data"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:210 ../../Zotlabs/Module/Channel.php:230
-#: ../../Zotlabs/Module/Hq.php:134 ../../Zotlabs/Module/Pubstream.php:99
-#: ../../Zotlabs/Module/Display.php:79
-msgid "Reset form"
+#: ../../Zotlabs/Lib/Apps.php:323
+msgid "Apps"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:246
-msgid "Privacy group is empty"
+#: ../../Zotlabs/Lib/Apps.php:324
+msgid "Affinity Tool"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:256
-msgid "Privacy group: "
+#: ../../Zotlabs/Lib/Apps.php:327
+msgid "Site Admin"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:48 ../../Zotlabs/Module/Import.php:68
-msgid "Nothing to import."
+#: ../../Zotlabs/Lib/Apps.php:328
+#: ../../extend/addon/hzaddons/buglink/buglink.php:16
+msgid "Report Bug"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:72 ../../Zotlabs/Module/Import.php:83
-#: ../../Zotlabs/Module/Import.php:99
-msgid "Unable to download data from old server"
+#: ../../Zotlabs/Lib/Apps.php:329 ../../include/nav.php:490
+msgid "Bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:77 ../../Zotlabs/Module/Import.php:106
-msgid "Imported file is empty."
+#: ../../Zotlabs/Lib/Apps.php:330 ../../Zotlabs/Widget/Chatroom_list.php:16
+#: ../../include/nav.php:477 ../../include/nav.php:480
+msgid "Chatrooms"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:93
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
+#: ../../Zotlabs/Lib/Apps.php:331
+msgid "Content Filter"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:108
-msgid "Import completed"
+#: ../../Zotlabs/Lib/Apps.php:332
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:135
+msgid "Content Import"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:125
-msgid "Import Items"
+#: ../../Zotlabs/Lib/Apps.php:334
+msgid "Remote Diagnostics"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:126
-msgid "Use this form to import existing posts and content from an export file."
+#: ../../Zotlabs/Lib/Apps.php:335
+msgid "Suggest Channels"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:127
-#: ../../Zotlabs/Module/Import.php:632
-msgid "File to Upload"
+#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:124
+#: ../../include/nav.php:128 ../../boot.php:1705
+msgid "Login"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:162
-#, php-format
-msgid "Your service plan only allows %d channels."
+#: ../../Zotlabs/Lib/Apps.php:338
+msgid "Stream"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:189
-msgid "No channel. Import failed."
+#: ../../Zotlabs/Lib/Apps.php:342 ../../include/nav.php:539
+msgid "Wiki"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:625
-msgid "You must be logged in to use this feature."
+#: ../../Zotlabs/Lib/Apps.php:343 ../../include/features.php:104
+msgid "Channel Home"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:630
-msgid "Import Channel"
+#: ../../Zotlabs/Lib/Apps.php:346 ../../include/features.php:82
+#: ../../include/nav.php:463 ../../include/nav.php:466
+msgid "Calendar"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:631
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You "
-"may retrieve the channel identity from the old server/hub via the network or "
-"provide an export file."
+#: ../../Zotlabs/Lib/Apps.php:347 ../../include/features.php:192
+msgid "Directory"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:633
-msgid "Or provide the old server/hub details"
+#: ../../Zotlabs/Lib/Apps.php:349
+msgid "Mail"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:635
-msgid "Your old identity address (xyz@example.com)"
+#: ../../Zotlabs/Lib/Apps.php:352
+msgid "Chat"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:636
-msgid "Your old login email address"
+#: ../../Zotlabs/Lib/Apps.php:354
+msgid "Probe"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:637
-msgid "Your old login password"
+#: ../../Zotlabs/Lib/Apps.php:355
+msgid "Suggest"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:638
-msgid "Import a few months of posts if possible (limited by available memory"
+#: ../../Zotlabs/Lib/Apps.php:356
+msgid "Random Channel"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:640
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be "
-"able to post from either location, but only one can be marked as the primary "
-"location for files, photos, and media."
+#: ../../Zotlabs/Lib/Apps.php:357
+msgid "Invite"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:642
-msgid "Make this hub my primary location"
+#: ../../Zotlabs/Lib/Apps.php:358 ../../Zotlabs/Widget/Admin.php:26
+msgid "Features"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:643
-msgid "Move this channel (disable all previous locations)"
+#: ../../Zotlabs/Lib/Apps.php:359
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:69
+msgid "Language"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:644
-msgid "Use this channel nickname instead of the one provided"
+#: ../../Zotlabs/Lib/Apps.php:361
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:58
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:59
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:60
+msgid "Profile Photo"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:644
-msgid ""
-"Leave blank to keep your existing channel nickname. You will be randomly "
-"assigned a similar nickname if either name is already allocated on this site."
+#: ../../Zotlabs/Lib/Apps.php:363 ../../include/features.php:383
+msgid "Profiles"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:646
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
+#: ../../Zotlabs/Lib/Apps.php:365
+msgid "Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Ochannel.php:32 ../../Zotlabs/Module/Channel.php:42
-#: ../../Zotlabs/Module/Chat.php:29
-msgid "You must be logged in to see this page."
+#: ../../Zotlabs/Lib/Apps.php:366
+msgid "Order Apps"
msgstr ""
-#: ../../Zotlabs/Module/Z6trans.php:19
-msgid "Update to Hubzilla 5.0 step 2"
+#: ../../Zotlabs/Lib/Apps.php:367
+msgid "CardDAV"
msgstr ""
-#: ../../Zotlabs/Module/Z6trans.php:21
-msgid "To complete the update please run"
+#: ../../Zotlabs/Lib/Apps.php:369
+msgid "Guest Access"
msgstr ""
-#: ../../Zotlabs/Module/Z6trans.php:23
-msgid "php util/z6convert.php"
+#: ../../Zotlabs/Lib/Apps.php:370 ../../Zotlabs/Widget/Notes.php:21
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2625
+msgid "Notes"
msgstr ""
-#: ../../Zotlabs/Module/Z6trans.php:25
-msgid "from the terminal."
+#: ../../Zotlabs/Lib/Apps.php:371
+msgid "OAuth Apps Manager"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:52
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+#: ../../Zotlabs/Lib/Apps.php:372
+msgid "OAuth2 Apps Manager"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:58
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
+#: ../../Zotlabs/Lib/Apps.php:373
+msgid "PDL Editor"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:92
-msgid "Passwords do not match."
+#: ../../Zotlabs/Lib/Apps.php:376
+msgid "My Chatrooms"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:135
-msgid "Registration successful. Continue to create your first channel..."
+#: ../../Zotlabs/Lib/Apps.php:377
+msgid "Channel Export"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:138
-msgid ""
-"Registration successful. Please check your email for validation instructions."
+#: ../../Zotlabs/Lib/Apps.php:554
+msgid "Purchase"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:145
-msgid "Your registration is pending approval by the site owner."
+#: ../../Zotlabs/Lib/Apps.php:559
+msgid "Undelete"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:148
-msgid "Your registration can not be processed."
+#: ../../Zotlabs/Lib/Apps.php:569
+msgid "Add to app-tray"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:195
-msgid "Registration on this hub is disabled."
+#: ../../Zotlabs/Lib/Apps.php:570
+msgid "Remove from app-tray"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:204
-msgid "Registration on this hub is by approval only."
+#: ../../Zotlabs/Lib/Apps.php:571
+msgid "Pin to navbar"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214
-msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+#: ../../Zotlabs/Lib/Apps.php:572
+msgid "Unpin from navbar"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:213
-msgid "Registration on this hub is by invitation only."
+#: ../../Zotlabs/Lib/DB_Upgrade.php:67
+msgid "Source code of failed update: "
msgstr ""
-#: ../../Zotlabs/Module/Register.php:224
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
+#: ../../Zotlabs/Lib/DB_Upgrade.php:88
+#, php-format
+msgid "Update Error at %s"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28
-msgid "Terms of Service"
+#: ../../Zotlabs/Lib/DB_Upgrade.php:94
+#, php-format
+msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../Zotlabs/Module/Register.php:245
-#, php-format
-msgid "I accept the %s for this website"
+#: ../../Zotlabs/Lib/AccessList.php:28
+msgid ""
+"A deleted list with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this list and any future members. If this is "
+"not what you intended, please create another list with a different name."
msgstr ""
-#: ../../Zotlabs/Module/Register.php:252
-#, php-format
-msgid "I am over %s years of age and accept the %s for this website"
+#: ../../Zotlabs/Lib/AccessList.php:286
+msgid "Add new connections to this access list"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:257
-msgid "Your email address"
+#: ../../Zotlabs/Lib/AccessList.php:331
+msgid "Lists"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:258
-msgid "Choose a password"
+#: ../../Zotlabs/Lib/AccessList.php:332
+msgid "Edit list"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:259
-msgid "Please re-enter your password"
+#: ../../Zotlabs/Lib/AccessList.php:333
+msgid "Create new list"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:260
-msgid "Please enter your invitation code"
+#: ../../Zotlabs/Lib/AccessList.php:334
+msgid "Channels not in any access list"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:261
-msgid "Your Name"
+#: ../../Zotlabs/Lib/Chatroom.php:25
+msgid "Missing room name"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:261
-msgid "Real names are preferred."
+#: ../../Zotlabs/Lib/Chatroom.php:34
+msgid "Duplicate room name"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:263
-#: ../../Zotlabs/Module/New_channel.php:177
-msgid "Choose a short nickname"
+#: ../../Zotlabs/Lib/Chatroom.php:84 ../../Zotlabs/Lib/Chatroom.php:92
+msgid "Invalid room specifier."
msgstr ""
-#: ../../Zotlabs/Module/Register.php:263
-#, php-format
-msgid ""
-"Your nickname will be used to create an easy to remember channel address e."
-"g. nickname%s"
+#: ../../Zotlabs/Lib/Chatroom.php:124
+msgid "Room not found."
msgstr ""
-#: ../../Zotlabs/Module/Register.php:264
-#: ../../Zotlabs/Module/New_channel.php:178
-#: ../../Zotlabs/Module/Settings/Channel.php:537
-msgid "Channel role and privacy"
+#: ../../Zotlabs/Lib/Chatroom.php:145
+msgid "Room is full"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:264
-msgid ""
-"Select a channel permission role for your usage needs and privacy "
-"requirements."
+#: ../../Zotlabs/Lib/Techlevels.php:10
+msgid "0. Beginner/Basic"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:264
-#: ../../Zotlabs/Module/New_channel.php:178
-msgid "Read more about channel permission roles"
+#: ../../Zotlabs/Lib/Techlevels.php:11
+msgid "1. Novice - not skilled but willing to learn"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:265
-msgid "no"
+#: ../../Zotlabs/Lib/Techlevels.php:12
+msgid "2. Intermediate - somewhat comfortable"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:265
-msgid "yes"
+#: ../../Zotlabs/Lib/Techlevels.php:13
+msgid "3. Advanced - very comfortable"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:277
-#: ../../Zotlabs/Module/Admin/Site.php:288
-msgid "Registration"
+#: ../../Zotlabs/Lib/Techlevels.php:14
+msgid "4. Expert - I can write computer code"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:294
-msgid ""
-"This site requires email verification. After completing this form, please "
-"check your email for further instructions."
+#: ../../Zotlabs/Lib/Techlevels.php:15
+msgid "5. Wizard - I probably know more than you do"
msgstr ""
-#: ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:23
-#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Display.php:29
-#: ../../Zotlabs/Module/Directory.php:71 ../../Zotlabs/Module/Directory.php:76
-#: ../../Zotlabs/Module/Photos.php:518
-msgid "Public access denied."
+#: ../../Zotlabs/Lib/Enotify.php:60
+msgid "$Projectname Notification"
msgstr ""
-#: ../../Zotlabs/Module/Search.php:231
-#, php-format
-msgid "Items tagged with: %s"
+#: ../../Zotlabs/Lib/Enotify.php:61
+#: ../../extend/addon/hzaddons/diaspora/util.php:336
+#: ../../extend/addon/hzaddons/diaspora/util.php:349
+#: ../../extend/addon/hzaddons/diaspora/p.php:48
+msgid "$projectname"
msgstr ""
-#: ../../Zotlabs/Module/Search.php:233
-#, php-format
-msgid "Search results for: %s"
+#: ../../Zotlabs/Lib/Enotify.php:63
+msgid "Thank You,"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:167
-msgid "$Projectname Server - Setup"
+#: ../../Zotlabs/Lib/Enotify.php:65
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:33
+#, php-format
+msgid "%s Administrator"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:171
-msgid "Could not connect to database."
+#: ../../Zotlabs/Lib/Enotify.php:66
+#, php-format
+msgid "This email was sent by %1$s at %2$s."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:175
+#: ../../Zotlabs/Lib/Enotify.php:67
+#, php-format
msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
+"To stop receiving these messages, please adjust your Notification Settings "
+"at %s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:182
-msgid "Could not create table."
+#: ../../Zotlabs/Lib/Enotify.php:68
+#, php-format
+msgid "To stop receiving these messages, please adjust your %s."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:188
-msgid "Your site database has been installed."
+#: ../../Zotlabs/Lib/Enotify.php:123
+#, php-format
+msgid "%s <!item_type!>"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:194
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
+#: ../../Zotlabs/Lib/Enotify.php:127
+#, php-format
+msgid "[$Projectname:Notify] New mail received at %s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259
-#: ../../Zotlabs/Module/Setup.php:766
-msgid "Please see the file \"install/INSTALL.txt\"."
+#: ../../Zotlabs/Lib/Enotify.php:129
+#, php-format
+msgid "%1$s sent you a new private message at %2$s."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:256
-msgid "System check"
+#: ../../Zotlabs/Lib/Enotify.php:130
+#, php-format
+msgid "%1$s sent you %2$s."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:260 ../../Zotlabs/Module/Cdav.php:1032
-#: ../../Zotlabs/Module/Events.php:698 ../../Zotlabs/Module/Events.php:707
-#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Photos.php:955
-msgid "Next"
+#: ../../Zotlabs/Lib/Enotify.php:130
+msgid "a private message"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:261
-msgid "Check again"
+#: ../../Zotlabs/Lib/Enotify.php:131
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:282
-msgid "Database connection"
+#: ../../Zotlabs/Lib/Enotify.php:144
+msgid "commented on"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:283
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
+#: ../../Zotlabs/Lib/Enotify.php:157
+msgid "liked"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:284
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
+#: ../../Zotlabs/Lib/Enotify.php:160
+msgid "disliked"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:285
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
+#: ../../Zotlabs/Lib/Enotify.php:165
+msgid "voted on"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:289
-msgid "Database Server Name"
+#: ../../Zotlabs/Lib/Enotify.php:208
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:289
-msgid "Default is 127.0.0.1"
+#: ../../Zotlabs/Lib/Enotify.php:216
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:290
-msgid "Database Port"
+#: ../../Zotlabs/Lib/Enotify.php:225
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:290
-msgid "Communication port number - use 0 for default"
+#: ../../Zotlabs/Lib/Enotify.php:237
+#, php-format
+msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:291
-msgid "Database Login Name"
+#: ../../Zotlabs/Lib/Enotify.php:239
+#, php-format
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:292
-msgid "Database Login Password"
+#: ../../Zotlabs/Lib/Enotify.php:240
+#, php-format
+msgid "%1$s commented on an item/conversation you have been following."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:293
-msgid "Database Name"
+#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:324
+#: ../../Zotlabs/Lib/Enotify.php:340 ../../Zotlabs/Lib/Enotify.php:365
+#: ../../Zotlabs/Lib/Enotify.php:382 ../../Zotlabs/Lib/Enotify.php:395
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:294
-msgid "Database Type"
+#: ../../Zotlabs/Lib/Enotify.php:247 ../../Zotlabs/Lib/Enotify.php:248
+#, php-format
+msgid "Please visit %s to approve or reject this comment."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
-msgid "Site administrator email address"
+#: ../../Zotlabs/Lib/Enotify.php:306
+#, php-format
+msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
+#: ../../Zotlabs/Lib/Enotify.php:320
+#, php-format
+msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
-msgid "Website URL"
+#: ../../Zotlabs/Lib/Enotify.php:321
+#, php-format
+msgid "%1$s liked an item/conversation you created."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
-msgid "Please use SSL (https) URL if available."
+#: ../../Zotlabs/Lib/Enotify.php:332
+#, php-format
+msgid "[$Projectname:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340
-msgid "Please select a default timezone for your website"
+#: ../../Zotlabs/Lib/Enotify.php:334
+#, php-format
+msgid "%1$s posted to your profile wall at %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:325
-msgid "Site settings"
+#: ../../Zotlabs/Lib/Enotify.php:336
+#, php-format
+msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:379
-msgid "PHP version 7.1 or greater is required."
+#: ../../Zotlabs/Lib/Enotify.php:359
+#, php-format
+msgid "[$Projectname:Notify] %s tagged you"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:380
-msgid "PHP version"
+#: ../../Zotlabs/Lib/Enotify.php:360
+#, php-format
+msgid "%1$s tagged you at %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:396
-msgid "Could not find a command line version of PHP in the web server PATH."
+#: ../../Zotlabs/Lib/Enotify.php:361
+#, php-format
+msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:397
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
+#: ../../Zotlabs/Lib/Enotify.php:372
+#, php-format
+msgid "[$Projectname:Notify] %1$s poked you"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:401
-msgid "PHP executable path"
+#: ../../Zotlabs/Lib/Enotify.php:373
+#, php-format
+msgid "%1$s poked you at %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:401
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
+#: ../../Zotlabs/Lib/Enotify.php:374
+#, php-format
+msgid "%1$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:406
-msgid "Command line PHP"
+#: ../../Zotlabs/Lib/Enotify.php:389
+#, php-format
+msgid "[$Projectname:Notify] %s tagged your post"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:416
-msgid ""
-"Unable to check command line PHP, as shell_exec() is disabled. This is "
-"required."
+#: ../../Zotlabs/Lib/Enotify.php:390
+#, php-format
+msgid "%1$s tagged your post at %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:420
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
+#: ../../Zotlabs/Lib/Enotify.php:391
+#, php-format
+msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:421
-msgid "This is required for message delivery to work."
+#: ../../Zotlabs/Lib/Enotify.php:402
+msgid "[$Projectname:Notify] Introduction received"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:424
-msgid "PHP register_argc_argv"
+#: ../../Zotlabs/Lib/Enotify.php:403
+#, php-format
+msgid "You've received an new connection request from '%1$s' at %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:444
-msgid ""
-"This is not sufficient to upload larger images or files. You should be able "
-"to upload at least 4 MB at once."
+#: ../../Zotlabs/Lib/Enotify.php:404
+#, php-format
+msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:446
+#: ../../Zotlabs/Lib/Enotify.php:407 ../../Zotlabs/Lib/Enotify.php:425
#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to "
-"upload is set to %s. You are allowed to upload up to %d files at once."
+msgid "You may visit their profile at %s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:452
-msgid "You can adjust these settings in the server php.ini file."
+#: ../../Zotlabs/Lib/Enotify.php:409
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:454
-msgid "PHP upload limits"
+#: ../../Zotlabs/Lib/Enotify.php:416
+msgid "[$Projectname:Notify] Friend suggestion received"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:477
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
+#: ../../Zotlabs/Lib/Enotify.php:417
+#, php-format
+msgid "You've received a friend suggestion from '%1$s' at %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:478
-msgid ""
-"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
-"installation.php\"."
+#: ../../Zotlabs/Lib/Enotify.php:418
+#, php-format
+msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:481
-msgid "Generate encryption keys"
+#: ../../Zotlabs/Lib/Enotify.php:423
+msgid "Name:"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:498
-msgid "libCurl PHP module"
+#: ../../Zotlabs/Lib/Enotify.php:424
+msgid "Photo:"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:499
-msgid "GD graphics PHP module"
+#: ../../Zotlabs/Lib/Enotify.php:427
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:500
-msgid "OpenSSL PHP module"
+#: ../../Zotlabs/Lib/Enotify.php:652
+msgid "[$Projectname:Notify]"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:501
-msgid "PDO database PHP module"
+#: ../../Zotlabs/Lib/Enotify.php:820
+msgid "created a new poll"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:502
-msgid "mb_string PHP module"
+#: ../../Zotlabs/Lib/Enotify.php:820
+msgid "created a new post"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:503
-msgid "xml PHP module"
+#: ../../Zotlabs/Lib/Enotify.php:821
+#, php-format
+msgid "voted on %s's poll"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:504
-msgid "zip PHP module"
+#: ../../Zotlabs/Lib/Enotify.php:821
+#, php-format
+msgid "commented on %s's post"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510
-msgid "Apache mod_rewrite module"
+#: ../../Zotlabs/Lib/Enotify.php:825
+#, php-format
+msgid "repeated %s's post"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:508
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
+#: ../../Zotlabs/Lib/Enotify.php:837
+#, php-format
+msgid "edited a post dated %s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517
-msgid "exec"
+#: ../../Zotlabs/Lib/Enotify.php:841
+#, php-format
+msgid "edited a comment dated %s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:514
-msgid ""
-"Error: exec is required but is either not installed or has been disabled in "
-"php.ini"
+#: ../../Zotlabs/Lib/Enotify.php:970
+msgid "created an event"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523
-msgid "shell_exec"
+#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2657
+#, php-format
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:520
-msgid ""
-"Error: shell_exec is required but is either not installed or has been "
-"disabled in php.ini"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:42
+#: ../../Zotlabs/Lib/NativeWikiPage.php:94
+msgid "(No Title)"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:528
-msgid "Error: libCURL PHP module required but not installed."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:109
+msgid "Wiki page create failed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:532
-msgid ""
-"Error: GD PHP module with JPEG support or ImageMagick graphics library "
-"required but not installed."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:122
+msgid "Wiki not found."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:536
-msgid "Error: openssl PHP module required but not installed."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:133
+msgid "Destination name already exists"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:542
-msgid ""
-"Error: PDO database PHP module missing a driver for either mysql or pgsql."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:166
+#: ../../Zotlabs/Lib/NativeWikiPage.php:362
+msgid "Page not found"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:547
-msgid "Error: PDO database PHP module required but not installed."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:197
+msgid "Error reading page content"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:551
-msgid "Error: mb_string PHP module required but not installed."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:353
+#: ../../Zotlabs/Lib/NativeWikiPage.php:402
+#: ../../Zotlabs/Lib/NativeWikiPage.php:469
+#: ../../Zotlabs/Lib/NativeWikiPage.php:510
+msgid "Error reading wiki"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:555
-msgid "Error: xml PHP module required for DAV but not installed."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:390
+msgid "Page update failed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:559
-msgid "Error: zip PHP module required but not installed."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:424
+msgid "Nothing deleted"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587
-msgid ".htconfig.php is writable"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:490
+msgid "Compare: object not found."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:583
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\" "
-"in the top folder of your web server and it is unable to do so."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:496
+msgid "Page updated"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:584
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:499
+msgid "Untitled"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:585
-msgid "Please see install/INSTALL.txt for additional information."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:505
+msgid "Wiki resource_id required for git commit"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:601
-msgid ""
-"This software uses the Smarty3 template engine to render its web views. "
-"Smarty3 compiles templates to PHP to speed up rendering."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:565
+#: ../../Zotlabs/Widget/Wiki_page_history.php:23
+msgctxt "wiki_history"
+msgid "Message"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:602
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the top level web folder."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:566
+#: ../../Zotlabs/Widget/Wiki_page_history.php:24
+msgid "Date"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has "
-"write access to this folder."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:568
+#: ../../Zotlabs/Widget/Wiki_page_history.php:26
+msgid "Compare"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:604
-#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:606 ../../include/bbcode.php:1018
+#: ../../include/bbcode.php:1190
+msgid "Different viewers will see this text differently"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:607
-#, php-format
-msgid "%s is writable"
+#: ../../Zotlabs/Lib/ThreadItem.php:103 ../../include/conversation.php:739
+msgid "Private Message"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:623
-msgid ""
-"This software uses the store directory to save uploaded files. The web "
-"server needs to have write access to the store directory under the top level "
-"web folder"
+#: ../../Zotlabs/Lib/ThreadItem.php:130
+msgid "Privacy conflict. Discretion advised."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:627
-msgid "store is writable"
+#: ../../Zotlabs/Lib/ThreadItem.php:180 ../../include/conversation.php:729
+msgid "Select"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:659
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access "
-"to this site."
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I will attend"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:660
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I will not attend"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:661
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I might attend"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:662
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I agree"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:663
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I disagree"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:664
-msgid ""
-"Providers are available that issue free certificates which are browser-valid."
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I abstain"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:665
-msgid ""
-"If you are confident that the certificate is valid and signed by a trusted "
-"authority, check to see if you have failed to install an intermediate cert. "
-"These are not normally required by browsers, but are required for server-to-"
-"server communications."
+#: ../../Zotlabs/Lib/ThreadItem.php:273 ../../include/conversation.php:734
+msgid "Toggle Star Status"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:667
-msgid "SSL certificate validation"
+#: ../../Zotlabs/Lib/ThreadItem.php:284 ../../Zotlabs/Widget/Pinned.php:88
+#: ../../include/conversation.php:746
+msgid "Message signature validated"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:673
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-"Test: "
+#: ../../Zotlabs/Lib/ThreadItem.php:285 ../../Zotlabs/Widget/Pinned.php:89
+#: ../../include/conversation.php:747
+msgid "Message signature incorrect"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:676
-msgid "Url rewrite is working"
+#: ../../Zotlabs/Lib/ThreadItem.php:301 ../../include/conversation.php:933
+msgid "Conversation Tools"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:689
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
+#: ../../Zotlabs/Lib/ThreadItem.php:317 ../../include/taxonomy.php:582
+msgid "like"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:764
-msgid "<h1>What next?</h1>"
+#: ../../Zotlabs/Lib/ThreadItem.php:318 ../../include/taxonomy.php:583
+msgid "dislike"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:765
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "Reply on this comment"
msgstr ""
-#: ../../Zotlabs/Module/Viewconnections.php:65
-msgid "No connections."
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "reply"
msgstr ""
-#: ../../Zotlabs/Module/Viewconnections.php:105
-#, php-format
-msgid "Visit %s's profile [%s]"
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "Reply to"
msgstr ""
-#: ../../Zotlabs/Module/Viewconnections.php:135
-msgid "View Connections"
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99
+msgid "Share This"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:27
-msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99
+msgid "share"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Hub URL"
+#: ../../Zotlabs/Lib/ThreadItem.php:339
+msgid "Delivery Report"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Access Type"
-msgstr ""
+#: ../../Zotlabs/Lib/ThreadItem.php:358
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Registration Policy"
+#: ../../Zotlabs/Lib/ThreadItem.php:359
+#, php-format
+msgid "%d unseen"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Stats"
+#: ../../Zotlabs/Lib/ThreadItem.php:412
+msgid "to"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Software"
+#: ../../Zotlabs/Lib/ThreadItem.php:413 ../../Zotlabs/Widget/Pinned.php:128
+msgid "via"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:49
-msgid "Rate"
+#: ../../Zotlabs/Lib/ThreadItem.php:414
+msgid "Wall-to-Wall"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:60 ../../Zotlabs/Module/Webpages.php:261
-#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Blocks.php:166
-#: ../../Zotlabs/Module/Wiki.php:213 ../../Zotlabs/Module/Wiki.php:409
-#: ../../Zotlabs/Module/Layouts.php:198
-msgid "View"
+#: ../../Zotlabs/Lib/ThreadItem.php:415
+msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:99 ../../Zotlabs/Module/Hcard.php:37
-#: ../../Zotlabs/Module/Profile.php:45
-msgid "Posts and comments"
+#: ../../Zotlabs/Lib/ThreadItem.php:429 ../../Zotlabs/Widget/Pinned.php:133
+#: ../../include/conversation.php:806
+#, php-format
+msgid "from %s"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:106 ../../Zotlabs/Module/Hcard.php:44
-#: ../../Zotlabs/Module/Profile.php:52
-msgid "Only posts"
+#: ../../Zotlabs/Lib/ThreadItem.php:432 ../../Zotlabs/Widget/Pinned.php:136
+#: ../../include/conversation.php:809
+#, php-format
+msgid "last edited: %s"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:178
-msgid "Insufficient permissions. Request redirected to profile page."
+#: ../../Zotlabs/Lib/ThreadItem.php:433 ../../Zotlabs/Widget/Pinned.php:137
+#: ../../include/conversation.php:810
+#, php-format
+msgid "Expires: %s"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:465 ../../Zotlabs/Module/Display.php:376
-msgid ""
-"You must enable javascript for your browser to be able to view this content."
+#: ../../Zotlabs/Lib/ThreadItem.php:442
+msgid "Attend"
msgstr ""
-#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
-msgid "Invalid profile identifier."
+#: ../../Zotlabs/Lib/ThreadItem.php:443 ../../Zotlabs/Widget/Pinned.php:143
+msgid "Attendance Options"
msgstr ""
-#: ../../Zotlabs/Module/Profperm.php:111
-msgid "Profile Visibility Editor"
+#: ../../Zotlabs/Lib/ThreadItem.php:444 ../../include/text.php:1922
+msgid "Vote"
msgstr ""
-#: ../../Zotlabs/Module/Profperm.php:115
-msgid "Click on a contact to add or remove."
+#: ../../Zotlabs/Lib/ThreadItem.php:445 ../../Zotlabs/Widget/Pinned.php:144
+msgid "Voting Options"
msgstr ""
-#: ../../Zotlabs/Module/Profperm.php:124
-msgid "Visible To"
+#: ../../Zotlabs/Lib/ThreadItem.php:460
+msgid "Go to previous comment"
msgstr ""
-#: ../../Zotlabs/Module/Profperm.php:140
-#: ../../Zotlabs/Module/Connections.php:217
-msgid "All Connections"
+#: ../../Zotlabs/Lib/ThreadItem.php:469 ../../Zotlabs/Widget/Pinned.php:156
+msgid "Pinned post"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:46
-msgid "Privacy group created."
+#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../Zotlabs/Widget/Pinned.php:157
+#: ../../include/js_strings.php:39
+msgid "Unpin from the top"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:49
-msgid "Could not create privacy group."
+#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../include/js_strings.php:38
+msgid "Pin to the top"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:81
-msgid "Privacy group updated."
+#: ../../Zotlabs/Lib/ThreadItem.php:472
+#: ../../extend/addon/hzaddons/bookmarker/bookmarker.php:38
+msgid "Save Bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:107
-msgid "Privacy Groups App"
+#: ../../Zotlabs/Lib/ThreadItem.php:473
+msgid "Add to Calendar"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:108
-msgid "Management of privacy groups"
+#: ../../Zotlabs/Lib/ThreadItem.php:500 ../../include/conversation.php:516
+msgid "This is an unsaved preview"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:143
-msgid "Add Group"
+#: ../../Zotlabs/Lib/ThreadItem.php:533 ../../include/js_strings.php:7
+#, php-format
+msgid "%s show all"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:147
-msgid "Privacy group name"
+#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/conversation.php:1449
+#: ../../extend/addon/hzaddons/hsse/hsse.php:200
+msgid "Bold"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:148 ../../Zotlabs/Module/Group.php:257
-msgid "Members are visible to other channels"
+#: ../../Zotlabs/Lib/ThreadItem.php:827 ../../include/conversation.php:1450
+#: ../../extend/addon/hzaddons/hsse/hsse.php:201
+msgid "Italic"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:156 ../../Zotlabs/Module/Help.php:84
-msgid "Members"
+#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451
+#: ../../extend/addon/hzaddons/hsse/hsse.php:202
+msgid "Underline"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:183
-msgid "Privacy group removed."
+#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452
+#: ../../extend/addon/hzaddons/hsse/hsse.php:203
+msgid "Quote"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:186
-msgid "Unable to remove privacy group."
+#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453
+#: ../../extend/addon/hzaddons/hsse/hsse.php:204
+msgid "Code"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:252
-#, php-format
-msgid "Privacy Group: %s"
+#: ../../Zotlabs/Lib/ThreadItem.php:831
+msgid "Image"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:254
-msgid "Privacy group name: "
+#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1454
+#: ../../extend/addon/hzaddons/hsse/hsse.php:205
+msgid "Attach/Upload file"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:259
-msgid "Delete Group"
+#: ../../Zotlabs/Lib/ThreadItem.php:833
+msgid "Insert Link"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:270
-msgid "Group members"
+#: ../../Zotlabs/Lib/ThreadItem.php:834
+msgid "Video"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:272
-msgid "Not in this group"
+#: ../../Zotlabs/Lib/ThreadItem.php:844
+msgid "Your full name (required)"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:304
-msgid "Click a channel to toggle membership"
+#: ../../Zotlabs/Lib/ThreadItem.php:845
+msgid "Your email address (required)"
msgstr ""
-#: ../../Zotlabs/Module/Card_edit.php:128
-msgid "Edit Card"
+#: ../../Zotlabs/Lib/ThreadItem.php:846
+msgid "Your website URL (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:21
-msgid "This page is available only to site members"
+#: ../../Zotlabs/Lib/Activity.php:2110
+#, php-format
+msgid "Likes %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:27
-msgid "Welcome"
+#: ../../Zotlabs/Lib/Activity.php:2113
+#, php-format
+msgid "Doesn't like %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:29
-msgid "What would you like to do?"
+#: ../../Zotlabs/Lib/Activity.php:2119
+#, php-format
+msgid "Will attend %s's event"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:31
-msgid ""
-"Please bookmark this page if you would like to return to it in the future"
+#: ../../Zotlabs/Lib/Activity.php:2122
+#, php-format
+msgid "Will not attend %s's event"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:35
-msgid "Upload a profile photo"
+#: ../../Zotlabs/Lib/Activity.php:2125
+#, php-format
+msgid "May attend %s's event"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:36
-msgid "Upload a cover photo"
+#: ../../Zotlabs/Lib/Activity.php:2128
+#, php-format
+msgid "May not attend %s's event"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:37
-msgid "Edit your default profile"
+#: ../../Zotlabs/Lib/Activity.php:2821 ../../Zotlabs/Lib/Activity.php:3015
+#: ../../include/network.php:1736
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1479
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1733
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1941
+msgid "ActivityPub"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:39
-msgid "View the channel directory"
+#: ../../Zotlabs/Lib/NativeWiki.php:145
+msgid "Wiki updated successfully"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:40
-msgid "View/edit your channel settings"
+#: ../../Zotlabs/Lib/NativeWiki.php:199
+msgid "Wiki files deleted successfully"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:41
-msgid "View the site or project documentation"
+#: ../../Zotlabs/Lib/Libzotdir.php:163 ../../include/dir_fns.php:141
+msgid "Directory Options"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:42
-msgid "Visit your channel homepage"
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../include/dir_fns.php:143
+msgid "Safe Mode"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:43
-msgid ""
-"View your connections and/or add somebody whose address you already know"
+#: ../../Zotlabs/Lib/Libzotdir.php:166 ../../include/dir_fns.php:144
+msgid "Public Forums Only"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:44
-msgid ""
-"View your personal stream (this may be empty until you add some connections)"
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/dir_fns.php:145
+msgid "This Website Only"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:52
-msgid "View the public stream. Warning: this content is not moderated"
+#: ../../Zotlabs/Lib/Permcat.php:82
+msgctxt "permcat"
+msgid "default"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:45
-msgid "Name is required"
+#: ../../Zotlabs/Lib/Permcat.php:133
+msgctxt "permcat"
+msgid "follower"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:49
-msgid "Key and Secret are required"
+#: ../../Zotlabs/Lib/Permcat.php:137
+msgctxt "permcat"
+msgid "contributor"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:53 ../../Zotlabs/Module/Oauth.php:137
-#: ../../Zotlabs/Module/Cdav.php:1049 ../../Zotlabs/Module/Cdav.php:1384
-#: ../../Zotlabs/Module/Admin/Addons.php:457
-#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth2.php:58
-#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:942
-#: ../../Zotlabs/Lib/Apps.php:536
-msgid "Update"
+#: ../../Zotlabs/Lib/Permcat.php:141
+msgctxt "permcat"
+msgid "publisher"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:100
-msgid "OAuth Apps Manager App"
+#: ../../Zotlabs/Lib/Libzot.php:656 ../../include/zot.php:802
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:101
-msgid "OAuth authentication tokens for mobile and remote apps"
+#: ../../Zotlabs/Lib/PermissionDescription.php:34
+#: ../../include/acl_selectors.php:33
+msgid "Visible to your default audience"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:110 ../../Zotlabs/Module/Oauth.php:136
-#: ../../Zotlabs/Module/Oauth.php:172 ../../Zotlabs/Module/Oauth2.php:143
-#: ../../Zotlabs/Module/Oauth2.php:193
-msgid "Add application"
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+#: ../../include/acl_selectors.php:135
+msgid "Only me"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth2.php:118
-#: ../../Zotlabs/Module/Oauth2.php:146
-msgid "Name of application"
+#: ../../Zotlabs/Lib/PermissionDescription.php:108
+msgid "Public"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:115
-#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
-msgid "Automatically generated - change if desired. Max length 20"
+#: ../../Zotlabs/Lib/PermissionDescription.php:109
+msgid "Anybody in the $Projectname network"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142
-#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148
-msgid "Redirect"
+#: ../../Zotlabs/Lib/PermissionDescription.php:110
+#, php-format
+msgid "Any account on %s"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth2.php:120
-#: ../../Zotlabs/Module/Oauth2.php:148
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires this"
+#: ../../Zotlabs/Lib/PermissionDescription.php:111
+msgid "Any of my connections"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143
-msgid "Icon url"
+#: ../../Zotlabs/Lib/PermissionDescription.php:112
+msgid "Only connections I specifically allow"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123
-#: ../../Zotlabs/Module/Sources.php:158
-msgid "Optional"
+#: ../../Zotlabs/Lib/PermissionDescription.php:113
+msgid "Anybody authenticated (could include visitors from other networks)"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:128
-msgid "Application not found."
+#: ../../Zotlabs/Lib/PermissionDescription.php:114
+msgid "Any connections including those who haven't yet been approved"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:171
-msgid "Connected OAuth Apps"
+#: ../../Zotlabs/Lib/PermissionDescription.php:150
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196
-msgid "Client key starts with"
+#: ../../Zotlabs/Lib/PermissionDescription.php:151
+msgid ""
+"This is your default setting for who can view your default channel profile"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:176 ../../Zotlabs/Module/Oauth2.php:197
-msgid "No name"
+#: ../../Zotlabs/Lib/PermissionDescription.php:152
+msgid "This is your default setting for who can view your connections"
msgstr ""
-#: ../../Zotlabs/Module/Oauth.php:177 ../../Zotlabs/Module/Oauth2.php:198
-msgid "Remove authorization"
+#: ../../Zotlabs/Lib/PermissionDescription.php:153
+msgid ""
+"This is your default setting for who can view your file storage and photos"
msgstr ""
-#: ../../Zotlabs/Module/Editwebpage.php:139
-msgid "Page link"
+#: ../../Zotlabs/Lib/PermissionDescription.php:154
+msgid "This is your default setting for the audience of your webpages"
msgstr ""
-#: ../../Zotlabs/Module/Editwebpage.php:166
-msgid "Edit Webpage"
+#: ../../Zotlabs/Widget/Appcategories.php:46 ../../Zotlabs/Widget/Filer.php:31
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:111
+#: ../../include/contact_widgets.php:155 ../../include/contact_widgets.php:200
+#: ../../include/contact_widgets.php:235
+msgid "Everything"
msgstr ""
-#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52
-msgid "This site is not a directory server"
+#: ../../Zotlabs/Widget/Cdav.php:37
+msgid "Select Channel"
msgstr ""
-#: ../../Zotlabs/Module/Dirsearch.php:37
-msgid "This directory server requires an access token"
+#: ../../Zotlabs/Widget/Cdav.php:42
+msgid "Read-write"
msgstr ""
-#: ../../Zotlabs/Module/Hq.php:140
-msgid "Welcome to Hubzilla!"
+#: ../../Zotlabs/Widget/Cdav.php:43
+msgid "Read-only"
msgstr ""
-#: ../../Zotlabs/Module/Hq.php:140
-msgid "You have got no unseen posts..."
+#: ../../Zotlabs/Widget/Cdav.php:127
+msgid "Channel Calendar"
msgstr ""
-#: ../../Zotlabs/Module/Pin.php:35 ../../Zotlabs/Module/Item.php:448
-msgid "Unable to locate original post."
+#: ../../Zotlabs/Widget/Cdav.php:131
+msgid "Shared CalDAV Calendars"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:100
-msgid "Chatrooms App"
+#: ../../Zotlabs/Widget/Cdav.php:135
+msgid "Share this calendar"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:101
-msgid "Access Controlled Chatrooms"
+#: ../../Zotlabs/Widget/Cdav.php:137
+msgid "Calendar name and color"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:194
-msgid "Room not found"
+#: ../../Zotlabs/Widget/Cdav.php:139
+msgid "Create new CalDAV calendar"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:210
-msgid "Leave Room"
+#: ../../Zotlabs/Widget/Cdav.php:141
+msgid "Calendar Name"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:211
-msgid "Delete Room"
+#: ../../Zotlabs/Widget/Cdav.php:142
+msgid "Calendar Tools"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:212
-msgid "I am away right now"
+#: ../../Zotlabs/Widget/Cdav.php:144
+msgid "Import calendar"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:213
-msgid "I am online"
+#: ../../Zotlabs/Widget/Cdav.php:145
+msgid "Select a calendar to import to"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:215
-msgid "Bookmark this room"
+#: ../../Zotlabs/Widget/Cdav.php:172
+msgid "Addressbooks"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:238
-msgid "New Chatroom"
+#: ../../Zotlabs/Widget/Cdav.php:174
+msgid "Addressbook name"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:239
-msgid "Chatroom name"
+#: ../../Zotlabs/Widget/Cdav.php:176
+msgid "Create new addressbook"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:240
-msgid "Expiration of chats (minutes)"
+#: ../../Zotlabs/Widget/Cdav.php:177
+msgid "Addressbook Name"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:256
-#, php-format
-msgid "%1$s's Chatrooms"
+#: ../../Zotlabs/Widget/Cdav.php:179
+msgid "Addressbook Tools"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:261
-msgid "No chatrooms available"
+#: ../../Zotlabs/Widget/Cdav.php:180
+msgid "Import addressbook"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:262 ../../Zotlabs/Module/Manage.php:145
-#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214
-msgid "Create New"
+#: ../../Zotlabs/Widget/Cdav.php:181
+msgid "Select an addressbook to import to"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:265
-msgid "Expiration"
+#: ../../Zotlabs/Widget/Filer.php:28
+#: ../../Zotlabs/Widget/Activity_filter.php:179
+#: ../../include/contact_widgets.php:53 ../../include/features.php:319
+msgid "Saved Folders"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:266
-msgid "min"
+#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:323
+#: ../../include/taxonomy.php:458 ../../include/taxonomy.php:479
+msgid "Tags"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:57
-#: ../../Zotlabs/Module/Events.php:113
-msgid "Event can not end before it has started."
+#: ../../Zotlabs/Widget/Archive.php:43
+msgid "Archives"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:59
-#: ../../Zotlabs/Module/Channel_calendar.php:67
-#: ../../Zotlabs/Module/Channel_calendar.php:84
-#: ../../Zotlabs/Module/Events.php:115 ../../Zotlabs/Module/Events.php:124
-#: ../../Zotlabs/Module/Events.php:146
-msgid "Unable to generate preview."
+#: ../../Zotlabs/Widget/Chatroom_members.php:11
+msgid "Chat Members"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:65
-#: ../../Zotlabs/Module/Events.php:122
-msgid "Event title and start time are required."
+#: ../../Zotlabs/Widget/Rating.php:51
+msgid "Rating Tools"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:82
-#: ../../Zotlabs/Module/Channel_calendar.php:224
-#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271
-msgid "Event not found."
+#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57
+msgid "Rate Me"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:371
-#: ../../Zotlabs/Module/Events.php:641
-msgid "Edit event"
+#: ../../Zotlabs/Widget/Rating.php:60
+msgid "View Ratings"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:373
-#: ../../Zotlabs/Module/Events.php:643
-msgid "Delete event"
+#: ../../Zotlabs/Widget/Wiki_pages.php:34
+#: ../../Zotlabs/Widget/Wiki_pages.php:91
+msgid "Add new page"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:393
-#: ../../Zotlabs/Module/Cdav.php:939 ../../Zotlabs/Module/Cal.php:167
-msgid "Link to source"
+#: ../../Zotlabs/Widget/Wiki_pages.php:85
+msgid "Wiki Pages"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:407
-#: ../../Zotlabs/Module/Events.php:677
-msgid "calendar"
+#: ../../Zotlabs/Widget/Wiki_pages.php:96
+msgid "Page name"
msgstr ""
-#: ../../Zotlabs/Module/Channel_calendar.php:494
-#: ../../Zotlabs/Module/Events.php:742
-msgid "Failed to remove event"
+#: ../../Zotlabs/Widget/Bookmarkedchats.php:24
+msgid "Bookmarked Chatrooms"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:57
-msgid "Like/Dislike"
+#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58
+msgid "photo/image"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:62
-msgid "This action is restricted to members."
+#: ../../Zotlabs/Widget/Forums.php:100
+#: ../../Zotlabs/Widget/Activity_filter.php:115
+#: ../../Zotlabs/Widget/Notifications.php:139
+#: ../../Zotlabs/Widget/Notifications.php:140
+#: ../../include/acl_selectors.php:124
+msgid "Forums"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:63
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
-"\"register\">register as a new $Projectname member</a> to continue."
+#: ../../Zotlabs/Widget/Savedsearch.php:75
+msgid "Remove term"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:117 ../../Zotlabs/Module/Like.php:143
-#: ../../Zotlabs/Module/Like.php:181
-msgid "Invalid request."
+#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:311
+msgid "Saved Searches"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:158
-msgid "thing"
+#: ../../Zotlabs/Widget/Follow.php:22
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
msgstr ""
-#: ../../Zotlabs/Module/Like.php:204
-msgid "Channel unavailable."
+#: ../../Zotlabs/Widget/Follow.php:29
+msgid "Add New Connection"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:240
-msgid "Previous action reversed."
+#: ../../Zotlabs/Widget/Follow.php:30
+msgid "Enter channel address"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:426
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
+#: ../../Zotlabs/Widget/Follow.php:31
+msgid "Examples: bob@example.com, https://example.com/barbara"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:428
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
+#: ../../Zotlabs/Widget/Suggestions.php:53
+msgid "Suggestions"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:430
-#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
+#: ../../Zotlabs/Widget/Suggestions.php:54
+msgid "See more..."
msgstr ""
-#: ../../Zotlabs/Module/Like.php:547
-msgid "Action completed."
+#: ../../Zotlabs/Widget/Tasklist.php:23
+msgid "Tasks"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:548
-msgid "Thank you."
+#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60
+msgid "Member registrations waiting for confirmation"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:165
-msgid "Poke App"
+#: ../../Zotlabs/Widget/Admin.php:29
+msgid "Inspect queue"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:166
-msgid "Poke somebody in your addressbook"
+#: ../../Zotlabs/Widget/Admin.php:31
+msgid "DB updates"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:200
-msgid "Poke somebody"
+#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:194
+msgid "Admin"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:203
-msgid "Poke/Prod"
+#: ../../Zotlabs/Widget/Admin.php:56
+msgid "Addon Features"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:204
-msgid "Poke, prod or do other things to somebody"
+#: ../../Zotlabs/Widget/Chatroom_list.php:20
+msgid "Overview"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:211
-msgid "Recipient"
+#: ../../Zotlabs/Widget/Appstore.php:11
+msgid "App Collections"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:212
-msgid "Choose what you wish to do to recipient"
+#: ../../Zotlabs/Widget/Appstore.php:13
+msgid "Installed apps"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:215 ../../Zotlabs/Module/Poke.php:216
-msgid "Make this post private"
+#: ../../Zotlabs/Widget/Activity_order.php:90
+msgid "Commented Date"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:814 ../../Zotlabs/Module/Events.php:28
-msgid "Calendar entries imported."
+#: ../../Zotlabs/Widget/Activity_order.php:94
+msgid "Order by last commented date"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:816 ../../Zotlabs/Module/Events.php:30
-msgid "No calendar entries found."
+#: ../../Zotlabs/Widget/Activity_order.php:97
+msgid "Posted Date"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:872
-msgid "CardDAV App"
+#: ../../Zotlabs/Widget/Activity_order.php:101
+msgid "Order by last posted date"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:873
-msgid "CalDAV capable addressbook"
+#: ../../Zotlabs/Widget/Activity_order.php:104
+msgid "Date Unthreaded"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1005 ../../Zotlabs/Module/Events.php:468
-msgid "Event title"
+#: ../../Zotlabs/Widget/Activity_order.php:108
+msgid "Order unthreaded by date"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1006 ../../Zotlabs/Module/Events.php:474
-msgid "Start date and time"
+#: ../../Zotlabs/Widget/Activity_order.php:123
+msgid "Stream Order"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1007
-msgid "End date and time"
+#: ../../Zotlabs/Widget/Mailmenu.php:13
+msgid "Private Mail Menu"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1008 ../../Zotlabs/Module/Events.php:497
-msgid "Timezone:"
+#: ../../Zotlabs/Widget/Mailmenu.php:15
+msgid "Combined View"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1031 ../../Zotlabs/Module/Events.php:697
-#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Cal.php:205
-#: ../../Zotlabs/Module/Photos.php:946
-msgid "Previous"
+#: ../../Zotlabs/Widget/Mailmenu.php:20
+msgid "Inbox"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1033 ../../Zotlabs/Module/Events.php:708
-#: ../../Zotlabs/Module/Cal.php:207
-msgid "Today"
+#: ../../Zotlabs/Widget/Mailmenu.php:25
+msgid "Outbox"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1034 ../../Zotlabs/Module/Events.php:703
-msgid "Month"
+#: ../../Zotlabs/Widget/Mailmenu.php:30
+msgid "New Message"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:704
-msgid "Week"
+#: ../../Zotlabs/Widget/Affinity.php:54
+msgid "Refresh"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:705
-msgid "Day"
+#: ../../Zotlabs/Widget/Hq_controls.php:14
+msgid "HQ Control Panel"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1037
-msgid "List month"
+#: ../../Zotlabs/Widget/Hq_controls.php:17
+msgid "Create a new post"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1038
-msgid "List week"
+#: ../../Zotlabs/Widget/Eventstools.php:13
+msgid "Events Tools"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1039
-msgid "List day"
+#: ../../Zotlabs/Widget/Eventstools.php:14
+msgid "Export Calendar"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1047
-msgid "More"
+#: ../../Zotlabs/Widget/Eventstools.php:15
+msgid "Import Calendar"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1048
-msgid "Less"
+#: ../../Zotlabs/Widget/Activity_filter.php:33
+msgid "Direct Messages"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1050
-msgid "Select calendar"
+#: ../../Zotlabs/Widget/Activity_filter.php:37
+msgid "Show direct (private) messages"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1053
-msgid "Delete all"
+#: ../../Zotlabs/Widget/Activity_filter.php:42
+msgid "Events"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1056
-msgid "Sorry! Editing of recurrent events is not yet implemented."
+#: ../../Zotlabs/Widget/Activity_filter.php:46
+msgid "Show posts that include events"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1369 ../../Zotlabs/Module/Connedit.php:927
-msgid "Organisation"
+#: ../../Zotlabs/Widget/Activity_filter.php:52
+msgid "Polls"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1371 ../../Zotlabs/Module/Profiles.php:788
-#: ../../Zotlabs/Module/Connedit.php:929
-msgid "Phone"
+#: ../../Zotlabs/Widget/Activity_filter.php:56
+msgid "Show posts that include polls"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Profiles.php:790
-#: ../../Zotlabs/Module/Connedit.php:931
-msgid "Instant messenger"
+#: ../../Zotlabs/Widget/Activity_filter.php:77
+#, php-format
+msgid "Show posts related to the %s privacy group"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Profiles.php:791
-#: ../../Zotlabs/Module/Connedit.php:932
-msgid "Website"
+#: ../../Zotlabs/Widget/Activity_filter.php:86
+msgid "Show my privacy groups"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1375
-#: ../../Zotlabs/Module/Admin/Channels.php:160
-#: ../../Zotlabs/Module/Profiles.php:504 ../../Zotlabs/Module/Profiles.php:792
-#: ../../Zotlabs/Module/Connedit.php:933 ../../Zotlabs/Module/Locs.php:122
-msgid "Address"
+#: ../../Zotlabs/Widget/Activity_filter.php:108
+msgid "Show posts to this forum"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:793
-#: ../../Zotlabs/Module/Connedit.php:934
-msgid "Note"
+#: ../../Zotlabs/Widget/Activity_filter.php:119
+msgid "Show forums"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:798
-#: ../../Zotlabs/Module/Connedit.php:939
-msgid "Add Contact"
+#: ../../Zotlabs/Widget/Activity_filter.php:133
+msgid "Starred Posts"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:799
-#: ../../Zotlabs/Module/Connedit.php:940
-msgid "Add Field"
+#: ../../Zotlabs/Widget/Activity_filter.php:137
+msgid "Show posts that I have starred"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Connedit.php:945
-msgid "P.O. Box"
+#: ../../Zotlabs/Widget/Activity_filter.php:148
+msgid "Personal Posts"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1388 ../../Zotlabs/Module/Connedit.php:946
-msgid "Additional"
+#: ../../Zotlabs/Widget/Activity_filter.php:152
+msgid "Show posts that mention or involve me"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1389 ../../Zotlabs/Module/Connedit.php:947
-msgid "Street"
+#: ../../Zotlabs/Widget/Activity_filter.php:173
+#, php-format
+msgid "Show posts that I have filed to %s"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1390 ../../Zotlabs/Module/Connedit.php:948
-msgid "Locality"
+#: ../../Zotlabs/Widget/Activity_filter.php:183
+msgid "Show filed post categories"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:949
-msgid "Region"
+#: ../../Zotlabs/Widget/Activity_filter.php:197
+msgid "Panel search"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:950
-msgid "ZIP Code"
+#: ../../Zotlabs/Widget/Activity_filter.php:207
+msgid "Filter by name"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Profiles.php:759
-#: ../../Zotlabs/Module/Connedit.php:951
-msgid "Country"
+#: ../../Zotlabs/Widget/Activity_filter.php:222
+msgid "Remove active filter"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1452
-msgid "Default Calendar"
+#: ../../Zotlabs/Widget/Activity_filter.php:238
+msgid "Stream Filters"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1463
-msgid "Default Addressbook"
+#: ../../Zotlabs/Widget/Activity.php:50
+msgctxt "widget"
+msgid "Activity"
msgstr ""
-#: ../../Zotlabs/Module/Lockview.php:75
-msgid "Remote privacy information not available."
+#: ../../Zotlabs/Widget/Notifications.php:16
+msgid "New Network Activity"
msgstr ""
-#: ../../Zotlabs/Module/Lockview.php:96
-msgid "Visible to:"
+#: ../../Zotlabs/Widget/Notifications.php:17
+msgid "New Network Activity Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Lockview.php:117 ../../Zotlabs/Module/Lockview.php:153
-#: ../../Zotlabs/Module/Acl.php:121
-msgctxt "acl"
-msgid "Profile"
+#: ../../Zotlabs/Widget/Notifications.php:20
+msgid "View your network activity"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:734
-msgid "Empty post discarded."
+#: ../../Zotlabs/Widget/Notifications.php:23
+#: ../../Zotlabs/Widget/Notifications.php:62
+msgid "Mark all notifications read"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1186
-msgid "Duplicate post suppressed."
+#: ../../Zotlabs/Widget/Notifications.php:26
+#: ../../Zotlabs/Widget/Notifications.php:46
+#: ../../Zotlabs/Widget/Notifications.php:65
+#: ../../Zotlabs/Widget/Notifications.php:172
+msgid "Show new posts only"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1331
-msgid "System error. Post not saved."
+#: ../../Zotlabs/Widget/Notifications.php:27
+#: ../../Zotlabs/Widget/Notifications.php:47
+#: ../../Zotlabs/Widget/Notifications.php:66
+#: ../../Zotlabs/Widget/Notifications.php:142
+#: ../../Zotlabs/Widget/Notifications.php:173
+msgid "Filter by name or address"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1365
-msgid "Your comment is awaiting approval."
+#: ../../Zotlabs/Widget/Notifications.php:36
+msgid "New Home Activity"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1482
-msgid "Unable to obtain post information from database."
+#: ../../Zotlabs/Widget/Notifications.php:37
+msgid "New Home Activity Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1489
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
+#: ../../Zotlabs/Widget/Notifications.php:40
+msgid "View your home activity"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1496
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
+#: ../../Zotlabs/Widget/Notifications.php:43
+#: ../../Zotlabs/Widget/Notifications.php:169
+msgid "Mark all notifications seen"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:31 ../../Zotlabs/Module/Menu.php:209
-msgid "Menu not found."
+#: ../../Zotlabs/Widget/Notifications.php:55
+msgid "New Direct Messages"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:63
-msgid "Unable to create element."
+#: ../../Zotlabs/Widget/Notifications.php:56
+msgid "New Direct Messages Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:87
-msgid "Unable to update menu element."
+#: ../../Zotlabs/Widget/Notifications.php:59
+msgid "View your direct messages"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:103
-msgid "Unable to add menu element."
+#: ../../Zotlabs/Widget/Notifications.php:74
+msgid "New Mails"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:134 ../../Zotlabs/Module/Xchan.php:41
-#: ../../Zotlabs/Module/Menu.php:232
-msgid "Not found."
+#: ../../Zotlabs/Widget/Notifications.php:75
+msgid "New Mails Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:167 ../../Zotlabs/Module/Mitem.php:246
-msgid "Menu Item Permissions"
+#: ../../Zotlabs/Widget/Notifications.php:78
+msgid "View your private mails"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:168 ../../Zotlabs/Module/Mitem.php:247
-#: ../../Zotlabs/Module/Settings/Channel.php:528
-msgid "(click to open/close)"
+#: ../../Zotlabs/Widget/Notifications.php:81
+msgid "Mark all messages seen"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:174 ../../Zotlabs/Module/Mitem.php:191
-msgid "Link Name"
+#: ../../Zotlabs/Widget/Notifications.php:89
+msgid "New Events"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:175 ../../Zotlabs/Module/Mitem.php:255
-msgid "Link or Submenu Target"
+#: ../../Zotlabs/Widget/Notifications.php:90
+msgid "New Events Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:175
-msgid "Enter URL of the link or select a menu name to create a submenu"
+#: ../../Zotlabs/Widget/Notifications.php:93
+msgid "View events"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:256
-msgid "Use magic-auth if available"
+#: ../../Zotlabs/Widget/Notifications.php:96
+msgid "Mark all events seen"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:257
-msgid "Open link in new window"
+#: ../../Zotlabs/Widget/Notifications.php:105
+msgid "New Connections Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258
-msgid "Order in list"
+#: ../../Zotlabs/Widget/Notifications.php:108
+msgid "View all connections"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258
-msgid "Higher numbers will sink to bottom of listing"
+#: ../../Zotlabs/Widget/Notifications.php:116
+msgid "New Files"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:179
-msgid "Submit and finish"
+#: ../../Zotlabs/Widget/Notifications.php:117
+msgid "New Files Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:180
-msgid "Submit and continue"
+#: ../../Zotlabs/Widget/Notifications.php:124
+#: ../../Zotlabs/Widget/Notifications.php:125
+msgid "Notices"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:189
-msgid "Menu:"
+#: ../../Zotlabs/Widget/Notifications.php:128
+msgid "View all notices"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:192
-msgid "Link Target"
+#: ../../Zotlabs/Widget/Notifications.php:131
+msgid "Mark all notices seen"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:195
-msgid "Edit menu"
+#: ../../Zotlabs/Widget/Notifications.php:152
+msgid "New Registrations"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:198
-msgid "Edit element"
+#: ../../Zotlabs/Widget/Notifications.php:153
+msgid "New Registrations Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:199
-msgid "Drop element"
+#: ../../Zotlabs/Widget/Notifications.php:163
+msgid "Public Stream Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:200
-msgid "New element"
+#: ../../Zotlabs/Widget/Notifications.php:166
+msgid "View the public stream"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:201
-msgid "Edit this menu container"
+#: ../../Zotlabs/Widget/Notifications.php:181
+msgid "Sorry, you have got no notifications at the moment"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:202
-msgid "Add menu element"
+#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124
+#, php-format
+msgid "View %s's profile - %s"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:203
-msgid "Delete this menu item"
+#: ../../Zotlabs/Widget/Pinned.php:158
+msgid "Don't show"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:204
-msgid "Edit this menu item"
+#: ../../Zotlabs/Widget/Settings_menu.php:32
+msgid "Account settings"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:222
-msgid "Menu item not found."
+#: ../../Zotlabs/Widget/Settings_menu.php:38
+msgid "Channel settings"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:235
-msgid "Menu item deleted."
+#: ../../Zotlabs/Widget/Settings_menu.php:46
+msgid "Display settings"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:237
-msgid "Menu item could not be deleted."
+#: ../../Zotlabs/Widget/Settings_menu.php:53
+msgid "Manage locations"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:244
-msgid "Edit Menu Element"
+#: ../../Zotlabs/Widget/Suggestedchats.php:32
+msgid "Suggested Chatrooms"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:254
-msgid "Link text"
+#: ../../Zotlabs/Widget/Conversations.php:17
+msgid "Received Messages"
msgstr ""
-#: ../../Zotlabs/Module/Profile.php:93
-msgid "vcard"
+#: ../../Zotlabs/Widget/Conversations.php:21
+msgid "Sent Messages"
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:105
-msgid "Files: shared with me"
+#: ../../Zotlabs/Widget/Conversations.php:25
+msgid "Conversations"
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:107
-msgid "NEW"
+#: ../../Zotlabs/Widget/Conversations.php:37
+msgid "No messages."
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:109
-#: ../../Zotlabs/Storage/Browser.php:294
-msgid "Last Modified"
+#: ../../Zotlabs/Widget/Conversations.php:57
+msgid "Delete conversation"
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:110
-msgid "Remove all files"
+#: ../../Zotlabs/Widget/Newmember.php:31
+msgid "Profile Creation"
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:111
-msgid "Remove this file"
+#: ../../Zotlabs/Widget/Newmember.php:33
+msgid "Upload profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:23
-msgid "Documentation Search"
+#: ../../Zotlabs/Widget/Newmember.php:34
+msgid "Upload cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:85
-msgid "Administrators"
+#: ../../Zotlabs/Widget/Newmember.php:35 ../../include/nav.php:117
+msgid "Edit your profile"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:86
-msgid "Developers"
+#: ../../Zotlabs/Widget/Newmember.php:38
+msgid "Find and Connect with others"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:87
-msgid "Tutorials"
+#: ../../Zotlabs/Widget/Newmember.php:40
+msgid "View the directory"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:98
-msgid "$Projectname Documentation"
+#: ../../Zotlabs/Widget/Newmember.php:42
+msgid "Manage your connections"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:99
-msgid "Contents"
+#: ../../Zotlabs/Widget/Newmember.php:45
+msgid "Communicate"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:48
-msgid "Webpages App"
+#: ../../Zotlabs/Widget/Newmember.php:47
+msgid "View your channel homepage"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:49
-msgid "Provide managed web pages on your channel"
+#: ../../Zotlabs/Widget/Newmember.php:48
+msgid "View your network stream"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:69
-msgid "Import Webpage Elements"
+#: ../../Zotlabs/Widget/Newmember.php:54
+msgid "Documentation"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:70
-msgid "Import selected"
+#: ../../Zotlabs/Widget/Newmember.php:57
+msgid "Missing Features?"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:93
-msgid "Export Webpage Elements"
+#: ../../Zotlabs/Widget/Newmember.php:59
+msgid "Pin apps to navigation bar"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:94
-msgid "Export selected"
+#: ../../Zotlabs/Widget/Newmember.php:60
+msgid "Install more apps"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:263
-msgid "Actions"
+#: ../../Zotlabs/Widget/Newmember.php:71
+msgid "View public stream"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:264
-msgid "Page Link"
+#: ../../Zotlabs/Widget/Cover_photo.php:65
+msgid "Click to show more"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:265
-msgid "Page Title"
+#: ../../util/nconfig.php:34
+msgid "Source channel not found."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Blocks.php:157
-#: ../../Zotlabs/Module/Menu.php:178 ../../Zotlabs/Module/Layouts.php:191
-msgid "Created"
-msgstr ""
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Webpages.php:267 ../../Zotlabs/Module/Blocks.php:158
-#: ../../Zotlabs/Module/Menu.php:179 ../../Zotlabs/Module/Layouts.php:192
-msgid "Edited"
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:295
-msgid "Invalid file type."
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:307
-msgid "Error opening zip file"
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:318
-msgid "Invalid folder path."
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:345
-msgid "No webpage elements detected."
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:420
-msgid "Import complete."
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:103
-msgid "File not found."
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:152
-msgid "Permission Denied."
+#: ../../include/contact_widgets.php:265
+msgid "Common Connections"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:185
-msgid "Edit file permissions"
+#: ../../include/contact_widgets.php:269
+#, php-format
+msgid "View all %d common connections"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:198
-msgid "Include all files and sub folders"
+#: ../../include/conversation.php:183
+#, php-format
+msgid "likes %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:199
-msgid "Return to file list"
+#: ../../include/conversation.php:186
+#, php-format
+msgid "doesn't like %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:201
-msgid "Copy/paste this code to attach file to a post"
+#: ../../include/conversation.php:226 ../../include/conversation.php:228
+#, php-format
+msgid "%1$s is now connected with %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:202
-msgid "Copy/paste this URL to link file from a web page"
+#: ../../include/conversation.php:263
+#, php-format
+msgid "%1$s poked %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:204
-msgid "Share this file"
+#: ../../include/conversation.php:267 ../../include/text.php:1242
+#: ../../include/text.php:1246
+msgid "poked"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:205
-msgid "Show URL to this file"
+#: ../../include/conversation.php:779
+#, php-format
+msgid "View %s's profile @ %s"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:206
-#: ../../Zotlabs/Storage/Browser.php:411
-msgid "Show in your contacts shared folder"
+#: ../../include/conversation.php:799
+msgid "Categories:"
msgstr ""
-#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
-msgid "Tag removed"
+#: ../../include/conversation.php:800
+msgid "Filed under:"
msgstr ""
-#: ../../Zotlabs/Module/Tagrm.php:123
-msgid "Remove Item Tag"
+#: ../../include/conversation.php:825
+msgid "View in context"
msgstr ""
-#: ../../Zotlabs/Module/Tagrm.php:125
-msgid "Select a tag to remove: "
+#: ../../include/conversation.php:928
+msgid "remove"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118
-msgid "Continue"
+#: ../../include/conversation.php:932
+msgid "Loading..."
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:99
-msgid "Premium Channel Setup"
+#: ../../include/conversation.php:934
+msgid "Delete Selected Items"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:101
-msgid "Enable premium channel connection restrictions"
+#: ../../include/conversation.php:977
+msgid "View Source"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:102
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
+#: ../../include/conversation.php:987
+msgid "Follow Thread"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Connect.php:124
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
+#: ../../include/conversation.php:996
+msgid "Unfollow Thread"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:105
-msgid ""
-"Potential connections will then see the following text before proceeding:"
+#: ../../include/conversation.php:1110
+msgid "Edit Connection"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:106 ../../Zotlabs/Module/Connect.php:127
-msgid ""
-"By continuing, I certify that I have complied with any instructions provided "
-"on this page."
+#: ../../include/conversation.php:1120
+msgid "Message"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:115
-msgid "(No specific instructions have been provided by the channel owner.)"
+#: ../../include/conversation.php:1262
+#, php-format
+msgid "%s likes this."
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:123
-msgid "Restricted or Premium Channel"
+#: ../../include/conversation.php:1262
+#, php-format
+msgid "%s doesn't like this."
msgstr ""
-#: ../../Zotlabs/Module/Cloud.php:116
-msgid "Not found"
-msgstr ""
+#: ../../include/conversation.php:1266
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Cloud.php:122
-msgid "Please refresh page"
+#: ../../include/conversation.php:1268
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1274
+msgid "and"
msgstr ""
-#: ../../Zotlabs/Module/Cloud.php:125
-msgid "Unknown error"
+#: ../../include/conversation.php:1277
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1278
+#, php-format
+msgid "%s like this."
msgstr ""
-#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2119
+#: ../../include/conversation.php:1278
#, php-format
-msgid "&#x1f501; Repeated %1$s's %2$s"
+msgid "%s don't like this."
msgstr ""
-#: ../../Zotlabs/Module/Share.php:120
-msgid "Post repeated"
+#: ../../include/conversation.php:1328
+#: ../../extend/addon/hzaddons/hsse/hsse.php:82
+msgid "Set your location"
msgstr ""
-#: ../../Zotlabs/Module/Acl.php:361
-msgid "network"
+#: ../../include/conversation.php:1329
+#: ../../extend/addon/hzaddons/hsse/hsse.php:83
+msgid "Clear browser location"
msgstr ""
-#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43
-msgid "Item is not editable"
+#: ../../include/conversation.php:1345
+#: ../../extend/addon/hzaddons/hsse/hsse.php:99
+msgid "Embed (existing) photo from your photo albums"
msgstr ""
-#: ../../Zotlabs/Module/Editpost.php:109 ../../Zotlabs/Module/Rpost.php:144
-msgid "Edit post"
+#: ../../include/conversation.php:1381
+#: ../../extend/addon/hzaddons/hsse/hsse.php:135
+msgid "Tag term:"
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:50
-msgid "Post not found."
+#: ../../include/conversation.php:1382
+#: ../../extend/addon/hzaddons/hsse/hsse.php:136
+msgid "Where are you right now?"
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:121
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
+#: ../../include/conversation.php:1387
+#: ../../extend/addon/hzaddons/hsse/hsse.php:141
+msgid "Choose a different album..."
msgstr ""
-#: ../../Zotlabs/Module/Authorize.php:17
-msgid "Unknown App"
+#: ../../include/conversation.php:1391
+#: ../../extend/addon/hzaddons/hsse/hsse.php:145
+msgid "Comments enabled"
msgstr ""
-#: ../../Zotlabs/Module/Authorize.php:29
-msgid "Authorize"
+#: ../../include/conversation.php:1392
+#: ../../extend/addon/hzaddons/hsse/hsse.php:146
+msgid "Comments disabled"
msgstr ""
-#: ../../Zotlabs/Module/Authorize.php:30
-#, php-format
-msgid "Do you authorize the app %s to access your channel data?"
+#: ../../include/conversation.php:1444
+#: ../../extend/addon/hzaddons/hsse/hsse.php:195
+msgid "Page link name"
msgstr ""
-#: ../../Zotlabs/Module/Authorize.php:33
-#: ../../Zotlabs/Module/Admin/Accounts.php:174
-msgid "Deny"
+#: ../../include/conversation.php:1447
+#: ../../extend/addon/hzaddons/hsse/hsse.php:198
+msgid "Post as"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Queue.php:35
-msgid "Queue Statistics"
+#: ../../include/conversation.php:1461
+#: ../../extend/addon/hzaddons/hsse/hsse.php:212
+msgid "Toggle voting"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Queue.php:36
-msgid "Total Entries"
+#: ../../include/conversation.php:1462
+msgid "Toggle poll"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Queue.php:37
-msgid "Priority"
+#: ../../include/conversation.php:1463
+msgid "Option"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Queue.php:38
-msgid "Destination URL"
+#: ../../include/conversation.php:1464
+msgid "Add option"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Queue.php:39
-msgid "Mark hub permanently offline"
+#: ../../include/conversation.php:1465
+msgid "Minutes"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Queue.php:40
-msgid "Empty queue for this hub"
+#: ../../include/conversation.php:1465
+msgid "Hours"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Queue.php:41
-msgid "Last known contact"
+#: ../../include/conversation.php:1465
+msgid "Days"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:26
-msgid "Theme settings updated."
+#: ../../include/conversation.php:1466
+msgid "Allow multiple answers"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:61
-msgid "No themes found."
+#: ../../include/conversation.php:1468
+#: ../../extend/addon/hzaddons/hsse/hsse.php:215
+msgid "Disable comments"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:95
-#: ../../Zotlabs/Module/Admin/Addons.php:311
-msgid "Disable"
+#: ../../include/conversation.php:1469
+#: ../../extend/addon/hzaddons/hsse/hsse.php:216
+msgid "Toggle comments"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:97
-#: ../../Zotlabs/Module/Admin/Addons.php:314
-msgid "Enable"
+#: ../../include/conversation.php:1477
+#: ../../extend/addon/hzaddons/hsse/hsse.php:224
+msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:116
-msgid "Screenshot"
+#: ../../include/conversation.php:1500
+#: ../../extend/addon/hzaddons/hsse/hsse.php:247
+msgid "Other networks and post services"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:122
-#: ../../Zotlabs/Module/Admin/Themes.php:156
-#: ../../Zotlabs/Module/Admin/Security.php:98
-#: ../../Zotlabs/Module/Admin/Accounts.php:166
-#: ../../Zotlabs/Module/Admin/Site.php:285
-#: ../../Zotlabs/Module/Admin/Logs.php:82
-#: ../../Zotlabs/Module/Admin/Channels.php:145
-#: ../../Zotlabs/Module/Admin/Addons.php:342
-#: ../../Zotlabs/Module/Admin/Addons.php:440 ../../Zotlabs/Module/Admin.php:138
-msgid "Administration"
+#: ../../include/conversation.php:1503
+#: ../../extend/addon/hzaddons/hsse/hsse.php:250
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:170
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:313
+msgid "Set expiration date"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:124
-#: ../../Zotlabs/Module/Admin/Addons.php:344
-msgid "Toggle"
+#: ../../include/conversation.php:1506
+#: ../../extend/addon/hzaddons/hsse/hsse.php:253
+msgid "Set publish date"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:134
-#: ../../Zotlabs/Module/Admin/Addons.php:352
-msgid "Author: "
+#: ../../include/conversation.php:1755
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1758
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1761
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1764
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1767
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1770
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/channel.php:46
+msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:135
-#: ../../Zotlabs/Module/Admin/Addons.php:353
-msgid "Maintainer: "
+#: ../../include/channel.php:79
+msgid "Empty name"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:162
-msgid "[Experimental]"
+#: ../../include/channel.php:82
+msgid "Name too long"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:163
-msgid "[Unsupported]"
+#: ../../include/channel.php:199
+msgid "No account identifier"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Features.php:56
-#, php-format
-msgid "Lock feature %s"
+#: ../../include/channel.php:211
+msgid "Nickname is required."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Features.php:64
-msgid "Manage Additional Features"
+#: ../../include/channel.php:294
+msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:89
-msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently "
-"insecure."
+#: ../../include/channel.php:441
+msgid "Default Profile"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:92
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
+#: ../../include/channel.php:639 ../../include/channel.php:728
+msgid "Unable to retrieve modified identity"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:93
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/"
-"<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+#: ../../include/channel.php:1385
+msgid "Requested channel is not available."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:94
-msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
+#: ../../include/channel.php:1539
+msgid "Create New Profile"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:101
-msgid "Block public"
+#: ../../include/channel.php:1542 ../../include/nav.php:117
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58
+msgid "Edit Profile"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:101
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
+#: ../../include/channel.php:1560
+msgid "Visible to everybody"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:102
-msgid "Provide a cloud root directory"
+#: ../../include/channel.php:1637 ../../include/channel.php:1765
+msgid "Gender:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:102
-msgid ""
-"The cloud root directory lists all channel names which provide public files"
+#: ../../include/channel.php:1638 ../../include/channel.php:1809
+msgid "Status:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:103
-msgid "Show total disk space available to cloud uploads"
+#: ../../include/channel.php:1639 ../../include/channel.php:1833
+msgid "Homepage:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:104
-msgid "Set \"Transport Security\" HTTP header"
+#: ../../include/channel.php:1640
+msgid "Online Now"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:105
-msgid "Set \"Content Security Policy\" HTTP header"
+#: ../../include/channel.php:1693
+msgid "Change your profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:106
-msgid "Allowed email domains"
+#: ../../include/channel.php:1720 ../../include/selectors.php:60
+#: ../../include/selectors.php:77
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:87
+msgid "Female"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:106
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
+#: ../../include/channel.php:1722 ../../include/selectors.php:60
+#: ../../include/selectors.php:77
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:85
+msgid "Male"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:107
-msgid "Not allowed email domains"
+#: ../../include/channel.php:1724
+msgid "Trans"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:107
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
+#: ../../include/channel.php:1726 ../../include/selectors.php:60
+msgid "Neuter"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:108
-msgid "Allow communications only from these sites"
+#: ../../include/channel.php:1728 ../../include/selectors.php:60
+msgid "Non-specific"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:108
-msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
+#: ../../include/channel.php:1770
+msgid "Like this channel"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:109
-msgid "Block communications from these sites"
+#: ../../include/channel.php:1794
+msgid "j F, Y"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:110
-msgid "Allow communications only from these channels"
+#: ../../include/channel.php:1795
+msgid "j F"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:110
-msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by default"
+#: ../../include/channel.php:1802
+msgid "Birthday:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:111
-msgid "Block communications from these channels"
+#: ../../include/channel.php:1815
+#, php-format
+msgid "for %1$d %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:112
-msgid "Only allow embeds from secure (SSL) websites and links."
+#: ../../include/channel.php:1827
+msgid "Tags:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:113
-msgid "Allow unfiltered embedded HTML content only from these domains"
+#: ../../include/channel.php:1831
+msgid "Sexual Preference:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:113
-msgid "One site per line. By default embedded content is filtered."
+#: ../../include/channel.php:1837
+msgid "Political Views:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:114
-msgid "Block embedded HTML from these domains"
+#: ../../include/channel.php:1839
+msgid "Religion:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:115
-msgid "Allow SVG thumbnails in file browser"
+#: ../../include/channel.php:1843
+msgid "Hobbies/Interests:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:115
-msgid "WARNING: SVG images may contain malicious code."
+#: ../../include/channel.php:1845
+msgid "Likes:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Security.php:116
-msgid "Allow embedded (inline) PDF files"
+#: ../../include/channel.php:1847
+msgid "Dislikes:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:37
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/channel.php:1849
+msgid "Contact information and Social Networks:"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:44
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/channel.php:1851
+msgid "My other channels:"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:80
-msgid "Account not found"
+#: ../../include/channel.php:1853
+msgid "Musical interests:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:99
-#, php-format
-msgid "Account '%s' blocked"
+#: ../../include/channel.php:1855
+msgid "Books, literature:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:107
-#, php-format
-msgid "Account '%s' unblocked"
+#: ../../include/channel.php:1857
+msgid "Television:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:169
-#: ../../Zotlabs/Module/Admin/Channels.php:148
-msgid "select all"
+#: ../../include/channel.php:1859
+msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:170
-msgid "Registrations waiting for confirm"
+#: ../../include/channel.php:1861
+msgid "Love/Romance:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:171
-msgid "Request date"
+#: ../../include/channel.php:1863
+msgid "Work/employment:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:172
-msgid "No registrations."
+#: ../../include/channel.php:1865
+msgid "School/education:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:176
-#: ../../Zotlabs/Module/Connedit.php:639
-msgid "Block"
+#: ../../include/channel.php:1888
+msgid "Like this thing"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:177
-#: ../../Zotlabs/Module/Connedit.php:639
-msgid "Unblock"
+#: ../../include/features.php:86
+msgid "Start calendar week on Monday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:182
-msgid "ID"
+#: ../../include/features.php:87
+msgid "Default is Sunday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:184
-msgid "All Channels"
+#: ../../include/features.php:94
+msgid "Event Timezone Selection"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:185
-msgid "Register date"
+#: ../../include/features.php:95
+msgid "Allow event creation in timezones other than your own."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:186
-msgid "Last login"
+#: ../../include/features.php:108
+msgid "Search by Date"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:187
-msgid "Expires"
+#: ../../include/features.php:109
+msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:188
-msgid "Service Class"
+#: ../../include/features.php:116
+msgid "Tag Cloud"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:190
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
-"on this site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../include/features.php:117
+msgid "Provide a personal tag cloud on your channel page"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:191
-msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../include/features.php:124 ../../include/features.php:359
+msgid "Use blog/list mode"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:159
-msgid "Site settings updated."
+#: ../../include/features.php:125 ../../include/features.php:360
+msgid "Comments will be displayed separately"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:196
-#: ../../Zotlabs/Module/Settings/Display.php:120
-#, php-format
-msgid "%s - (Incompatible)"
+#: ../../include/features.php:137
+msgid "Connection Filtering"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:203
-msgid "mobile"
+#: ../../include/features.php:138
+msgid "Filter incoming posts from connections based on keywords/content"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:205
-msgid "experimental"
+#: ../../include/features.php:146
+msgid "Conversation"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:207
-msgid "unsupported"
+#: ../../include/features.php:158
+msgid "Emoji Reactions"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:254
-msgid "Yes - with approval"
+#: ../../include/features.php:159
+msgid "Add emoji reaction ability to posts"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:260
-msgid "My site is not a public server"
+#: ../../include/features.php:166
+msgid "Dislike Posts"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:261
-msgid "My site has paid access only"
+#: ../../include/features.php:167
+msgid "Ability to dislike posts/comments"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:262
-msgid "My site has free access only"
+#: ../../include/features.php:174
+msgid "Star Posts"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:263
-msgid "My site offers free accounts with optional paid upgrades"
+#: ../../include/features.php:175
+msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:277
-msgid "Default permission role for new accounts"
+#: ../../include/features.php:182
+msgid "Reply on comment"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:277
-msgid ""
-"This role will be used for the first channel created after registration."
+#: ../../include/features.php:183
+msgid "Ability to reply on selected comment"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:289
-msgid "File upload"
+#: ../../include/features.php:196
+msgid "Advanced Directory Search"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:290
-msgid "Policies"
+#: ../../include/features.php:197
+msgid "Allows creation of complex directory search queries"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:297
-msgid "Banner/Logo"
+#: ../../include/features.php:206
+msgid "Editor"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:297
-msgid "Unfiltered HTML/CSS/JS is allowed"
+#: ../../include/features.php:210
+msgid "Post Categories"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:298
-msgid "Administrator Information"
+#: ../../include/features.php:211
+msgid "Add categories to your posts"
+msgstr ""
+
+#: ../../include/features.php:219
+msgid "Large Photos"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:298
+#: ../../include/features.php:220
msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:299 ../../Zotlabs/Module/Siteinfo.php:24
-msgid "Site Information"
+#: ../../include/features.php:227
+msgid "Even More Encryption"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:299
+#: ../../include/features.php:228
msgid ""
-"Publicly visible description of this site. Displayed on siteinfo page. "
-"BBCode can be used here"
+"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:300
-msgid "System language"
+#: ../../include/features.php:235
+msgid "Disable Comments"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:301
-msgid "System theme"
+#: ../../include/features.php:236
+msgid "Provide the option to disable comments for a post"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:301
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
+#: ../../include/features.php:243
+msgid "Delayed Posting"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:304
-msgid "Allow Feeds as Connections"
+#: ../../include/features.php:244
+msgid "Allow posts to be published at a later date"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:304
-msgid "(Heavy system resource usage)"
+#: ../../include/features.php:251
+msgid "Content Expiration"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:305
-msgid "Maximum image size"
+#: ../../include/features.php:252
+msgid "Remove posts/comments and/or private messages at a future time"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:305
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
+#: ../../include/features.php:259
+msgid "Suppress Duplicate Posts/Comments"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:306
-msgid "Does this site allow new member registration?"
+#: ../../include/features.php:260
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:307
-msgid "Invitation only"
+#: ../../include/features.php:267
+msgid "Auto-save drafts of posts and comments"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../include/features.php:268
msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
+"Automatically saves post and comment drafts in local browser storage to help "
+"prevent accidental loss of compositions"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:308
-msgid "Minimum age"
+#: ../../include/features.php:277
+msgid "Manage"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:308
-msgid "Minimum age (in years) for who may register on this site."
+#: ../../include/features.php:281
+msgid "Navigation Channel Select"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:309
-msgid "Which best describes the types of account offered by this hub?"
+#: ../../include/features.php:282
+msgid "Change channels directly from within the navigation dropdown menu"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:309
-msgid "This is displayed on the public server site list."
+#: ../../include/features.php:295
+msgid "Events Filter"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:310
-msgid "Register text"
+#: ../../include/features.php:296
+msgid "Ability to display only events"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:310
-msgid "Will be displayed prominently on the registration page."
+#: ../../include/features.php:303
+msgid "Polls Filter"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:312
-msgid "Site homepage to show visitors (default: login box)"
+#: ../../include/features.php:304
+msgid "Ability to display only polls"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:312
-msgid ""
-"example: 'pubstream' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
+#: ../../include/features.php:312
+msgid "Save search terms for re-use"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:313
-msgid "Preserve site homepage URL"
+#: ../../include/features.php:320
+msgid "Ability to file posts under folders"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:313
+#: ../../include/features.php:327
+msgid "Alternate Stream Order"
+msgstr ""
+
+#: ../../include/features.php:328
msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
+"Ability to order the stream by last post date, last comment date or "
+"unthreaded activities"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:314
-msgid "Accounts abandoned after x days"
+#: ../../include/features.php:335
+msgid "Contact Filter"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:314
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
+#: ../../include/features.php:336
+msgid "Ability to display only posts of a selected contact"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:315
-msgid "Allowed friend domains"
+#: ../../include/features.php:343
+msgid "Forum Filter"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:315
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
+#: ../../include/features.php:344
+msgid "Ability to display only posts of a specific forum"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:316
-msgid "Verify Email Addresses"
+#: ../../include/features.php:351
+msgid "Personal Posts Filter"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:316
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
+#: ../../include/features.php:352
+msgid "Ability to display only posts that you've interacted on"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:317
-msgid "Force publish"
+#: ../../include/features.php:373
+msgid "Photo Location"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:317
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
+#: ../../include/features.php:374
+msgid "If location data is available on uploaded photos, link this to a map."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:318
-msgid "Import Public Streams"
+#: ../../include/features.php:387
+msgid "Advanced Profiles"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:318
-msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
+#: ../../include/features.php:388
+msgid "Additional profile sections and selections"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:319
-msgid "Site only Public Streams"
+#: ../../include/features.php:395
+msgid "Profile Import/Export"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:319
-msgid ""
-"Allow access to public content originating only from this site if Imported "
-"Public Streams are disabled."
+#: ../../include/features.php:396
+msgid "Save and load profile details across sites/channels"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:320
-msgid "Allow anybody on the internet to access the Public streams"
+#: ../../include/features.php:403
+msgid "Multiple Profiles"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:320
-msgid ""
-"Disable to require authentication before viewing. Warning: this content is "
-"unmoderated."
+#: ../../include/features.php:404
+msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:321
-msgid "Only import Public stream posts with this text"
+#: ../../include/auth.php:194
+msgid "Delegation session ended."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:321
-#: ../../Zotlabs/Module/Admin/Site.php:322
-#: ../../Zotlabs/Module/Connedit.php:895 ../../Zotlabs/Module/Connedit.php:896
-msgid ""
-"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
-"all posts"
+#: ../../include/auth.php:198
+msgid "Logged out."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:322
-msgid "Do not import Public stream posts with this text"
+#: ../../include/auth.php:294
+msgid "Email validation is incomplete. Please check your email."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:325
-msgid "Login on Homepage"
+#: ../../include/auth.php:310
+msgid "Failed authentication"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:325
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
+#: ../../include/auth.php:320
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:188
+msgid "Login failed."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:326
-msgid "Enable context help"
+#: ../../include/text.php:522
+msgid "prev"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:326
-msgid ""
-"Display contextual help for the current page when the help button is pressed."
+#: ../../include/text.php:524
+msgid "first"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:328
-msgid "Reply-to email address for system generated email."
+#: ../../include/text.php:553
+msgid "last"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:329
-msgid "Sender (From) email address for system generated email."
+#: ../../include/text.php:556
+msgid "next"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:330
-msgid "Name of email sender for system generated email."
+#: ../../include/text.php:574
+msgid "older"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:332
-msgid "Directory Server URL"
+#: ../../include/text.php:576
+msgid "newer"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:332
-msgid "Default directory server"
+#: ../../include/text.php:1024
+msgid "No connections"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:334
-msgid "Proxy user"
+#: ../../include/text.php:1076
+#, php-format
+msgid "View all %s connections"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:335
-msgid "Proxy URL"
+#: ../../include/text.php:1139
+#, php-format
+msgid "Network: %s"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:336
-msgid "Network timeout"
+#: ../../include/text.php:1242 ../../include/text.php:1246
+msgid "poke"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:336
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+#: ../../include/text.php:1247
+msgid "ping"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:337
-msgid "Delivery interval"
+#: ../../include/text.php:1247
+msgid "pinged"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:337
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
+#: ../../include/text.php:1248
+msgid "prod"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:338
-msgid "Deliveries per process"
+#: ../../include/text.php:1248
+msgid "prodded"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:338
-msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust "
-"if necessary to tune system performance. Recommend: 1-5."
+#: ../../include/text.php:1249
+msgid "slap"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:339
-msgid "Queue Threshold"
+#: ../../include/text.php:1249
+msgid "slapped"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:339
-msgid ""
-"Always defer immediate delivery if queue contains more than this number of "
-"entries."
+#: ../../include/text.php:1250
+msgid "finger"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:340
-msgid "Poll interval"
+#: ../../include/text.php:1250
+msgid "fingered"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:340
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
+#: ../../include/text.php:1251
+msgid "rebuff"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:341
-msgid "Path to ImageMagick convert program"
+#: ../../include/text.php:1251
+msgid "rebuffed"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:341
-msgid ""
-"If set, use this program to generate photo thumbnails for huge images ( > "
-"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
-"Example: /usr/bin/convert"
+#: ../../include/text.php:1274
+msgid "happy"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:342
-msgid "Maximum Load Average"
+#: ../../include/text.php:1275
+msgid "sad"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:342
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
+#: ../../include/text.php:1276
+msgid "mellow"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:343
-msgid "Expiration period in days for imported (grid/network) content"
+#: ../../include/text.php:1277
+msgid "tired"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:343
-msgid "0 for no expiration of imported content"
+#: ../../include/text.php:1278
+msgid "perky"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:344
-msgid ""
-"Do not expire any posts which have comments less than this many days ago"
+#: ../../include/text.php:1279
+msgid "angry"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:346
-msgid ""
-"Public servers: Optional landing (marketing) webpage for new registrants"
+#: ../../include/text.php:1280
+msgid "stupefied"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:346
-#, php-format
-msgid "Create this page first. Default is %s/register"
+#: ../../include/text.php:1281
+msgid "puzzled"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:347
-msgid "Page to display after creating a new channel"
+#: ../../include/text.php:1282
+msgid "interested"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:347
-msgid "Default: profiles"
+#: ../../include/text.php:1283
+msgid "bitter"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:349
-msgid "Optional: site location"
+#: ../../include/text.php:1284
+msgid "cheerful"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:349
-msgid "Region or country"
+#: ../../include/text.php:1285
+msgid "alive"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Logs.php:28
-msgid "Log settings updated."
+#: ../../include/text.php:1286
+msgid "annoyed"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Logs.php:85
-msgid "Clear"
+#: ../../include/text.php:1287
+msgid "anxious"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Logs.php:91
-msgid "Debugging"
+#: ../../include/text.php:1288
+msgid "cranky"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Logs.php:92
-msgid "Log file"
+#: ../../include/text.php:1289
+msgid "disturbed"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Logs.php:92
-msgid ""
-"Must be writable by web server. Relative to your top-level webserver "
-"directory."
+#: ../../include/text.php:1290
+msgid "frustrated"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Logs.php:93
-msgid "Log level"
+#: ../../include/text.php:1291
+msgid "depressed"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:31
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/text.php:1292
+msgid "motivated"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:40
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/text.php:1293
+msgid "relaxed"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:46
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/text.php:1294
+msgid "surprised"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:65
-msgid "Channel not found"
+#: ../../include/text.php:1482 ../../include/js_strings.php:99
+msgid "Monday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:75
-#, php-format
-msgid "Channel '%s' deleted"
+#: ../../include/text.php:1482 ../../include/js_strings.php:100
+msgid "Tuesday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:87
-#, php-format
-msgid "Channel '%s' censored"
+#: ../../include/text.php:1482 ../../include/js_strings.php:101
+msgid "Wednesday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:87
-#, php-format
-msgid "Channel '%s' uncensored"
+#: ../../include/text.php:1482 ../../include/js_strings.php:102
+msgid "Thursday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:98
-#, php-format
-msgid "Channel '%s' code allowed"
+#: ../../include/text.php:1482 ../../include/js_strings.php:103
+msgid "Friday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:98
-#, php-format
-msgid "Channel '%s' code disallowed"
+#: ../../include/text.php:1482 ../../include/js_strings.php:104
+msgid "Saturday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:150
-#: ../../Zotlabs/Module/Directory.php:360
-msgid "Censor"
+#: ../../include/text.php:1482 ../../include/js_strings.php:98
+msgid "Sunday"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:151
-#: ../../Zotlabs/Module/Directory.php:360
-msgid "Uncensor"
+#: ../../include/text.php:1486 ../../include/js_strings.php:74
+msgid "January"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:152
-msgid "Allow Code"
+#: ../../include/text.php:1486 ../../include/js_strings.php:75
+msgid "February"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:153
-msgid "Disallow Code"
+#: ../../include/text.php:1486 ../../include/js_strings.php:76
+msgid "March"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:158
-msgid "UID"
+#: ../../include/text.php:1486 ../../include/js_strings.php:77
+msgid "April"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:162
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../include/text.php:1486
+msgid "May"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Channels.php:163
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../include/text.php:1486 ../../include/js_strings.php:79
+msgid "June"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Account_edit.php:29
-#, php-format
-msgid "Password changed for account %d."
+#: ../../include/text.php:1486 ../../include/js_strings.php:80
+msgid "July"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Account_edit.php:46
-msgid "Account settings updated."
+#: ../../include/text.php:1486 ../../include/js_strings.php:81
+msgid "August"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Account_edit.php:61
-msgid "Account not found."
+#: ../../include/text.php:1486 ../../include/js_strings.php:82
+msgid "September"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Account_edit.php:68
-msgid "Account Edit"
+#: ../../include/text.php:1486 ../../include/js_strings.php:83
+msgid "October"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Account_edit.php:69
-msgid "New Password"
+#: ../../include/text.php:1486 ../../include/js_strings.php:84
+msgid "November"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Account_edit.php:70
-msgid "New Password again"
+#: ../../include/text.php:1486 ../../include/js_strings.php:85
+msgid "December"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Account_edit.php:71
-msgid "Account language (for emails)"
+#: ../../include/text.php:1560
+msgid "Unknown Attachment"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Account_edit.php:72
-msgid "Service class"
+#: ../../include/text.php:1562 ../../include/feedutils.php:873
+msgid "unknown"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:89
-msgid "New Profile Field"
+#: ../../include/text.php:1598
+msgid "remove category"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:90
-#: ../../Zotlabs/Module/Admin/Profs.php:110
-msgid "Field nickname"
+#: ../../include/text.php:1674
+msgid "remove from file"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:90
-#: ../../Zotlabs/Module/Admin/Profs.php:110
-msgid "System name of field"
+#: ../../include/text.php:1843 ../../include/message.php:13
+msgid "Download binary/encrypted content"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:91
-#: ../../Zotlabs/Module/Admin/Profs.php:111
-msgid "Input type"
+#: ../../include/text.php:1914
+msgid "Poll has ended."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:92
-#: ../../Zotlabs/Module/Admin/Profs.php:112
-msgid "Field Name"
+#: ../../include/text.php:1917
+#, php-format
+msgid "Poll ends: %s"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:92
-#: ../../Zotlabs/Module/Admin/Profs.php:112
-msgid "Label on profile pages"
+#: ../../include/text.php:2096 ../../include/language.php:424
+msgid "default"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:93
-#: ../../Zotlabs/Module/Admin/Profs.php:113
-msgid "Help text"
+#: ../../include/text.php:2104
+msgid "Page layout"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:93
-#: ../../Zotlabs/Module/Admin/Profs.php:113
-msgid "Additional info (optional)"
+#: ../../include/text.php:2104
+msgid "You can create your own with the layouts tool"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:103
-msgid "Field definition not found"
+#: ../../include/text.php:2115
+msgid "HTML"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:109
-msgid "Edit Profile Field"
+#: ../../include/text.php:2118
+msgid "Comanche Layout"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:169
-msgid "Basic Profile Fields"
+#: ../../include/text.php:2123
+msgid "PHP"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:170
-msgid "Advanced Profile Fields"
+#: ../../include/text.php:2132
+msgid "Page content type"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:170
-msgid "(In addition to basic fields)"
+#: ../../include/text.php:2265
+msgid "activity"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:172
-msgid "All available fields"
+#: ../../include/text.php:2268
+msgid "poll"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:173
-msgid "Custom Fields"
+#: ../../include/text.php:2369
+msgid "a-z, 0-9, -, and _ only"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:177
-msgid "Create Custom Field"
+#: ../../include/text.php:2695
+msgid "Design Tools"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:19
-#: ../../Zotlabs/Module/Admin/Dbsync.php:59
-msgid "Update has been marked successful"
+#: ../../include/text.php:2701
+msgid "Pages"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:32
-#, php-format
-msgid "Verification of update %s failed. Check system logs."
+#: ../../include/text.php:2713
+msgid "Import"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:35
-#: ../../Zotlabs/Module/Admin/Dbsync.php:74
-#, php-format
-msgid "Update %s was successfully applied."
+#: ../../include/text.php:2714
+msgid "Import website..."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:39
-#, php-format
-msgid "Verifying update %s did not return a status. Unknown if it succeeded."
+#: ../../include/text.php:2715
+msgid "Select folder to import"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:42
-#, php-format
-msgid "Update %s does not contain a verification function."
+#: ../../include/text.php:2716
+msgid "Import from a zipped folder:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:46
-#: ../../Zotlabs/Module/Admin/Dbsync.php:81
-#, php-format
-msgid "Update function %s could not be found."
+#: ../../include/text.php:2717
+msgid "Import from cloud files:"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:71
-#, php-format
-msgid "Executing update procedure %s failed. Check system logs."
+#: ../../include/text.php:2718
+msgid "/cloud/channel/path/to/folder"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:78
-#, php-format
-msgid ""
-"Update %s did not return a status. It cannot be determined if it was "
-"successful."
+#: ../../include/text.php:2719
+msgid "Enter path to website files"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:99
-msgid "Failed Updates"
+#: ../../include/text.php:2720
+msgid "Select folder"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:101
-msgid "Mark success (if update was manually applied)"
+#: ../../include/text.php:2721
+msgid "Export website..."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:102
-msgid "Attempt to verify this update if a verification procedure exists"
+#: ../../include/text.php:2722
+msgid "Export to a zip file"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:103
-msgid "Attempt to execute this update step automatically"
+#: ../../include/text.php:2723
+msgid "website.zip"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Dbsync.php:108
-msgid "No failed updates."
+#: ../../include/text.php:2724
+msgid "Enter a name for the zip file."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:290
-#, php-format
-msgid "Plugin %s disabled."
+#: ../../include/text.php:2725
+msgid "Export to cloud files"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:295
-#, php-format
-msgid "Plugin %s enabled."
+#: ../../include/text.php:2726
+msgid "/path/to/export/folder"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:354
-msgid "Minimum project version: "
+#: ../../include/text.php:2727
+msgid "Enter a path to a cloud files destination."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:355
-msgid "Maximum project version: "
+#: ../../include/text.php:2728
+msgid "Specify folder"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:356
-msgid "Minimum PHP version: "
+#: ../../include/message.php:41
+msgid "Unable to determine sender."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:357
-msgid "Compatible Server Roles: "
+#: ../../include/message.php:80
+msgid "No recipient provided."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:358
-msgid "Requires: "
+#: ../../include/message.php:85
+msgid "[no subject]"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:359
-#: ../../Zotlabs/Module/Admin/Addons.php:446
-msgid "Disabled - version incompatibility"
+#: ../../include/message.php:214
+msgid "Stored post could not be verified."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:415
-msgid "Enter the public git repository URL of the addon repo."
+#: ../../include/markdown.php:202 ../../include/bbcode.php:527
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:416
-msgid "Addon repo git URL"
+#: ../../include/markdown.php:251 ../../include/bbcode.php:612
+msgid "spoiler"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:417
-msgid "Custom repo name"
+#: ../../include/acl_selectors.php:99
+msgid "Profile-Based Privacy Groups"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:417
-msgid "(optional)"
+#: ../../include/acl_selectors.php:118
+msgid "Private Forum"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:418
-msgid "Download Addon Repo"
+#: ../../include/acl_selectors.php:142
+msgid "Share with"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:425
-msgid "Install new repo"
+#: ../../include/acl_selectors.php:143
+msgid "Custom selection"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:426 ../../Zotlabs/Lib/Apps.php:536
-msgid "Install"
+#: ../../include/acl_selectors.php:145
+msgid ""
+"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and "
+"limit the scope of \"Allow\"."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:449
-msgid "Manage Repos"
+#: ../../include/acl_selectors.php:147
+msgid "Don't allow"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:450
-msgid "Installed Addon Repositories"
+#: ../../include/acl_selectors.php:180
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These "
+"permissions set who is allowed to view the post."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:451
-msgid "Install a New Addon Repository"
+#: ../../include/opengraph.php:56
+#, php-format
+msgid "This is the home page of %s."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Addons.php:458
-msgid "Switch branch"
+#: ../../include/taxonomy.php:323
+msgid "Trending"
msgstr ""
-#: ../../Zotlabs/Module/Apps.php:50
-msgid "Installed Apps"
+#: ../../include/taxonomy.php:559
+msgid "Keywords"
msgstr ""
-#: ../../Zotlabs/Module/Apps.php:53
-msgid "Manage Apps"
+#: ../../include/taxonomy.php:580
+msgid "have"
msgstr ""
-#: ../../Zotlabs/Module/Apps.php:54
-msgid "Create Custom App"
+#: ../../include/taxonomy.php:580
+msgid "has"
msgstr ""
-#: ../../Zotlabs/Module/Achievements.php:38
-msgid "Some blurb about what to do when you're new here"
+#: ../../include/taxonomy.php:581
+msgid "want"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:35
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
+#: ../../include/taxonomy.php:581
+msgid "wants"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:60
-msgid "Remove This Channel"
+#: ../../include/taxonomy.php:582
+msgid "likes"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Changeaddr.php:78
-msgid "WARNING: "
+#: ../../include/taxonomy.php:583
+msgid "dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This channel will be completely removed from the network. "
+#: ../../include/import.php:29
+msgid "Unable to import a removed channel."
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Removeaccount.php:58
-msgid "This action is permanent and can not be undone!"
+#: ../../include/import.php:55
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:62
-#: ../../Zotlabs/Module/Removeaccount.php:59
-#: ../../Zotlabs/Module/Changeaddr.php:79
-msgid "Please enter your password for verification:"
+#: ../../include/import.php:76
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:44
+msgid "Unable to create a unique channel address. Import failed."
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:64
-#: ../../Zotlabs/Module/Settings/Channel.php:596
-msgid "Remove Channel"
+#: ../../include/import.php:121
+msgid "Cloned channel not found. Import failed."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:468
-msgid "Edit event title"
+#: ../../include/nav.php:92
+msgid "Remote authentication"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:470
-msgid "Categories (comma-separated list)"
+#: ../../include/nav.php:92
+msgid "Click to authenticate to your home hub"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:471
-msgid "Edit Category"
+#: ../../include/nav.php:98
+msgid "Manage your channels"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:471
-msgid "Category"
+#: ../../include/nav.php:101
+msgid "Manage your privacy groups"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:474
-msgid "Edit start date and time"
+#: ../../include/nav.php:103
+msgid "Account/Channel Settings"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:478
-msgid "Finish date and time are not known or not relevant"
+#: ../../include/nav.php:109 ../../include/nav.php:138
+#: ../../include/nav.php:157 ../../boot.php:1704
+msgid "Logout"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:477
-msgid "Edit finish date and time"
+#: ../../include/nav.php:109 ../../include/nav.php:138
+msgid "End this session"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:477
-msgid "Finish date and time"
+#: ../../include/nav.php:112
+msgid "Your profile page"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Events.php:480
-msgid "Adjust for viewer timezone"
+#: ../../include/nav.php:115
+msgid "Manage/Edit profiles"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:479
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
+#: ../../include/nav.php:124 ../../include/nav.php:128
+msgid "Sign in"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:481
-msgid "Edit Description"
+#: ../../include/nav.php:155
+msgid "Take me home"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:483
-msgid "Edit Location"
+#: ../../include/nav.php:157
+msgid "Log me out of this site"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:502
-msgid "Advanced Options"
+#: ../../include/nav.php:162
+msgid "Create an account"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:613
-msgid "l, F j"
+#: ../../include/nav.php:174
+msgid "Help and documentation"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:696
-msgid "Edit Event"
+#: ../../include/nav.php:188
+msgid "Search site @name, !forum, #tag, ?docs, content"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:696
-msgid "Create Event"
+#: ../../include/nav.php:194
+msgid "Site Setup and Configuration"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:739
-msgid "Event removed"
+#: ../../include/nav.php:330
+msgid "@name, !forum, #tag, ?doc, content"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:138 ../../Zotlabs/Module/New_channel.php:147
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
+#: ../../include/nav.php:331
+msgid "Please wait..."
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:145
-msgid "Create a new channel"
+#: ../../include/nav.php:337
+msgid "Add Apps"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:171
-msgid "Current Channel"
+#: ../../include/nav.php:338
+msgid "Arrange Apps"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:173
-msgid "Switch to one of your channels by selecting it."
+#: ../../include/nav.php:339
+msgid "Toggle System Apps"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:174
-msgid "Default Channel"
+#: ../../include/nav.php:424
+msgid "Status Messages and Posts"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:175
-msgid "Make Default"
+#: ../../include/nav.php:437
+msgid "Profile Details"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:178
-#, php-format
-msgid "%d new messages"
+#: ../../include/nav.php:447 ../../include/photos.php:666
+msgid "Photo Albums"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:179
-#, php-format
-msgid "%d new introductions"
+#: ../../include/nav.php:455
+msgid "Files and Storage"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:181
-msgid "Delegated Channel"
+#: ../../include/nav.php:493
+msgid "Saved Bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Chanview.php:132
-msgid "toggle full screen mode"
+#: ../../include/nav.php:504
+msgid "View Cards"
msgstr ""
-#: ../../Zotlabs/Module/Pubstream.php:20
-msgid "Public Stream App"
+#: ../../include/nav.php:515
+msgid "View Articles"
msgstr ""
-#: ../../Zotlabs/Module/Pubstream.php:21
-msgid "The unmoderated public stream of this hub"
+#: ../../include/nav.php:527
+msgid "View Webpages"
msgstr ""
-#: ../../Zotlabs/Module/Chatsvc.php:131
-msgid "Away"
+#: ../../include/language.php:437
+msgid "Select an alternate language"
msgstr ""
-#: ../../Zotlabs/Module/Chatsvc.php:136
-msgid "Online"
+#: ../../include/zid.php:360
+#, php-format
+msgid "OpenWebAuth: %1$s welcomes %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Permcats.php:29
-msgid "Permission category name is required."
+#: ../../include/bookmarks.php:34
+#, php-format
+msgid "%1$s's bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Permcats.php:48
-msgid "Permission category saved."
+#: ../../include/activities.php:42
+msgid " and "
msgstr ""
-#: ../../Zotlabs/Module/Permcats.php:63
-msgid "Permission Categories App"
+#: ../../include/activities.php:50
+msgid "public profile"
msgstr ""
-#: ../../Zotlabs/Module/Permcats.php:64
-msgid "Create custom connection permission limits"
+#: ../../include/activities.php:59
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr ""
-#: ../../Zotlabs/Module/Permcats.php:80
-msgid ""
-"Use this form to create permission rules for various classes of people or "
-"connections."
+#: ../../include/activities.php:60
+#, php-format
+msgid "Visit %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Permcats.php:113 ../../Zotlabs/Lib/Apps.php:374
-msgid "Permission Categories"
+#: ../../include/activities.php:63
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../Zotlabs/Module/Permcats.php:121
-msgid "Permission category name"
+#: ../../include/cdav.php:157
+msgid "INVALID EVENT DISMISSED!"
msgstr ""
-#: ../../Zotlabs/Module/Email_resend.php:12
-#: ../../Zotlabs/Module/Email_validation.php:24
-msgid "Token verification failed."
+#: ../../include/cdav.php:158
+msgid "Summary: "
msgstr ""
-#: ../../Zotlabs/Module/Email_resend.php:30
-msgid "Email verification resent"
+#: ../../include/cdav.php:159
+msgid "Date: "
msgstr ""
-#: ../../Zotlabs/Module/Email_resend.php:33
-msgid "Unable to resend email verification message."
+#: ../../include/cdav.php:160 ../../include/cdav.php:168
+msgid "Reason: "
msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:70
-msgid "No ratings"
+#: ../../include/cdav.php:166
+msgid "INVALID CARD DISMISSED!"
msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:98
-msgid "Rating: "
+#: ../../include/cdav.php:167
+msgid "Name: "
msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:99
-msgid "Website: "
+#: ../../include/photos.php:151
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:101
-msgid "Description: "
+#: ../../include/photos.php:162
+msgid "Image file is empty."
msgstr ""
-#: ../../Zotlabs/Module/Cal.php:64
-msgid "Permissions denied."
+#: ../../include/photos.php:324
+msgid "Photo storage failed."
msgstr ""
-#: ../../Zotlabs/Module/Viewsrc.php:43
-msgid "item"
+#: ../../include/photos.php:373
+msgid "a new photo"
msgstr ""
-#: ../../Zotlabs/Module/Apporder.php:47
-msgid "Change Order of Pinned Navbar Apps"
+#: ../../include/photos.php:377
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Apporder.php:47
-msgid "Change Order of App Tray Apps"
+#: ../../include/photos.php:671
+msgid "Upload New Photos"
msgstr ""
-#: ../../Zotlabs/Module/Apporder.php:48
-msgid ""
-"Use arrows to move the corresponding app left (top) or right (bottom) in the "
-"navbar"
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
msgstr ""
-#: ../../Zotlabs/Module/Apporder.php:48
-msgid "Use arrows to move the corresponding app up or down in the app tray"
+#: ../../include/js_strings.php:8
+#, php-format
+msgid "%s show less"
msgstr ""
-#: ../../Zotlabs/Module/Oexchange.php:27
-msgid "Unable to find your hub."
+#: ../../include/js_strings.php:9
+#, php-format
+msgid "%s expand"
msgstr ""
-#: ../../Zotlabs/Module/Oexchange.php:41
-msgid "Post successful."
+#: ../../include/js_strings.php:10
+#, php-format
+msgid "%s collapse"
msgstr ""
-#: ../../Zotlabs/Module/Moderate.php:67
-msgid "Comment approved"
+#: ../../include/js_strings.php:11
+msgid "Password too short"
msgstr ""
-#: ../../Zotlabs/Module/Moderate.php:71
-msgid "Comment deleted"
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:35
-msgid ""
-"Account removals are not allowed within 48 hours of changing the account "
-"password."
+#: ../../include/js_strings.php:13
+msgid "everybody"
msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:57
-msgid "Remove This Account"
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:58
-msgid ""
-"This account and all its channels will be completely removed from the "
-"network. "
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:61
-#: ../../Zotlabs/Module/Settings/Account.php:105
-msgid "Remove Account"
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
msgstr ""
-#: ../../Zotlabs/Module/Lang.php:17
-msgid "Language App"
+#: ../../include/js_strings.php:17
+msgid "close all"
msgstr ""
-#: ../../Zotlabs/Module/Lang.php:18
-msgid "Change UI language"
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:61
-msgid "Channel Export App"
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:62
-msgid "Export your channel"
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73
-msgid "Export Channel"
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:74
-msgid ""
-"Export your basic channel information to a file. This acts as a backup of "
-"your connections, permissions, profile and basic data, which can be used to "
-"import your data to a new server hub, but does not contain your content."
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:75
-msgid "Export Content"
+#: ../../include/js_strings.php:26
+msgid "lovely"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:76
-msgid ""
-"Export your channel information and recent content to a JSON backup that can "
-"be restored or imported to another server hub. This backs up all of your "
-"connections, permissions, profile data and several months of posts. This "
-"file may be VERY large. Please be patient - it may take several minutes for "
-"this download to begin."
+#: ../../include/js_strings.php:27
+msgid "wonderful"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:78
-msgid "Export your posts from a given year."
+#: ../../include/js_strings.php:28
+msgid "fantastic"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:80
-msgid ""
-"You may also export your posts and conversations for a particular year or "
-"month. Adjust the date in your browser location bar to select other dates. "
-"If the export fails (possibly due to memory exhaustion on your server hub), "
-"please try again selecting a more limited date range."
+#: ../../include/js_strings.php:29
+msgid "great"
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:81
-#, php-format
+#: ../../include/js_strings.php:30
msgid ""
-"To select all posts for a given year, such as this year, visit <a href=\"%1$s"
-"\">%2$s</a>"
+"Your chosen nickname was either already taken or not valid. Please use our "
+"suggestion ("
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:82
-#, php-format
-msgid ""
-"To select all posts for a given month, such as January of this year, visit "
-"<a href=\"%1$s\">%2$s</a>"
+#: ../../include/js_strings.php:31
+msgid ") or enter a new one."
msgstr ""
-#: ../../Zotlabs/Module/Uexport.php:83
-#, php-format
-msgid ""
-"These content files may be imported or restored by visiting <a href=\"%1$s\">"
-"%2$s</a> on any site containing your channel. For best results please import "
-"or restore these in date order (oldest first)."
+#: ../../include/js_strings.php:32
+msgid "Thank you, this nickname is valid."
msgstr ""
-#: ../../Zotlabs/Module/Display.php:394
-msgid "Article"
+#: ../../include/js_strings.php:33
+msgid "A channel name is required."
msgstr ""
-#: ../../Zotlabs/Module/Display.php:439
-msgid "Item has been removed."
+#: ../../include/js_strings.php:34
+msgid "This is a "
msgstr ""
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
+#: ../../include/js_strings.php:35
+msgid " channel name"
msgstr ""
-#: ../../Zotlabs/Module/Common.php:45
-msgid "No connections in common."
+#: ../../include/js_strings.php:36
+msgid "Back to reply"
msgstr ""
-#: ../../Zotlabs/Module/Common.php:65
-msgid "View Common Connections"
+#: ../../include/js_strings.php:37
+msgid "Pinned"
msgstr ""
-#: ../../Zotlabs/Module/Impel.php:185
+#: ../../include/js_strings.php:45
#, php-format
-msgid "%s element installed"
-msgstr ""
+msgid "%d minutes"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Impel.php:188
+#: ../../include/js_strings.php:46
#, php-format
-msgid "%s element installation failed"
-msgstr ""
+msgid "about %d hours"
+msgid_plural "about %d hours"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/New_channel.php:159
-msgid "Your real name is recommended."
+#: ../../include/js_strings.php:47
+#, php-format
+msgid "%d days"
+msgid_plural "%d days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/js_strings.php:48
+#, php-format
+msgid "%d months"
+msgid_plural "%d months"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/js_strings.php:49
+#, php-format
+msgid "%d years"
+msgid_plural "%d years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/js_strings.php:54
+msgid "timeago.prefixAgo"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:160
-msgid ""
-"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
-"Group\""
+#: ../../include/js_strings.php:55
+msgid "timeago.prefixFromNow"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:165
-msgid ""
-"This will be used to create a unique network address (like an email address)."
+#: ../../include/js_strings.php:56
+msgid "timeago.suffixAgo"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:167
-msgid "Allowed characters are a-z 0-9, - and _"
+#: ../../include/js_strings.php:57
+msgid "timeago.suffixFromNow"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:175
-msgid "Channel name"
+#: ../../include/js_strings.php:60
+msgid "less than a minute"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:178
-msgid ""
-"Select a channel permission role compatible with your usage needs and "
-"privacy requirements."
+#: ../../include/js_strings.php:61
+msgid "about a minute"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:181
-msgid "Create a Channel"
+#: ../../include/js_strings.php:63
+msgid "about an hour"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:182
-msgid ""
-"A channel is a unique network identity. It can represent a person (social "
-"network profile), a forum (group), a business or celebrity page, a newsfeed, "
-"and many other things."
+#: ../../include/js_strings.php:65
+msgid "a day"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:183
-msgid ""
-"or <a href=\"import\">import an existing channel</a> from another location."
+#: ../../include/js_strings.php:67
+msgid "about a month"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:188
-msgid "Validate"
+#: ../../include/js_strings.php:69
+msgid "about a year"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:337 ../../Zotlabs/Lib/Enotify.php:948
-msgid "sent you a private message"
+#: ../../include/js_strings.php:71
+msgid " "
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:393 ../../Zotlabs/Lib/Enotify.php:914
-msgid "added your channel"
+#: ../../include/js_strings.php:72
+msgid "timeago.numbers"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986
-msgid "requires approval"
+#: ../../include/js_strings.php:78
+msgctxt "long"
+msgid "May"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:428 ../../Zotlabs/Lib/Enotify.php:957
-msgid "g A l F d"
+#: ../../include/js_strings.php:86
+msgid "Jan"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:446 ../../Zotlabs/Lib/Enotify.php:960
-msgid "[today]"
+#: ../../include/js_strings.php:87
+msgid "Feb"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:456
-msgid "posted an event"
+#: ../../include/js_strings.php:88
+msgid "Mar"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:490 ../../Zotlabs/Lib/Enotify.php:829
-#: ../../Zotlabs/Lib/Enotify.php:931
-msgid "shared a file with you"
+#: ../../include/js_strings.php:89
+msgid "Apr"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:672 ../../Zotlabs/Module/Sse_bs.php:539
-msgid "Private forum"
+#: ../../include/js_strings.php:90
+msgctxt "short"
+msgid "May"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:672 ../../Zotlabs/Module/Sse_bs.php:539
-msgid "Public forum"
+#: ../../include/js_strings.php:91
+msgid "Jun"
msgstr ""
-#: ../../Zotlabs/Module/Dircensor.php:42
-msgid "Entry censored"
+#: ../../include/js_strings.php:92
+msgid "Jul"
msgstr ""
-#: ../../Zotlabs/Module/Dircensor.php:45
-msgid "Entry uncensored"
+#: ../../include/js_strings.php:93
+msgid "Aug"
msgstr ""
-#: ../../Zotlabs/Module/Service_limits.php:23
-msgid "No service class restrictions found."
+#: ../../include/js_strings.php:94
+msgid "Sep"
msgstr ""
-#: ../../Zotlabs/Module/Mood.php:134
-msgid "Mood App"
+#: ../../include/js_strings.php:95
+msgid "Oct"
msgstr ""
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155
-msgid "Set your current mood and tell your friends"
+#: ../../include/js_strings.php:96
+msgid "Nov"
msgstr ""
-#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:350
-msgid "Mood"
+#: ../../include/js_strings.php:97
+msgid "Dec"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:21
-msgid "About this site"
+#: ../../include/js_strings.php:105
+msgid "Sun"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:22
-msgid "Site Name"
+#: ../../include/js_strings.php:106
+msgid "Mon"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:26
-msgid "Administrator"
+#: ../../include/js_strings.php:107
+msgid "Tue"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:29
-msgid "Software and Project information"
+#: ../../include/js_strings.php:108
+msgid "Wed"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:30
-msgid "This site is powered by $Projectname"
+#: ../../include/js_strings.php:109
+msgid "Thu"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:31
-msgid ""
-"Federated and decentralised networking and identity services provided by Zot"
+#: ../../include/js_strings.php:110
+msgid "Fri"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:34
-msgid "Additional federated transport protocols:"
+#: ../../include/js_strings.php:111
+msgid "Sat"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:36
-#, php-format
-msgid "Version %s"
+#: ../../include/js_strings.php:112
+msgctxt "calendar"
+msgid "today"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:37
-msgid "Project homepage"
+#: ../../include/js_strings.php:113
+msgctxt "calendar"
+msgid "month"
msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:38
-msgid "Developer homepage"
+#: ../../include/js_strings.php:114
+msgctxt "calendar"
+msgid "week"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56
-msgid "App installed."
+#: ../../include/js_strings.php:115
+msgctxt "calendar"
+msgid "day"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:49
-msgid "Malformed app."
+#: ../../include/js_strings.php:116
+msgctxt "calendar"
+msgid "All day"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:132
-msgid "Embed code"
+#: ../../include/js_strings.php:119
+msgid "Please stand by while your download is being prepared."
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:138
-msgid "Edit App"
+#: ../../include/security.php:609
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:138
-msgid "Create App"
+#: ../../include/selectors.php:18
+msgid "Profile to assign new connections"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:143
-msgid "Name of app"
+#: ../../include/selectors.php:41
+msgid "Frequently"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:144
-msgid "Location (URL) of app"
+#: ../../include/selectors.php:42
+msgid "Hourly"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:146
-msgid "Photo icon URL"
+#: ../../include/selectors.php:43
+msgid "Twice daily"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:146
-msgid "80 x 80 pixels - optional"
+#: ../../include/selectors.php:44
+msgid "Daily"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:147
-msgid "Categories (optional, comma separated list)"
+#: ../../include/selectors.php:45
+msgid "Weekly"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:148
-msgid "Version ID"
+#: ../../include/selectors.php:46
+msgid "Monthly"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:149
-msgid "Price of app"
+#: ../../include/selectors.php:60
+msgid "Currently Male"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:150
-msgid "Location (URL) to purchase app"
+#: ../../include/selectors.php:60
+msgid "Currently Female"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:97
-msgid "Blocked accounts"
+#: ../../include/selectors.php:60
+msgid "Mostly Male"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:98
-msgid "Expired accounts"
+#: ../../include/selectors.php:60
+msgid "Mostly Female"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:99
-msgid "Expiring accounts"
+#: ../../include/selectors.php:60
+msgid "Transgender"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:120
-msgid "Message queues"
+#: ../../include/selectors.php:60
+msgid "Intersex"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:134
-msgid "Your software should be updated"
+#: ../../include/selectors.php:60
+msgid "Transsexual"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:139
-msgid "Summary"
+#: ../../include/selectors.php:60
+msgid "Hermaphrodite"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:142
-msgid "Registered accounts"
+#: ../../include/selectors.php:60
+msgid "Undecided"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:143
-msgid "Pending registrations"
+#: ../../include/selectors.php:96 ../../include/selectors.php:115
+msgid "Males"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:144
-msgid "Registered channels"
+#: ../../include/selectors.php:96 ../../include/selectors.php:115
+msgid "Females"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:145
-msgid "Active addons"
+#: ../../include/selectors.php:96
+msgid "Gay"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:146
-msgid "Version"
+#: ../../include/selectors.php:96
+msgid "Lesbian"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:147
-msgid "Repository version (master)"
+#: ../../include/selectors.php:96
+msgid "No Preference"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:148
-msgid "Repository version (dev)"
+#: ../../include/selectors.php:96
+msgid "Bisexual"
msgstr ""
-#: ../../Zotlabs/Module/Cards.php:51
-msgid "Cards App"
+#: ../../include/selectors.php:96
+msgid "Autosexual"
msgstr ""
-#: ../../Zotlabs/Module/Cards.php:52
-msgid "Create personal planning cards"
+#: ../../include/selectors.php:96
+msgid "Abstinent"
msgstr ""
-#: ../../Zotlabs/Module/Cards.php:112
-msgid "Add Card"
+#: ../../include/selectors.php:96
+msgid "Virgin"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:120
-msgid "No default suggestions were found."
+#: ../../include/selectors.php:96
+msgid "Deviant"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:280
-#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/selectors.php:96
+msgid "Fetish"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:291
-msgid "Gender: "
+#: ../../include/selectors.php:96
+msgid "Oodles"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:293
-msgid "Status: "
+#: ../../include/selectors.php:96
+msgid "Nonsexual"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:295
-msgid "Homepage: "
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Single"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:358
-msgid "Description:"
+#: ../../include/selectors.php:134
+msgid "Lonely"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:369
-msgid "Public Forum:"
+#: ../../include/selectors.php:134
+msgid "Available"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:372
-msgid "Keywords: "
+#: ../../include/selectors.php:134
+msgid "Unavailable"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:375
-msgid "Don't suggest"
+#: ../../include/selectors.php:134
+msgid "Has crush"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:377
-msgid "Common connections (estimated):"
+#: ../../include/selectors.php:134
+msgid "Infatuated"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:426
-msgid "Global Directory"
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Dating"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:426
-msgid "Local Directory"
+#: ../../include/selectors.php:134
+msgid "Unfaithful"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:432
-msgid "Finding:"
+#: ../../include/selectors.php:134
+msgid "Sex Addict"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:437
-msgid "next page"
+#: ../../include/selectors.php:134
+msgid "Friends/Benefits"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:437
-msgid "previous page"
+#: ../../include/selectors.php:134
+msgid "Casual"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:438
-msgid "Sort options"
+#: ../../include/selectors.php:134
+msgid "Engaged"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:439
-msgid "Alphabetic"
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Married"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:440
-msgid "Reverse Alphabetic"
+#: ../../include/selectors.php:134
+msgid "Imaginarily married"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:441
-msgid "Newest to Oldest"
+#: ../../include/selectors.php:134
+msgid "Partners"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:442
-msgid "Oldest to Newest"
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Cohabiting"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:459
-msgid "No entries (some entries may be hidden)."
+#: ../../include/selectors.php:134
+msgid "Common law"
msgstr ""
-#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95
-msgid "Authorize application connection"
+#: ../../include/selectors.php:134
+msgid "Happy"
msgstr ""
-#: ../../Zotlabs/Module/Api.php:75
-msgid "Return to your app and insert this Security Code:"
+#: ../../include/selectors.php:134
+msgid "Not looking"
msgstr ""
-#: ../../Zotlabs/Module/Api.php:85
-msgid "Please login to continue."
+#: ../../include/selectors.php:134
+msgid "Swinger"
msgstr ""
-#: ../../Zotlabs/Module/Api.php:97
-msgid ""
-"Do you want to authorize this application to access your posts and contacts, "
-"and/or create new posts for you?"
+#: ../../include/selectors.php:134
+msgid "Betrayed"
msgstr ""
-#: ../../Zotlabs/Module/Regmod.php:15
-msgid "Please login."
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Separated"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
-#: ../../Zotlabs/Module/Editblock.php:113
-msgid "Block Name"
+#: ../../include/selectors.php:134
+msgid "Unstable"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:156
-msgid "Block Title"
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Divorced"
msgstr ""
-#: ../../Zotlabs/Module/Email_validation.php:36
-msgid "Email Verification Required"
+#: ../../include/selectors.php:134
+msgid "Imaginarily divorced"
msgstr ""
-#: ../../Zotlabs/Module/Email_validation.php:37
-#, php-format
-msgid ""
-"A verification token was sent to your email address [%s]. Enter that token "
-"here to complete the account verification step. Please allow a few minutes "
-"for delivery, and check your spam folder if you do not see the message."
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Widowed"
msgstr ""
-#: ../../Zotlabs/Module/Email_validation.php:38
-msgid "Resend Email"
+#: ../../include/selectors.php:134
+msgid "Uncertain"
msgstr ""
-#: ../../Zotlabs/Module/Email_validation.php:41
-msgid "Validation token"
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "It's complicated"
msgstr ""
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
+#: ../../include/selectors.php:134
+msgid "Don't care"
msgstr ""
-#: ../../Zotlabs/Module/Vote.php:40
-msgid "Poll not found."
+#: ../../include/selectors.php:134
+msgid "Ask me"
msgstr ""
-#: ../../Zotlabs/Module/Vote.php:71
-msgid "Invalid response."
+#: ../../include/network.php:1731 ../../include/network.php:1732
+msgid "Friendica"
msgstr ""
-#: ../../Zotlabs/Module/Vote.php:132
-msgid "Response submitted. Updates may not appear instantly."
+#: ../../include/network.php:1733
+msgid "OStatus"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:93
-#: ../../Zotlabs/Module/Cover_photo.php:85
-msgid "Image uploaded but image cropping failed."
+#: ../../include/network.php:1734
+msgid "GNU-Social"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:166
-#: ../../Zotlabs/Module/Cover_photo.php:212
-msgid "Image resize failed."
+#: ../../include/network.php:1735
+msgid "RSS/Atom"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:296
-#: ../../Zotlabs/Module/Cover_photo.php:265
-msgid "Image upload failed."
+#: ../../include/network.php:1738
+msgid "Diaspora"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:315
-#: ../../Zotlabs/Module/Cover_photo.php:282
-msgid "Unable to process image."
+#: ../../include/network.php:1739
+msgid "Facebook"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:379
-#: ../../Zotlabs/Module/Profile_photo.php:431
-#: ../../Zotlabs/Module/Cover_photo.php:367
-#: ../../Zotlabs/Module/Cover_photo.php:382
-msgid "Photo not available."
+#: ../../include/network.php:1740
+msgid "Zot"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:495
-msgid ""
-"Your default profile photo is visible to anybody on the internet. Profile "
-"photos for alternate profiles will inherit the permissions of the profile"
+#: ../../include/network.php:1741
+msgid "LinkedIn"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:495
-msgid ""
-"Your profile photo is visible to anybody on the internet and may be "
-"distributed to other websites."
+#: ../../include/network.php:1742
+msgid "XMPP/IM"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:497
-#: ../../Zotlabs/Module/Cover_photo.php:420
-msgid "Upload File:"
+#: ../../include/network.php:1743
+msgid "MySpace"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:498
-#: ../../Zotlabs/Module/Cover_photo.php:421
-msgid "Select a profile:"
+#: ../../include/account.php:36
+msgid "Not a valid email address"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:499
-msgid "Use Photo for Profile"
+#: ../../include/account.php:38
+msgid "Your email domain is not among those allowed on this site"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:499
-msgid "Change Profile Photo"
+#: ../../include/account.php:44
+msgid "Your email address is already registered at this site."
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:500
-msgid "Use"
+#: ../../include/account.php:76
+msgid "An invitation is required."
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:505
-#: ../../Zotlabs/Module/Profile_photo.php:506
-#: ../../Zotlabs/Module/Cover_photo.php:426
-#: ../../Zotlabs/Module/Cover_photo.php:427
-msgid "Use a photo from your albums"
+#: ../../include/account.php:80
+msgid "Invitation could not be verified."
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:511
-#: ../../Zotlabs/Module/Cover_photo.php:432 ../../Zotlabs/Module/Wiki.php:405
-msgid "Choose a different album"
+#: ../../include/account.php:156
+msgid "Please enter the required information."
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:516
-#: ../../Zotlabs/Module/Cover_photo.php:438
-msgid "Select existing photo"
+#: ../../include/account.php:223
+msgid "Failed to store account information."
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:535
-#: ../../Zotlabs/Module/Cover_photo.php:455
-msgid "Crop Image"
+#: ../../include/account.php:311
+#, php-format
+msgid "Registration confirmation for %s"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:536
-#: ../../Zotlabs/Module/Cover_photo.php:456
-msgid "Please adjust the image cropping for optimum viewing."
+#: ../../include/account.php:380
+#, php-format
+msgid "Registration request at %s"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:538
-#: ../../Zotlabs/Module/Cover_photo.php:458
-msgid "Done Editing"
+#: ../../include/account.php:402
+msgid "your registration password"
msgstr ""
-#: ../../Zotlabs/Module/Editblock.php:138
-msgid "Edit Block"
+#: ../../include/account.php:408 ../../include/account.php:471
+#, php-format
+msgid "Registration details for %s"
msgstr ""
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "Enter a folder name"
+#: ../../include/account.php:482
+msgid "Account approved."
msgstr ""
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "or select an existing folder (doubleclick)"
+#: ../../include/account.php:522
+#, php-format
+msgid "Registration revoked for %s"
msgstr ""
-#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Lib/ThreadItem.php:184
-msgid "Save to Folder"
+#: ../../include/account.php:805 ../../include/account.php:807
+msgid "Click here to upgrade."
msgstr ""
-#: ../../Zotlabs/Module/Editlayout.php:128 ../../Zotlabs/Module/Layouts.php:129
-#: ../../Zotlabs/Module/Layouts.php:189
-msgid "Layout Name"
+#: ../../include/account.php:813
+msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: ../../Zotlabs/Module/Editlayout.php:129 ../../Zotlabs/Module/Layouts.php:132
-msgid "Layout Description (Optional)"
+#: ../../include/account.php:818
+msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../Zotlabs/Module/Editlayout.php:137
-msgid "Edit Layout"
+#: ../../include/help.php:80
+msgid "Help:"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:58
-#: ../../Zotlabs/Module/Connections.php:115
-#: ../../Zotlabs/Module/Connections.php:273
-msgid "Active"
+#: ../../include/help.php:129
+msgid "Not Found"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:63
-#: ../../Zotlabs/Module/Connections.php:181
-#: ../../Zotlabs/Module/Connections.php:278
-msgid "Blocked"
+#: ../../include/attach.php:273 ../../include/attach.php:324
+#: ../../include/attach.php:419
+msgid "Item was not found."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:68
-#: ../../Zotlabs/Module/Connections.php:188
-#: ../../Zotlabs/Module/Connections.php:277
-msgid "Ignored"
+#: ../../include/attach.php:290
+msgid "Unknown error."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:73
-#: ../../Zotlabs/Module/Connections.php:202
-#: ../../Zotlabs/Module/Connections.php:276
-msgid "Hidden"
+#: ../../include/attach.php:612
+msgid "No source file."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:78
-#: ../../Zotlabs/Module/Connections.php:195
-msgid "Archived/Unreachable"
+#: ../../include/attach.php:634
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:83
-#: ../../Zotlabs/Module/Connections.php:92 ../../Zotlabs/Module/Menu.php:180
-#: ../../Zotlabs/Module/Notifications.php:50
-msgid "New"
+#: ../../include/attach.php:653
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:157
-msgid "Active Connections"
+#: ../../include/attach.php:795
+#, php-format
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:160
-msgid "Show active connections"
+#: ../../include/attach.php:816
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:167
-msgid "Show pending (new) connections"
+#: ../../include/attach.php:1004
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:184
-msgid "Only show blocked connections"
+#: ../../include/attach.php:1033
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:191
-msgid "Only show ignored connections"
+#: ../../include/attach.php:1105 ../../include/attach.php:1121
+msgid "Path not available."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:198
-msgid "Only show archived/unreachable connections"
+#: ../../include/attach.php:1169 ../../include/attach.php:1332
+msgid "Empty pathname"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:205
-msgid "Only show hidden connections"
+#: ../../include/attach.php:1195
+msgid "duplicate filename or path"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:220
-msgid "Show all connections"
+#: ../../include/attach.php:1220
+msgid "Path not found."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:274
-msgid "Pending approval"
+#: ../../include/attach.php:1288
+msgid "mkdir failed."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:275
-msgid "Archived"
+#: ../../include/attach.php:1292
+msgid "database storage failed."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:279
-msgid "Not connected at this location"
+#: ../../include/attach.php:1338
+msgid "Empty path"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:318
+#: ../../include/attach.php:2099
#, php-format
-msgid "%1$s [%2$s]"
+msgid "%s shared a %s with you"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:319
-msgid "Edit connection"
+#: ../../include/attach.php:2099
+#: ../../extend/addon/hzaddons/redfiles/redfilehelper.php:64
+msgid "file"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:321
-msgid "Delete connection"
+#: ../../include/connections.php:134
+msgid "New window"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:330
-msgid "Channel address"
+#: ../../include/connections.php:135
+msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:335
-msgid "Call"
+#: ../../include/connections.php:736 ../../include/event.php:1424
+msgid "Home, Voice"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:337
-msgid "Status"
+#: ../../include/connections.php:737 ../../include/event.php:1425
+msgid "Home, Fax"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:339
-msgid "Connected"
+#: ../../include/connections.php:739 ../../include/event.php:1427
+msgid "Work, Voice"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:341
-msgid "Approve connection"
+#: ../../include/connections.php:740 ../../include/event.php:1428
+msgid "Work, Fax"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:343
-msgid "Ignore connection"
+#: ../../include/oembed.php:153
+msgid "View PDF"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:344
-#: ../../Zotlabs/Module/Connedit.php:647
-msgid "Ignore"
+#: ../../include/oembed.php:357
+msgid " by "
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:345
-msgid "Recent activity"
+#: ../../include/oembed.php:358
+msgid " on "
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:351
-msgid "Connect at this location"
+#: ../../include/oembed.php:387
+msgid "Embedded content"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:379
-msgid "Search your connections"
+#: ../../include/oembed.php:396
+msgid "Embedding disabled"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:380
-msgid "Connections search"
+#: ../../include/event.php:33 ../../include/event.php:110
+msgid "l F d, Y \\@ g:i A"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:196
-#: ../../Zotlabs/Module/Cover_photo.php:254
-msgid "Cover Photos"
+#: ../../include/event.php:41
+msgid "Starts:"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:418
-msgid "Your cover photo may be visible to anybody on the internet"
+#: ../../include/event.php:51
+msgid "Finishes:"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:422
-msgid "Change Cover Photo"
+#: ../../include/event.php:110
+msgid "l F d, Y"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:80
-msgid "Page owner information could not be retrieved."
+#: ../../include/event.php:114
+msgid "Start:"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:96 ../../Zotlabs/Module/Photos.php:115
-msgid "Album not found."
+#: ../../include/event.php:118
+msgid "End:"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:105
-msgid "Delete Album"
+#: ../../include/event.php:123
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:67
+msgid "Timezone"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1058
-msgid "Delete Photo"
+#: ../../include/event.php:1106
+msgid "This event has been added to your calendar."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:529
-msgid "No photos selected"
+#: ../../include/event.php:1337
+msgid "Not specified"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:578
-msgid "Access to this item is restricted."
+#: ../../include/event.php:1338
+msgid "Needs Action"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:621
-#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
+#: ../../include/event.php:1339
+msgid "Completed"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:624
-#, php-format
-msgid "%1$.2f MB photo storage used."
+#: ../../include/event.php:1340
+msgid "In Process"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:666
-msgid "Upload Photos"
+#: ../../include/event.php:1341
+msgid "Cancelled"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:670
-msgid "Enter an album name"
+#: ../../include/datetime.php:140
+msgid "Birthday"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:671
-msgid "or select an existing album (doubleclick)"
+#: ../../include/datetime.php:140
+msgid "Age: "
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:672
-msgid "Create a status post for this upload"
+#: ../../include/datetime.php:140
+msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:674
-msgid "Description (optional)"
+#: ../../include/datetime.php:238 ../../boot.php:2709
+msgid "never"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:760
-msgid "Show Newest First"
+#: ../../include/datetime.php:244
+msgid "less than a second ago"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:762
-msgid "Show Oldest First"
+#: ../../include/datetime.php:262
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:819 ../../Zotlabs/Module/Photos.php:1363
-msgid "Add Photos"
-msgstr ""
+#: ../../include/datetime.php:273
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:867
-msgid "Permission denied. Access to this item may be restricted."
-msgstr ""
+#: ../../include/datetime.php:276
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:869
-msgid "Photo not available"
+#: ../../include/datetime.php:279
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:282
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:285
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:288
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:291
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:520
+#, php-format
+msgid "%1$s's birthday"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:927
-msgid "Use as profile photo"
+#: ../../include/datetime.php:521
+#, php-format
+msgid "Happy Birthday %1$s"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:928
-msgid "Use as cover photo"
+#: ../../include/items.php:999 ../../include/items.php:1059
+msgid "(Unknown)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:935
-msgid "Private Photo"
+#: ../../include/items.php:1247
+msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:950
-msgid "View Full Size"
+#: ../../include/items.php:1249
+msgid "Visible to you only."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1032
-msgid "Edit photo"
+#: ../../include/items.php:1251
+msgid "Visible to anybody in this network."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1034
-msgid "Rotate CW (right)"
+#: ../../include/items.php:1253
+msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1035
-msgid "Rotate CCW (left)"
+#: ../../include/items.php:1255
+#, php-format
+msgid "Visible to anybody on %s."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1038
-msgid "Move photo to album"
+#: ../../include/items.php:1257
+msgid "Visible to all connections."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1039
-msgid "Enter a new album name"
+#: ../../include/items.php:1259
+msgid "Visible to approved connections."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1040
-msgid "or select an existing one (doubleclick)"
+#: ../../include/items.php:1261
+msgid "Visible to specific connections."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1045
-msgid "Add a Tag"
+#: ../../include/items.php:4507
+msgid "Privacy group is empty."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1053
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+#: ../../include/items.php:4514
+#, php-format
+msgid "Privacy group: %s"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1056
-msgid "Flag as adult in album view"
+#: ../../include/items.php:4526
+msgid "Connection not found."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1075 ../../Zotlabs/Lib/ThreadItem.php:317
-msgid "I like this (toggle)"
+#: ../../include/items.php:4867
+msgid "profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:318
-msgid "I don't like this (toggle)"
+#: ../../include/items.php:5059
+#, php-format
+msgid "[Edited %s]"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1094 ../../Zotlabs/Module/Photos.php:1212
-#: ../../Zotlabs/Lib/ThreadItem.php:822
-msgid "This is you"
+#: ../../include/items.php:5059
+msgctxt "edit_activity"
+msgid "Post"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1131 ../../Zotlabs/Module/Photos.php:1143
-#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250
-msgid "View all"
+#: ../../include/items.php:5059
+msgctxt "edit_activity"
+msgid "Comment"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1246
-msgid "Photo Tools"
+#: ../../include/follow.php:84
+msgid "Response from remote channel was incomplete."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1255
-msgid "In This Photo:"
+#: ../../include/follow.php:96
+msgid "Premium channel - please visit:"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1260
-msgid "Map"
+#: ../../include/follow.php:110
+msgid "Channel was deleted and no longer exists."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1268 ../../Zotlabs/Lib/ThreadItem.php:489
-msgctxt "noun"
-msgid "Likes"
+#: ../../include/zot.php:775
+msgid "Invalid data packet"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:490
-msgctxt "noun"
-msgid "Dislikes"
+#: ../../include/zot.php:4372
+msgid "invalid target signature"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
+#: ../../include/bbcode.php:221 ../../include/bbcode.php:896
+#: ../../include/bbcode.php:1486 ../../include/bbcode.php:1494
+msgid "Image/photo"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
+#: ../../include/bbcode.php:268 ../../include/bbcode.php:1511
+msgid "Encrypted content"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108
+#: ../../include/bbcode.php:302
#, php-format
-msgid "Site Member (%s)"
+msgid "Install %1$s element %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49
+#: ../../include/bbcode.php:306
#, php-format
-msgid "Password reset requested at %s"
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:68
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
+#: ../../include/bbcode.php:519
+msgid "card"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1707
-msgid "Password Reset"
+#: ../../include/bbcode.php:521
+msgid "article"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your password has been reset as requested."
+#: ../../include/bbcode.php:604 ../../include/bbcode.php:612
+msgid "Click to open/close"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Your new password is"
+#: ../../include/bbcode.php:625
+msgid "View article"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "Save or copy your new password - and then"
+#: ../../include/bbcode.php:625
+msgid "View summary"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid "click here to login"
+#: ../../include/bbcode.php:1474
+msgid "$1 wrote:"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:96
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
+#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:451
+msgid "Follow"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:117
+#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:454
#, php-format
-msgid "Your password has changed at %s"
+msgid "%1$s is now following %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Forgot your Password?"
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:16
+msgid ""
+"The GNU-Social protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:131
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22
+msgid "GNU-Social Protocol App"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:132
-msgid "Email Address"
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:34
+msgid "GNU-Social Protocol"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:133 ../../Zotlabs/Module/Pdledit.php:78
-msgid "Reset"
+#: ../../extend/addon/hzaddons/qrator/qrator.php:48
+msgid "QR code"
msgstr ""
-#: ../../Zotlabs/Module/Follow.php:93
-msgid "Connection added."
+#: ../../extend/addon/hzaddons/qrator/qrator.php:63
+msgid "QR Generator"
msgstr ""
-#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
-msgid "Invalid item."
+#: ../../extend/addon/hzaddons/qrator/qrator.php:64
+msgid "Enter some text"
msgstr ""
-#: ../../Zotlabs/Module/Page.php:173
-msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
-"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+#: ../../extend/addon/hzaddons/irc/Mod_Irc.php:23
+#: ../../extend/addon/hzaddons/irc/irc.php:41
+msgid "Popular Channels"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186
-#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661
-msgid "Profile not found."
+#: ../../extend/addon/hzaddons/irc/irc.php:37
+msgid "Channels to auto connect"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:46
-msgid "Profile deleted."
+#: ../../extend/addon/hzaddons/irc/irc.php:37
+#: ../../extend/addon/hzaddons/irc/irc.php:41
+msgid "Comma separated list"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:70 ../../Zotlabs/Module/Profiles.php:107
-msgid "Profile-"
+#: ../../extend/addon/hzaddons/irc/irc.php:45
+msgid "IRC Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:92 ../../Zotlabs/Module/Profiles.php:129
-msgid "New profile created."
+#: ../../extend/addon/hzaddons/irc/irc.php:54
+msgid "IRC settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:113
-msgid "Profile unavailable to clone."
+#: ../../extend/addon/hzaddons/irc/irc.php:58
+msgid "IRC Chatroom"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:148
-msgid "Profile unavailable to export."
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:19
+msgid "Send email to all members"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:254
-msgid "Profile Name is required."
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:50
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:50
+msgid "No recipients found."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:461
-msgid "Marital Status"
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:73
+#, php-format
+msgid "%1$d of %2$d messages sent."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:465
-msgid "Romantic Partner"
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:81
+msgid "Send email to all hub members."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774
-msgid "Likes"
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:92
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:96
+msgid "Message subject"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775
-msgid "Dislikes"
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:93
+msgid "Sender Email address"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782
-msgid "Work/Employment"
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:94
+msgid "Test mode (only send to hub administrator)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:480
-msgid "Religion"
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:51
+msgid "Your Webbie:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:484
-msgid "Political Views"
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:54
+msgid "Fontsize (px):"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:492
-msgid "Sexual Preference"
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:68
+msgid "Link:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:496
-msgid "Homepage"
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:70
+msgid "Like us on Hubzilla"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:500
-msgid "Interests"
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:72
+msgid "Embed:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:596
-msgid "Profile updated."
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:46
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:43
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:150
+msgid "Save Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:680
-msgid "Hide your connections list from viewers of this profile"
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:47
+msgid "text to include in all outgoing posts from this site"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:724
-msgid "Edit Profile Details"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:19
+msgid "lonely"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:726
-msgid "View this profile"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:20
+msgid "drunk"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:728
-msgid "Profile Tools"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:21
+msgid "horny"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:729
-msgid "Change cover photo"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:22
+msgid "stoned"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:731
-msgid "Create a new profile using these settings"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:23
+msgid "fucked up"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:732
-msgid "Clone this profile"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:24
+msgid "clusterfucked"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:733
-msgid "Delete this profile"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:25
+msgid "crazy"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:734
-msgid "Add profile things"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:26
+msgid "hurt"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:735
-msgid "Personal"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:27
+msgid "sleepy"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:737
-msgid "Relationship"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:28
+msgid "grumpy"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:740
-msgid "Import profile from file"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:29
+msgid "high"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:741
-msgid "Export profile to file"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:30
+msgid "semi-conscious"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:742
-msgid "Your gender"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:31
+msgid "in love"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:743
-msgid "Marital status"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:32
+msgid "in lust"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:744
-msgid "Sexual preference"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:33
+msgid "naked"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:747
-msgid "Profile name"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:34
+msgid "stinky"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:749
-msgid "This is your default profile."
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:35
+msgid "sweaty"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:751
-msgid "Your full name"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:36
+msgid "bleeding out"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:752
-msgid "Title/Description"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:37
+msgid "victorious"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:755
-msgid "Street address"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:38
+msgid "defeated"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:756
-msgid "Locality/City"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:39
+msgid "envious"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:757
-msgid "Region/State"
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:40
+msgid "jealous"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:758
-msgid "Postal/Zip code"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:85
+msgid ""
+"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
+"analytics tool."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:764
-msgid "Who (if applicable)"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:88
+#, php-format
+msgid ""
+"If you do not want that your visits are logged this way you <a href='%s'>can "
+"set a cookie to prevent Piwik from tracking further visits of the site</a> "
+"(opt-out)."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:764
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:96
+msgid "Piwik Base URL"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:765
-msgid "Since (date)"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:96
+msgid ""
+"Absolute path to your Piwik installation. (without protocol (http/s), with "
+"trailing slash)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:768
-msgid "Tell us about yourself"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:97
+msgid "Site ID"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:770
-msgid "Hometown"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:98
+msgid "Show opt-out cookie link?"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:771
-msgid "Political views"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:99
+msgid "Asynchronous tracking"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:772
-msgid "Religious views"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:100
+msgid "Enable frontend JavaScript error tracking"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:773
-msgid "Keywords used in directory listings"
+#: ../../extend/addon/hzaddons/piwik/piwik.php:100
+msgid "This feature requires Piwik >= 2.2.0"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:773
-msgid "Example: fishing photography software"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:101
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:102
+#: ../../extend/addon/hzaddons/cart/myshop.php:144
+#: ../../extend/addon/hzaddons/cart/myshop.php:180
+#: ../../extend/addon/hzaddons/cart/myshop.php:214
+#: ../../extend/addon/hzaddons/cart/myshop.php:261
+#: ../../extend/addon/hzaddons/cart/myshop.php:296
+#: ../../extend/addon/hzaddons/cart/myshop.php:319
+msgid "Access Denied"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:776
-msgid "Musical interests"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:109
+msgid "Enable Community Moderation"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:777
-msgid "Books, literature"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:117
+msgid "Reputation automatically given to new members"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:778
-msgid "Television"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:118
+msgid "Reputation will never fall below this value"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:779
-msgid "Film/Dance/Culture/Entertainment"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:119
+msgid "Minimum reputation before posting is allowed"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:780
-msgid "Hobbies/Interests"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:120
+msgid "Minimum reputation before commenting is allowed"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:781
-msgid "Love/Romance"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:121
+msgid "Minimum reputation before a member is able to moderate other posts"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:783
-msgid "School/Education"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:122
+msgid ""
+"Max ratio of moderator's reputation that can be added to/deducted from "
+"reputation of person being moderated"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:784
-msgid "Contact information and social networks"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:123
+msgid "Reputation \"cost\" to post"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:785
-msgid "My other channels"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:124
+msgid "Reputation \"cost\" to comment"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:787
-msgid "Communications"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:125
+msgid ""
+"Reputation automatically recovers at this rate per hour until it reaches "
+"minimum_to_post"
msgstr ""
-#: ../../Zotlabs/Module/Subthread.php:143
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:126
+msgid ""
+"When minimum_to_moderate > reputation > minimum_to_post reputation recovers "
+"at this rate per hour"
msgstr ""
-#: ../../Zotlabs/Module/Subthread.php:145
-#, php-format
-msgid "%1$s stopped following %2$s's %3$s"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:140
+msgid "Community Moderation Settings"
msgstr ""
-#: ../../Zotlabs/Module/Articles.php:52
-msgid "Articles App"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:232
+msgid "Channel Reputation"
msgstr ""
-#: ../../Zotlabs/Module/Articles.php:53
-msgid "Create interactive articles"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:236
+msgid "An Error has occurred."
msgstr ""
-#: ../../Zotlabs/Module/Articles.php:116
-msgid "Add Article"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:254
+msgid "Upvote"
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:62
-msgid "Bookmark added"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:255
+msgid "Downvote"
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:78
-msgid "Bookmarks App"
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:414
+msgid "Can moderate reputation on my channel."
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:79
-msgid "Bookmark links from posts and manage them"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:57
+msgid "Errors encountered deleting database table "
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:92
-msgid "My Bookmarks"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:95
+#: ../../extend/addon/hzaddons/twitter/twitter.php:503
+msgid "Submit Settings"
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:103
-msgid "My Connections Bookmarks"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96
+msgid "Drop tables when uninstalling?"
msgstr ""
-#: ../../Zotlabs/Module/Probe.php:18
-msgid "Remote Diagnostics App"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96
+msgid ""
+"If checked, the Rendezvous database tables will be deleted when the plugin "
+"is uninstalled."
msgstr ""
-#: ../../Zotlabs/Module/Probe.php:19
-msgid "Perform diagnostics on remote channels"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97
+msgid "Mapbox Access Token"
msgstr ""
-#: ../../Zotlabs/Module/Changeaddr.php:35
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97
msgid ""
-"Channel name changes are not allowed within 48 hours of changing the account "
-"password."
+"If you enter a Mapbox access token, it will be used to retrieve map tiles "
+"from Mapbox instead of the default OpenStreetMap tile server."
msgstr ""
-#: ../../Zotlabs/Module/Changeaddr.php:77
-msgid "Change channel nickname/address"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:162
+msgid "Rendezvous"
msgstr ""
-#: ../../Zotlabs/Module/Changeaddr.php:78
-msgid "Any/all connections on other networks will be lost!"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:167
+msgid ""
+"This identity has been deleted by another member due to inactivity. Please "
+"press the \"New identity\" button or refresh the page to register a new "
+"identity. You may use the same name."
msgstr ""
-#: ../../Zotlabs/Module/Changeaddr.php:80
-msgid "New channel address"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:168
+msgid "Welcome to Rendezvous!"
msgstr ""
-#: ../../Zotlabs/Module/Changeaddr.php:81
-msgid "Rename Channel"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:169
+msgid ""
+"Enter your name to join this rendezvous. To begin sharing your location with "
+"the other members, tap the GPS control. When your location is discovered, a "
+"red dot will appear and others will be able to see you on the map."
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:37
-msgid "Total invitation limit exceeded."
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:171
+msgid "Let's meet here"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:61
-#, php-format
-msgid "%s : Not a valid email address."
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:174
+msgid "New marker"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:75
-msgid "Please join us on $Projectname"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:175
+msgid "Edit marker"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:85
-msgid "Invitation limit exceeded. Please contact your site administrator."
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:176
+msgid "New identity"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:94
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Invite.php:110
-msgid "Invite App"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:177
+msgid "Delete marker"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:111
-msgid "Send email invitations to join this network"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:178
+msgid "Delete member"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:124
-msgid "You have no more invitations available"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:179
+msgid "Edit proximity alert"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:155
-msgid "Send invitations"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180
+msgid ""
+"A proximity alert will be issued when this member is within a certain radius "
+"of you.<br><br>Enter a radius in meters (0 to disable):"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:156
-msgid "Enter email addresses, one per line:"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:185
+msgid "distance"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:158
-msgid "Please join my community on $Projectname."
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:181
+msgid "Proximity alert distance (meters)"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:160
-msgid "You will need to supply this invitation code:"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:182
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:184
+msgid ""
+"A proximity alert will be issued when you are within a certain radius of the "
+"marker location.<br><br>Enter a radius in meters (0 to disable):"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:161
-msgid "1. Register at any $Projectname location (they are all inter-connected)"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:183
+msgid "Marker proximity alert"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:163
-msgid "2. Enter my $Projectname network address into the site searchbar."
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:186
+msgid "Reminder note"
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:164
-msgid "or visit"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:187
+msgid ""
+"Enter a note to be displayed when you are within the specified proximity..."
msgstr ""
-#: ../../Zotlabs/Module/Invite.php:166
-msgid "3. Click [Connect]"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:199
+msgid "Add new rendezvous"
msgstr ""
-#: ../../Zotlabs/Module/Notes.php:57
-msgid "Notes App"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:200
+msgid ""
+"Create a new rendezvous and share the access link with those you wish to "
+"invite to the group. Those who open the link become members of the "
+"rendezvous. They can view other member locations, add markers to the map, or "
+"share their own locations with the group."
msgstr ""
-#: ../../Zotlabs/Module/Notes.php:58
-msgid "A simple notes app with a widget (note: notes are not encrypted)"
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:232
+msgid "You have no rendezvous. Press the button above to create a rendezvous!"
msgstr ""
-#: ../../Zotlabs/Module/Xchan.php:10
-msgid "Xchan Lookup"
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32
+msgid "Skeleton App"
msgstr ""
-#: ../../Zotlabs/Module/Xchan.php:13
-msgid "Lookup xchan beginning with (or webbie): "
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:33
+msgid "A skeleton for addons, you can copy/paste"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:35
-msgid "Affinity Tool settings updated."
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40
+msgid "Some setting"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:47
-msgid ""
-"This app presents a slider control in your connection editor and also on "
-"your network page. The slider represents your degree of friendship "
-"(affinity) with each connection. It allows you to zoom in or out and display "
-"conversations from only your closest friends or everybody in your stream."
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40
+msgid "A setting"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:52
-msgid "Affinity Tool App"
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:48
+msgid "Skeleton Settings"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:57
-msgid ""
-"The numbers below represent the minimum and maximum slider default positions "
-"for your network/stream page as a percentage."
+#: ../../extend/addon/hzaddons/redred/redred.php:50
+msgid "Post to Hubzilla"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:64
-msgid "Default maximum affinity level"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:24
+msgid "Channel is required."
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:64
-msgid "0-99 default 99"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:38
+msgid "Hubzilla Crosspost Connector Settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:70
-msgid "Default minimum affinity level"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146
+msgid "Hubzilla Crosspost Connector App"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:70
-msgid "0-99 - default 0"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:51
+msgid "Relay public postings to another Hubzilla channel"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:76
-msgid "Persistent affinity levels"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+msgid "Send public postings to Hubzilla channel by default"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:76
-msgid ""
-"If disabled the max and min levels will be reset to default after page reload"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67
+msgid "Hubzilla API Path"
msgstr ""
-#: ../../Zotlabs/Module/Affinity.php:84
-msgid "Affinity Tool Settings"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53
+msgid "https://{sitename}/api"
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:156
-msgid "Website:"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71
+msgid "Hubzilla login name"
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:159
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75
+msgid "Hubzilla channel name"
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:160
-msgid "Rating (this information is public)"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:54
+msgid "Nickname"
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:161
-msgid "Optionally explain your rating (this information is public)"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:79
+msgid "Hubzilla password"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Network.php:42
-#: ../../Zotlabs/Module/Settings/Channel_home.php:46
-msgid "Max height of content (in pixels)"
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:87
+msgid "Hubzilla Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Network.php:44
-#: ../../Zotlabs/Module/Settings/Channel_home.php:48
-msgid "Click to expand content exceeding this height"
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:23
+msgid "TOTP Two-Step Verification"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Network.php:59
-msgid "Stream Settings"
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:24
+msgid "Enter the 2-step verification generated by your authenticator app:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Features.php:45
-msgid "Additional Features"
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:25
+msgid "Success!"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:329
-msgid "Nobody except yourself"
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:26
+msgid "Invalid code, please try again."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:330
-msgid "Only those you specifically allow"
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:27
+msgid "Too many invalid codes..."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:331
-msgid "Approved connections"
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:28
+msgid "Verify"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:332
-msgid "Any connections"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:90
+msgid ""
+"You haven't set a TOTP secret yet.\n"
+"Please click the button below to generate one and register this site\n"
+"with your preferred authenticator app."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:333
-msgid "Anybody on this website"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:93
+msgid "Your TOTP secret is"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:334
-msgid "Anybody in this network"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:94
+msgid ""
+"Be sure to save it somewhere in case you lose or replace your mobile "
+"device.\n"
+"Use your mobile device to scan the QR code below to register this site\n"
+"with your preferred authenticator app."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:335
-msgid "Anybody authenticated"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:99
+msgid "Test"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:336
-msgid "Anybody on the internet"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:100
+msgid "Generate New Secret"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:411
-msgid "Publish your default profile in the network directory"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:101
+msgid "Go"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:416
-msgid "Allow us to suggest you as a potential friend to new members?"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:102
+msgid "Enter your password"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:420
-msgid "or"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:103
+msgid "enter TOTP code from your device"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:429
-msgid "Your channel address is"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:104
+msgid "Pass!"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:432
-msgid "Your files/photos are accessible via WebDAV at"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:105
+msgid "Fail"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:472
-msgid "Automatic membership approval"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:106
+msgid "Incorrect password, try again."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:472
-#: ../../Zotlabs/Module/Defperms.php:256
-msgid ""
-"If enabled, connection requests will be approved without your interaction"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:107
+msgid "Record your new TOTP secret and rescan the QR code above."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:493
-msgid "Channel Settings"
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:115
+msgid "TOTP Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:500
-msgid "Basic Settings"
+#: ../../extend/addon/hzaddons/testdrive/testdrive.php:104
+#, php-format
+msgid "Your account on %s will expire in a few days."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:502
-#: ../../Zotlabs/Module/Settings/Account.php:104
-msgid "Email Address:"
+#: ../../extend/addon/hzaddons/testdrive/testdrive.php:105
+msgid "Your $Productname test account is about to expire."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:503
-msgid "Your Timezone:"
+#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:70
+msgid "An account has been created for you."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:504
-msgid "Default Post Location:"
+#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:77
+msgid "Authentication successful but rejected: account creation is disabled."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:504
-msgid "Geographical location to display on your posts"
+#: ../../extend/addon/hzaddons/cart/cart.php:252
+msgid "DB Cleanup Failure"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:505
-msgid "Use Browser Location:"
+#: ../../extend/addon/hzaddons/cart/cart.php:674
+msgid "[cart] Item Added"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:507
-msgid "Adult Content"
+#: ../../extend/addon/hzaddons/cart/cart.php:1063
+msgid "Order already checked out."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:507
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
+#: ../../extend/addon/hzaddons/cart/cart.php:1368
+msgid "Drop database tables when uninstalling."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:509
-msgid "Security and Privacy Settings"
+#: ../../extend/addon/hzaddons/cart/cart.php:1375
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:129
+msgid "Cart Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:511
-msgid "Your permissions are already configured. Click to view/adjust"
+#: ../../extend/addon/hzaddons/cart/cart.php:1387
+#: ../../extend/addon/hzaddons/cart/cart.php:1390
+msgid "Shop"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:513
-msgid "Hide my online presence"
+#: ../../extend/addon/hzaddons/cart/cart.php:1446
+#: ../../extend/addon/hzaddons/cart/myshop.php:112
+msgid "Order Not Found"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:513
-msgid "Prevents displaying in your profile that you are online"
+#: ../../extend/addon/hzaddons/cart/cart.php:1507
+msgid "Cart utilities for orders and payments"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:515
-msgid "Simple Privacy Settings:"
+#: ../../extend/addon/hzaddons/cart/cart.php:1545
+msgid "You must be logged into the Grid to shop."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:516
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
+#: ../../extend/addon/hzaddons/cart/cart.php:1578
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:409
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:392
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:68
+msgid "Order not found."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:517
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
+#: ../../extend/addon/hzaddons/cart/cart.php:1592
+msgid "Access denied."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:518
-msgid "Private - <em>default private, never open or public</em>"
+#: ../../extend/addon/hzaddons/cart/cart.php:1644
+#: ../../extend/addon/hzaddons/cart/cart.php:1787
+msgid "No Order Found"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:519
-msgid "Blocked - <em>default blocked to/from everybody</em>"
+#: ../../extend/addon/hzaddons/cart/cart.php:1653
+msgid "An unknown error has occurred Please start again."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:521
-msgid "Allow others to tag your posts"
+#: ../../extend/addon/hzaddons/cart/cart.php:1796
+msgid "Requirements not met."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:521
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
+#: ../../extend/addon/hzaddons/cart/cart.php:1796
+msgid "Review your order and complete any needed requirements."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:523
-msgid "Channel Permission Limits"
+#: ../../extend/addon/hzaddons/cart/cart.php:1822
+msgid "Invalid Payment Type. Please start again."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:525
-msgid "Expire other channel content after this many days"
+#: ../../extend/addon/hzaddons/cart/cart.php:1829
+msgid "Order not found"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:525
-msgid "0 or blank to use the website limit."
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:70
+msgid "Enable Order/Item Options"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:525
-#, php-format
-msgid "This website expires after %d days."
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:333
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:357
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:433
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:457
+msgid "Label"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:525
-msgid "This website does not expire imported content."
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:336
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:360
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:436
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:460
+msgid "Instructions"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:525
-msgid "The website limit takes precedence if lower than your limit."
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:63
+msgid "Enable Hubzilla Services Module"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:526
-msgid "Maximum Friend Requests/Day:"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:162
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:172
+msgid "New Sku"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:526
-msgid "May reduce spam activity"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:197
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:208
+msgid "Cannot save edits to locked item."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:527
-msgid "Default Privacy Group"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:246
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:333
+msgid "SKU not found."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:529
-msgid "Use my default audience setting for the type of object published"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:299
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:303
+msgid "Invalid Activation Directive."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:538
-msgid "Default permissions category"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:374
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:378
+msgid "Invalid Deactivation Directive."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:544
-msgid "Maximum private messages per day from unknown people:"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:564
+msgid "Add to this privacy group"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:544
-msgid "Useful to reduce spamming"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:580
+msgid "Set user service class"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:547
-#: ../../Zotlabs/Lib/Enotify.php:68
-msgid "Notification Settings"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:607
+msgid "You must be using a local account to purchase this service."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:548
-msgid "By default post a status message when:"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:647
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:252
+msgid "Changes Locked"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:549
-msgid "accepting a friend request"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:651
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:256
+msgid "Item available for purchase."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:550
-msgid "joining a forum/community"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:658
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:263
+#: ../../extend/addon/hzaddons/cart/widgets/catalogitem.php:57
+msgid "Price"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:551
-msgid "making an <em>interesting</em> profile change"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:661
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:266
+msgid "Photo URL"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:552
-msgid "Send a notification email when:"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:665
+msgid "Add buyer to privacy group"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:553
-msgid "You receive a connection request"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:670
+msgid "Add buyer as connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:554
-msgid "Your connections are confirmed"
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:678
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:720
+msgid "Set Service Class"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:555
-msgid "Someone writes on your profile wall"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:151
+msgid "Enable Subscription Management Module"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:556
-msgid "Someone writes a followup comment"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:223
+msgid ""
+"Cannot include subscription items with different terms in the same order."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:557
-msgid "You receive a private message"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:372
+msgid "Select Subscription to Edit"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:558
-msgid "You receive a friend suggestion"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:380
+msgid "Edit Subscriptions"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:559
-msgid "You are tagged in a post"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:414
+msgid "Subscription SKU"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:560
-msgid "You are poked/prodded/etc. in a post"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:419
+msgid "Catalog Description"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:562
-msgid "Someone likes your post/comment"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:423
+msgid "Subscription available for purchase."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:565
-msgid "Show visual notifications including:"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:428
+msgid "Maximum active subscriptions to this item per account."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:567
-msgid "Unseen stream activity"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:431
+msgid "Subscription price."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:568
-msgid "Unseen channel activity"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:435
+msgid "Quantity"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:569
-msgid "Unseen private messages"
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:439
+msgid "Term"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:569
-#: ../../Zotlabs/Module/Settings/Channel.php:574
-#: ../../Zotlabs/Module/Settings/Channel.php:575
-#: ../../Zotlabs/Module/Settings/Channel.php:576
-msgid "Recommended"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:86
+msgid "Enable Paypal Button Module (API-v2)"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:570
-msgid "Upcoming events"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:94
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:93
+msgid "Use Production Key"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:571
-msgid "Events today"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:101
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:100
+msgid "Paypal Sandbox Client Key"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:572
-msgid "Upcoming birthdays"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:108
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:107
+msgid "Paypal Sandbox Secret Key"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:572
-msgid "Not available in all themes"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:114
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:113
+msgid "Paypal Production Client Key"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:573
-msgid "System (personal) notifications"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:121
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:120
+msgid "Paypal Production Secret Key"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:574
-msgid "System info messages"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:264
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:252
+msgid "Paypal button payments are not enabled."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:575
-msgid "System critical alerts"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:282
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:270
+msgid ""
+"Paypal button payments are not properly configured. Please choose another "
+"payment option."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:576
-msgid "New connections"
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:85
+msgid "Enable Paypal Button Module"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:577
-msgid "System Registrations"
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:61
+msgid "Enable Manual Cart Module"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:578
-msgid "Unseen shared files"
+#: ../../extend/addon/hzaddons/cart/myshop.php:30
+msgid "Access Denied."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:579
-msgid "Unseen public stream activity"
+#: ../../extend/addon/hzaddons/cart/myshop.php:189
+#: ../../extend/addon/hzaddons/cart/myshop.php:223
+#: ../../extend/addon/hzaddons/cart/myshop.php:271
+#: ../../extend/addon/hzaddons/cart/myshop.php:329
+msgid "Invalid Item"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:580
-msgid "Unseen likes and dislikes"
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:7
+msgid "Error: order mismatch. Please try again."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:581
-msgid "Unseen forum posts"
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:61
+msgid "Manual payments are not enabled."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:582
-msgid "Email notification hub (hostname)"
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:77
+msgid "Finished"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:582
-#, php-format
-msgid ""
-"If your channel is mirrored to multiple hubs, set this to your preferred "
-"location. This will prevent duplicate email notifications. Example: %s"
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:58
+msgid "Enable Test Catalog"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:583
-msgid "Show new wall posts, private messages and connections under Notices"
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:70
+msgid "Enable Manual Payments"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:585
-msgid "Notify me of events this many days in advance"
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:90
+msgid "Base Merchant Currency"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:585
-msgid "Must be greater than 0"
+#: ../../extend/addon/hzaddons/openid/openid.php:49
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:590
-msgid "Advanced Account/Page Type Settings"
+#: ../../extend/addon/hzaddons/openid/openid.php:49
+msgid "The error message was:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:591
-msgid "Change the behaviour of this account for special situations"
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:52
+msgid "First Name"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:593
-msgid "Miscellaneous Settings"
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:53
+msgid "Last Name"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:594
-msgid "Default photo upload folder"
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:55
+msgid "Full Name"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:594
-#: ../../Zotlabs/Module/Settings/Channel.php:595
-msgid "%Y - current year, %m - current month"
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:61
+msgid "Profile Photo 16px"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:595
-msgid "Default file upload folder"
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:62
+msgid "Profile Photo 32px"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:597
-msgid "Remove this channel."
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:63
+msgid "Profile Photo 48px"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:19
-msgid "Not valid email."
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:64
+msgid "Profile Photo 64px"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:22
-msgid "Protected email address. Cannot change to that email."
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:65
+msgid "Profile Photo 80px"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:31
-msgid "System failure storing new email. Please try again."
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:66
+msgid "Profile Photo 128px"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:48
-msgid "Password verification failed."
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:70
+msgid "Birth Year"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:55
-msgid "Passwords do not match. Password unchanged."
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:71
+msgid "Birth Month"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:59
-msgid "Empty passwords are not allowed. Password unchanged."
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:72
+msgid "Birth Day"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:73
-msgid "Password changed."
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:73
+msgid "Birthdate"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:75
-msgid "Password update failed. Please try again."
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:30
+msgid "OpenID protocol error. No ID returned."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:99
-msgid "Account Settings"
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:81
+msgid "Hubzilla File Storage Import"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:100
-msgid "Current Password"
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:82
+msgid "This will import all your cloud files from another server."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:101
-msgid "Enter New Password"
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:83
+msgid "Hubzilla Server base URL"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:102
-msgid "Confirm New Password"
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:84
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:140
+msgid "Since modified date yyyy-mm-dd"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:102
-msgid "Leave password fields blank unless changing"
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:85
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:141
+msgid "Until modified date yyyy-mm-dd"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:106
-msgid "Remove this account including all its channels"
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:43
+msgid "Diaspora Protocol Settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Featured.php:25
-msgid "No feature settings configured"
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:52
+msgid ""
+"The diaspora protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Featured.php:34
-msgid "Addon Settings"
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58
+msgid "Diaspora Protocol App"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Featured.php:35
-msgid "Please save/submit changes to any panel before opening another."
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:75
+msgid "Allow any Diaspora member to comment on your public posts"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Events.php:40
-msgid "Events Settings"
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:79
+msgid "Prevent your hashtags from being redirected to other sites"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Manage.php:41
-msgid "Channel Manager Settings"
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:83
+msgid "Sign and forward posts and comments with no existing Diaspora signature"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel_home.php:61
-msgid "Personal menu to display in your channel pages"
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:88
+msgid "Followed hashtags (comma separated, do not include the #)"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel_home.php:88
-msgid "Channel Home Settings"
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:97
+msgid "Diaspora Protocol"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Calendar.php:40
-msgid "Calendar Settings"
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:19
+msgid "No username found in import file."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:129
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541
#, php-format
-msgid "%s - (Experimental)"
+msgid "%1$s dislikes %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:185
-msgid "Display Settings"
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:66
+msgid ""
+"Please install the statistics addon to be able to configure a diaspora relay"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:186
-msgid "Theme Settings"
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76
+msgid "Diaspora Relay Handle"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:187
-msgid "Custom Theme Settings"
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76
+msgid "Address of a diaspora relay. Example: relay@diasporarelay.tld"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:188
-msgid "Content Settings"
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:96
+msgid "Diaspora relay could not be imported"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:194
-msgid "Display Theme:"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:94
+msgid "Hubzilla Directory Stats"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:195
-msgid "Select scheme"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:95
+msgid "Total Hubs"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:197
-msgid "Preload images before rendering the page"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:97
+msgid "Hubzilla Hubs"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:197
-msgid ""
-"The subjective page load time will be longer but the page will be ready when "
-"displayed"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:99
+msgid "Friendica Hubs"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:198
-msgid "Enable user zoom on mobile devices"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:101
+msgid "Diaspora Pods"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:199
-msgid "Update browser every xx seconds"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:103
+msgid "Hubzilla Channels"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:199
-msgid "Minimum of 10 seconds, no maximum"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:105
+msgid "Friendica Channels"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:200
-msgid "Maximum number of conversations to load at any time:"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:107
+msgid "Diaspora Channels"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:200
-msgid "Maximum of 30 items"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:109
+msgid "Aged 35 and above"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:201
-msgid "Show emoticons (smilies) as images"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:111
+msgid "Aged 34 and under"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:202
-msgid "Provide channel menu in navigation bar"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:113
+msgid "Average Age"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:202
-msgid "Default: channel menu located in app menu"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:115
+msgid "Known Chatrooms"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:203
-msgid "Manual conversation updates"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:117
+msgid "Known Tags"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:203
-msgid "Default is on, turning this off may increase screen jumping"
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:119
+msgid ""
+"Please note Diaspora and Friendica statistics are merely those **this "
+"directory** is aware of, and not all those known in the network. This also "
+"applies to chatrooms,"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:204
-msgid "Link post titles to source"
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:25
+msgid "Show Upload Limits"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:206
-msgid "Display new member quick links menu"
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:27
+msgid "Hubzilla configured maximum size: "
msgstr ""
-#: ../../Zotlabs/Module/Settings/Directory.php:40
-msgid "Directory Settings"
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:28
+msgid "PHP upload_max_filesize: "
msgstr ""
-#: ../../Zotlabs/Module/Settings/Editor.php:40
-msgid "Editor Settings"
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:29
+msgid "PHP post_max_size (must be larger than upload_max_filesize): "
msgstr ""
-#: ../../Zotlabs/Module/Settings/Connections.php:40
-msgid "Connections Settings"
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27
+msgid "Hide Aside App"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Photos.php:40
-msgid "Photos Settings"
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:24
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:28
+msgid "Fade out aside areas after a while when using endless scroll"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Profiles.php:49
-msgid "Profiles Settings"
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26
+msgid "Installed"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Conversation.php:23
-msgid "Settings saved."
+#: ../../extend/addon/hzaddons/randpost/randpost.php:97
+msgid "You're welcome."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Conversation.php:25
-msgid "Settings saved. Reload page please."
+#: ../../extend/addon/hzaddons/randpost/randpost.php:98
+msgid "Ah shucks..."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Conversation.php:47
-msgid "Conversation Settings"
+#: ../../extend/addon/hzaddons/randpost/randpost.php:99
+msgid "Don't mention it."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:68
-msgid "Unable to update menu."
+#: ../../extend/addon/hzaddons/randpost/randpost.php:100
+msgid "&lt;blush&gt;"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:79
-msgid "Unable to create menu."
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:133
+msgid "View Larger"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:161 ../../Zotlabs/Module/Menu.php:174
-msgid "Menu Name"
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156
+msgid "Tile Server URL"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:161
-msgid "Unique name (not visible on webpage) - required"
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank"
+"\">public tile servers</a>"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:162 ../../Zotlabs/Module/Menu.php:175
-msgid "Menu Title"
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157
+msgid "Nominatim (reverse geocoding) Server URL"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:162
-msgid "Visible on webpage - leave empty for no title"
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target="
+"\"_blank\">Nominatim servers</a>"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:163
-msgid "Allow Bookmarks"
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158
+msgid "Default zoom"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
-msgid "Menu may be used to store saved bookmarks"
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158
+msgid ""
+"The default zoom level. (1:world, 18:highest, also depends on tile server)"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:164 ../../Zotlabs/Module/Menu.php:225
-msgid "Submit and proceed"
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159
+msgid "Include marker on map"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:177 ../../Zotlabs/Module/Locs.php:124
-msgid "Drop"
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159
+msgid "Include a marker on the map."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:181
-msgid "Bookmarks allowed"
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38
+msgid "Livejournal Crosspost Connector App"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:183
-msgid "Delete this menu"
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:39
+msgid "Relay public posts to Livejournal"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:184 ../../Zotlabs/Module/Menu.php:219
-msgid "Edit menu contents"
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:55
+msgid "Livejournal username"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:185
-msgid "Edit this menu"
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:59
+msgid "Livejournal password"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:201
-msgid "Menu could not be deleted."
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+msgid "Post to Livejournal by default"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:214
-msgid "Edit Menu"
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+msgid "Send wall-to-wall posts to Livejournal"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:218
-msgid "Add or remove entries to this menu"
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+msgid "Add link to original post"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:220
-msgid "Menu name"
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:79
+msgid "Livejournal Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:220
-msgid "Must be unique, only seen by you"
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:49
+msgid "Post to Livejournal"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:221
-msgid "Menu title"
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:127
+msgid "Posted by"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:221
-msgid "Menu title as seen by others"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:222
+msgid "Workflow user."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:222
-msgid "Allow bookmarks"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:272
+msgid "This channel"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:68 ../../Zotlabs/Module/Connedit.php:89
-msgid "Could not access contact record."
+#: ../../extend/addon/hzaddons/workflow/workflow.php:541
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1437
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1456
+msgid "Workflow"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:190
-msgid "Default Permissions App"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1425
+msgid "No Workflows Available"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:191
-msgid "Set custom default permissions for new connections"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1455
+msgid "Add item to which workflow"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:870
-msgid "Connection Default Permissions"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1515
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1634
+msgid "Create Workflow Item"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:871
-msgid "Apply these permissions automatically"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2596
+msgid "Link"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:872
-msgid "Permission role"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2598
+msgid "Web link."
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:873
-msgid "Add permission role"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2619
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2680
+msgid "Brief description or title"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:886
-msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2627
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2688
+msgid "Notes and Info"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:263
-msgid "Automatic approval settings"
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2686
+msgid "Body"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:271
-msgid ""
-"Some individual permissions may have been preset or locked based on your "
-"channel type and privacy settings."
+#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:101
+msgid "Workflow Settings"
msgstr ""
-#: ../../Zotlabs/Module/Pconfig.php:32 ../../Zotlabs/Module/Pconfig.php:68
-msgid "This setting requires special processing and editing has been blocked."
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:44
+msgid "Jabber BOSH host"
msgstr ""
-#: ../../Zotlabs/Module/Pconfig.php:57
-msgid "Configuration Editor"
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45
+msgid "Use central userbase"
msgstr ""
-#: ../../Zotlabs/Module/Pconfig.php:58
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45
msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please "
-"leave this page unless you are comfortable with and knowledgeable about how "
-"to correctly use this feature."
+"If enabled, members will automatically login to an ejabberd server that has "
+"to be installed on this machine with synchronized credentials via the "
+"\"auth_ejabberd.php\" script."
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:54
-msgid "Name and Secret are required"
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:23
+msgid "XMPP settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:106
-msgid "OAuth2 Apps Manager App"
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35
+msgid "XMPP App"
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:107
-msgid "OAuth2 authenticatication tokens for mobile and remote apps"
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:36
+msgid "Embedded XMPP (Jabber) client"
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:115
-msgid "Add OAuth2 application"
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:52
+msgid "Individual credentials"
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149
-msgid "Grant Types"
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:58
+msgid "Jabber BOSH server"
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:122
-msgid "leave blank unless your application sepcifically requires this"
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:67
+msgid "XMPP Settings"
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150
-msgid "Authorization scope"
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20
+msgid "Superblock App"
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:134
-msgid "OAuth2 Application not found."
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:21
+msgid "Block channels"
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:149 ../../Zotlabs/Module/Oauth2.php:150
-msgid "leave blank unless your application specifically requires this"
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:63
+msgid "superblock settings updated"
msgstr ""
-#: ../../Zotlabs/Module/Oauth2.php:192
-msgid "Connected OAuth2 Apps"
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:87
+msgid "Currently blocked"
msgstr ""
-#: ../../Zotlabs/Module/Randprof.php:29
-msgid "Random Channel App"
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:89
+msgid "No channels currently blocked"
msgstr ""
-#: ../../Zotlabs/Module/Randprof.php:30
-msgid "Visit a random channel in the $Projectname network"
+#: ../../extend/addon/hzaddons/superblock/superblock.php:337
+msgid "Block Completely"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:59
-msgid "Invalid message"
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23
+msgid "Random Planet App"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:93
-msgid "no results"
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:25
+msgid ""
+"Set a random planet from the Star Wars Empire as your location when posting"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "channel sync processed"
+#: ../../extend/addon/hzaddons/nsfw/nsfw.php:152
+msgid "Possible adult content"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:111
-msgid "queued"
+#: ../../extend/addon/hzaddons/nsfw/nsfw.php:167
+#, php-format
+msgid "%s - view"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:115
-msgid "posted"
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:22
+msgid "NSFW Settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:119
-msgid "accepted for delivery"
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33
+msgid "NSFW App"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:123
-msgid "updated"
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:34
+msgid "Collapse content that contains predefined words"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:126
-msgid "update ignored"
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:44
+msgid ""
+"This app looks in posts for the words/text you specify below, and collapses "
+"any content containing those keywords so it is not displayed at "
+"inappropriate times, such as sexual innuendo that may be improper in a work "
+"setting. It is polite and recommended to tag any content containing nudity "
+"with #NSFW. This filter can also match any other word/text you specify, and "
+"can thereby be used as a general purpose content filter."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:129
-msgid "permission denied"
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49
+msgid "Comma separated list of keywords to hide"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:133
-msgid "recipient not found"
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49
+msgid "Word, /regular-expression/, lang=xx, lang!=xx"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:136
-msgid "mail recalled"
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:58
+msgid "NSFW"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:139
-msgid "duplicate mail received"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:21
+msgid "Three Dimensional Tic-Tac-Toe"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:142
-msgid "mail delivered"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:54
+msgid "3D Tic-Tac-Toe"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:162
-#, php-format
-msgid "Delivery report for %1$s"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:59
+msgid "New game"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:167
-msgid "Redeliver"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:60
+msgid "New game with handicap"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:122
-msgid "Thing updated"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:61
+msgid ""
+"Three dimensional tic-tac-toe is just like the traditional game except that "
+"it is played on multiple levels simultaneously. "
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:174
-msgid "Object store: failed"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:62
+msgid ""
+"In this case there are three levels. You win by getting three in a row on "
+"any level, as well as up, down, and diagonally across the different levels."
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:178
-msgid "Thing added"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:64
+msgid ""
+"The handicap game disables the center position on the middle level because "
+"the player claiming this square often has an unfair advantage."
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:204
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:183
+msgid "You go first..."
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:267
-msgid "Show Thing"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:188
+msgid "I'm going first this time..."
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:274
-msgid "item not found."
+#: ../../extend/addon/hzaddons/tictac/tictac.php:194
+msgid "You won!"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:307
-msgid "Edit Thing"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:200
+#: ../../extend/addon/hzaddons/tictac/tictac.php:225
+msgid "\"Cat\" game!"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:366
-msgid "Select a profile"
+#: ../../extend/addon/hzaddons/tictac/tictac.php:223
+msgid "I won!"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
-msgid "Post an activity"
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:27
+msgid "Photo Cache settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
-msgid "Only sends to viewers of the applicable profile"
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:36
+msgid ""
+"Photo Cache addon saves a copy of images from external sites locally to "
+"increase your anonymity in the web."
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:371
-msgid "Name of thing e.g. something"
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42
+msgid "Photo Cache App"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:372
-msgid "URL of thing (optional)"
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:53
+msgid "Minimal photo size for caching"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:373
-msgid "URL for photo of thing (optional)"
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:55
+msgid "In pixels. From 1 up to 1024, 0 will be replaced with system default."
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:364
-msgid "Add Thing to your Profile"
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:64
+msgid "Photo Cache"
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:46
-msgid "Authentication failed."
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:26
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:27
-msgid "Layout updated."
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:28
+msgctxt "opensearch"
+msgid "$Projectname"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:43
-msgid "PDL Editor App"
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:43
+msgid "Search $Projectname"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:44
-msgid "Provides the ability to edit system page layouts"
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:25
+msgid "Libertree Crosspost Connector Settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:57 ../../Zotlabs/Module/Pdledit.php:100
-msgid "Edit System Page Description"
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35
+msgid "Libertree Crosspost Connector App"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:78
-msgid "(modified)"
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:36
+msgid "Relay public posts to Libertree"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:95
-msgid "Layout not found."
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:51
+msgid "Libertree API token"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:101
-msgid "Module Name:"
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:55
+msgid "Libertree site URL"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:102
-msgid "Layout Help"
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+msgid "Post to Libertree by default"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:103
-msgid "Edit another layout"
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:67
+msgid "Libertree Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:104
-msgid "System layout"
+#: ../../extend/addon/hzaddons/libertree/libertree.php:43
+msgid "Post to Libertree"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:52
-msgid "Wiki App"
+#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:24
+msgid "Flag Adult Photos"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:53
-msgid "Provide a wiki for your channel"
+#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:25
+msgid ""
+"Provide photo edit option to hide inappropriate photos from default album "
+"view"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:133
-msgid "Error retrieving wiki"
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:145
+msgid "Post to GNU social"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:140
-msgid "Error creating zip file export folder"
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:594
+msgid "API URL"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:191
-msgid "Error downloading wiki: "
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:597
+msgid "Application name"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:212
-msgid "Download"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:61
+msgid ""
+"Please contact your site administrator.<br />The provided API URL is not "
+"valid."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:216
-msgid "Wiki name"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:98
+msgid "We could not contact the GNU social API with the Path you entered."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:217
-msgid "Content type"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:130
+msgid "GNU social settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:292
-msgid "Type"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:147
+msgid ""
+"Relay public postings to a connected GNU social account (formerly StatusNet)"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:220
-msgid "Any&nbsp;type"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:181
+msgid "Globally Available GNU social OAuthKeys"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:227
-msgid "Lock content type"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:183
+msgid ""
+"There are preconfigured OAuth key pairs for some GNU social servers "
+"available. If you are using one of them, please use these credentials.<br /"
+">If not feel free to connect to any other GNU social instance (see below)."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:228
-msgid "Create a status post for this wiki"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:198
+msgid "Provide your own OAuth Credentials"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:229
-msgid "Edit Wiki Name"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:200
+msgid ""
+"No consumer key pair for GNU social found. Register your Hubzilla Account as "
+"an desktop client on your GNU social account, copy the consumer key pair "
+"here and enter the API base root.<br />Before you register your own OAuth "
+"key pair ask the administrator if there is already a key pair for this "
+"Hubzilla installation at your favourite GNU social installation."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:274
-msgid "Wiki not found"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:204
+msgid "OAuth Consumer Key"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:300
-msgid "Rename page"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:208
+msgid "OAuth Consumer Secret"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:321
-msgid "Error retrieving page content"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212
+msgid "Base API Path"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331
-msgid "New page"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212
+msgid "Remember the trailing /"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:366
-msgid "Revision Comparison"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:216
+msgid "GNU social application name"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:374
-msgid "Short description of your changes (optional)"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:239
+msgid ""
+"To connect to your GNU social account click the button below to get a "
+"security code from GNU social which you have to copy into the input box "
+"below and submit the form. Only your <strong>public</strong> posts will be "
+"posted to GNU social."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:394
-msgid "New page name"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:241
+msgid "Log in with GNU social"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:399
-msgid "Embed image from photo albums"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:244
+msgid "Copy the security code from GNU social here"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:410
-msgid "History"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:254
+msgid "Cancel Connection Process"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:488
-msgid "Error creating wiki. Invalid name."
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:256
+msgid "Current GNU social API is"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:495
-msgid "A wiki with this name already exists."
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+msgid "Cancel GNU social Connection"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:508
-msgid "Wiki created, but error creating Home page."
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:272
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:147
+msgid "Currently connected to: "
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:515
-msgid "Error creating wiki"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:277
+msgid ""
+"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to GNU social will lead the visitor to a blank page "
+"informing the visitor that the access to your profile has been restricted."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:539
-msgid "Error updating wiki. Invalid name."
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+msgid "Post to GNU social by default"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:559
-msgid "Error updating wiki"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+msgid ""
+"If enabled your public postings will be posted to the associated GNU-social "
+"account by default"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:574
-msgid "Wiki delete permission denied."
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+msgid "Clear OAuth configuration"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:584
-msgid "Error deleting wiki"
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:303
+msgid "GNU-Social Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:617
-msgid "New page created"
+#: ../../extend/addon/hzaddons/wholikesme/wholikesme.php:29
+msgid "Who likes me?"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:739
-msgid "Cannot delete Home"
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:25
+msgid "ActivityPub Protocol Settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:803
-msgid "Current Revision"
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:34
+msgid ""
+"The activitypub protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:803
-msgid "Selected Revision"
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40
+msgid "Activitypub Protocol App"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:853
-msgid "You must be authenticated."
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50
+msgid "Deliver to ActivityPub recipients in privacy groups"
msgstr ""
-#: ../../Zotlabs/Module/Home.php:90
-#, php-format
-msgid "Welcome to %s"
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50
+msgid ""
+"May result in a large number of mentions and expose all the members of your "
+"privacy group"
msgstr ""
-#: ../../Zotlabs/Module/Suggest.php:40
-msgid "Suggest Channels App"
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54
+msgid "Send multi-media HTML articles"
msgstr ""
-#: ../../Zotlabs/Module/Suggest.php:41
-msgid ""
-"Suggestions for channels in the $Projectname network you might be interested "
-"in"
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54
+msgid "Not supported by some microblog services such as Mastodon"
msgstr ""
-#: ../../Zotlabs/Module/Suggest.php:54
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:62
+msgid "Activitypub Protocol"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:120
-msgid "Could not locate selected profile."
+#: ../../extend/addon/hzaddons/ijpost/ijpost.php:44
+msgid "Post to Insane Journal"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:264
-msgid "Connection updated."
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:23
+msgid "Insane Journal Crosspost Connector Settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:266
-msgid "Failed to update connection record."
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35
+msgid "Insane Journal Crosspost Connector App"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:320
-msgid "is now connected to"
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:36
+msgid "Relay public postings to Insane Journal"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:445
-msgid "Could not access address book record."
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:53
+msgid "InsaneJournal username"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:497
-msgid "Refresh failed - channel is currently unavailable."
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:57
+msgid "InsaneJournal password"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:512 ../../Zotlabs/Module/Connedit.php:521
-#: ../../Zotlabs/Module/Connedit.php:530 ../../Zotlabs/Module/Connedit.php:539
-#: ../../Zotlabs/Module/Connedit.php:552
-msgid "Unable to set address book parameters."
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+msgid "Post to InsaneJournal by default"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:571
-msgid "Connection has been removed."
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:69
+msgid "Insane Journal Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:614
-#, php-format
-msgid "View %s's profile"
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:77
+msgid "Max queueworker threads"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:618
-msgid "Refresh Permissions"
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:91
+msgid "Assume workers dead after ___ seconds"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:621
-msgid "Fetch updated permissions"
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:105
+msgid ""
+"Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:625
-msgid "Refresh Photo"
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:116
+msgid "Queueworker Settings"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:628
-msgid "Fetch updated photo"
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:218
+msgid "Not allowed."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:635
-msgid "View recent posts and comments"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:123
+msgid "generic profile image"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:642
-msgid "Block (or Unblock) all communications with this connection"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:124
+msgid "random geometric pattern"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:643
-msgid "This connection is blocked!"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:125
+msgid "monster face"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:647
-msgid "Unignore"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:126
+msgid "computer generated face"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:650
-msgid "Ignore (or Unignore) all inbound communications from this connection"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:127
+msgid "retro arcade style face"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:651
-msgid "This connection is ignored!"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:128
+msgid "Hub default profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:655
-msgid "Unarchive"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143
+msgid "Information"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:655
-msgid "Archive"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143
+msgid ""
+"Libravatar addon is installed, too. Please disable Libravatar addon or this "
+"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if "
+"nothing was found at Libravatar."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:658
-msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151
+msgid "Default avatar image"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:659
-msgid "This connection is archived!"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151
+msgid "Select default avatar image if none was found at Gravatar. See README"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:663
-msgid "Unhide"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152
+msgid "Rating of images"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:663
-msgid "Hide"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152
+msgid "Select the appropriate avatar rating for your site. See README"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:666
-msgid "Hide or Unhide this connection from your other connections"
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:165
+msgid "Gravatar settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:667
-msgid "This connection is hidden!"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:104
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:176
+msgid "Network error"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:674
-msgid "Delete this connection"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:108
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:180
+msgid "API error"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:682
-msgid "Fetch Vcard"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:112
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:184
+msgid "Unknown issue"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:685
-msgid "Fetch electronic calling card for this connection"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:168
+msgid "Unable to login using email address "
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:696
-msgid "Open Individual Permissions section by default"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:202
+msgid "Sign in to Hubzilla using a social account"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:719
-msgid "Affinity"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:207
+msgid "Social Authentication using your social media account"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:722
-msgid "Open Set Affinity section by default"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:211
+msgid ""
+"This app enables one or more social provider sign-in buttons on the login "
+"page."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:759
-msgid "Filter"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:229
+msgid "Add an identity provider"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:762
-msgid "Open Custom Filter section by default"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:256
+msgid "Enable "
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:799
-msgid "Approve this connection"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263
+msgid "Key"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:799
-msgid "Accept connection to allow communication"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:284
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297
+msgid "Word"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:804
-msgid "Set Affinity"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268
+msgid "Secret"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:807
-msgid "Set Profile"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297
+msgid "Add a custom provider"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:810
-msgid "Set Affinity & Profile"
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:317
+msgid "Remove an identity provider"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:858
-msgid "This connection is unreachable from this location."
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:327
+msgid "Social authentication"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:859
-msgid "This connection may be unreachable from other channel locations."
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:366
+msgid "Error while saving provider settings"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:861
-msgid "Location independence is not supported by their network."
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:382
+msgid "Custom provider already exists"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:867
-msgid ""
-"This connection is unreachable from this location. Location independence is "
-"not supported by their network."
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:399
+msgid "Social authentication settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:871
-msgid "Connection requests will be approved without your interaction"
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:14
+msgid "Send your identity to all websites"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:880
-msgid "This connection's primary address is"
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20
+msgid "Sendzid App"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:881
-msgid "Available locations:"
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:32
+msgid "Send ZID"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:887
-msgid "Connection Tools"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:106
+msgid "Photos imported"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:889
-msgid "Slide to adjust your degree of friendship"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:129
+msgid "Redmatrix Photo Album Import"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:891
-msgid "Slide to adjust your rating"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:130
+msgid "This will import all your Redmatrix photo albums to this channel."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:892 ../../Zotlabs/Module/Connedit.php:897
-msgid "Optionally explain your rating"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:131
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:121
+msgid "Redmatrix Server base URL"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:894
-msgid "Custom Filter"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:132
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:122
+msgid "Redmatrix Login Username"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:895
-msgid "Only import posts with this text"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:133
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:123
+msgid "Redmatrix Login Password"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:896
-msgid "Do not import posts with this text"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134
+msgid "Import just this album"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:898
-msgid "This information is public!"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134
+msgid "Leave blank to import all albums"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:903
-msgid "Connection Pending Approval"
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135
+msgid "Maximum count to import"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:908
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135
+msgid "0 or blank to import all available"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:915
-msgid ""
-"Some permissions may be inherited from your channel's <a href=\"settings"
-"\"><strong>privacy settings</strong></a>, which have higher priority than "
-"individual settings. You can change those settings here but they wont have "
-"any impact unless the inherited setting changes."
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:65
+msgid "Twitter settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:916
-msgid "Last update:"
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78
+msgid "Twitter Crosspost Connector App"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:924
-msgid "Details"
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:79
+msgid "Relay public posts to Twitter"
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:55 ../../Zotlabs/Module/Notify.php:61
-msgid "No more system notifications."
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:103
+msgid ""
+"No consumer key pair for Twitter found. Please contact your site "
+"administrator."
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:59 ../../Zotlabs/Module/Notify.php:65
-msgid "System Notifications"
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:125
+msgid ""
+"At this Hubzilla instance the Twitter plugin was enabled but you have not "
+"yet connected your account to your Twitter account. To do so click the "
+"button below to get a PIN from Twitter which you have to copy into the input "
+"box below and submit the form. Only your <strong>public</strong> posts will "
+"be posted to Twitter."
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:60
-#: ../../Zotlabs/Lib/ThreadItem.php:482
-msgid "Mark all seen"
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:127
+msgid "Log in with Twitter"
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:186
-msgid "Comanche page description language help"
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:130
+msgid "Copy the PIN from Twitter here"
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:190
-msgid "Layout Description"
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:152
+msgid ""
+"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to Twitter will lead the visitor to a blank page informing "
+"the visitor that the access to your profile has been restricted."
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:195
-msgid "Download PDL file"
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157
+msgid "Twitter post length"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:57
-msgid "Location not found."
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157
+msgid "Maximum tweet length"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:65
-msgid "Location lookup failed."
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+msgid "Send public postings to Twitter by default"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:69
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
msgid ""
-"Please select another location to become primary before removing the primary "
-"location."
+"If enabled your public postings will be posted to the associated Twitter "
+"account by default"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:99
-msgid "Syncing locations"
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:181
+msgid "Twitter Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:109
-msgid "No locations found."
+#: ../../extend/addon/hzaddons/twitter/twitter.php:109
+msgid "Post to Twitter"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:120
-msgid "Manage Channel Locations"
+#: ../../extend/addon/hzaddons/donate/donate.php:21
+msgid "Project Servers and Resources"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:126
-msgid "Sync Now"
+#: ../../extend/addon/hzaddons/donate/donate.php:22
+msgid "Project Creator and Tech Lead"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:127
-msgid "Please wait several minutes between consecutive operations."
+#: ../../extend/addon/hzaddons/donate/donate.php:49
+msgid ""
+"And the hundreds of other people and organisations who helped make the "
+"Hubzilla possible."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:128
+#: ../../extend/addon/hzaddons/donate/donate.php:52
msgid ""
-"When possible, drop a location by logging into that website/hub and removing "
-"your channel."
+"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving "
+"their time and expertise - and often paying out of pocket for services they "
+"share with others."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:129
-msgid "Use this form to drop the location if the hub is no longer operating."
+#: ../../extend/addon/hzaddons/donate/donate.php:53
+msgid ""
+"There is no corporate funding and no ads, and we do not collect and sell "
+"your personal information. (We don't control your personal information - "
+"<strong>you do</strong>.)"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:41
-msgid "Failed to create source. No channel selected."
+#: ../../extend/addon/hzaddons/donate/donate.php:54
+msgid ""
+"Help support our ground-breaking work in decentralisation, web identity, and "
+"privacy."
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:57
-msgid "Source created."
+#: ../../extend/addon/hzaddons/donate/donate.php:56
+msgid ""
+"Your donations keep servers and services running and also helps us to "
+"provide innovative new features and continued development."
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:70
-msgid "Source updated."
+#: ../../extend/addon/hzaddons/donate/donate.php:59
+msgid "Donate"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:88
-msgid "Sources App"
+#: ../../extend/addon/hzaddons/donate/donate.php:61
+msgid ""
+"Choose a project, developer, or public hub to support with a one-time "
+"donation"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:89
-msgid "Automatically import channel content from other channels or feeds"
+#: ../../extend/addon/hzaddons/donate/donate.php:62
+msgid "Donate Now"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:101
-msgid "*"
+#: ../../extend/addon/hzaddons/donate/donate.php:63
+msgid ""
+"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:107 ../../Zotlabs/Lib/Apps.php:368
-msgid "Channel Sources"
+#: ../../extend/addon/hzaddons/donate/donate.php:64
+msgid ""
+"Please indicate if you would like your first name or full name (or nothing) "
+"to appear in our sponsor listing"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:108
-msgid "Manage remote sources of content for your channel."
+#: ../../extend/addon/hzaddons/donate/donate.php:65
+msgid "Sponsor"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:119
-msgid "New Source"
+#: ../../extend/addon/hzaddons/donate/donate.php:68
+msgid "Special thanks to: "
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:120 ../../Zotlabs/Module/Sources.php:154
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:26
+msgid "Dreamwidth Crosspost Connector Settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155
-msgid "Only import content with these words (one per line)"
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39
+msgid "Dreamwidth Crosspost Connector App"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155
-msgid "Leave blank to import all public content"
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:40
+msgid "Relay public posts to Dreamwidth"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:122 ../../Zotlabs/Module/Sources.php:161
-msgid "Channel Name"
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:53
+msgid "Dreamwidth username"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158
-msgid ""
-"Add the following categories to posts imported from this source (comma "
-"separated)"
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:57
+msgid "Dreamwidth password"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
-msgid "Resend posts with this channel as author"
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+msgid "Post to Dreamwidth by default"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
-msgid "Copyrights may apply"
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98
+msgid "Link description (default:"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:144 ../../Zotlabs/Module/Sources.php:174
-msgid "Source not found."
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:77
+msgid "Dreamwidth Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:151
-msgid "Edit Source"
+#: ../../extend/addon/hzaddons/dwpost/dwpost.php:49
+msgid "Post to Dreamwidth"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:152
-msgid "Delete Source"
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:21
+msgid "nofed Settings saved."
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:182
-msgid "Source removed"
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33
+msgid "No Federation App"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:184
-msgid "Unable to remove source."
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:34
+msgid ""
+"Prevent posting from being federated to anybody. It will exist only on your "
+"channel page."
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:94
-msgid "Select a bookmark folder"
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+msgid "Federate posts by default"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:99
-msgid "Save Bookmark"
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:50
+msgid "No Federation"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:100
-msgid "URL of bookmark"
+#: ../../extend/addon/hzaddons/nofed/nofed.php:47
+msgid "Federate"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:105
-msgid "Or enter new bookmark folder name"
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:15
+msgid "WYSIWYG status editor"
msgstr ""
-#: ../../Zotlabs/Zot/Auth.php:152
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please "
-"logout and retry."
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26
+msgid "WYSIWYG Status App"
msgstr ""
-#: ../../Zotlabs/Lib/AccessList.php:28
-msgid ""
-"A deleted list with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this list and any future members. If this is "
-"not what you intended, please create another list with a different name."
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:34
+msgid "WYSIWYG Status"
msgstr ""
-#: ../../Zotlabs/Lib/AccessList.php:286
-msgid "Add new connections to this access list"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:27
+msgid "No server specified"
msgstr ""
-#: ../../Zotlabs/Lib/AccessList.php:331
-msgid "Lists"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:73
+msgid "Posts imported"
msgstr ""
-#: ../../Zotlabs/Lib/AccessList.php:332
-msgid "Edit list"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:113
+msgid "Files imported"
msgstr ""
-#: ../../Zotlabs/Lib/AccessList.php:333
-msgid "Create new list"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:122
+msgid ""
+"This addon app copies existing content and file storage to a cloned/copied "
+"channel. Once the app is installed, visit the newly installed app. This will "
+"allow you to set the location of your original channel and an optional date "
+"range of files/conversations to copy."
msgstr ""
-#: ../../Zotlabs/Lib/AccessList.php:334
-msgid "Channels not in any access list"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:136
+msgid ""
+"This will import all your conversations and cloud files from a cloned "
+"channel on another server. This may take a while if you have lots of posts "
+"and or files."
msgstr ""
-#: ../../Zotlabs/Lib/Permcat.php:82
-msgctxt "permcat"
-msgid "default"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+msgid "Include posts"
msgstr ""
-#: ../../Zotlabs/Lib/Permcat.php:133
-msgctxt "permcat"
-msgid "follower"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+msgid "Conversations, Articles, Cards, and other posted content"
msgstr ""
-#: ../../Zotlabs/Lib/Permcat.php:137
-msgctxt "permcat"
-msgid "contributor"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+msgid "Include files"
msgstr ""
-#: ../../Zotlabs/Lib/Permcat.php:141
-msgctxt "permcat"
-msgid "publisher"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+msgid "Files, Photos and other cloud storage"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2096
-#, php-format
-msgid "Likes %1$s's %2$s"
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:139
+msgid "Original Server base URL"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2099
-#, php-format
-msgid "Doesn't like %1$s's %2$s"
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:48
+msgid "Your channel has been upgraded to $Projectname version"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2105
-#, php-format
-msgid "Will attend %s's event"
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:50
+msgid "Please have a look at the"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2108
-#, php-format
-msgid "Will not attend %s's event"
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:52
+msgid "git history"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2111
-#, php-format
-msgid "May attend %s's event"
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:54
+msgid "change log"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2114
-#, php-format
-msgid "May not attend %s's event"
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:55
+msgid "for further info."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:60
-msgid "$Projectname Notification"
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:60
+msgid "Upgrade Info"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:63
-msgid "Thank You,"
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:64
+msgid "Do not show this again"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:66
-#, php-format
-msgid "This email was sent by %1$s at %2$s."
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:22
+msgid "pageheader Settings saved."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:67
-#, php-format
-msgid ""
-"To stop receiving these messages, please adjust your Notification Settings "
-"at %s"
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34
+msgid "Page Header App"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:68
-#, php-format
-msgid "To stop receiving these messages, please adjust your %s."
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:35
+msgid "Inserts a page header"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:123
-#, php-format
-msgid "%s <!item_type!>"
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:43
+msgid "Message to display on every page on this server"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:127
-#, php-format
-msgid "[$Projectname:Notify] New mail received at %s"
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:51
+msgid "Page Header"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:129
-#, php-format
-msgid "%1$s sent you a new private message at %2$s."
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:21
+msgid "Who viewed my channel/profile"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:130
-#, php-format
-msgid "%1$s sent you %2$s."
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:25
+msgid "Recent Channel/Profile Viewers"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:130
-msgid "a private message"
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:36
+msgid "No entries."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:131
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:39
+msgid "Messages"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:144
-msgid "commented on"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:52
+msgid "message"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:157
-msgid "liked"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:92
+msgid "Message recalled."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:160
-msgid "disliked"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:105
+msgid "Conversation removed."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:165
-msgid "voted on"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:120
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:241
+msgid "Expires YYYY-MM-DD HH:MM"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:208
-#, php-format
-msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:148
+msgid "Requested channel is not in this network"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:216
-#, php-format
-msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:156
+msgid "Send Private Message"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:225
-#, php-format
-msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:157
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:300
+msgid "To:"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:237
-#, php-format
-msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:160
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:302
+msgid "Subject:"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:239
-#, php-format
-msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:165
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:308
+msgid "Attach file"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:240
-#, php-format
-msgid "%1$s commented on an item/conversation you have been following."
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:167
+msgid "Send"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:324
-#: ../../Zotlabs/Lib/Enotify.php:340 ../../Zotlabs/Lib/Enotify.php:365
-#: ../../Zotlabs/Lib/Enotify.php:382 ../../Zotlabs/Lib/Enotify.php:395
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:271
+msgid "Delete message"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:247 ../../Zotlabs/Lib/Enotify.php:248
-#, php-format
-msgid "Please visit %s to approve or reject this comment."
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:272
+msgid "Delivery report"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:306
-#, php-format
-msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:273
+msgid "Recall message"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:320
-#, php-format
-msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:275
+msgid "Message has been recalled."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:321
-#, php-format
-msgid "%1$s liked an item/conversation you created."
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:293
+msgid "Delete Conversation"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:332
-#, php-format
-msgid "[$Projectname:Notify] %s posted to your profile wall"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:295
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:334
-#, php-format
-msgid "%1$s posted to your profile wall at %2$s"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:299
+msgid "Send Reply"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:336
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:304
#, php-format
-msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
+msgid "Your message for %s (%s):"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:359
-#, php-format
-msgid "[$Projectname:Notify] %s tagged you"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:384
+msgid "Unable to lookup recipient."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:360
-#, php-format
-msgid "%1$s tagged you at %2$s"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:391
+msgid "Unable to communicate with requested channel."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:361
-#, php-format
-msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:398
+msgid "Cannot verify requested channel."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:372
-#, php-format
-msgid "[$Projectname:Notify] %1$s poked you"
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:416
+msgid "Selected channel has private message restrictions. Send failed."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:373
-#, php-format
-msgid "%1$s poked you at %2$s"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:50
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:128
+msgid "System defaults:"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:374
-#, php-format
-msgid "%1$s [zrl=%2$s]poked you[/zrl]."
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54
+msgid "Preferred Clipart IDs"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:389
-#, php-format
-msgid "[$Projectname:Notify] %s tagged your post"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54
+msgid "List of preferred clipart ids. These will be shown first."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:390
-#, php-format
-msgid "%1$s tagged your post at %2$s"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55
+msgid "Default Search Term"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:391
-#, php-format
-msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55
+msgid "The default search term. These will be shown second."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:402
-msgid "[$Projectname:Notify] Introduction received"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56
+msgid "Return After"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:403
-#, php-format
-msgid "You've received an new connection request from '%1$s' at %2$s"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56
+msgid "Page to load after image selection."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:404
-#, php-format
-msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s."
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:59
+msgid "Profile List"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:407 ../../Zotlabs/Lib/Enotify.php:425
-#, php-format
-msgid "You may visit their profile at %s"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61
+msgid "Order of Preferred"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:409
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61
+msgid "Sort order of preferred clipart ids."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:416
-msgid "[$Projectname:Notify] Friend suggestion received"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:62
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:68
+msgid "Newest first"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:417
-#, php-format
-msgid "You've received a friend suggestion from '%1$s' at %2$s"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:65
+msgid "As entered"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:418
-#, php-format
-msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67
+msgid "Order of other"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:423
-msgid "Name:"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67
+msgid "Sort order of other clipart ids."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:424
-msgid "Photo:"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:69
+msgid "Most downloaded first"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:427
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:70
+msgid "Most liked first"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:652
-msgid "[$Projectname:Notify]"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72
+msgid "Preferred IDs Message"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:820
-msgid "created a new poll"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72
+msgid "Message to display above preferred results."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:820
-msgid "created a new post"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78
+msgid "Uploaded by: "
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:821
-#, php-format
-msgid "voted on %s's poll"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78
+msgid "Drawn by: "
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:821
-#, php-format
-msgid "commented on %s's post"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:182
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:194
+msgid "Use this image"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:825
-#, php-format
-msgid "repeated %s's post"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:192
+msgid "Or select from a free OpenClipart.org image:"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:837
-#, php-format
-msgid "edited a post dated %s"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:195
+msgid "Search Term"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:841
-#, php-format
-msgid "edited a comment dated %s"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:232
+msgid "Unknown error. Please try again later."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:970
-msgid "created an event"
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:308
+msgid "Profile photo updated successfully."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:271
-msgid "error saving data"
+#: ../../extend/addon/hzaddons/gallery/gallery.php:43
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:136
+msgid "Gallery"
msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:25
-msgid "Missing room name"
+#: ../../extend/addon/hzaddons/gallery/gallery.php:46
+msgid "Photo Gallery"
msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:34
-msgid "Duplicate room name"
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58
+msgid "Gallery App"
msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:84 ../../Zotlabs/Lib/Chatroom.php:92
-msgid "Invalid room specifier."
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:59
+msgid "A simple gallery for your photo albums"
msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:124
-msgid "Room not found."
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35
+msgid "Smileybutton App"
msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:145
-msgid "Room is full"
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:36
+msgid "Adds a smileybutton to the jot editor"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWiki.php:145
-msgid "Wiki updated successfully"
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+msgid "Hide the button and show the smilies directly."
msgstr ""
-#: ../../Zotlabs/Lib/NativeWiki.php:199
-msgid "Wiki files deleted successfully"
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:52
+msgid "Smileybutton Settings"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:323
-msgid "Apps"
+#: ../../extend/addon/hzaddons/rtof/rtof.php:51
+msgid "Post to Friendica"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:324
-msgid "Affinity Tool"
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:24
+msgid "Friendica Crosspost Connector Settings saved."
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:327
-msgid "Site Admin"
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36
+msgid "Friendica Crosspost Connector App"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:331
-msgid "Content Filter"
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:37
+msgid "Relay public postings to a connected Friendica account"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:334
-msgid "Remote Diagnostics"
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+msgid "Send public postings to Friendica by default"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:335
-msgid "Suggest Channels"
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53
+msgid "Friendica API Path"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:338
-msgid "Stream"
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57
+msgid "Friendica login name"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:349
-msgid "Mail"
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:61
+msgid "Friendica password"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:352
-msgid "Chat"
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:69
+msgid "Friendica Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:354
-msgid "Probe"
+#: ../../extend/addon/hzaddons/logrot/logrot.php:36
+msgid "Logfile archive directory"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:355
-msgid "Suggest"
+#: ../../extend/addon/hzaddons/logrot/logrot.php:36
+msgid "Directory to store rotated logs"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:356
-msgid "Random Channel"
+#: ../../extend/addon/hzaddons/logrot/logrot.php:37
+msgid "Logfile size in bytes before rotating"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:357
-msgid "Invite"
+#: ../../extend/addon/hzaddons/logrot/logrot.php:38
+msgid "Number of logfiles to retain"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:360
-msgid "Post"
+#: ../../extend/addon/hzaddons/wppost/wppost.php:46
+msgid "Post to WordPress"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:365
-msgid "Notifications"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:30
+msgid "Wordpress Settings saved."
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:366
-msgid "Order Apps"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43
+msgid "Wordpress Post App"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:367
-msgid "CardDAV"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:44
+msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:369
-msgid "Guest Access"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:69
+msgid "WordPress username"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:371
-msgid "OAuth Apps Manager"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:73
+msgid "WordPress password"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:372
-msgid "OAuth2 Apps Manager"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:77
+msgid "WordPress API URL"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:373
-msgid "PDL Editor"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:78
+msgid "Typically https://your-blog.tld/xmlrpc.php"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:376
-msgid "My Chatrooms"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:81
+msgid "WordPress blogid"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:377
-msgid "Channel Export"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:82
+msgid "For multi-user sites such as wordpress.com, otherwise leave blank"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:554
-msgid "Purchase"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+msgid "Post to WordPress by default"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:559
-msgid "Undelete"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+msgid "Forward comments (requires hubzilla_wp plugin)"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:569
-msgid "Add to app-tray"
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:106
+msgid "Wordpress Post"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:570
-msgid "Remove from app-tray"
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:22
+msgid ""
+"Allow magic authentication only to websites of your immediate connections"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:571
-msgid "Pin to navbar"
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33
+msgid "Authchoose App"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:572
-msgid "Unpin from navbar"
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:39
+msgid "Authchoose"
msgstr ""
-#: ../../Zotlabs/Lib/Techlevels.php:10
-msgid "0. Beginner/Basic"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19
+msgid "bitchslap"
msgstr ""
-#: ../../Zotlabs/Lib/Techlevels.php:11
-msgid "1. Novice - not skilled but willing to learn"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19
+msgid "bitchslapped"
msgstr ""
-#: ../../Zotlabs/Lib/Techlevels.php:12
-msgid "2. Intermediate - somewhat comfortable"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20
+msgid "shag"
msgstr ""
-#: ../../Zotlabs/Lib/Techlevels.php:13
-msgid "3. Advanced - very comfortable"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20
+msgid "shagged"
msgstr ""
-#: ../../Zotlabs/Lib/Techlevels.php:14
-msgid "4. Expert - I can write computer code"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21
+msgid "patent"
msgstr ""
-#: ../../Zotlabs/Lib/Techlevels.php:15
-msgid "5. Wizard - I probably know more than you do"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21
+msgid "patented"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:42
-#: ../../Zotlabs/Lib/NativeWikiPage.php:94
-msgid "(No Title)"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22
+msgid "hug"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:109
-msgid "Wiki page create failed."
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22
+msgid "hugged"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:122
-msgid "Wiki not found."
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23
+msgid "murder"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:133
-msgid "Destination name already exists"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23
+msgid "murdered"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:166
-#: ../../Zotlabs/Lib/NativeWikiPage.php:362
-msgid "Page not found"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24
+msgid "worship"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:197
-msgid "Error reading page content"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24
+msgid "worshipped"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:353
-#: ../../Zotlabs/Lib/NativeWikiPage.php:402
-#: ../../Zotlabs/Lib/NativeWikiPage.php:469
-#: ../../Zotlabs/Lib/NativeWikiPage.php:510
-msgid "Error reading wiki"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25
+msgid "kiss"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:390
-msgid "Page update failed."
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25
+msgid "kissed"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:424
-msgid "Nothing deleted"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26
+msgid "tempt"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:490
-msgid "Compare: object not found."
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26
+msgid "tempted"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:496
-msgid "Page updated"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27
+msgid "raise eyebrows at"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:499
-msgid "Untitled"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27
+msgid "raised their eyebrows at"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:505
-msgid "Wiki resource_id required for git commit"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28
+msgid "insult"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:130
-msgid "Privacy conflict. Discretion advised."
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28
+msgid "insulted"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:174 ../../Zotlabs/Storage/Browser.php:286
-msgid "Admin Delete"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29
+msgid "praise"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:319
-msgid "Reply on this comment"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29
+msgid "praised"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:319
-msgid "reply"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30
+msgid "be dubious of"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:319
-msgid "Reply to"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30
+msgid "was dubious of"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:339
-msgid "Delivery Report"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31
+msgid "eat"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:358
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Lib/ThreadItem.php:359
-#, php-format
-msgid "%d unseen"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31
+msgid "ate"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:412
-msgid "to"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32
+msgid "giggle and fawn at"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:414
-msgid "Wall-to-Wall"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32
+msgid "giggled and fawned at"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:415
-msgid "via Wall-To-Wall:"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33
+msgid "doubt"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:442
-msgid "Attend"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33
+msgid "doubted"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:460
-msgid "Go to previous comment"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34
+msgid "glare"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:473
-msgid "Add to Calendar"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34
+msgid "glared at"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:831
-msgid "Image"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35
+msgid "fuck"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:833
-msgid "Insert Link"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35
+msgid "fucked"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:834
-msgid "Video"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36
+msgid "bonk"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:844
-msgid "Your full name (required)"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36
+msgid "bonked"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:845
-msgid "Your email address (required)"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37
+msgid "declare undying love for"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:846
-msgid "Your website URL (optional)"
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37
+msgid "declared undying love for"
msgstr ""
-#: ../../Zotlabs/Lib/DB_Upgrade.php:67
-msgid "Source code of failed update: "
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:34
+msgid "New registration"
msgstr ""
-#: ../../Zotlabs/Lib/DB_Upgrade.php:88
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:42
#, php-format
-msgid "Update Error at %s"
+msgid "Message sent to %s. New account registration: %s"
msgstr ""
-#: ../../Zotlabs/Lib/DB_Upgrade.php:94
-#, php-format
-msgid "Update %s failed. See error logs."
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:40
+msgid "Pump.io Settings saved."
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:108
-msgid "Public"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53
+msgid "Pump.io Crosspost Connector App"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:109
-msgid "Anybody in the $Projectname network"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:54
+msgid "Relay public posts to pump.io"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:110
-#, php-format
-msgid "Any account on %s"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73
+msgid "Pump.io servername"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:111
-msgid "Any of my connections"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73
+msgid "Without \"http://\" or \"https://\""
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:112
-msgid "Only connections I specifically allow"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77
+msgid "Pump.io username"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:113
-msgid "Anybody authenticated (could include visitors from other networks)"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77
+msgid "Without the servername"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:114
-msgid "Any connections including those who haven't yet been approved"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:88
+msgid "You are not authenticated to pumpio"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:150
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:90
+msgid "(Re-)Authenticate your pump.io connection"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:151
-msgid ""
-"This is your default setting for who can view your default channel profile"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+msgid "Post to pump.io by default"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:152
-msgid "This is your default setting for who can view your connections"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+msgid "Should posts be public"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:153
-msgid ""
-"This is your default setting for who can view your file storage and photos"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+msgid "Mirror all public posts"
msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:154
-msgid "This is your default setting for the audience of your webpages"
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:112
+msgid "Pump.io Crosspost Connector"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:287
-msgid "Social Networking"
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:152
+msgid "You are now authenticated to pumpio."
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:288
-msgid "Social - Federation"
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:153
+msgid "return to the featured settings page"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:289
-msgid "Social - Mostly Public"
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:168
+msgid "Post to Pump.io"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:290
-msgid "Social - Restricted"
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24
+msgid "NSA Bait App"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:291
-msgid "Social - Private"
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:26
+msgid "Make yourself a political target"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:294
-msgid "Community Forum"
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:15
+msgid "Add some colour to tag clouds"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:295
-msgid "Forum - Mostly Public"
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26
+msgid "Rainbow Tag App"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:296
-msgid "Forum - Restricted"
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:34
+msgid "Rainbow Tag"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:297
-msgid "Forum - Private"
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:19
+msgid "Send test email"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:300
-msgid "Feed Republish"
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:66
+msgid "Mail sent."
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:301
-msgid "Feed - Mostly Public"
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:68
+msgid "Sending of mail failed."
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:302
-msgid "Feed - Restricted"
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:77
+msgid "Mail Test"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:305
-msgid "Special Purpose"
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:119
+msgid "Redmatrix File Storage Import"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:306
-msgid "Special - Celebrity/Soapbox"
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:120
+msgid "This will import all your Redmatrix cloud files to this channel."
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:307
-msgid "Special - Group Repository"
+#: ../../extend/addon/hzaddons/mdpost/mdpost.php:42
+msgid "Use markdown for editing posts"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:311
-msgid "Custom/Expert Mode"
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:22
+msgid "Fuzzloc Settings updated."
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:56
-msgid "Can view my channel stream and posts"
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34
+msgid "Fuzzy Location App"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:57
-msgid "Can send me their channel stream and posts"
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:35
+msgid ""
+"Blur your precise location if your channel uses browser location mapping"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:58
-msgid "Can view my default channel profile"
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:40
+msgid "Minimum offset in meters"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:59
-msgid "Can view my connections"
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:44
+msgid "Maximum offset in meters"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:60
-msgid "Can view my file storage and photos"
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:53
+msgid "Fuzzy Location"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:61
-msgid "Can upload/modify my file storage and photos"
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50
+msgid "Startpage App"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:62
-msgid "Can view my channel webpages"
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:51
+msgid "Set a preferred page to load on login from home page"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:63
-msgid "Can view my wiki pages"
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62
+msgid "Page to load after login"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:64
-msgid "Can create/edit my channel webpages"
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62
+msgid ""
+"Examples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (privacy "
+"collection), &quot;channel&quot; or &quot;notifications/system&quot; (leave "
+"blank for default network page (grid)."
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:65
-msgid "Can write to my wiki pages"
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:70
+msgid "Startpage"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:66
-msgid "Can post on my channel (wall) page"
+#: ../../view/theme/redbasic/php/config.php:16
+#: ../../view/theme/redbasic/php/config.php:19
+msgid "Focus (Hubzilla default)"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:67
-msgid "Can comment on or like my posts"
+#: ../../view/theme/redbasic/php/config.php:98
+msgid "Theme settings"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:68
-msgid "Can send me private mail messages"
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Narrow navbar"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:69
-msgid "Can like/dislike profiles and profile things"
+#: ../../view/theme/redbasic/php/config.php:100
+msgid "Navigation bar background color"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:70
-msgid "Can forward to all my channel connections via ! mentions in posts"
+#: ../../view/theme/redbasic/php/config.php:101
+msgid "Navigation bar icon color "
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:71
-msgid "Can chat with me"
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Navigation bar active icon color "
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:72
-msgid "Can source my public posts in derived channels"
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Link color"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:73
-msgid "Can administer my channel"
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Set font-color for banner"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:295
-msgid "parent"
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Set the background color"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:134
-msgid "Principal"
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Set the background image"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:137
-msgid "Addressbook"
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Set the background color of items"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:143
-msgid "Schedule Inbox"
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Set the background color of comments"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:146
-msgid "Schedule Outbox"
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Set font-size for the entire application"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:279
-msgid "Total"
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Examples: 1rem, 100%, 16px"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:281
-msgid "Shared"
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Set font-color for posts and comments"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:283
-msgid "Add Files"
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Set radius of corners"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:367
-#, php-format
-msgid "You are using %1$s of your available file storage."
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Example: 4px"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:372
-#, php-format
-msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Set shadow depth of photos"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:383
-msgid "WARNING:"
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Set maximum width of content region in pixel"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:395
-msgid "Create new folder"
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Leave empty for default width"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:397
-msgid "Upload file"
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "Set size of conversation author photo"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:410
-msgid "Drop files here to immediately upload"
+#: ../../view/theme/redbasic/php/config.php:115
+msgid "Set size of followup author photos"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:116
+msgid "Show advanced settings"
msgstr ""
-#: ../../boot.php:1677
+#: ../../boot.php:1684
msgid "Create an account to access services and applications"
msgstr ""
-#: ../../boot.php:1701
+#: ../../boot.php:1708
msgid "Login/Email"
msgstr ""
-#: ../../boot.php:1702
+#: ../../boot.php:1709
msgid "Password"
msgstr ""
-#: ../../boot.php:1703
+#: ../../boot.php:1710
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1706
+#: ../../boot.php:1713
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:2575
+#: ../../boot.php:2582
#, php-format
msgid "[$Projectname] Website SSL error for %s"
msgstr ""
-#: ../../boot.php:2580
+#: ../../boot.php:2587
msgid "Website SSL certificate is not valid. Please correct."
msgstr ""
-#: ../../boot.php:2696
+#: ../../boot.php:2703
#, php-format
msgid "[$Projectname] Cron tasks not running on %s"
msgstr ""
-#: ../../boot.php:2701
+#: ../../boot.php:2708
msgid "Cron/Scheduled tasks not running."
msgstr ""
diff --git a/util/hstrings.php b/util/hstrings.php
index 1fe63b7f7..1fe63b7f7 100644..100755
--- a/util/hstrings.php
+++ b/util/hstrings.php
diff --git a/util/hubzilla_er/Makefile b/util/hubzilla_er/Makefile
index f36f01007..f36f01007 100644..100755
--- a/util/hubzilla_er/Makefile
+++ b/util/hubzilla_er/Makefile
diff --git a/util/messages.po b/util/messages.po
index dd847e9e0..dd847e9e0 100644..100755
--- a/util/messages.po
+++ b/util/messages.po
diff --git a/util/nconfig.php b/util/nconfig.php
index a7cf350d0..a7cf350d0 100644..100755
--- a/util/nconfig.php
+++ b/util/nconfig.php
diff --git a/util/php2po.php b/util/php2po.php
index ca33f8b01..ca33f8b01 100644..100755
--- a/util/php2po.php
+++ b/util/php2po.php
diff --git a/util/po2php.php b/util/po2php.php
index 535e5567c..535e5567c 100644..100755
--- a/util/po2php.php
+++ b/util/po2php.php
diff --git a/util/shredder/jansson-2.6.tar.gz b/util/shredder/jansson-2.6.tar.gz
index 51f1598be..51f1598be 100644..100755
--- a/util/shredder/jansson-2.6.tar.gz
+++ b/util/shredder/jansson-2.6.tar.gz
Binary files differ
diff --git a/util/shredder/jshon.tar.gz b/util/shredder/jshon.tar.gz
index ea9880ca1..ea9880ca1 100644..100755
--- a/util/shredder/jshon.tar.gz
+++ b/util/shredder/jshon.tar.gz
Binary files differ
diff --git a/util/shredder/readme b/util/shredder/readme
index 44ed6f45c..44ed6f45c 100644..100755
--- a/util/shredder/readme
+++ b/util/shredder/readme
diff --git a/util/storageconv b/util/storageconv
index 992c906b8..52bb77fbb 100755
--- a/util/storageconv
+++ b/util/storageconv
@@ -18,6 +18,8 @@ require_once('include/cli_startup.php');
cli_startup();
+use Zotlabs\Lib\Hashpath;
+
if($argc == 1) {
usage();
killme();
@@ -25,15 +27,20 @@ if($argc == 1) {
if($argc == 2) {
- $storage = (intval(get_config('system','filesystem_storage_thumbnails', 0)) > 0 ? 1 : 0);
+ $storage = (intval(get_config('system','photo_storage_type', 1)) > 0 ? 1 : 0);
echo 'Current storage set to: ' . ($storage ? 'filesystem' : 'SQL database') . PHP_EOL;
switch($argv[1]) {
case 'stats':
$x = q("SELECT COUNT(resource_id) AS qty FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0");
echo 'Local images: ' . $x[0]['qty'] . PHP_EOL;
- $x = q("SELECT COUNT(id) AS qty FROM photo WHERE resource_id IN (SELECT DISTINCT resource_id FROM photo WHERE photo_usage = 0 and os_storage = 1) AND imgscale > 0");
- echo 'Thumbnails total: ' . $x[0]['qty'] . PHP_EOL;
- $x = q("SELECT COUNT(id) AS qty FROM photo WHERE resource_id IN (SELECT DISTINCT resource_id FROM photo WHERE photo_usage = 0 and os_storage = 1) AND os_storage != %d AND imgscale > 0",
+ $x = q("SELECT COUNT(resource_id) AS qty FROM photo WHERE photo_usage = 0 AND imgscale > 0");
+ echo 'Image thumbnails: ' . $x[0]['qty'] . PHP_EOL;
+ $xx = intval($x[0]['qty']);
+ $x = q("SELECT COUNT(resource_id) AS qty FROM photo WHERE photo_usage IN (1, 2)");
+ echo 'Imported profiles thumbnails: ' . $x[0]['qty'] . PHP_EOL;
+ $xx += intval($x[0]['qty']);
+ echo 'Thumbnails total: ' . $xx . PHP_EOL;
+ $x = q("SELECT COUNT(id) AS qty FROM photo WHERE os_storage != %d AND imgscale > 0",
$storage
);
echo 'Thumbnails to convert: ' . $x[0]['qty'] . PHP_EOL;
@@ -41,87 +48,108 @@ if($argc == 2) {
case 'fs':
if($storage == 0) {
- echo 'Please set system.filesystem_storage_thumbnails to 1 before move thumbnails to filesystem storage' . PHP_EOL;
+ echo 'Please set system.photo_storage_type to 1 before move thumbnails to filesystem storage' . PHP_EOL;
break;
}
- $x = q("SELECT resource_id, content FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0");
+ $cur_id = 0;
+ $i = 0;
- if($x) {
- foreach($x as $xx) {
-
- $n = q("SELECT id, imgscale, content FROM photo WHERE resource_id = '%s' AND os_storage != %d AND imgscale > 0",
- dbesc($xx['resource_id']),
- $storage
- );
+ $r = dbq("SELECT COUNT(id) AS max_num FROM photo WHERE os_storage = 0 AND imgscale > 0");
+ $max_num = $r[0]['max_num'];
- $img_path = dbunescbin($xx['content']);
-
- foreach($n as $nn) {
-
- echo '.';
-
- $filename = $img_path . '-' . $nn['imgscale'];
+ while ($i < $max_num) {
+
+ $x = q("SELECT id, uid, resource_id, content, imgscale FROM photo WHERE id > %d AND os_storage = 0 AND imgscale > 0 ORDER BY id LIMIT 10",
+ intval($cur_id)
+ );
- if(! file_put_contents($filename, dbunescbin($nn['content']))) {
- echo 'Failed to save file ' . $filename . PHP_EOL;
+ if($x) {
+ foreach($x as $xx) {
+
+ if ($xx['uid'] == 0 || in_array($xx['imgscale'], [4, 5, 6]))
+ $filename = Hashpath::path($xx['resource_id'], 'store/[data]/[xchan]', 2, 1) . '-' . $xx['imgscale'];
+ else {
+ $z = q("SELECT channel_address FROM channel WHERE channel_id = %d",
+ intval($xx['uid'])
+ );
+ $filename = 'store/' . $z[0]['channel_address'] . '/' . $xx['resource_id'] . '-' . $xx['imgscale'];
+ }
+
+ if(! file_put_contents($filename, dbunescbin($xx['content']))) {
+ echo PHP_EOL . 'Failed to save file ' . $filename . PHP_EOL;
continue;
}
-
+
$z = q("UPDATE photo SET content = '%s', os_storage = 1 WHERE id = %d",
dbescbin($filename),
- intval($nn['id'])
+ intval($xx['id'])
);
if(! $z) {
@unlink($filename);
- echo 'Failed to update metadata for saved file ' . $filename . PHP_EOL;
+ echo PHP_EOL . 'Failed to update metadata for saved file ' . $filename . PHP_EOL;
}
+ $cur_id = $xx['id'];
+
+ echo '.';
+ $i++;
}
}
+ echo ($i % 100 == 0 ? $i : '');
}
+ echo $i . PHP_EOL . 'Total thumbnails processed: ' . $i;
break;
case 'db':
if($storage == 1) {
- echo 'Please set system.filesystem_storage_thumbnails to 0 before move thumbnails to SQL database storage' . PHP_EOL;
+ echo 'Please set system.photo_storage_type to 0 before move thumbnails to SQL database storage' . PHP_EOL;
break;
}
- $x = q("SELECT resource_id FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0");
-
- if($x) {
- foreach($x as $xx) {
+ $cur_id = 0;
+ $i = 0;
- $n = q("SELECT id, content FROM photo WHERE resource_id = '%s' AND os_storage != %d AND imgscale > 0",
- dbesc($xx['resource_id']),
- $storage
- );
-
- foreach($n as $nn) {
-
- echo '.';
+ $r = dbq("SELECT COUNT(id) AS max_num FROM photo WHERE os_storage = 1 AND imgscale > 0");
+ $max_num = $r[0]['max_num'];
+
+ while ($i < $max_num) {
+
+ $x = q("SELECT id, uid, resource_id, content, imgscale FROM photo WHERE id > %d AND os_storage = 1 AND imgscale > 0 ORDER BY id LIMIT 10",
+ intval($cur_id)
+ );
+
+ if($x) {
+ foreach($x as $xx) {
- $filename = dbunescbin($nn['content']);
+ $filename = dbunescbin($xx['content']);
+
$content = file_get_contents($filename);
if($content) {
$z = q("UPDATE photo SET content = '%s', os_storage = 0 WHERE id = %d",
dbescbin($content),
- intval($nn['id'])
+ intval($xx['id'])
);
if(! $z) {
- echo 'Failed to update stored file metadata ' . $filename . PHP_EOL;
+ echo PHP_EOL . 'Failed to update stored file metadata ' . $filename . PHP_EOL;
continue;
}
@unlink($filename);
}
else
- echo 'Can not read file contents ' . $filename . PHP_EOL;
+ echo PHP_EOL . 'Can not read file contents ' . $filename . PHP_EOL;
+
+ $cur_id = $xx['id'];
+
+ echo '.';
+ $i++;
}
}
+ echo ($i % 100 == 0 ? $i : '');
}
+ echo $i . PHP_EOL . 'Total files processed: ' . $i;
break;
default:
@@ -129,6 +157,5 @@ if($argc == 2) {
return;
}
-
echo PHP_EOL;
}
diff --git a/util/storageconv.sh b/util/storageconv.sh
new file mode 100755
index 000000000..90abdf0ef
--- /dev/null
+++ b/util/storageconv.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+WWWUSER=$(ps aux | egrep '([a|A]pache|[h|H]ttpd|lighttpd|[n|N]ginx|h2o)' | awk '{ print $1}' | uniq | grep -v `whoami` | tail -1)
+
+sudo -u $WWWUSER php util/storageconv $*
+
diff --git a/util/strings.php b/util/strings.php
index 1fe63b7f7..1fe63b7f7 100644..100755
--- a/util/strings.php
+++ b/util/strings.php
diff --git a/util/tpldebug.php b/util/tpldebug.php
index 80da410dc..80da410dc 100644..100755
--- a/util/tpldebug.php
+++ b/util/tpldebug.php
diff --git a/util/typo.php b/util/typo.php
index bed5fa5f6..bed5fa5f6 100644..100755
--- a/util/typo.php
+++ b/util/typo.php
diff --git a/util/typohelper.php b/util/typohelper.php
index 52c144ab7..52c144ab7 100644..100755
--- a/util/typohelper.php
+++ b/util/typohelper.php
diff --git a/util/z6convert.php b/util/z6convert.php
index 5cc306753..5cc306753 100644..100755
--- a/util/z6convert.php
+++ b/util/z6convert.php
diff --git a/util/zotsh/README.txt b/util/zotsh/README.txt
index 58e8d4bd0..58e8d4bd0 100644..100755
--- a/util/zotsh/README.txt
+++ b/util/zotsh/README.txt
diff --git a/util/zotsh/easywebdav/LICENSE b/util/zotsh/easywebdav/LICENSE
index 4f24108f8..4f24108f8 100644..100755
--- a/util/zotsh/easywebdav/LICENSE
+++ b/util/zotsh/easywebdav/LICENSE
diff --git a/util/zotsh/easywebdav/__init__.py b/util/zotsh/easywebdav/__init__.py
index 3bc2cad2a..3bc2cad2a 100644..100755
--- a/util/zotsh/easywebdav/__init__.py
+++ b/util/zotsh/easywebdav/__init__.py
diff --git a/util/zotsh/easywebdav/__init__.pyc b/util/zotsh/easywebdav/__init__.pyc
index 61b28285f..61b28285f 100644..100755
--- a/util/zotsh/easywebdav/__init__.pyc
+++ b/util/zotsh/easywebdav/__init__.pyc
Binary files differ
diff --git a/util/zotsh/easywebdav/__version__.py b/util/zotsh/easywebdav/__version__.py
index d293e3a30..d293e3a30 100644..100755
--- a/util/zotsh/easywebdav/__version__.py
+++ b/util/zotsh/easywebdav/__version__.py
diff --git a/util/zotsh/easywebdav/__version__.pyc b/util/zotsh/easywebdav/__version__.pyc
index ceb251aeb..ceb251aeb 100644..100755
--- a/util/zotsh/easywebdav/__version__.pyc
+++ b/util/zotsh/easywebdav/__version__.pyc
Binary files differ
diff --git a/util/zotsh/easywebdav/client.py b/util/zotsh/easywebdav/client.py
index 3b420b143..3b420b143 100644..100755
--- a/util/zotsh/easywebdav/client.py
+++ b/util/zotsh/easywebdav/client.py
diff --git a/util/zotsh/easywebdav/client.pyc b/util/zotsh/easywebdav/client.pyc
index 86dd3aece..86dd3aece 100644..100755
--- a/util/zotsh/easywebdav/client.pyc
+++ b/util/zotsh/easywebdav/client.pyc
Binary files differ
diff --git a/vendor/commerceguys/intl/scripts/fetch_data.sh b/vendor/commerceguys/intl/scripts/fetch_data.sh
index 804ecc1a1..804ecc1a1 100755..100644
--- a/vendor/commerceguys/intl/scripts/fetch_data.sh
+++ b/vendor/commerceguys/intl/scripts/fetch_data.sh
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 62282b235..26b7fec8e 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -277,6 +277,7 @@ return array(
'ID3Parser\\ID3Parser' => $vendorDir . '/lukasreschke/id3parser/src/ID3Parser.php',
'ID3Parser\\getID3\\Tags\\getid3_id3v1' => $vendorDir . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php',
'ID3Parser\\getID3\\Tags\\getid3_id3v2' => $vendorDir . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php',
+ 'ID3Parser\\getID3\\getID3' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getID3.php',
'ID3Parser\\getID3\\getid3_exception' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_exception.php',
'ID3Parser\\getID3\\getid3_handler' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_handler.php',
'ID3Parser\\getID3\\getid3_lib' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_lib.php',
@@ -1398,19 +1399,6 @@ return array(
'Zotlabs\\Storage\\File' => $baseDir . '/Zotlabs/Storage/File.php',
'Zotlabs\\Storage\\GitRepo' => $baseDir . '/Zotlabs/Storage/GitRepo.php',
'Zotlabs\\Storage\\ZotOauth2Pdo' => $baseDir . '/Zotlabs/Storage/ZotOauth2Pdo.php',
- 'Zotlabs\\Tests\\Unit\\Access\\AccessListTest' => $baseDir . '/tests/unit/Access/AccessListTest.php',
- 'Zotlabs\\Tests\\Unit\\Access\\PermissionLimitsTest' => $baseDir . '/tests/unit/Access/PermissionLimitsTest.php',
- 'Zotlabs\\Tests\\Unit\\Access\\PermissionRolesTest' => $baseDir . '/tests/unit/Access/PermissionRolesTest.php',
- 'Zotlabs\\Tests\\Unit\\Access\\PermissionsTest' => $baseDir . '/tests/unit/Access/PermissionsTest.php',
- 'Zotlabs\\Tests\\Unit\\Lib\\PermissionDescriptionTest' => $baseDir . '/tests/unit/Lib/PermissionDescriptionTest.php',
- 'Zotlabs\\Tests\\Unit\\Photo\\PhotoGdTest' => $baseDir . '/tests/unit/Photo/PhotoGdTest.php',
- 'Zotlabs\\Tests\\Unit\\UnitTestCase' => $baseDir . '/tests/unit/UnitTestCase.php',
- 'Zotlabs\\Tests\\Unit\\Web\\HttpSigTest' => $baseDir . '/tests/unit/Web/HttpSigTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\FeedutilsTest' => $baseDir . '/tests/unit/includes/FeedutilsTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\LanguageTest' => $baseDir . '/tests/unit/includes/LanguageTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\MarkdownTest' => $baseDir . '/tests/unit/includes/MarkdownTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\PhotodriverTest' => $baseDir . '/tests/unit/includes/PhotodriverTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\TextTest' => $baseDir . '/tests/unit/includes/TextTest.php',
'Zotlabs\\Text\\Tagadelic' => $baseDir . '/Zotlabs/Text/Tagadelic.php',
'Zotlabs\\Thumbs\\Epubthumb' => $baseDir . '/Zotlabs/Thumbs/Epubthumb.php',
'Zotlabs\\Thumbs\\Mp3audio' => $baseDir . '/Zotlabs/Thumbs/Mp3audio.php',
@@ -1657,6 +1645,7 @@ return array(
'Zotlabs\\Update\\_1237' => $baseDir . '/Zotlabs/Update/_1237.php',
'Zotlabs\\Update\\_1238' => $baseDir . '/Zotlabs/Update/_1238.php',
'Zotlabs\\Update\\_1239' => $baseDir . '/Zotlabs/Update/_1239.php',
+ 'Zotlabs\\Update\\_1240' => $baseDir . '/Zotlabs/Update/_1240.php',
'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php',
'Zotlabs\\Web\\HTTPSig' => $baseDir . '/Zotlabs/Web/HTTPSig.php',
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index ed5a7935c..59c2faa28 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -6,7 +6,6 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
- 'Zotlabs\\Tests\\Unit\\' => array($baseDir . '/tests/unit'),
'Zotlabs\\' => array($baseDir . '/Zotlabs'),
'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
'Sabre\\Xml\\' => array($vendorDir . '/sabre/xml/lib'),
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index d88fe41d9..6988dc0b4 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -22,7 +22,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
public static $prefixLengthsPsr4 = array (
'Z' =>
array (
- 'Zotlabs\\Tests\\Unit\\' => 19,
'Zotlabs\\' => 8,
),
'S' =>
@@ -74,10 +73,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
);
public static $prefixDirsPsr4 = array (
- 'Zotlabs\\Tests\\Unit\\' =>
- array (
- 0 => __DIR__ . '/../..' . '/tests/unit',
- ),
'Zotlabs\\' =>
array (
0 => __DIR__ . '/../..' . '/Zotlabs',
@@ -463,6 +458,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'ID3Parser\\ID3Parser' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/ID3Parser.php',
'ID3Parser\\getID3\\Tags\\getid3_id3v1' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php',
'ID3Parser\\getID3\\Tags\\getid3_id3v2' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php',
+ 'ID3Parser\\getID3\\getID3' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getID3.php',
'ID3Parser\\getID3\\getid3_exception' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_exception.php',
'ID3Parser\\getID3\\getid3_handler' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_handler.php',
'ID3Parser\\getID3\\getid3_lib' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_lib.php',
@@ -1584,19 +1580,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Storage\\File' => __DIR__ . '/../..' . '/Zotlabs/Storage/File.php',
'Zotlabs\\Storage\\GitRepo' => __DIR__ . '/../..' . '/Zotlabs/Storage/GitRepo.php',
'Zotlabs\\Storage\\ZotOauth2Pdo' => __DIR__ . '/../..' . '/Zotlabs/Storage/ZotOauth2Pdo.php',
- 'Zotlabs\\Tests\\Unit\\Access\\AccessListTest' => __DIR__ . '/../..' . '/tests/unit/Access/AccessListTest.php',
- 'Zotlabs\\Tests\\Unit\\Access\\PermissionLimitsTest' => __DIR__ . '/../..' . '/tests/unit/Access/PermissionLimitsTest.php',
- 'Zotlabs\\Tests\\Unit\\Access\\PermissionRolesTest' => __DIR__ . '/../..' . '/tests/unit/Access/PermissionRolesTest.php',
- 'Zotlabs\\Tests\\Unit\\Access\\PermissionsTest' => __DIR__ . '/../..' . '/tests/unit/Access/PermissionsTest.php',
- 'Zotlabs\\Tests\\Unit\\Lib\\PermissionDescriptionTest' => __DIR__ . '/../..' . '/tests/unit/Lib/PermissionDescriptionTest.php',
- 'Zotlabs\\Tests\\Unit\\Photo\\PhotoGdTest' => __DIR__ . '/../..' . '/tests/unit/Photo/PhotoGdTest.php',
- 'Zotlabs\\Tests\\Unit\\UnitTestCase' => __DIR__ . '/../..' . '/tests/unit/UnitTestCase.php',
- 'Zotlabs\\Tests\\Unit\\Web\\HttpSigTest' => __DIR__ . '/../..' . '/tests/unit/Web/HttpSigTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\FeedutilsTest' => __DIR__ . '/../..' . '/tests/unit/includes/FeedutilsTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\LanguageTest' => __DIR__ . '/../..' . '/tests/unit/includes/LanguageTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\MarkdownTest' => __DIR__ . '/../..' . '/tests/unit/includes/MarkdownTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\PhotodriverTest' => __DIR__ . '/../..' . '/tests/unit/includes/PhotodriverTest.php',
- 'Zotlabs\\Tests\\Unit\\includes\\TextTest' => __DIR__ . '/../..' . '/tests/unit/includes/TextTest.php',
'Zotlabs\\Text\\Tagadelic' => __DIR__ . '/../..' . '/Zotlabs/Text/Tagadelic.php',
'Zotlabs\\Thumbs\\Epubthumb' => __DIR__ . '/../..' . '/Zotlabs/Thumbs/Epubthumb.php',
'Zotlabs\\Thumbs\\Mp3audio' => __DIR__ . '/../..' . '/Zotlabs/Thumbs/Mp3audio.php',
@@ -1843,6 +1826,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Update\\_1237' => __DIR__ . '/../..' . '/Zotlabs/Update/_1237.php',
'Zotlabs\\Update\\_1238' => __DIR__ . '/../..' . '/Zotlabs/Update/_1238.php',
'Zotlabs\\Update\\_1239' => __DIR__ . '/../..' . '/Zotlabs/Update/_1239.php',
+ 'Zotlabs\\Update\\_1240' => __DIR__ . '/../..' . '/Zotlabs/Update/_1240.php',
'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php',
'Zotlabs\\Web\\HTTPSig' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPSig.php',
diff --git a/vendor/league/html-to-markdown/bin/html-to-markdown b/vendor/league/html-to-markdown/bin/html-to-markdown
index 2815a7cef..2815a7cef 100755..100644
--- a/vendor/league/html-to-markdown/bin/html-to-markdown
+++ b/vendor/league/html-to-markdown/bin/html-to-markdown
diff --git a/vendor/lukasreschke/id3parser/src/getID3/getid3.php b/vendor/lukasreschke/id3parser/src/getID3/getID3.php
index 5e36f9fec..5e36f9fec 100644
--- a/vendor/lukasreschke/id3parser/src/getID3/getid3.php
+++ b/vendor/lukasreschke/id3parser/src/getID3/getID3.php
diff --git a/vendor/sabre/dav/bin/build.php b/vendor/sabre/dav/bin/build.php
index 54174a777..54174a777 100755..100644
--- a/vendor/sabre/dav/bin/build.php
+++ b/vendor/sabre/dav/bin/build.php
diff --git a/vendor/sabre/dav/bin/googlecode_upload.py b/vendor/sabre/dav/bin/googlecode_upload.py
index caafd5ded..caafd5ded 100755..100644
--- a/vendor/sabre/dav/bin/googlecode_upload.py
+++ b/vendor/sabre/dav/bin/googlecode_upload.py
diff --git a/vendor/sabre/dav/bin/migrateto20.php b/vendor/sabre/dav/bin/migrateto20.php
index c7a8d9e35..c7a8d9e35 100755..100644
--- a/vendor/sabre/dav/bin/migrateto20.php
+++ b/vendor/sabre/dav/bin/migrateto20.php
diff --git a/vendor/sabre/dav/bin/migrateto21.php b/vendor/sabre/dav/bin/migrateto21.php
index 909643583..909643583 100755..100644
--- a/vendor/sabre/dav/bin/migrateto21.php
+++ b/vendor/sabre/dav/bin/migrateto21.php
diff --git a/vendor/sabre/dav/bin/migrateto30.php b/vendor/sabre/dav/bin/migrateto30.php
index 25e544c2a..25e544c2a 100755..100644
--- a/vendor/sabre/dav/bin/migrateto30.php
+++ b/vendor/sabre/dav/bin/migrateto30.php
diff --git a/vendor/sabre/dav/bin/migrateto32.php b/vendor/sabre/dav/bin/migrateto32.php
index 57fd35507..57fd35507 100755..100644
--- a/vendor/sabre/dav/bin/migrateto32.php
+++ b/vendor/sabre/dav/bin/migrateto32.php
diff --git a/vendor/sabre/dav/bin/naturalselection b/vendor/sabre/dav/bin/naturalselection
index 7e20439c1..7e20439c1 100755..100644
--- a/vendor/sabre/dav/bin/naturalselection
+++ b/vendor/sabre/dav/bin/naturalselection
diff --git a/vendor/sabre/dav/bin/sabredav b/vendor/sabre/dav/bin/sabredav
index 032371ba8..032371ba8 100755..100644
--- a/vendor/sabre/dav/bin/sabredav
+++ b/vendor/sabre/dav/bin/sabredav
diff --git a/vendor/sabre/dav/bin/sabredav.php b/vendor/sabre/dav/bin/sabredav.php
index 28341b587..28341b587 100755..100644
--- a/vendor/sabre/dav/bin/sabredav.php
+++ b/vendor/sabre/dav/bin/sabredav.php
diff --git a/vendor/sabre/vobject/bin/bench.php b/vendor/sabre/vobject/bin/bench.php
index 0a2736fa6..0a2736fa6 100755..100644
--- a/vendor/sabre/vobject/bin/bench.php
+++ b/vendor/sabre/vobject/bin/bench.php
diff --git a/vendor/sabre/vobject/bin/fetch_windows_zones.php b/vendor/sabre/vobject/bin/fetch_windows_zones.php
index 9c4e51abd..9c4e51abd 100755..100644
--- a/vendor/sabre/vobject/bin/fetch_windows_zones.php
+++ b/vendor/sabre/vobject/bin/fetch_windows_zones.php
diff --git a/vendor/sabre/vobject/bin/generate_vcards b/vendor/sabre/vobject/bin/generate_vcards
index 4663c3c16..4663c3c16 100755..100644
--- a/vendor/sabre/vobject/bin/generate_vcards
+++ b/vendor/sabre/vobject/bin/generate_vcards
diff --git a/vendor/sabre/vobject/bin/generateicalendardata.php b/vendor/sabre/vobject/bin/generateicalendardata.php
index 62b6107c5..62b6107c5 100755..100644
--- a/vendor/sabre/vobject/bin/generateicalendardata.php
+++ b/vendor/sabre/vobject/bin/generateicalendardata.php
diff --git a/vendor/sabre/vobject/bin/mergeduplicates.php b/vendor/sabre/vobject/bin/mergeduplicates.php
index e6cde73dd..e6cde73dd 100755..100644
--- a/vendor/sabre/vobject/bin/mergeduplicates.php
+++ b/vendor/sabre/vobject/bin/mergeduplicates.php
diff --git a/vendor/sabre/vobject/bin/vobject b/vendor/sabre/vobject/bin/vobject
index 2aca7e729..2aca7e729 100755..100644
--- a/vendor/sabre/vobject/bin/vobject
+++ b/vendor/sabre/vobject/bin/vobject
diff --git a/vendor/simplepie/simplepie/.travis.yml b/vendor/simplepie/simplepie/.travis.yml
index e44352dbb..e44352dbb 100755..100644
--- a/vendor/simplepie/simplepie/.travis.yml
+++ b/vendor/simplepie/simplepie/.travis.yml
diff --git a/vendor/simplepie/simplepie/library/SimplePie.php b/vendor/simplepie/simplepie/library/SimplePie.php
index a6a5a9e13..a6a5a9e13 100755..100644
--- a/vendor/simplepie/simplepie/library/SimplePie.php
+++ b/vendor/simplepie/simplepie/library/SimplePie.php
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php
index 0b40d87c8..0b40d87c8 100755..100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Registry.php b/vendor/simplepie/simplepie/library/SimplePie/Registry.php
index bf3baf179..bf3baf179 100755..100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Registry.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Registry.php
diff --git a/vendor/twbs/bootstrap/build/change-version.js b/vendor/twbs/bootstrap/build/change-version.js
index e2de874d7..e2de874d7 100755..100644
--- a/vendor/twbs/bootstrap/build/change-version.js
+++ b/vendor/twbs/bootstrap/build/change-version.js
diff --git a/vendor/twbs/bootstrap/build/ship.sh b/vendor/twbs/bootstrap/build/ship.sh
index f1c5e38e3..f1c5e38e3 100755..100644
--- a/vendor/twbs/bootstrap/build/ship.sh
+++ b/vendor/twbs/bootstrap/build/ship.sh
diff --git a/view/css/conversation.css b/view/css/conversation.css
index 77e56e200..06da8528c 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -18,7 +18,8 @@
#jot-title-wrap,
#jot-pagetitle-wrap,
-#jot-category-wrap {
+#jot-category-wrap,
+#jot-customjotheaders-wrap {
border-bottom: 1px solid rgba(0, 0, 0, .2);
}
@@ -28,7 +29,8 @@
}
#jot-title-wrap input,
-#jot-pagetitle-wrap input {
+#jot-pagetitle-wrap input,
+#jot-customjotheaders-wrap {
padding: 0.5rem;
}
diff --git a/view/js/main.js b/view/js/main.js
index 3e3fd057c..cd95a8a0b 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -1152,7 +1152,10 @@ function dolike(ident, verb) {
if(typeof conv_mode == typeof undefined)
conv_mode = '';
- $.get('like/' + ident.toString() + '?verb=' + verb + '&conv_mode=' + conv_mode, function (data) {
+ if(typeof page_mode == typeof undefined)
+ page_mode = '';
+
+ $.get('like/' + ident.toString() + '?verb=' + verb + '&conv_mode=' + conv_mode + '&page_mode=' + page_mode, function (data) {
if(data.success) {
// this is a bit tricky since the top level thread wrapper wraps the whole thread
if($('#thread-wrapper-' + data.orig_id).hasClass('toplevel_item')) {
diff --git a/view/js/mod_cloud.js b/view/js/mod_cloud.js
index 8fb66c5aa..5ca1f52a9 100644
--- a/view/js/mod_cloud.js
+++ b/view/js/mod_cloud.js
@@ -68,7 +68,7 @@ $(document).ready(function () {
close_and_deactivate_all_panels();
$('body').css('cursor', 'wait');
- $.jGrowl('Please stand by while your download is being prepared...', { sticky: false, theme: 'info', life: 10000 });
+ $.jGrowl(aStr.download_info, { sticky: false, theme: 'info', life: 10000 });
let data = [
{name: 'attach_path', value: window.location.pathname},
@@ -296,7 +296,7 @@ $(document).ready(function () {
close_and_deactivate_all_panels();
$('body').css('cursor', 'wait');
- $.jGrowl('Please stand by while your download is being prepared...', { sticky: false, theme: 'info', life: 10000 });
+ $.jGrowl(aStr.download_info, { sticky: false, theme: 'info', life: 10000 });
post_data.push(
{name: 'attach_path', value: window.location.pathname},
diff --git a/view/js/sse_worker.js b/view/js/sse_worker.js
index 78e4aa51b..78e4aa51b 100755..100644
--- a/view/js/sse_worker.js
+++ b/view/js/sse_worker.js
diff --git a/view/pl/cert_bad_eml.tpl b/view/pl/cert_bad_eml.tpl
new file mode 100644
index 000000000..cd1a62251
--- /dev/null
+++ b/view/pl/cert_bad_eml.tpl
@@ -0,0 +1,19 @@
+Komunikat serwera WWW pod adresem {{$sitename}};
+
+Rutynowa kontrola wskazuje, że certyfikat SSL dla tej witryny jest
+nieważny. Twój serwis internetowy nie może w pełni uczestniczyć w Hubzilli
+dopóki ten problem nie zostanie rozwiązany. Sprawdź swój certyfikat i swojego
+dostawcę certyfikatu lub usługodawcę, aby upewnić się, że jest on "akceptowany
+przez przeglądarkę†i prawidłowo zainstalowany. Certyfikaty z podpisem własnym
+NIE SÄ„ OBSÅUGIWANE i NIE SÄ„ DOZWOLONE w Hubzilli.
+
+Sprawdzenie odbywa się poprzez pobranie adresu URL z Twojej witryny z włączonym
+ścisłym sprawdzaniem SSL, a jeśli to się nie powiedzie, ponowne sprawdzenie z SSL
+z kontrolą wyłączoną. Możliwe, że może to spowodować przejściowy komunikat błędu,
+lecz jeśli ostatnio wprowadzono zmiany w konfiguracji lub jeśli otrzymujesz tę
+wiadomość więcej niż raz, sprawdź swój certyfikat.
+
+Komunikat o błędzie to '{{$error}}'.
+
+Przepraszam za utrudnienia,
+ Twój serwer WWW na {{$siteurl}} \ No newline at end of file
diff --git a/view/pl/cron_bad_eml.tpl b/view/pl/cron_bad_eml.tpl
new file mode 100644
index 000000000..809499971
--- /dev/null
+++ b/view/pl/cron_bad_eml.tpl
@@ -0,0 +1,16 @@
+Komunikat serwera WWW pod adresem {{$sitename}};
+
+Rutynowa kontrola wskazuje, że zaplanowane zadania konserwacyjne na tym
+serwisie internetowym nie działają. Przejrzyj swoje zadania "cron" lub plik
+równoważnego mechanizmu w systemie operacyjnym i upewnij się, że mechanizm
+ten jest uruchomiony. Proszę zapoznać się z instrukcjami w pliku INSTALLm jeśli
+widzisz tą wiadomość po raz pierwszy. Jeśli te zadania konserwacyjne działały
+do tej pory normalnie, sprawdź, czy coś mogło się nie udać, ponieważ nie obecnie
+nie działają. Kontrola ta przeprowadzana jest mniej więcej co trzy dni.
+
+Komunikat błędu brzmi: '{{$error}}'.
+
+Ostatnia pozytywna kontrola odbyła się '{{$lastdate}}'.
+
+Przepraszam za utrudnienia,
+ Twój serwer WWW na {{$siteurl}} \ No newline at end of file
diff --git a/view/pl/hmessages.po b/view/pl/hmessages.po
new file mode 100644
index 000000000..5ef34eb5e
--- /dev/null
+++ b/view/pl/hmessages.po
@@ -0,0 +1,16452 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-01-21 12:07+0100\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Andrzej Budziński <astabski@gmail.com>\n"
+"Language-Team: \n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2));\n"
+"X-Generator: Poedit 2.3\n"
+
+#: ../../Zotlabs/Access/Permissions.php:56
+msgid "Can view my channel stream and posts"
+msgstr "Może wyświetlać strumień i posty z mojego kanału"
+
+#: ../../Zotlabs/Access/Permissions.php:57
+msgid "Can send me their channel stream and posts"
+msgstr "Może przesyłać mi strumień swojego kanału i posty"
+
+#: ../../Zotlabs/Access/Permissions.php:58
+msgid "Can view my default channel profile"
+msgstr "Może wyświetlać mój domyślny profil kanału"
+
+#: ../../Zotlabs/Access/Permissions.php:59
+msgid "Can view my connections"
+msgstr "Może wyświetlać moje połączenia"
+
+#: ../../Zotlabs/Access/Permissions.php:60
+msgid "Can view my file storage and photos"
+msgstr "Może wyświetlać moje przechowywane pliki i zdjęcia"
+
+#: ../../Zotlabs/Access/Permissions.php:61
+msgid "Can upload/modify my file storage and photos"
+msgstr "Może przesyłać/modyfikować moje przechowywane pliki i zdjęcia"
+
+#: ../../Zotlabs/Access/Permissions.php:62
+msgid "Can view my channel webpages"
+msgstr "Może wyświetlać strony internetowe mojego kanału"
+
+#: ../../Zotlabs/Access/Permissions.php:63
+msgid "Can view my wiki pages"
+msgstr "Może przeglądać moje strony wiki"
+
+#: ../../Zotlabs/Access/Permissions.php:64
+msgid "Can create/edit my channel webpages"
+msgstr "Może tworzyć/edytować strony internetowe mojego kanału"
+
+#: ../../Zotlabs/Access/Permissions.php:65
+msgid "Can write to my wiki pages"
+msgstr "Może pisać na moich stronach wiki"
+
+#: ../../Zotlabs/Access/Permissions.php:66
+msgid "Can post on my channel (wall) page"
+msgstr "Może publikować na stronie mojego kanału (tablicy)"
+
+#: ../../Zotlabs/Access/Permissions.php:67
+msgid "Can comment on or like my posts"
+msgstr "Może komentować lub polubić moje posty"
+
+#: ../../Zotlabs/Access/Permissions.php:68
+msgid "Can send me private mail messages"
+msgstr "Może wysyłać mi prywatne wiadomości e-mail"
+
+#: ../../Zotlabs/Access/Permissions.php:69
+msgid "Can like/dislike profiles and profile things"
+msgstr "Może polubiać/dezaprobować profile i rzeczy w profilach"
+
+#: ../../Zotlabs/Access/Permissions.php:70
+msgid "Can forward to all my channel connections via ! mentions in posts"
+msgstr ""
+"Może przekazywać informacje do wszystkich moich połączeń kanałowych za "
+"pośrednictwem !wzmianki w postach"
+
+#: ../../Zotlabs/Access/Permissions.php:71
+msgid "Can chat with me"
+msgstr "Może ze mną rozmawiać"
+
+#: ../../Zotlabs/Access/Permissions.php:72
+msgid "Can source my public posts in derived channels"
+msgstr "Może pozyskiwać moje publiczne posty w kanałach pochodnych"
+
+#: ../../Zotlabs/Access/Permissions.php:73
+msgid "Can administer my channel"
+msgstr "Może zarządzać moim kanałem"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:287
+msgid "Social Networking"
+msgstr "Sieć społecznościowa"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:288
+msgid "Social - Federation"
+msgstr "Społecznościowy - federacyjny"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:289
+msgid "Social - Mostly Public"
+msgstr "Społecznościowy - głównie publiczny"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:290
+msgid "Social - Restricted"
+msgstr "Społecznościowy - ograniczony"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:291
+msgid "Social - Private"
+msgstr "Społecznościowy - prywatny"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:294
+msgid "Community Forum"
+msgstr "Forum społecznościowe"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:295
+msgid "Forum - Mostly Public"
+msgstr "Forum - głównie publiczne"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:296
+msgid "Forum - Restricted"
+msgstr "Forum - ograniczone"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:297
+msgid "Forum - Private"
+msgstr "Forum - prywatne"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:300
+msgid "Feed Republish"
+msgstr "Opublikuj ponownie kanał RSS"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:301
+msgid "Feed - Mostly Public"
+msgstr "Kanał RSS - głównie publiczny"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:302
+msgid "Feed - Restricted"
+msgstr "Kanał RSS - ograniczony"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:305
+msgid "Special Purpose"
+msgstr "Specjalnego celu"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:306
+msgid "Special - Celebrity/Soapbox"
+msgstr "Specjalne - celebryckie i mównice"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:307
+msgid "Special - Group Repository"
+msgstr "Specjalne - repozytorium grupowe"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:310
+#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797
+#: ../../Zotlabs/Module/Connedit.php:927 ../../include/selectors.php:60
+#: ../../include/selectors.php:77 ../../include/selectors.php:115
+#: ../../include/selectors.php:151 ../../include/connections.php:741
+#: ../../include/connections.php:748 ../../include/event.php:1429
+#: ../../include/event.php:1436
+msgid "Other"
+msgstr "Inny"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:311
+msgid "Custom/Expert Mode"
+msgstr "Tryb niestandardowy/ekspercki"
+
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Pdledit.php:35
+#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Events.php:277
+#: ../../Zotlabs/Module/Bookmarks.php:70 ../../Zotlabs/Module/Webpages.php:133
+#: ../../Zotlabs/Module/Profiles.php:200 ../../Zotlabs/Module/Profiles.php:637
+#: ../../Zotlabs/Module/Like.php:230 ../../Zotlabs/Module/Defperms.php:182
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Group.php:15
+#: ../../Zotlabs/Module/Group.php:31 ../../Zotlabs/Module/Appman.php:87
+#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Moderate.php:15
+#: ../../Zotlabs/Module/New_channel.php:105
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Filestorage.php:20
+#: ../../Zotlabs/Module/Filestorage.php:78
+#: ../../Zotlabs/Module/Filestorage.php:96
+#: ../../Zotlabs/Module/Filestorage.php:119
+#: ../../Zotlabs/Module/Filestorage.php:165
+#: ../../Zotlabs/Module/Card_edit.php:51
+#: ../../Zotlabs/Module/Viewconnections.php:28
+#: ../../Zotlabs/Module/Viewconnections.php:33 ../../Zotlabs/Module/Wiki.php:59
+#: ../../Zotlabs/Module/Wiki.php:285 ../../Zotlabs/Module/Wiki.php:428
+#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
+#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:396
+#: ../../Zotlabs/Module/Profile_photo.php:338
+#: ../../Zotlabs/Module/Profile_photo.php:351
+#: ../../Zotlabs/Module/Sharedwithme.php:19
+#: ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Item.php:485 ../../Zotlabs/Module/Item.php:504
+#: ../../Zotlabs/Module/Item.php:514 ../../Zotlabs/Module/Item.php:1442
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Page.php:34
+#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Achievements.php:34
+#: ../../Zotlabs/Module/Regmod.php:20 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Chat.php:113 ../../Zotlabs/Module/Chat.php:118
+#: ../../Zotlabs/Module/Vote.php:19 ../../Zotlabs/Module/Display.php:425
+#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:177
+#: ../../Zotlabs/Module/Channel.php:332 ../../Zotlabs/Module/Channel.php:371
+#: ../../Zotlabs/Module/Cards.php:86 ../../Zotlabs/Module/Connections.php:32
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Block.php:24
+#: ../../Zotlabs/Module/Block.php:74 ../../Zotlabs/Module/Common.php:38
+#: ../../Zotlabs/Module/Editwebpage.php:68
+#: ../../Zotlabs/Module/Editwebpage.php:89
+#: ../../Zotlabs/Module/Editwebpage.php:107
+#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Profile.php:85
+#: ../../Zotlabs/Module/Profile.php:101
+#: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Thing.php:282
+#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:343
+#: ../../Zotlabs/Module/Suggest.php:32
+#: ../../Zotlabs/Module/Notifications.php:11
+#: ../../Zotlabs/Module/Articles.php:89 ../../Zotlabs/Module/Setup.php:206
+#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126
+#: ../../Zotlabs/Module/Register.php:80
+#: ../../Zotlabs/Module/Channel_calendar.php:230
+#: ../../Zotlabs/Module/Invite.php:21 ../../Zotlabs/Module/Invite.php:102
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Cover_photo.php:341
+#: ../../Zotlabs/Module/Cover_photo.php:354 ../../Zotlabs/Module/Menu.php:130
+#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Sources.php:80
+#: ../../Zotlabs/Module/Poke.php:157 ../../Zotlabs/Module/Network.php:19
+#: ../../Zotlabs/Module/Attach_edit.php:90
+#: ../../Zotlabs/Module/Attach_edit.php:99
+#: ../../Zotlabs/Module/Attach_edit.php:106
+#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Viewsrc.php:19
+#: ../../Zotlabs/Web/WebServer.php:116 ../../Zotlabs/Lib/Chatroom.php:135
+#: ../../include/photos.php:27 ../../include/attach.php:156
+#: ../../include/attach.php:205 ../../include/attach.php:278
+#: ../../include/attach.php:329 ../../include/attach.php:424
+#: ../../include/attach.php:438 ../../include/attach.php:445
+#: ../../include/attach.php:527 ../../include/attach.php:1091
+#: ../../include/attach.php:1164 ../../include/attach.php:1327
+#: ../../include/items.php:3996
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:53
+#: ../../extend/addon/hzaddons/keepout/keepout.php:36
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:25
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:44
+msgid "Permission denied."
+msgstr "Dostęp zabroniony."
+
+#: ../../Zotlabs/Module/Pdledit.php:27
+msgid "Layout updated."
+msgstr "Zaktualizowano układ."
+
+#: ../../Zotlabs/Module/Pdledit.php:43
+msgid "PDL Editor App"
+msgstr "Aplikacja PDL Editor"
+
+#: ../../Zotlabs/Module/Pdledit.php:43 ../../Zotlabs/Module/Cdav.php:876
+#: ../../Zotlabs/Module/Bookmarks.php:78 ../../Zotlabs/Module/Webpages.php:48
+#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Pubstream.php:20
+#: ../../Zotlabs/Module/Group.php:107 ../../Zotlabs/Module/Oauth.php:100
+#: ../../Zotlabs/Module/Oauth2.php:106 ../../Zotlabs/Module/Wiki.php:52
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:61
+#: ../../Zotlabs/Module/Cards.php:51 ../../Zotlabs/Module/Affinity.php:52
+#: ../../Zotlabs/Module/Randprof.php:29 ../../Zotlabs/Module/Suggest.php:40
+#: ../../Zotlabs/Module/Notes.php:57 ../../Zotlabs/Module/Tokens.php:99
+#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134
+#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:18
+#: ../../Zotlabs/Module/Invite.php:110 ../../Zotlabs/Module/Lang.php:17
+#: ../../Zotlabs/Module/Sources.php:88 ../../Zotlabs/Module/Poke.php:165
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50
+msgid "Not Installed"
+msgstr "Nie zainstalowano"
+
+#: ../../Zotlabs/Module/Pdledit.php:44
+msgid "Provides the ability to edit system page layouts"
+msgstr "Zapewnia możliwość edycji układów stron systemowych"
+
+#: ../../Zotlabs/Module/Pdledit.php:57 ../../Zotlabs/Module/Pdledit.php:100
+msgid "Edit System Page Description"
+msgstr "Edytuj opis strony systemowej"
+
+#: ../../Zotlabs/Module/Pdledit.php:78
+msgid "(modified)"
+msgstr "(zmodyfikowany)"
+
+#: ../../Zotlabs/Module/Pdledit.php:78 ../../Zotlabs/Module/Lostpass.php:133
+msgid "Reset"
+msgstr "Resetuj"
+
+#: ../../Zotlabs/Module/Pdledit.php:95
+msgid "Layout not found."
+msgstr "Nie znaleziono układu."
+
+#: ../../Zotlabs/Module/Pdledit.php:101
+msgid "Module Name:"
+msgstr "Nazwa modułu:"
+
+#: ../../Zotlabs/Module/Pdledit.php:102
+msgid "Layout Help"
+msgstr "Pomoc dotycząca układu"
+
+#: ../../Zotlabs/Module/Pdledit.php:103
+msgid "Edit another layout"
+msgstr "Edytuj inny układ"
+
+#: ../../Zotlabs/Module/Pdledit.php:104
+msgid "System layout"
+msgstr "Układ systemowy"
+
+#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Events.php:501
+#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Import.php:645
+#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Group.php:151
+#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Appman.php:155
+#: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Import_items.php:129
+#: ../../Zotlabs/Module/Connect.php:107
+#: ../../Zotlabs/Module/Filestorage.php:208 ../../Zotlabs/Module/Oauth2.php:116
+#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Locs.php:132
+#: ../../Zotlabs/Module/Connedit.php:896 ../../Zotlabs/Module/Rate.php:166
+#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Chat.php:209
+#: ../../Zotlabs/Module/Chat.php:248 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
+#: ../../Zotlabs/Module/Editpost.php:86 ../../Zotlabs/Module/Affinity.php:87
+#: ../../Zotlabs/Module/Pconfig.php:116
+#: ../../Zotlabs/Module/Admin/Themes.php:158
+#: ../../Zotlabs/Module/Admin/Security.php:120
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Channels.php:147
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Account_edit.php:73
+#: ../../Zotlabs/Module/Admin/Addons.php:442
+#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../Zotlabs/Module/Admin/Profs.php:178 ../../Zotlabs/Module/Thing.php:328
+#: ../../Zotlabs/Module/Thing.php:381
+#: ../../Zotlabs/Module/Email_validation.php:40
+#: ../../Zotlabs/Module/Tokens.php:188 ../../Zotlabs/Module/Setup.php:304
+#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Mitem.php:259
+#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Permcats.php:129
+#: ../../Zotlabs/Module/Settings/Account.php:103
+#: ../../Zotlabs/Module/Settings/Events.php:42
+#: ../../Zotlabs/Module/Settings/Profiles.php:52
+#: ../../Zotlabs/Module/Settings/Editor.php:42
+#: ../../Zotlabs/Module/Settings/Features.php:48
+#: ../../Zotlabs/Module/Settings/Manage.php:43
+#: ../../Zotlabs/Module/Settings/Display.php:188
+#: ../../Zotlabs/Module/Settings/Photos.php:42
+#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Connections.php:42
+#: ../../Zotlabs/Module/Settings/Calendar.php:42
+#: ../../Zotlabs/Module/Settings/Directory.php:42
+#: ../../Zotlabs/Module/Settings/Channel_home.php:91
+#: ../../Zotlabs/Module/Settings/Network.php:62
+#: ../../Zotlabs/Module/Settings/Conversation.php:49
+#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Sources.php:125
+#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Module/Poke.php:217
+#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Lib/ThreadItem.php:825
+#: ../../Zotlabs/Widget/Wiki_pages.php:42
+#: ../../Zotlabs/Widget/Wiki_pages.php:99
+#: ../../Zotlabs/Widget/Eventstools.php:16 ../../include/js_strings.php:22
+#: ../../extend/addon/hzaddons/irc/irc.php:45
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:95
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:57
+#: ../../extend/addon/hzaddons/piwik/piwik.php:95
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:143
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:51
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:90
+#: ../../extend/addon/hzaddons/cart/cart.php:1376
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:312
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:412
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:643
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:410
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:248
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:132
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:142
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:86
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:100
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:75
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:155
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:82
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1461
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1520
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1639
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2742
+#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:94
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:70
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:61
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:67
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:70
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:602
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:193
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:251
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:306
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:65
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:72
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:262
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:330
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:136
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:184
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:80
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:53
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:142
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:54
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:310
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:53
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:55
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:72
+#: ../../extend/addon/hzaddons/logrot/logrot.php:35
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:109
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:115
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:100
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:124
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:56
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:73
+#: ../../view/theme/redbasic/php/config.php:94
+msgid "Submit"
+msgstr "Zatwierdź"
+
+#: ../../Zotlabs/Module/Z6trans.php:19
+msgid "Update to Hubzilla 5.0 step 2"
+msgstr "Zaktualizuj do Hubzilli 5.0 krok 2"
+
+#: ../../Zotlabs/Module/Z6trans.php:21
+msgid "To complete the update please run"
+msgstr "Uruchom, aby zakończyć aktualizację"
+
+#: ../../Zotlabs/Module/Z6trans.php:23
+msgid "php util/z6convert.php"
+msgstr "php util/z6convert.php"
+
+#: ../../Zotlabs/Module/Z6trans.php:25
+msgid "from the terminal."
+msgstr "z terminala."
+
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Cloud.php:123
+#: ../../Zotlabs/Module/Like.php:332 ../../Zotlabs/Module/Group.php:99
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Subthread.php:86 ../../Zotlabs/Module/Share.php:72
+#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:439
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:75
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:119
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:109
+msgid "Permission denied"
+msgstr "Dostęp zabroniony"
+
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "Invalid message"
+msgstr "Nieprawidłowa wiadomość"
+
+#: ../../Zotlabs/Module/Dreport.php:93
+msgid "no results"
+msgstr "brak wyników"
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "channel sync processed"
+msgstr "synchronizacja kanałów została przetworzona"
+
+#: ../../Zotlabs/Module/Dreport.php:111
+msgid "queued"
+msgstr "w kolejce"
+
+#: ../../Zotlabs/Module/Dreport.php:115
+msgid "posted"
+msgstr "opublikowane"
+
+#: ../../Zotlabs/Module/Dreport.php:119
+msgid "accepted for delivery"
+msgstr "przyjęty do dostawy"
+
+#: ../../Zotlabs/Module/Dreport.php:123
+msgid "updated"
+msgstr "zaktualizowany"
+
+#: ../../Zotlabs/Module/Dreport.php:126
+msgid "update ignored"
+msgstr "aktualizacja zignorowana"
+
+#: ../../Zotlabs/Module/Dreport.php:129
+msgid "permission denied"
+msgstr "dostęp zabroniony"
+
+#: ../../Zotlabs/Module/Dreport.php:133
+msgid "recipient not found"
+msgstr "nie znaleziono odbiorcy"
+
+#: ../../Zotlabs/Module/Dreport.php:136
+msgid "mail recalled"
+msgstr "mail odwołany"
+
+#: ../../Zotlabs/Module/Dreport.php:139
+msgid "duplicate mail received"
+msgstr "otrzymano powieloną wiadomość"
+
+#: ../../Zotlabs/Module/Dreport.php:142
+msgid "mail delivered"
+msgstr "dostarczono pocztÄ™"
+
+#: ../../Zotlabs/Module/Dreport.php:162
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Raport dostarczenia dla %1$s"
+
+#: ../../Zotlabs/Module/Dreport.php:166 ../../Zotlabs/Widget/Wiki_pages.php:41
+#: ../../Zotlabs/Widget/Wiki_pages.php:98
+msgid "Options"
+msgstr "Opcje"
+
+#: ../../Zotlabs/Module/Dreport.php:167
+msgid "Redeliver"
+msgstr "Dostarcz ponownie"
+
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr "Nieprawidłowy identyfikator profilu."
+
+#: ../../Zotlabs/Module/Profperm.php:111
+msgid "Profile Visibility Editor"
+msgstr "Edytor widoczności profilu"
+
+#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362
+#: ../../include/channel.php:1886
+msgid "Profile"
+msgstr "Profil"
+
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Click on a contact to add or remove."
+msgstr "Kliknij kontakt, który chcesz dodać lub usunąć."
+
+#: ../../Zotlabs/Module/Profperm.php:124
+msgid "Visible To"
+msgstr "Widoczne dla"
+
+#: ../../Zotlabs/Module/Profperm.php:140
+#: ../../Zotlabs/Module/Connections.php:217
+msgid "All Connections"
+msgstr "Wszystkie połączenia"
+
+#: ../../Zotlabs/Module/Cloud.php:120
+msgid "Not found"
+msgstr "Nie znaleziono"
+
+#: ../../Zotlabs/Module/Cloud.php:126
+msgid "Please refresh page"
+msgstr "Odśwież stronę"
+
+#: ../../Zotlabs/Module/Cloud.php:129
+msgid "Unknown error"
+msgstr "Nieznany błąd"
+
+#: ../../Zotlabs/Module/Authorize.php:17
+msgid "Unknown App"
+msgstr "Aplikacja nieznana"
+
+#: ../../Zotlabs/Module/Authorize.php:29
+msgid "Authorize"
+msgstr "Autoryzuj"
+
+#: ../../Zotlabs/Module/Authorize.php:30
+#, php-format
+msgid "Do you authorize the app %s to access your channel data?"
+msgstr "Czy zezwalasz aplikacji %s na dostęp do danych Twojego kanału?"
+
+#: ../../Zotlabs/Module/Authorize.php:32 ../../include/acl_selectors.php:146
+msgid "Allow"
+msgstr "Zezwól"
+
+#: ../../Zotlabs/Module/Authorize.php:33
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+msgid "Deny"
+msgstr "Zabroń"
+
+#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28
+msgid "Calendar entries imported."
+msgstr "Zaimportowano wpisy kalendarza."
+
+#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30
+msgid "No calendar entries found."
+msgstr "Nie znaleziono wpisów kalendarza."
+
+#: ../../Zotlabs/Module/Cdav.php:876
+msgid "CardDAV App"
+msgstr "Aplikacja CardDAV"
+
+#: ../../Zotlabs/Module/Cdav.php:877
+msgid "CalDAV capable addressbook"
+msgstr "Książka adresowa z obsługą CalDAV"
+
+#: ../../Zotlabs/Module/Cdav.php:943 ../../Zotlabs/Module/Cal.php:167
+#: ../../Zotlabs/Module/Channel_calendar.php:393
+msgid "Link to source"
+msgstr "Link do źródła"
+
+#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468
+msgid "Event title"
+msgstr "Tytuł wydarzenia"
+
+#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474
+msgid "Start date and time"
+msgstr "Data i godzina rozpoczęcia"
+
+#: ../../Zotlabs/Module/Cdav.php:1011
+msgid "End date and time"
+msgstr "Data i godzina zakończenia"
+
+#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497
+msgid "Timezone:"
+msgstr "Strefa czasowa:"
+
+#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Events.php:481
+#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:173
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:655
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:260
+msgid "Description"
+msgstr "Opis"
+
+#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:483
+#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736
+#: ../../Zotlabs/Module/Locs.php:128 ../../Zotlabs/Module/Pubsites.php:53
+#: ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Lokalizacja"
+
+#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:697
+#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947
+#: ../../Zotlabs/Module/Cal.php:205
+msgid "Previous"
+msgstr "Poprzedni"
+
+#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:698
+#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956
+#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Setup.php:260
+msgid "Next"
+msgstr "Nastęþny"
+
+#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708
+#: ../../Zotlabs/Module/Cal.php:207
+msgid "Today"
+msgstr "Dzisiaj"
+
+#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703
+msgid "Month"
+msgstr "MiesiÄ…c"
+
+#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704
+msgid "Week"
+msgstr "Tydzień"
+
+#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705
+msgid "Day"
+msgstr "Dzień"
+
+#: ../../Zotlabs/Module/Cdav.php:1041
+msgid "List month"
+msgstr "Wymień miesiąc"
+
+#: ../../Zotlabs/Module/Cdav.php:1042
+msgid "List week"
+msgstr "Wymień tydzień"
+
+#: ../../Zotlabs/Module/Cdav.php:1043
+msgid "List day"
+msgstr "Wymień dzień"
+
+#: ../../Zotlabs/Module/Cdav.php:1051
+msgid "More"
+msgstr "Więcej"
+
+#: ../../Zotlabs/Module/Cdav.php:1052
+msgid "Less"
+msgstr "Mniej"
+
+#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388
+#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53
+#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58
+#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:931
+#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536
+msgid "Update"
+msgstr "Zaktualizuj"
+
+#: ../../Zotlabs/Module/Cdav.php:1054
+msgid "Select calendar"
+msgstr "Wybierz kalendarz"
+
+#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:143
+msgid "Channel Calendars"
+msgstr "Kalendarze kanału"
+
+#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:129
+#: ../../Zotlabs/Widget/Cdav.php:143
+msgid "CalDAV Calendars"
+msgstr "Kalendarze CalDAV"
+
+#: ../../Zotlabs/Module/Cdav.php:1056 ../../Zotlabs/Module/Cdav.php:1389
+#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:129
+#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Connedit.php:660 ../../Zotlabs/Module/Connedit.php:932
+#: ../../Zotlabs/Module/Editlayout.php:138
+#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179
+#: ../../Zotlabs/Module/Connections.php:328
+#: ../../Zotlabs/Module/Editwebpage.php:167
+#: ../../Zotlabs/Module/Article_edit.php:128
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Thing.php:269
+#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Lib/Apps.php:558
+#: ../../Zotlabs/Lib/ThreadItem.php:170 ../../include/conversation.php:730
+#: ../../include/conversation.php:775
+msgid "Delete"
+msgstr "Usuń"
+
+#: ../../Zotlabs/Module/Cdav.php:1057
+msgid "Delete all"
+msgstr "Usuń wszystko"
+
+#: ../../Zotlabs/Module/Cdav.php:1058 ../../Zotlabs/Module/Cdav.php:1390
+#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138
+#: ../../Zotlabs/Module/Card_edit.php:131 ../../Zotlabs/Module/Oauth2.php:117
+#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:368
+#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Fbrowser.php:66
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:933
+#: ../../Zotlabs/Module/Profile_photo.php:507
+#: ../../Zotlabs/Module/Editlayout.php:140
+#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:110
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Editwebpage.php:169
+#: ../../Zotlabs/Module/Article_edit.php:130
+#: ../../Zotlabs/Module/Admin/Addons.php:427
+#: ../../Zotlabs/Module/Cover_photo.php:428
+#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1458
+#: ../../include/conversation.php:1511
+#: ../../extend/addon/hzaddons/hsse/hsse.php:209
+#: ../../extend/addon/hzaddons/hsse/hsse.php:258
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387
+#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Profiles.php:800
+#: ../../Zotlabs/Module/Layouts.php:185
+#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:930 ../../Zotlabs/Module/Cards.php:113
+#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Menu.php:182
+#: ../../Zotlabs/Storage/Browser.php:365 ../../Zotlabs/Storage/Browser.php:538
+#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178
+msgid "Create"
+msgstr "Utwórz"
+
+#: ../../Zotlabs/Module/Cdav.php:1060
+msgid "Sorry! Editing of recurrent events is not yet implemented."
+msgstr ""
+"Przepraszamy! Edycja powtarzających się wydarzeń nie została jeszcze "
+"zaimplementowana."
+
+#: ../../Zotlabs/Module/Cdav.php:1070 ../../Zotlabs/Storage/Browser.php:293
+#: ../../Zotlabs/Storage/Browser.php:388 ../../Zotlabs/Storage/Browser.php:403
+#: ../../Zotlabs/Widget/Appcategories.php:43
+#: ../../include/contact_widgets.php:108 ../../include/contact_widgets.php:152
+#: ../../include/contact_widgets.php:197 ../../include/contact_widgets.php:232
+#: ../../include/taxonomy.php:418 ../../include/taxonomy.php:500
+#: ../../include/taxonomy.php:520 ../../include/taxonomy.php:541
+msgid "Categories"
+msgstr "Kategorie"
+
+#: ../../Zotlabs/Module/Cdav.php:1372 ../../Zotlabs/Module/Group.php:155
+#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth.php:139
+#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Connedit.php:915
+#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257
+#: ../../Zotlabs/Module/Admin/Channels.php:159
+#: ../../Zotlabs/Storage/Browser.php:377
+#: ../../Zotlabs/Lib/NativeWikiPage.php:564
+#: ../../Zotlabs/Widget/Wiki_page_history.php:22
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:172
+msgid "Name"
+msgstr "Nazwa"
+
+#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:916
+msgid "Organisation"
+msgstr "Organizacja"
+
+#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2617
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2678
+msgid "Title"
+msgstr "Tytuł"
+
+#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Connedit.php:918
+msgid "Phone"
+msgstr "Numer telefonu"
+
+#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:789
+#: ../../Zotlabs/Module/Connedit.php:919
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/network.php:1737
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:56
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:57
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57
+msgid "Email"
+msgstr "Adres e-mail"
+
+#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Connedit.php:920
+msgid "Instant messenger"
+msgstr "Komunikator internetowy"
+
+#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791
+#: ../../Zotlabs/Module/Connedit.php:921
+msgid "Website"
+msgstr "Strona internetowa"
+
+#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:504
+#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129
+#: ../../Zotlabs/Module/Connedit.php:922
+#: ../../Zotlabs/Module/Admin/Channels.php:160
+msgid "Address"
+msgstr "Adres"
+
+#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Connedit.php:923
+msgid "Note"
+msgstr "Uwagi"
+
+#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794
+#: ../../Zotlabs/Module/Connedit.php:924 ../../include/connections.php:734
+#: ../../include/event.php:1422
+msgid "Mobile"
+msgstr "Komórka"
+
+#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795
+#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:735
+#: ../../include/event.php:1423
+msgid "Home"
+msgstr "Domowy"
+
+#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796
+#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:738
+#: ../../include/event.php:1426
+msgid "Work"
+msgstr "Praca"
+
+#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Connedit.php:928
+msgid "Add Contact"
+msgstr "Dodaj kontakt"
+
+#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799
+#: ../../Zotlabs/Module/Connedit.php:929
+msgid "Add Field"
+msgstr "Dodaj pole"
+
+#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:934
+msgid "P.O. Box"
+msgstr "Skrytka pocztowa"
+
+#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935
+msgid "Additional"
+msgstr "Dodatkowe informacje"
+
+#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936
+msgid "Street"
+msgstr "Ulica"
+
+#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937
+msgid "Locality"
+msgstr "Miejscowość"
+
+#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938
+msgid "Region"
+msgstr "Region"
+
+#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939
+msgid "ZIP Code"
+msgstr "Kod pocztowy"
+
+#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759
+#: ../../Zotlabs/Module/Connedit.php:940
+msgid "Country"
+msgstr "Państwo"
+
+#: ../../Zotlabs/Module/Cdav.php:1456
+msgid "Default Calendar"
+msgstr "Domyślny kalendarz"
+
+#: ../../Zotlabs/Module/Cdav.php:1467
+msgid "Default Addressbook"
+msgstr "Domyślna książka adresowa"
+
+#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95
+msgid "Authorize application connection"
+msgstr "Autoryzuj połączenie aplikacji"
+
+#: ../../Zotlabs/Module/Api.php:75
+msgid "Return to your app and insert this Security Code:"
+msgstr "Wróć do aplikacji i wprowadź ten kod bezpieczeństwa:"
+
+#: ../../Zotlabs/Module/Api.php:85
+msgid "Please login to continue."
+msgstr "Proszę się zalogować, aby kontynuować."
+
+#: ../../Zotlabs/Module/Api.php:97
+msgid ""
+"Do you want to authorize this application to access your posts and contacts, "
+"and/or create new posts for you?"
+msgstr ""
+"Czy chcesz zezwolić tej aplikacji na dostęp do Twoich postów i kontaktów "
+"albo tworzenie dla Ciebie nowych postów ?"
+
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683
+#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227
+#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403
+#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:261
+#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
+#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
+#: ../../Zotlabs/Module/Settings/Display.php:88
+#: ../../Zotlabs/Module/Settings/Channel.php:311
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311
+#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389
+#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+#: ../../extend/addon/hzaddons/cart/cart.php:1370
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:337
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:361
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:437
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:461
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+#: ../../view/theme/redbasic/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710
+msgid "Yes"
+msgstr "Tak"
+
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683
+#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227
+#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403
+#: ../../Zotlabs/Module/Connedit.php:788 ../../Zotlabs/Module/Photos.php:673
+#: ../../Zotlabs/Module/Admin/Site.php:259 ../../Zotlabs/Module/Mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
+#: ../../Zotlabs/Module/Mitem.php:257
+#: ../../Zotlabs/Module/Settings/Display.php:88
+#: ../../Zotlabs/Module/Settings/Channel.php:311
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311
+#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389
+#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+#: ../../extend/addon/hzaddons/cart/cart.php:1370
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:338
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:362
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:438
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:462
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+#: ../../view/theme/redbasic/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710
+msgid "No"
+msgstr "Nie"
+
+#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52
+msgid "This site is not a directory server"
+msgstr "Ta witryna nie jest serwerem katalogów"
+
+#: ../../Zotlabs/Module/Dirsearch.php:37
+msgid "This directory server requires an access token"
+msgstr "Ten serwer katalogowy wymaga tokenu dostępu"
+
+#: ../../Zotlabs/Module/Filer.php:53
+msgid "Enter a folder name"
+msgstr "Wprowadź nazwę folderu"
+
+#: ../../Zotlabs/Module/Filer.php:53
+msgid "or select an existing folder (doubleclick)"
+msgstr "lub wybierz istniejÄ…cy folder (kliknij dwukrotnie)"
+
+#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Admin/Profs.php:94
+#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23
+#: ../../include/text.php:1151 ../../include/text.php:1163
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:119
+msgid "Save"
+msgstr "Zapisz"
+
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Lib/ThreadItem.php:184
+msgid "Save to Folder"
+msgstr "Zapisz do folderu"
+
+#: ../../Zotlabs/Module/Events.php:113
+#: ../../Zotlabs/Module/Channel_calendar.php:57
+msgid "Event can not end before it has started."
+msgstr "Wydarzenie nie może zakończyć się przed rozpoczęciem."
+
+#: ../../Zotlabs/Module/Events.php:115 ../../Zotlabs/Module/Events.php:124
+#: ../../Zotlabs/Module/Events.php:146
+#: ../../Zotlabs/Module/Channel_calendar.php:59
+#: ../../Zotlabs/Module/Channel_calendar.php:67
+#: ../../Zotlabs/Module/Channel_calendar.php:84
+msgid "Unable to generate preview."
+msgstr "Nie można wygenerować podglądu."
+
+#: ../../Zotlabs/Module/Events.php:122
+#: ../../Zotlabs/Module/Channel_calendar.php:65
+msgid "Event title and start time are required."
+msgstr "Wymaga się wprowadzenie tytułu wydarzenia i godziny rozpoczęcia."
+
+#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271
+#: ../../Zotlabs/Module/Channel_calendar.php:82
+#: ../../Zotlabs/Module/Channel_calendar.php:224
+msgid "Event not found."
+msgstr "Nie znaleziono wydarzenia."
+
+#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:435
+#: ../../Zotlabs/Module/Tagger.php:75
+#: ../../Zotlabs/Module/Channel_calendar.php:219
+#: ../../include/conversation.php:132 ../../include/text.php:2255
+#: ../../include/event.php:1259
+msgid "event"
+msgstr "wydarzenie"
+
+#: ../../Zotlabs/Module/Events.php:468
+msgid "Edit event title"
+msgstr "Edytuj tytuł wydarzenia"
+
+#: ../../Zotlabs/Module/Events.php:468 ../../Zotlabs/Module/Events.php:473
+#: ../../Zotlabs/Module/Profiles.php:747 ../../Zotlabs/Module/Profiles.php:751
+#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144
+#: ../../include/datetime.php:211
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:334
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:358
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:434
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:458
+msgid "Required"
+msgstr "Wymagane"
+
+#: ../../Zotlabs/Module/Events.php:470
+msgid "Categories (comma-separated list)"
+msgstr "Kategorie (lista rozdzielana przecinkami)"
+
+#: ../../Zotlabs/Module/Events.php:471
+msgid "Edit Category"
+msgstr "Edytuj kategoriÄ™"
+
+#: ../../Zotlabs/Module/Events.php:471
+msgid "Category"
+msgstr "Kategoria"
+
+#: ../../Zotlabs/Module/Events.php:474
+msgid "Edit start date and time"
+msgstr "Edytuj datę i godzinę rozpoczęcia"
+
+#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:478
+msgid "Finish date and time are not known or not relevant"
+msgstr "Data i godzina zakończenia nie są znane lub nie mają znaczenia"
+
+#: ../../Zotlabs/Module/Events.php:477
+msgid "Edit finish date and time"
+msgstr "Edytuj datę i godzinę zakończenia"
+
+#: ../../Zotlabs/Module/Events.php:477
+msgid "Finish date and time"
+msgstr "Data i godzina zakończenia"
+
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Events.php:480
+msgid "Adjust for viewer timezone"
+msgstr "Dostosuj do strefy czasowej widza"
+
+#: ../../Zotlabs/Module/Events.php:479
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr ""
+"Ważne dla wydarzeń, które mają miejsce w określonym miejscu. Niepraktyczne "
+"na globalne święta."
+
+#: ../../Zotlabs/Module/Events.php:481
+msgid "Edit Description"
+msgstr "Edytuj opis"
+
+#: ../../Zotlabs/Module/Events.php:483
+msgid "Edit Location"
+msgstr "Edytuj lokalizacjÄ™"
+
+#: ../../Zotlabs/Module/Events.php:486 ../../Zotlabs/Module/Webpages.php:262
+#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:835
+#: ../../include/conversation.php:1402
+#: ../../extend/addon/hzaddons/hsse/hsse.php:153
+msgid "Preview"
+msgstr "PodglÄ…d"
+
+#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1478
+#: ../../extend/addon/hzaddons/hsse/hsse.php:225
+msgid "Permission settings"
+msgstr "Ustawienia dostępu"
+
+#: ../../Zotlabs/Module/Events.php:502
+msgid "Advanced Options"
+msgstr "Zaawansowane opcje"
+
+#: ../../Zotlabs/Module/Events.php:613
+msgid "l, F j"
+msgstr "l, F j"
+
+#: ../../Zotlabs/Module/Events.php:641
+#: ../../Zotlabs/Module/Channel_calendar.php:371
+msgid "Edit event"
+msgstr "Edytuj wydarzenie"
+
+#: ../../Zotlabs/Module/Events.php:643
+#: ../../Zotlabs/Module/Channel_calendar.php:373
+msgid "Delete event"
+msgstr "Usuń wydarzenie"
+
+#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2074
+msgid "Link to Source"
+msgstr "Link do źródła"
+
+#: ../../Zotlabs/Module/Events.php:677
+#: ../../Zotlabs/Module/Channel_calendar.php:407
+msgid "calendar"
+msgstr "kalendarz"
+
+#: ../../Zotlabs/Module/Events.php:696
+msgid "Edit Event"
+msgstr "Edytuj wydarzenie"
+
+#: ../../Zotlabs/Module/Events.php:696
+msgid "Create Event"
+msgstr "Utwórz wydarzenie"
+
+#: ../../Zotlabs/Module/Events.php:699 ../../include/channel.php:1889
+msgid "Export"
+msgstr "Eksport"
+
+#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261
+#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:213
+#: ../../Zotlabs/Module/Wiki.php:409 ../../Zotlabs/Module/Blocks.php:166
+#: ../../Zotlabs/Module/Pubsites.php:61
+msgid "View"
+msgstr "Widok"
+
+#: ../../Zotlabs/Module/Events.php:739
+msgid "Event removed"
+msgstr "Wydarzenie usunięte"
+
+#: ../../Zotlabs/Module/Events.php:742
+#: ../../Zotlabs/Module/Channel_calendar.php:494
+msgid "Failed to remove event"
+msgstr "Nie udało się usunąć wydarzenia"
+
+#: ../../Zotlabs/Module/Help.php:23
+msgid "Documentation Search"
+msgstr "Przeszukaj dokumentacjÄ™"
+
+#: ../../Zotlabs/Module/Help.php:83 ../../include/nav.php:434
+msgid "About"
+msgstr "O platformie Hubzilla"
+
+#: ../../Zotlabs/Module/Help.php:84 ../../Zotlabs/Module/Group.php:156
+msgid "Members"
+msgstr "Dla członków"
+
+#: ../../Zotlabs/Module/Help.php:85
+msgid "Administrators"
+msgstr "Dla administratorów"
+
+#: ../../Zotlabs/Module/Help.php:86
+msgid "Developers"
+msgstr "Dla deweloperów"
+
+#: ../../Zotlabs/Module/Help.php:87
+msgid "Tutorials"
+msgstr "Poradniki"
+
+#: ../../Zotlabs/Module/Help.php:98
+msgid "$Projectname Documentation"
+msgstr "Dokumentacja $Projectname"
+
+#: ../../Zotlabs/Module/Help.php:99
+msgid "Contents"
+msgstr "Spis treści"
+
+#: ../../Zotlabs/Module/Bookmarks.php:62
+msgid "Bookmark added"
+msgstr "Dodano zakładkę"
+
+#: ../../Zotlabs/Module/Bookmarks.php:78
+msgid "Bookmarks App"
+msgstr "Aplikacja Bookmarks"
+
+#: ../../Zotlabs/Module/Bookmarks.php:79
+msgid "Bookmark links from posts and manage them"
+msgstr "Dodaj do zakładek linki z postów i zarządzaj nimi"
+
+#: ../../Zotlabs/Module/Bookmarks.php:92
+msgid "My Bookmarks"
+msgstr "Moje zakładki"
+
+#: ../../Zotlabs/Module/Bookmarks.php:103
+msgid "My Connections Bookmarks"
+msgstr "Moje zakładki połączeń"
+
+#: ../../Zotlabs/Module/Webpages.php:39 ../../Zotlabs/Module/Layouts.php:31
+#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Filestorage.php:59
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Achievements.php:15
+#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42
+#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1439
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:49
+msgid "Requested profile is not available."
+msgstr "Żądany profil nie jest dostępny."
+
+#: ../../Zotlabs/Module/Webpages.php:48
+msgid "Webpages App"
+msgstr "Aplikacja Webpages"
+
+#: ../../Zotlabs/Module/Webpages.php:49
+msgid "Provide managed web pages on your channel"
+msgstr "Udostępnij zarządzane strony internetowe na swoim kanale"
+
+#: ../../Zotlabs/Module/Webpages.php:69
+msgid "Import Webpage Elements"
+msgstr "Importuj elementy strony internetowej"
+
+#: ../../Zotlabs/Module/Webpages.php:70
+msgid "Import selected"
+msgstr "Importuj wybrane"
+
+#: ../../Zotlabs/Module/Webpages.php:93
+msgid "Export Webpage Elements"
+msgstr "Eksportuj elementy strony internetowej"
+
+#: ../../Zotlabs/Module/Webpages.php:94
+msgid "Export selected"
+msgstr "Eksportuj wybrane"
+
+#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341
+#: ../../include/nav.php:524
+msgid "Webpages"
+msgstr "Witryny internetowe"
+
+#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Group.php:253 ../../Zotlabs/Module/Oauth.php:173
+#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Module/Oauth2.php:194
+#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Wiki.php:384
+#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114
+#: ../../Zotlabs/Module/Editblock.php:114
+#: ../../Zotlabs/Module/Connections.php:320
+#: ../../Zotlabs/Module/Connections.php:362
+#: ../../Zotlabs/Module/Connections.php:382
+#: ../../Zotlabs/Module/Editwebpage.php:142
+#: ../../Zotlabs/Module/Article_edit.php:98
+#: ../../Zotlabs/Module/Admin/Profs.php:175 ../../Zotlabs/Module/Thing.php:268
+#: ../../Zotlabs/Module/Menu.php:176 ../../Zotlabs/Lib/Apps.php:557
+#: ../../Zotlabs/Lib/ThreadItem.php:148 ../../Zotlabs/Widget/Cdav.php:138
+#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1538
+#: ../../include/channel.php:1542 ../../include/menu.php:120
+msgid "Edit"
+msgstr "Edytuj"
+
+#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Blocks.php:161
+#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136
+#: ../../include/conversation.php:1435
+#: ../../extend/addon/hzaddons/hsse/hsse.php:186
+msgid "Share"
+msgstr "Udostępnij"
+
+#: ../../Zotlabs/Module/Webpages.php:263
+msgid "Actions"
+msgstr "Akcje"
+
+#: ../../Zotlabs/Module/Webpages.php:264
+msgid "Page Link"
+msgstr "Link do strony"
+
+#: ../../Zotlabs/Module/Webpages.php:265
+msgid "Page Title"
+msgstr "Tytuł strony"
+
+#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:178
+msgid "Created"
+msgstr "Utworzono"
+
+#: ../../Zotlabs/Module/Webpages.php:267 ../../Zotlabs/Module/Layouts.php:192
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179
+msgid "Edited"
+msgstr "Edytowano"
+
+#: ../../Zotlabs/Module/Webpages.php:295
+msgid "Invalid file type."
+msgstr "Zły typ pliku."
+
+#: ../../Zotlabs/Module/Webpages.php:307
+msgid "Error opening zip file"
+msgstr "Błąd podczas otwierania pliku zip"
+
+#: ../../Zotlabs/Module/Webpages.php:318
+msgid "Invalid folder path."
+msgstr "Nieprawidłowa ścieżka folderu."
+
+#: ../../Zotlabs/Module/Webpages.php:345
+msgid "No webpage elements detected."
+msgstr "Nie wykryto żadnych elementów strony internetowej."
+
+#: ../../Zotlabs/Module/Webpages.php:420
+msgid "Import complete."
+msgstr "Import zakończony."
+
+#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186
+#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661
+msgid "Profile not found."
+msgstr "Nie znaleziono profilu."
+
+#: ../../Zotlabs/Module/Profiles.php:46
+msgid "Profile deleted."
+msgstr "Profil usunięty."
+
+#: ../../Zotlabs/Module/Profiles.php:70 ../../Zotlabs/Module/Profiles.php:107
+msgid "Profile-"
+msgstr "Profil-"
+
+#: ../../Zotlabs/Module/Profiles.php:92 ../../Zotlabs/Module/Profiles.php:129
+msgid "New profile created."
+msgstr "Utworzono nowy profil."
+
+#: ../../Zotlabs/Module/Profiles.php:113
+msgid "Profile unavailable to clone."
+msgstr "Profil niedostępny do sklonowania."
+
+#: ../../Zotlabs/Module/Profiles.php:148
+msgid "Profile unavailable to export."
+msgstr "Profil niedostępny do wyeksportowania."
+
+#: ../../Zotlabs/Module/Profiles.php:254
+msgid "Profile Name is required."
+msgstr "Wymaga siÄ™ podania nazwy profilu."
+
+#: ../../Zotlabs/Module/Profiles.php:461
+msgid "Marital Status"
+msgstr "Stan cywilny"
+
+#: ../../Zotlabs/Module/Profiles.php:465
+msgid "Romantic Partner"
+msgstr "Partner romantyczny"
+
+#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774
+msgid "Likes"
+msgstr "Polubienia"
+
+#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775
+msgid "Dislikes"
+msgstr "Dezaprobaty"
+
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782
+msgid "Work/Employment"
+msgstr "Praca/Zatrudnienie"
+
+#: ../../Zotlabs/Module/Profiles.php:480
+msgid "Religion"
+msgstr "Religia"
+
+#: ../../Zotlabs/Module/Profiles.php:484
+msgid "Political Views"
+msgstr "PoglÄ…dy polityczny"
+
+#: ../../Zotlabs/Module/Profiles.php:488
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:74
+msgid "Gender"
+msgstr "Płeć"
+
+#: ../../Zotlabs/Module/Profiles.php:492
+msgid "Sexual Preference"
+msgstr "Prefernecje seksualne"
+
+#: ../../Zotlabs/Module/Profiles.php:496
+msgid "Homepage"
+msgstr "Strona domowa"
+
+#: ../../Zotlabs/Module/Profiles.php:500
+msgid "Interests"
+msgstr "Zainteresowania"
+
+#: ../../Zotlabs/Module/Profiles.php:596
+msgid "Profile updated."
+msgstr "Profil został zaktualizowany."
+
+#: ../../Zotlabs/Module/Profiles.php:680
+msgid "Hide your connections list from viewers of this profile"
+msgstr "Ukryj swoją listę kontaktów przed przeglądającymi ten profil"
+
+#: ../../Zotlabs/Module/Profiles.php:724
+msgid "Edit Profile Details"
+msgstr "Edytuj szczegóły profilu"
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "View this profile"
+msgstr "Zobacz ten profil"
+
+#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826
+#: ../../include/channel.php:1561
+msgid "Edit visibility"
+msgstr "Edytuj dostępność"
+
+#: ../../Zotlabs/Module/Profiles.php:728
+msgid "Profile Tools"
+msgstr "Narzędzia profili"
+
+#: ../../Zotlabs/Module/Profiles.php:729
+msgid "Change cover photo"
+msgstr "Zmień zdjęcie okładkowe"
+
+#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1531
+msgid "Change profile photo"
+msgstr "Zmień zdjęcie profilowe"
+
+#: ../../Zotlabs/Module/Profiles.php:731
+msgid "Create a new profile using these settings"
+msgstr "Utwórz nowy profil, korzystając z tych ustawień"
+
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Clone this profile"
+msgstr "Sklonuj ten profil"
+
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Delete this profile"
+msgstr "Usuń ten profil"
+
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Add profile things"
+msgstr "Dodaj elementy profilu"
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Personal"
+msgstr "Osobisty"
+
+#: ../../Zotlabs/Module/Profiles.php:737
+msgid "Relationship"
+msgstr "Relacja"
+
+#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51
+#: ../../include/datetime.php:58
+msgid "Miscellaneous"
+msgstr "Różne"
+
+#: ../../Zotlabs/Module/Profiles.php:740
+msgid "Import profile from file"
+msgstr "Importuj profil z pliku"
+
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Export profile to file"
+msgstr "Eksportuj profil do pliku"
+
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Your gender"
+msgstr "Twoja płeć"
+
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Marital status"
+msgstr "Stan cywilny"
+
+#: ../../Zotlabs/Module/Profiles.php:744
+msgid "Sexual preference"
+msgstr "Preferencje seksualne"
+
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "Profile name"
+msgstr "Nazwa profilu"
+
+#: ../../Zotlabs/Module/Profiles.php:749
+msgid "This is your default profile."
+msgstr "To jest Twój profil domyślny."
+
+#: ../../Zotlabs/Module/Profiles.php:751
+msgid "Your full name"
+msgstr "Twoje imię i nazwisko lub pełna nazwa"
+
+#: ../../Zotlabs/Module/Profiles.php:752
+msgid "Short title/tescription"
+msgstr "Krótki tytuł/opis"
+
+#: ../../Zotlabs/Module/Profiles.php:752
+msgid "Maximal 190 characters"
+msgstr "Maksymalnie 190 znaków"
+
+#: ../../Zotlabs/Module/Profiles.php:755
+msgid "Street address"
+msgstr "Ulica"
+
+#: ../../Zotlabs/Module/Profiles.php:756
+msgid "Locality/City"
+msgstr "Miejscowość"
+
+#: ../../Zotlabs/Module/Profiles.php:757
+msgid "Region/State"
+msgstr "Region/Stan"
+
+#: ../../Zotlabs/Module/Profiles.php:758
+msgid "Postal/Zip code"
+msgstr "Kod pocztowy"
+
+#: ../../Zotlabs/Module/Profiles.php:764
+msgid "Who (if applicable)"
+msgstr "Kto (jeśli dotyczy)"
+
+#: ../../Zotlabs/Module/Profiles.php:764
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Przykłady: jan123, Jan Kowalski, jan@example.com"
+
+#: ../../Zotlabs/Module/Profiles.php:765
+msgid "Since (date)"
+msgstr "Od (data)"
+
+#: ../../Zotlabs/Module/Profiles.php:768
+msgid "Tell us about yourself"
+msgstr "Opowiedz nam o sobie"
+
+#: ../../Zotlabs/Module/Profiles.php:769
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:68
+msgid "Homepage URL"
+msgstr "Adres URL strony domowej"
+
+#: ../../Zotlabs/Module/Profiles.php:770
+msgid "Hometown"
+msgstr "Miejscowość zamieszkania"
+
+#: ../../Zotlabs/Module/Profiles.php:771
+msgid "Political views"
+msgstr "PoglÄ…dy polityczne"
+
+#: ../../Zotlabs/Module/Profiles.php:772
+msgid "Religious views"
+msgstr "PoglÄ…dy religijne"
+
+#: ../../Zotlabs/Module/Profiles.php:773
+msgid "Keywords used in directory listings"
+msgstr "Słowa kluczowe używane w wykazach katalogów"
+
+#: ../../Zotlabs/Module/Profiles.php:773
+msgid "Example: fishing photography software"
+msgstr "Przykład: oprogramowanie do fotografii wędkarskiej"
+
+#: ../../Zotlabs/Module/Profiles.php:776
+msgid "Musical interests"
+msgstr "Zainteresowania muzyczne"
+
+#: ../../Zotlabs/Module/Profiles.php:777
+msgid "Books, literature"
+msgstr "KsiÄ…zki, literatura"
+
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Television"
+msgstr "Telewizja"
+
+#: ../../Zotlabs/Module/Profiles.php:779
+msgid "Film/Dance/Culture/Entertainment"
+msgstr "Film/Dance/Culture/Entertainment"
+
+#: ../../Zotlabs/Module/Profiles.php:780
+msgid "Hobbies/Interests"
+msgstr "Zainteresowania"
+
+#: ../../Zotlabs/Module/Profiles.php:781
+msgid "Love/Romance"
+msgstr "Miłość/romans"
+
+#: ../../Zotlabs/Module/Profiles.php:783
+msgid "School/Education"
+msgstr "Edukacja szkolna"
+
+#: ../../Zotlabs/Module/Profiles.php:784
+msgid "Contact information and social networks"
+msgstr "Informacje kontaktowe i sieci społecznościowe"
+
+#: ../../Zotlabs/Module/Profiles.php:785
+msgid "My other channels"
+msgstr "Moje inne kanały"
+
+#: ../../Zotlabs/Module/Profiles.php:787
+msgid "Communications"
+msgstr "Komunikacja"
+
+#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1557
+msgid "Profile Image"
+msgstr "Obraz profilowy"
+
+#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1538
+#: ../../include/nav.php:115
+msgid "Edit Profiles"
+msgstr "Edytuj profile"
+
+#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214
+#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262
+msgid "Create New"
+msgstr "Utwórz nowy"
+
+#: ../../Zotlabs/Module/Import.php:68 ../../Zotlabs/Module/Import_items.php:48
+msgid "Nothing to import."
+msgstr "Nie ma nic do zaimportowania."
+
+#: ../../Zotlabs/Module/Import.php:83 ../../Zotlabs/Module/Import.php:99
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Unable to download data from old server"
+msgstr "Nie można pobrać danych ze starego serwera"
+
+#: ../../Zotlabs/Module/Import.php:106 ../../Zotlabs/Module/Import_items.php:77
+msgid "Imported file is empty."
+msgstr "Zaimportowany plik jest pusty."
+
+#: ../../Zotlabs/Module/Import.php:162
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Twój plan usług obejmuje tylko %d kanał(y)/kanałów."
+
+#: ../../Zotlabs/Module/Import.php:189
+msgid "No channel. Import failed."
+msgstr "Brak kanału. Import nieudany."
+
+#: ../../Zotlabs/Module/Import.php:593
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:142
+msgid "Import completed."
+msgstr "Import zakończony."
+
+#: ../../Zotlabs/Module/Import.php:621
+msgid "You must be logged in to use this feature."
+msgstr "Trzeba się zalogować, aby korzystać z tej funkcji."
+
+#: ../../Zotlabs/Module/Import.php:626
+msgid "Import Channel"
+msgstr "Importuj kanał"
+
+#: ../../Zotlabs/Module/Import.php:627
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You "
+"may retrieve the channel identity from the old server/hub via the network or "
+"provide an export file."
+msgstr ""
+"Użyj tego formularza, aby zaimportować istniejący kanał z innego serwera/"
+"huba. Możesz pobrać tożsamość kanału ze starego serwera/huba przez sieć lub "
+"dostarczyć plik eksportu."
+
+#: ../../Zotlabs/Module/Import.php:628
+#: ../../Zotlabs/Module/Import_items.php:127
+msgid "File to Upload"
+msgstr "Plik do przesłania"
+
+#: ../../Zotlabs/Module/Import.php:629
+msgid "Or provide the old server/hub details"
+msgstr "Lub podaj szczegóły starego serwera/huba"
+
+#: ../../Zotlabs/Module/Import.php:631
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Twój stary adres tożsamości (xyz@example.com)"
+
+#: ../../Zotlabs/Module/Import.php:632
+msgid "Your old login email address"
+msgstr "Twój stary adres e-mail logowania"
+
+#: ../../Zotlabs/Module/Import.php:633
+msgid "Your old login password"
+msgstr "Twoje stare hasło logowania"
+
+#: ../../Zotlabs/Module/Import.php:634
+msgid "Import a few months of posts if possible (limited by available memory"
+msgstr ""
+"Zaimportuj posty z kilku miesięcy, jeśli to możliwe (ograniczone dostępną "
+"pamięcią"
+
+#: ../../Zotlabs/Module/Import.php:636
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be "
+"able to post from either location, but only one can be marked as the primary "
+"location for files, photos, and media."
+msgstr ""
+"W obu przypadkach wybierz, czy chcesz ustawić ten hub jako nowy adres "
+"podstawowy, czy też rolę tą powinna pełnić Twoja stara lokalizacja. Będziesz "
+"mógł/mogła publikować z dowolnej lokalizacji, ale tylko jedna z nich może "
+"być oznaczona jako główna lokalizacja plików, zdjęć i multimediów."
+
+#: ../../Zotlabs/Module/Import.php:638
+msgid "Make this hub my primary location"
+msgstr "Ustaw ten hub ako moją główną lokalizację"
+
+#: ../../Zotlabs/Module/Import.php:639
+msgid "Move this channel (disable all previous locations)"
+msgstr "Przenieś ten kanał (wyłącz wszystkie poprzednie lokalizacje)"
+
+#: ../../Zotlabs/Module/Import.php:640
+msgid "Use this channel nickname instead of the one provided"
+msgstr "Użyj tego pseudonimu kanału zamiast podanego"
+
+#: ../../Zotlabs/Module/Import.php:640
+msgid ""
+"Leave blank to keep your existing channel nickname. You will be randomly "
+"assigned a similar nickname if either name is already allocated on this site."
+msgstr ""
+"Pozostaw puste, aby zachować istniejący pseudonim kanału. Otrzymasz losowo "
+"podobny pseudonim, jeśli któryś z nich jest już przydzielony na tej stronie."
+
+#: ../../Zotlabs/Module/Import.php:642
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr ""
+"Ten proces może zająć kilka minut. Prześlij formularz tylko raz i pozostaw "
+"tę stronę otwartą do zakończenia procedury."
+
+#: ../../Zotlabs/Module/Like.php:93
+msgid "Like/Dislike"
+msgstr "Polub/Dezaprobuj"
+
+#: ../../Zotlabs/Module/Like.php:98
+msgid "This action is restricted to members."
+msgstr "Ta akcja jest ograniczona do członków."
+
+#: ../../Zotlabs/Module/Like.php:99
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
+"\"register\">register as a new $Projectname member</a> to continue."
+msgstr ""
+"Aby kontynuować, <a href=\"rmagic\">zaloguj się za pomocą ID $Projectname</"
+"a> lub <a href=\"register\">zarejestruj się jako nowy członek $Projectname</"
+"a>."
+
+#: ../../Zotlabs/Module/Like.php:154 ../../Zotlabs/Module/Like.php:180
+#: ../../Zotlabs/Module/Like.php:218
+msgid "Invalid request."
+msgstr "Nieprawidłowe żądanie."
+
+#: ../../Zotlabs/Module/Like.php:166 ../../include/conversation.php:135
+msgid "channel"
+msgstr "kanał"
+
+#: ../../Zotlabs/Module/Like.php:195
+msgid "thing"
+msgstr "rzecz"
+
+#: ../../Zotlabs/Module/Like.php:241
+msgid "Channel unavailable."
+msgstr "Kanał niedostępny."
+
+#: ../../Zotlabs/Module/Like.php:277
+msgid "Previous action reversed."
+msgstr "Poprzednia czynność została cofnięta."
+
+#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Tagger.php:71
+#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2971
+#: ../../include/conversation.php:128 ../../include/text.php:2252
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895
+#: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71
+msgid "photo"
+msgstr "zdjecie"
+
+#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Subthread.php:112
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895
+msgid "status"
+msgstr "stan"
+
+#: ../../Zotlabs/Module/Like.php:469 ../../Zotlabs/Lib/Activity.php:3006
+#: ../../include/conversation.php:174
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1537
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1932
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s polubień %2$s %3$s"
+
+#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3008
+#: ../../include/conversation.php:177
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1934
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s sezaprobat %2$s %3$s"
+
+#: ../../Zotlabs/Module/Like.php:473
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%1$s zgadza siÄ™ z %3$s dla %2$s"
+
+#: ../../Zotlabs/Module/Like.php:475
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%1$s nie zgadza siÄ™ z %3$s dla %2$s"
+
+#: ../../Zotlabs/Module/Like.php:477
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%1$s wstrzymuje siÄ™ od decyzji w sprawie %3$s dla %2$s"
+
+#: ../../Zotlabs/Module/Like.php:479
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2184
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%1$s uczesticzy %2$s %3$s"
+
+#: ../../Zotlabs/Module/Like.php:481
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2186
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%1$s nie uczestniczy %2$s %3$s"
+
+#: ../../Zotlabs/Module/Like.php:483
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2188
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%1$s może uczestniczyć %2$s %3$s"
+
+#: ../../Zotlabs/Module/Like.php:592
+msgid "Action completed."
+msgstr "Akcja zakończona."
+
+#: ../../Zotlabs/Module/Like.php:593
+msgid "Thank you."
+msgstr "Dziękujemy."
+
+#: ../../Zotlabs/Module/Defperms.php:68 ../../Zotlabs/Module/Connedit.php:89
+msgid "Could not access contact record."
+msgstr "Brak dostępu do rekordu kontaktu."
+
+#: ../../Zotlabs/Module/Defperms.php:112
+#: ../../Zotlabs/Module/Settings/Channel.php:267
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:54
+#: ../../extend/addon/hzaddons/piwik/piwik.php:116
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:82
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:93
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:171
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:54
+#: ../../extend/addon/hzaddons/twitter/twitter.php:494
+#: ../../extend/addon/hzaddons/logrot/logrot.php:54
+msgid "Settings updated."
+msgstr "Zaktualizowano ustawienia."
+
+#: ../../Zotlabs/Module/Defperms.php:190
+msgid "Default Permissions App"
+msgstr "Aplikacja Default Permissions"
+
+#: ../../Zotlabs/Module/Defperms.php:191
+msgid "Set custom default permissions for new connections"
+msgstr "Ustaw niestandardowe uprawnienia domyślne dla nowych połączeń"
+
+#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:859
+msgid "Connection Default Permissions"
+msgstr "Domyślne uprawnienia połączenia"
+
+#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:860
+msgid "Apply these permissions automatically"
+msgstr "Zastosuj te uprawnienia automatycznie"
+
+#: ../../Zotlabs/Module/Defperms.php:256
+#: ../../Zotlabs/Module/Settings/Channel.php:472
+msgid ""
+"If enabled, connection requests will be approved without your interaction"
+msgstr ""
+"Jeśli jest włączone, prośby o połączenie będą zatwierdzane bez Twojej "
+"interakcji"
+
+#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:861
+msgid "Permission role"
+msgstr "Rola uprawnień"
+
+#: ../../Zotlabs/Module/Defperms.php:257
+#: ../../Zotlabs/Module/New_channel.php:157
+#: ../../Zotlabs/Module/New_channel.php:164
+#: ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324
+msgid "Loading"
+msgstr "Åadowanie"
+
+#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:862
+msgid "Add permission role"
+msgstr "Dodaj rolę uprawnień"
+
+#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:875
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr ""
+"Uprawnienia wskazane na tej stronie zostanÄ… zastosowane do wszystkich nowych "
+"połączeń."
+
+#: ../../Zotlabs/Module/Defperms.php:263
+msgid "Automatic approval settings"
+msgstr "Ustawienia automatycznego zatwierdzania"
+
+#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:895
+#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124
+msgid "inherited"
+msgstr "dziedziczone"
+
+#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:900
+#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122
+msgid "My Settings"
+msgstr "Moje ustawienia"
+
+#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:902
+#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127
+msgid "Individual Permissions"
+msgstr "Uprawnienia indywidualne"
+
+#: ../../Zotlabs/Module/Defperms.php:271
+msgid ""
+"Some individual permissions may have been preset or locked based on your "
+"channel type and privacy settings."
+msgstr ""
+"Niektóre indywidualne uprawnienia mogły zostać wstępnie ustawione lub "
+"zablokowane w zależności od typu kanału i ustawień prywatności."
+
+#: ../../Zotlabs/Module/Layouts.php:129 ../../Zotlabs/Module/Layouts.php:189
+#: ../../Zotlabs/Module/Editlayout.php:128
+msgid "Layout Name"
+msgstr "Nazwa układu"
+
+#: ../../Zotlabs/Module/Layouts.php:132 ../../Zotlabs/Module/Editlayout.php:129
+msgid "Layout Description (Optional)"
+msgstr "Opis układu (opcjonalnie)"
+
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2700
+msgid "Layouts"
+msgstr "Układy"
+
+#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348
+#: ../../include/nav.php:174 ../../include/nav.php:320
+#: ../../include/help.php:117 ../../include/help.php:125
+msgid "Help"
+msgstr "Pomoc"
+
+#: ../../Zotlabs/Module/Layouts.php:186
+msgid "Comanche page description language help"
+msgstr "Pomoc w zakresie języka opisu strony Comanche"
+
+#: ../../Zotlabs/Module/Layouts.php:190
+msgid "Layout Description"
+msgstr "Opis układu"
+
+#: ../../Zotlabs/Module/Layouts.php:195
+msgid "Download PDL file"
+msgstr "Pobierz plik PDL"
+
+#: ../../Zotlabs/Module/Pubstream.php:20
+msgid "Public Stream App"
+msgstr "Aplikacja Public Stream"
+
+#: ../../Zotlabs/Module/Pubstream.php:21
+msgid "The unmoderated public stream of this hub"
+msgstr "Niemoderowany strumień publiczny tego huba"
+
+#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76
+#: ../../Zotlabs/Module/Channel.php:224 ../../Zotlabs/Module/Hq.php:125
+#: ../../Zotlabs/Module/Network.php:205
+msgid "Reset form"
+msgstr "Resetuj formularz"
+
+#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375
+#: ../../Zotlabs/Widget/Notifications.php:162
+msgid "Public Stream"
+msgstr "Strumień publiczny"
+
+#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672
+msgid "Private forum"
+msgstr "Prywatne forum"
+
+#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672
+msgid "Public forum"
+msgstr "Publiczne forum"
+
+#: ../../Zotlabs/Module/Group.php:46
+msgid "Privacy group created."
+msgstr "Utworzono grupę prywatności."
+
+#: ../../Zotlabs/Module/Group.php:49
+msgid "Could not create privacy group."
+msgstr "Nie udało się utworzyć grupy prywatności."
+
+#: ../../Zotlabs/Module/Group.php:62 ../../Zotlabs/Module/Group.php:214
+#: ../../include/items.php:4491
+msgid "Privacy group not found."
+msgstr "Nie znaleziono grupy prywatności."
+
+#: ../../Zotlabs/Module/Group.php:81
+msgid "Privacy group updated."
+msgstr "Grupa prywatności została zaktualizowana."
+
+#: ../../Zotlabs/Module/Group.php:107
+msgid "Privacy Groups App"
+msgstr "Aplikacja Privacy Groups"
+
+#: ../../Zotlabs/Module/Group.php:108
+msgid "Management of privacy groups"
+msgstr "Zarządzanie grupami prywatności"
+
+#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154
+#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364
+#: ../../Zotlabs/Widget/Activity_filter.php:82 ../../include/group.php:321
+#: ../../include/acl_selectors.php:86 ../../include/nav.php:101
+msgid "Privacy Groups"
+msgstr "Grupy prywatności"
+
+#: ../../Zotlabs/Module/Group.php:143
+msgid "Add Group"
+msgstr "Dodaj grupÄ™"
+
+#: ../../Zotlabs/Module/Group.php:147
+msgid "Privacy group name"
+msgstr "Nazwa grupy prywatności"
+
+#: ../../Zotlabs/Module/Group.php:148 ../../Zotlabs/Module/Group.php:257
+msgid "Members are visible to other channels"
+msgstr "Członkowie są widoczni dla innych kanałów"
+
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group removed."
+msgstr "Grupa prywatności została usunięta."
+
+#: ../../Zotlabs/Module/Group.php:186
+msgid "Unable to remove privacy group."
+msgstr "Nie można usunąć grupy prywatności."
+
+#: ../../Zotlabs/Module/Group.php:252
+#, php-format
+msgid "Privacy Group: %s"
+msgstr "Grupa prywatności: %s"
+
+#: ../../Zotlabs/Module/Group.php:254
+msgid "Privacy group name: "
+msgstr "Nazwa grupy prywatności: "
+
+#: ../../Zotlabs/Module/Group.php:259
+msgid "Delete Group"
+msgstr "Usuń grupę"
+
+#: ../../Zotlabs/Module/Group.php:270
+msgid "Group members"
+msgstr "Członkowie grupy"
+
+#: ../../Zotlabs/Module/Group.php:272
+msgid "Not in this group"
+msgstr "Nie w tej grupie"
+
+#: ../../Zotlabs/Module/Group.php:304
+msgid "Click a channel to toggle membership"
+msgstr "Kliknij kanał, aby przełączyć członkostwo"
+
+#: ../../Zotlabs/Module/Removeme.php:35
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+"Usunięcie kanału nie jest dozwolone w ciągu 48 godzin od zmiany hasła do "
+"konta."
+
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
+msgstr "Usuń ten kanał"
+
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Changeaddr.php:78
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "WARNING: "
+msgstr "UWAGA: "
+
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
+msgstr "Ten kanał zostanie całkowicie usunięty z sieci. "
+
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr "Ta akcja jest bezpowrotna i nie można jej cofnąć!"
+
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Changeaddr.php:79
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid "Please enter your password for verification:"
+msgstr "Wprowadź hasło do weryfikacji:"
+
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:596
+msgid "Remove Channel"
+msgstr "Usuń kanał"
+
+#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56
+msgid "App installed."
+msgstr "Aplikacja została zainstalowana."
+
+#: ../../Zotlabs/Module/Appman.php:49
+msgid "Malformed app."
+msgstr "Nieprawidłowa aplikacja."
+
+#: ../../Zotlabs/Module/Appman.php:132
+msgid "Embed code"
+msgstr "Osadzony kod"
+
+#: ../../Zotlabs/Module/Appman.php:138
+msgid "Edit App"
+msgstr "Edutuj aplikacjÄ™"
+
+#: ../../Zotlabs/Module/Appman.php:138
+msgid "Create App"
+msgstr "Utwórz aplikację"
+
+#: ../../Zotlabs/Module/Appman.php:143
+msgid "Name of app"
+msgstr "Nazwa aplikacji"
+
+#: ../../Zotlabs/Module/Appman.php:144
+msgid "Location (URL) of app"
+msgstr "Lokalizacja (URL) aplikacji"
+
+#: ../../Zotlabs/Module/Appman.php:146
+msgid "Photo icon URL"
+msgstr "Adres URL ikony zdjęcia"
+
+#: ../../Zotlabs/Module/Appman.php:146
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pikseli - opcjonalnie"
+
+#: ../../Zotlabs/Module/Appman.php:147
+msgid "Categories (optional, comma separated list)"
+msgstr "Kategorie (opcjonalne, lista rozdzielana przecinkami)"
+
+#: ../../Zotlabs/Module/Appman.php:148
+msgid "Version ID"
+msgstr "ID wesji"
+
+#: ../../Zotlabs/Module/Appman.php:149
+msgid "Price of app"
+msgstr "Cena aplikacji"
+
+#: ../../Zotlabs/Module/Appman.php:150
+msgid "Location (URL) to purchase app"
+msgstr "Lokalizacja (URL) do zakupu aplikacji"
+
+#: ../../Zotlabs/Module/Changeaddr.php:35
+msgid ""
+"Channel name changes are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+"Zmiana nazwy kanału jest niedozwolona w ciągu 48 godzin od zmiany hasła do "
+"konta."
+
+#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:225
+#: ../../include/channel.php:706
+msgid "Reserved nickname. Please choose another."
+msgstr "Zarezerwowany pseudonim. Proszę wybrać inny."
+
+#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:230
+#: ../../include/channel.php:711
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr ""
+"Pseudonim zawiera nieobsługiwane znaki lub jest już używany w tym serwisie."
+
+#: ../../Zotlabs/Module/Changeaddr.php:77
+msgid "Change channel nickname/address"
+msgstr "Zmień krótką nazwę/adres kanału"
+
+#: ../../Zotlabs/Module/Changeaddr.php:78
+msgid "Any/all connections on other networks will be lost!"
+msgstr "Wszystkie połączenia w innych sieciach zostaną utracone!"
+
+#: ../../Zotlabs/Module/Changeaddr.php:80
+msgid "New channel address"
+msgstr "Nowy adres kanału"
+
+#: ../../Zotlabs/Module/Changeaddr.php:81
+msgid "Rename Channel"
+msgstr "Zmień nazwę kanału"
+
+#: ../../Zotlabs/Module/Oauth.php:45
+msgid "Name is required"
+msgstr "Wymaga siÄ™ podania nazwy"
+
+#: ../../Zotlabs/Module/Oauth.php:49
+msgid "Key and Secret are required"
+msgstr "Wymaga siÄ™ wprowadzenia klucza i sekretu"
+
+#: ../../Zotlabs/Module/Oauth.php:100
+msgid "OAuth Apps Manager App"
+msgstr "Aplikacja OAuth Apps Manager"
+
+#: ../../Zotlabs/Module/Oauth.php:101
+msgid "OAuth authentication tokens for mobile and remote apps"
+msgstr "Tokeny uwierzytelniania OAuth dla aplikacji mobilnych i zdalnych"
+
+#: ../../Zotlabs/Module/Oauth.php:110 ../../Zotlabs/Module/Oauth.php:136
+#: ../../Zotlabs/Module/Oauth.php:172 ../../Zotlabs/Module/Oauth2.php:143
+#: ../../Zotlabs/Module/Oauth2.php:193
+msgid "Add application"
+msgstr "Dodaj aplikacjÄ™"
+
+#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth2.php:118
+#: ../../Zotlabs/Module/Oauth2.php:146
+msgid "Name of application"
+msgstr "Nazwa aplikacji"
+
+#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:596
+#: ../../extend/addon/hzaddons/twitter/twitter.php:505
+msgid "Consumer Key"
+msgstr "Klucz konsumenta"
+
+#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:115
+#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr ""
+"Wygenerowane automatycznie - w razie potrzeby zmień. Maksymalna długość 20"
+
+#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141
+#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:595
+#: ../../extend/addon/hzaddons/twitter/twitter.php:506
+msgid "Consumer Secret"
+msgstr "Hasło konsumenta"
+
+#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142
+#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148
+msgid "Redirect"
+msgstr "Przekierowanie"
+
+#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth2.php:120
+#: ../../Zotlabs/Module/Oauth2.php:148
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires this"
+msgstr ""
+"Identyfikator URI przekierowania - pozostaw puste, chyba że aplikacja tego "
+"wymaga"
+
+#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143
+msgid "Icon url"
+msgstr "URL ikony"
+
+#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123
+#: ../../Zotlabs/Module/Sources.php:158
+msgid "Optional"
+msgstr "Opcjonalne"
+
+#: ../../Zotlabs/Module/Oauth.php:128
+msgid "Application not found."
+msgstr "Aplikacji nie znaleziono."
+
+#: ../../Zotlabs/Module/Oauth.php:171
+msgid "Connected OAuth Apps"
+msgstr "Połączone aplikacje OAuth"
+
+#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196
+msgid "Client key starts with"
+msgstr "Klucz klienta zaczyna siÄ™ od"
+
+#: ../../Zotlabs/Module/Oauth.php:176 ../../Zotlabs/Module/Oauth2.php:197
+msgid "No name"
+msgstr "Brak nazwy"
+
+#: ../../Zotlabs/Module/Oauth.php:177 ../../Zotlabs/Module/Oauth2.php:198
+msgid "Remove authorization"
+msgstr "Usuń autoryzację"
+
+#: ../../Zotlabs/Module/Email_resend.php:12
+#: ../../Zotlabs/Module/Email_validation.php:24
+msgid "Token verification failed."
+msgstr "Weryfikacja tokena nie powiodła się."
+
+#: ../../Zotlabs/Module/Email_resend.php:30
+msgid "Email verification resent"
+msgstr "Weryfikacja adresu e-mail została wysłana ponownie"
+
+#: ../../Zotlabs/Module/Email_resend.php:33
+msgid "Unable to resend email verification message."
+msgstr "Nie można ponownie wysłać weryfikacyjną wiadomość e-mail."
+
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:23
+#: ../../Zotlabs/Module/Display.php:26 ../../Zotlabs/Module/Photos.php:519
+#: ../../Zotlabs/Module/Directory.php:73 ../../Zotlabs/Module/Directory.php:78
+#: ../../Zotlabs/Module/Ratings.php:83
+msgid "Public access denied."
+msgstr "Odmowa dostępu publicznego."
+
+#: ../../Zotlabs/Module/Search.php:41 ../../Zotlabs/Module/Connections.php:378
+#: ../../Zotlabs/Lib/Apps.php:353 ../../Zotlabs/Widget/Sitesearch.php:31
+#: ../../Zotlabs/Widget/Activity_filter.php:193 ../../include/text.php:1150
+#: ../../include/text.php:1162 ../../include/acl_selectors.php:148
+#: ../../include/nav.php:188
+msgid "Search"
+msgstr "Szukaj"
+
+#: ../../Zotlabs/Module/Search.php:222
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "Elementy oznaczone tagiem: %s"
+
+#: ../../Zotlabs/Module/Search.php:224
+#, php-format
+msgid "Search results for: %s"
+msgstr "Wyniki wyszukiwania dla: %s"
+
+#: ../../Zotlabs/Module/Moderate.php:67
+msgid "Comment approved"
+msgstr "Komentarz zatwierdzony"
+
+#: ../../Zotlabs/Module/Moderate.php:71
+msgid "Comment deleted"
+msgstr "Komentarz usuniety"
+
+#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:109
+msgid "Edit post"
+msgstr "Edytuj post"
+
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "Nie można znaleźć Twojego huba."
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Opublikowanie powiodło się."
+
+#: ../../Zotlabs/Module/Chanview.php:95 ../../Zotlabs/Module/Card_edit.php:44
+#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Page.php:75
+#: ../../Zotlabs/Module/Block.php:41 ../../Zotlabs/Module/Article_edit.php:44
+#: ../../Zotlabs/Module/Attach.php:21 ../../Zotlabs/Module/Cal.php:31
+#: ../../Zotlabs/Module/Attach_edit.php:52
+msgid "Channel not found."
+msgstr "Nie znaleziono kanału."
+
+#: ../../Zotlabs/Module/Chanview.php:132
+msgid "toggle full screen mode"
+msgstr "przełącz tryb pełnego ekranu"
+
+#: ../../Zotlabs/Module/Tagger.php:50
+msgid "Post not found."
+msgstr "Nie znaleziono postu."
+
+#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2971
+#: ../../include/conversation.php:158 ../../include/text.php:2258
+#: ../../include/markdown.php:204 ../../include/bbcode.php:523
+msgid "post"
+msgstr "post"
+
+#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160
+#: ../../include/text.php:2260
+msgid "comment"
+msgstr "komentarz"
+
+#: ../../Zotlabs/Module/Tagger.php:121
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s oznaczono tagiem %3$s %2$s w %4$s"
+
+#: ../../Zotlabs/Module/Import_items.php:93
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Ostrzeżenie: wersje baz danych różnią się o %1$d aktualizacji."
+
+#: ../../Zotlabs/Module/Import_items.php:108
+msgid "Import completed"
+msgstr "Import zakończony"
+
+#: ../../Zotlabs/Module/Import_items.php:125
+msgid "Import Items"
+msgstr "Importuj elementy"
+
+#: ../../Zotlabs/Module/Import_items.php:126
+msgid "Use this form to import existing posts and content from an export file."
+msgstr ""
+"Użyj tego formularza, aby zaimportować istniejące posty i treść z pliku "
+"eksportu."
+
+#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118
+msgid "Continue"
+msgstr "Kontynuj"
+
+#: ../../Zotlabs/Module/Connect.php:99
+msgid "Premium Channel Setup"
+msgstr "Konfiguracja kanału Premium"
+
+#: ../../Zotlabs/Module/Connect.php:101
+msgid "Enable premium channel connection restrictions"
+msgstr "Włącz ograniczenia połączeń z kanałem premium"
+
+#: ../../Zotlabs/Module/Connect.php:102
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr ""
+"Podaj swoje ograniczenia lub warunki, takie jak pokwitowanie PayPal, "
+"wytyczne dotyczące użytkowania itp."
+
+#: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Connect.php:124
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr ""
+"Ten kanał, przed podłączeniem, może wymagać dodatkowych kroków lub "
+"potwierdzenia następujących warunków:"
+
+#: ../../Zotlabs/Module/Connect.php:105
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Potencjalne połączenia zobaczą następujący tekst przed kontynuowaniem:"
+
+#: ../../Zotlabs/Module/Connect.php:106 ../../Zotlabs/Module/Connect.php:127
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided "
+"on this page."
+msgstr ""
+"Kontynuując, oświadczam, że postępowałem zgodnie z instrukcjami podanymi na "
+"tej stronie."
+
+#: ../../Zotlabs/Module/Connect.php:115
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Właściciel kanału nie przekazał żadnych szczegółowych instrukcji.)"
+
+#: ../../Zotlabs/Module/Connect.php:123
+msgid "Restricted or Premium Channel"
+msgstr "Kanał z ograniczeniami lub premium"
+
+#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Utworzno %1$ .0f z %2$.0f dozwolonych kanałów."
+
+#: ../../Zotlabs/Module/New_channel.php:159
+msgid "Your real name is recommended."
+msgstr "Zalecane jest podania prawdziwego imienia i nazwiska lub nazwy."
+
+#: ../../Zotlabs/Module/New_channel.php:160
+msgid ""
+"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
+"Group\""
+msgstr ""
+"Przykłady: \"Bob Jameson\", \"Lisa i jej konie\", \"Piłka nożna\", \"Grupa "
+"lotnicza\""
+
+#: ../../Zotlabs/Module/New_channel.php:165
+msgid ""
+"This will be used to create a unique network address (like an email address)."
+msgstr ""
+"Zostanie to zastosowane do utworzenia unikalnego adresu sieciowego "
+"(podobnego do adresu e-mail)."
+
+#: ../../Zotlabs/Module/New_channel.php:167
+msgid "Allowed characters are a-z 0-9, - and _"
+msgstr "Dozwolone znaki, to a-z 0-9, - oraz _"
+
+#: ../../Zotlabs/Module/New_channel.php:175
+msgid "Channel name"
+msgstr "Nazwa kanału"
+
+#: ../../Zotlabs/Module/New_channel.php:177
+#: ../../Zotlabs/Module/Register.php:263
+msgid "Choose a short nickname"
+msgstr "Wybierz krótki pseudonim"
+
+#: ../../Zotlabs/Module/New_channel.php:178
+#: ../../Zotlabs/Module/Register.php:264
+#: ../../Zotlabs/Module/Settings/Channel.php:537
+msgid "Channel role and privacy"
+msgstr "Rola kanału i prywatność"
+
+#: ../../Zotlabs/Module/New_channel.php:178
+msgid ""
+"Select a channel permission role compatible with your usage needs and "
+"privacy requirements."
+msgstr ""
+"Wybierz rolę uprawnień do kanału, zgodną z Twoimi potrzebami użytkowania i "
+"wymaganiami dotyczącymi prywatności."
+
+#: ../../Zotlabs/Module/New_channel.php:178
+#: ../../Zotlabs/Module/Register.php:264
+msgid "Read more about channel permission roles"
+msgstr "Przeczytaj więcej o rolach uprawnień do kanału"
+
+#: ../../Zotlabs/Module/New_channel.php:181
+msgid "Create a Channel"
+msgstr "Utwórz kanał"
+
+#: ../../Zotlabs/Module/New_channel.php:182
+msgid ""
+"A channel is a unique network identity. It can represent a person (social "
+"network profile), a forum (group), a business or celebrity page, a newsfeed, "
+"and many other things."
+msgstr ""
+"Kanał to unikalna tożsamość sieciowa. Może reprezentować osobę (profil sieci "
+"społecznościowej), forum (grupę), stronę biznesową lub celebrycką, kanał "
+"informacyjny i wiele innych rzeczy."
+
+#: ../../Zotlabs/Module/New_channel.php:183
+msgid ""
+"or <a href=\"import\">import an existing channel</a> from another location."
+msgstr ""
+"lub <a href=\"import\">zaimportuj istniejący kanał</a> z innej lokalizacji."
+
+#: ../../Zotlabs/Module/New_channel.php:188
+msgid "Validate"
+msgstr "Zalegalizuj"
+
+#: ../../Zotlabs/Module/Apps.php:50 ../../Zotlabs/Widget/Appstore.php:14
+msgid "Available Apps"
+msgstr "Dostępne aplikacje"
+
+#: ../../Zotlabs/Module/Apps.php:50
+msgid "Installed Apps"
+msgstr "Zainstalowane aplikacje"
+
+#: ../../Zotlabs/Module/Apps.php:53
+msgid "Manage Apps"
+msgstr "ZarzÄ…dzaj aplikacjami"
+
+#: ../../Zotlabs/Module/Apps.php:54
+msgid "Create Custom App"
+msgstr "Utwórz własną aplikację"
+
+#: ../../Zotlabs/Module/Removeaccount.php:35
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+"Usunięcie konta nie jest dozwolone w ciągu 48 godzin od zmiany hasła do "
+"konta."
+
+#: ../../Zotlabs/Module/Removeaccount.php:57
+msgid "Remove This Account"
+msgstr "Usuń to konto"
+
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid ""
+"This account and all its channels will be completely removed from the "
+"network. "
+msgstr "To konto i wszystkie jego kanały zostaną całkowicie usunięte z sieci. "
+
+#: ../../Zotlabs/Module/Removeaccount.php:61
+#: ../../Zotlabs/Module/Settings/Account.php:105
+msgid "Remove Account"
+msgstr "Usuń konto"
+
+#: ../../Zotlabs/Module/Filestorage.php:14
+#: ../../Zotlabs/Module/Filestorage.php:53
+msgid "Deprecated!"
+msgstr "Przestarzałe!"
+
+#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Display.php:42
+#: ../../Zotlabs/Module/Display.php:429 ../../Zotlabs/Module/Admin.php:62
+#: ../../Zotlabs/Module/Admin/Themes.php:72
+#: ../../Zotlabs/Module/Admin/Addons.php:260 ../../Zotlabs/Module/Thing.php:96
+#: ../../Zotlabs/Module/Viewsrc.php:25 ../../include/items.php:3919
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:284
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:285
+msgid "Item not found."
+msgstr "Nie znaleziono elementu."
+
+#: ../../Zotlabs/Module/Filestorage.php:109
+#: ../../Zotlabs/Module/Attach_edit.php:69
+msgid "File not found."
+msgstr "Nie znaleziono pliku."
+
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Permission Denied."
+msgstr "Odmowa dostępu."
+
+#: ../../Zotlabs/Module/Filestorage.php:190
+msgid "Edit file permissions"
+msgstr "Edytuj uprawnienia do plików"
+
+#: ../../Zotlabs/Module/Filestorage.php:195
+#: ../../Zotlabs/Module/Connedit.php:682 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Photos.php:678 ../../Zotlabs/Module/Photos.php:1047
+#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374
+#: ../../include/acl_selectors.php:153
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:254
+msgid "Permissions"
+msgstr "Uprawnienia"
+
+#: ../../Zotlabs/Module/Filestorage.php:202
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:261
+msgid "Set/edit permissions"
+msgstr "Ustaw/edytuj uprawnienia"
+
+#: ../../Zotlabs/Module/Filestorage.php:203
+msgid "Include all files and sub folders"
+msgstr "Uwzględnij wszystkie pliki i podfoldery"
+
+#: ../../Zotlabs/Module/Filestorage.php:204
+msgid "Return to file list"
+msgstr "Wróć do listy plików"
+
+#: ../../Zotlabs/Module/Filestorage.php:206
+#: ../../Zotlabs/Storage/Browser.php:386
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Skopiuj/wklej ten kod, aby dołączyć plik do postu"
+
+#: ../../Zotlabs/Module/Filestorage.php:207
+#: ../../Zotlabs/Storage/Browser.php:387
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Skopiuj/wklej ten adres URL, aby zlinkować plik na stron internetowej"
+
+#: ../../Zotlabs/Module/Filestorage.php:209
+msgid "Share this file"
+msgstr "Udostępnij ten plik"
+
+#: ../../Zotlabs/Module/Filestorage.php:210
+msgid "Show URL to this file"
+msgstr "Pokaż adres URL do tego pliku"
+
+#: ../../Zotlabs/Module/Filestorage.php:211
+#: ../../Zotlabs/Storage/Browser.php:552
+msgid "Show in your contacts shared folder"
+msgstr "Pokaż w folderze udostępnionym kontaktów"
+
+#: ../../Zotlabs/Module/Card_edit.php:17 ../../Zotlabs/Module/Card_edit.php:33
+#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editblock.php:79
+#: ../../Zotlabs/Module/Editblock.php:95 ../../Zotlabs/Module/Editpost.php:24
+#: ../../Zotlabs/Module/Editwebpage.php:80
+#: ../../Zotlabs/Module/Article_edit.php:17
+#: ../../Zotlabs/Module/Article_edit.php:33
+msgid "Item not found"
+msgstr "Nie znaleziono elementu"
+
+#: ../../Zotlabs/Module/Card_edit.php:101
+#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:220
+#: ../../Zotlabs/Module/Editwebpage.php:143
+#: ../../Zotlabs/Module/Article_edit.php:100
+#: ../../include/conversation.php:1341
+#: ../../extend/addon/hzaddons/hsse/hsse.php:95
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:166
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:309
+msgid "Insert web link"
+msgstr "Wstaw link internetowy"
+
+#: ../../Zotlabs/Module/Card_edit.php:117
+#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674
+#: ../../Zotlabs/Module/Photos.php:1044
+#: ../../Zotlabs/Module/Article_edit.php:116
+#: ../../include/conversation.php:1474
+#: ../../extend/addon/hzaddons/hsse/hsse.php:221
+msgid "Title (optional)"
+msgstr "Tytuł (opcjonalnie)"
+
+#: ../../Zotlabs/Module/Card_edit.php:128
+msgid "Edit Card"
+msgstr "Edytuj kartÄ™"
+
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
+msgstr "Brak połączeń."
+
+#: ../../Zotlabs/Module/Viewconnections.php:80
+#: ../../Zotlabs/Module/Connections.php:288 ../../include/text.php:1044
+msgid "Accepts"
+msgstr "Akceptacje"
+
+#: ../../Zotlabs/Module/Viewconnections.php:83
+#: ../../Zotlabs/Module/Connections.php:291 ../../include/text.php:1047
+msgid "Comments"
+msgstr "Komentarze"
+
+#: ../../Zotlabs/Module/Viewconnections.php:88
+#: ../../Zotlabs/Module/Connections.php:296 ../../include/text.php:1052
+msgid "Stream items"
+msgstr "Elementy strumienia"
+
+#: ../../Zotlabs/Module/Viewconnections.php:93
+#: ../../Zotlabs/Module/Connections.php:301 ../../include/text.php:1057
+msgid "Wall posts"
+msgstr "Ściana postów"
+
+#: ../../Zotlabs/Module/Viewconnections.php:97
+#: ../../Zotlabs/Module/Connections.php:305 ../../include/text.php:1061
+msgid "Nothing"
+msgstr "Nic"
+
+#: ../../Zotlabs/Module/Viewconnections.php:105
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Odwiedź profil %s [%s]"
+
+#: ../../Zotlabs/Module/Viewconnections.php:135
+msgid "View Connections"
+msgstr "Pokaż połączenia"
+
+#: ../../Zotlabs/Module/Oauth2.php:54
+msgid "Name and Secret are required"
+msgstr "Wymagane jest ustawienie imienia i sekretu"
+
+#: ../../Zotlabs/Module/Oauth2.php:106
+msgid "OAuth2 Apps Manager App"
+msgstr "Aplikacja OAuth2 Apps Manager"
+
+#: ../../Zotlabs/Module/Oauth2.php:107
+msgid "OAuth2 authenticatication tokens for mobile and remote apps"
+msgstr "Tokeny uwierzytelniajÄ…ce OAuth2 dla aplikacji mobilnych i zdalnych"
+
+#: ../../Zotlabs/Module/Oauth2.php:115
+msgid "Add OAuth2 application"
+msgstr "Dodaj aplikacjÄ™ OAuth2"
+
+#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149
+msgid "Grant Types"
+msgstr "Rodzaje dofinansowań"
+
+#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:122
+msgid "leave blank unless your application sepcifically requires this"
+msgstr "pozostaw puste, chyba że Twoja aplikacja wyraźnie tego wymaga"
+
+#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150
+msgid "Authorization scope"
+msgstr "Zakres uprawnień"
+
+#: ../../Zotlabs/Module/Oauth2.php:134
+msgid "OAuth2 Application not found."
+msgstr "Nie znaleziono aplikacji OAuth2."
+
+#: ../../Zotlabs/Module/Oauth2.php:149 ../../Zotlabs/Module/Oauth2.php:150
+msgid "leave blank unless your application specifically requires this"
+msgstr "pozostaw puste, chyba że Twoja aplikacja wyraźnie tego wymaga"
+
+#: ../../Zotlabs/Module/Oauth2.php:192
+msgid "Connected OAuth2 Apps"
+msgstr "Aplikacje połączeń OAuth2"
+
+#: ../../Zotlabs/Module/Wiki.php:35
+#: ../../extend/addon/hzaddons/cart/cart.php:1410
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:51
+msgid "Profile Unavailable."
+msgstr "Profil niedostępny."
+
+#: ../../Zotlabs/Module/Wiki.php:52
+msgid "Wiki App"
+msgstr "Aplikacja Wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:53
+msgid "Provide a wiki for your channel"
+msgstr "Udostępnij wiki dla swojego kanału"
+
+#: ../../Zotlabs/Module/Wiki.php:77
+#: ../../extend/addon/hzaddons/cart/cart.php:1556
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:478
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:456
+#: ../../extend/addon/hzaddons/cart/myshop.php:37
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:93
+msgid "Invalid channel"
+msgstr "Zły kanał"
+
+#: ../../Zotlabs/Module/Wiki.php:133
+msgid "Error retrieving wiki"
+msgstr "Błąd podczas pobierania wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:140
+msgid "Error creating zip file export folder"
+msgstr "Błąd podczas tworzenia folderu eksportu pliku ZIP"
+
+#: ../../Zotlabs/Module/Wiki.php:191
+msgid "Error downloading wiki: "
+msgstr "Błąd podczas pobierania wiki: "
+
+#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Widget/Wiki_list.php:15
+#: ../../include/nav.php:536
+msgid "Wikis"
+msgstr "Wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Storage/Browser.php:404
+msgid "Download"
+msgstr "Pobierz"
+
+#: ../../Zotlabs/Module/Wiki.php:216
+msgid "Wiki name"
+msgstr "Nazwa wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:217
+msgid "Content type"
+msgstr "Rodzaj treści"
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371
+#: ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2116
+#: ../../extend/addon/hzaddons/mdpost/mdpost.php:41
+msgid "Markdown"
+msgstr "Markdown"
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371
+#: ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2114
+msgid "BBcode"
+msgstr "BBcode"
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2117
+msgid "Text"
+msgstr "Text"
+
+#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:378
+msgid "Type"
+msgstr "Rodzaj"
+
+#: ../../Zotlabs/Module/Wiki.php:220
+msgid "Any&nbsp;type"
+msgstr "Dwolny&nbsp;rodzaj"
+
+#: ../../Zotlabs/Module/Wiki.php:227
+msgid "Lock content type"
+msgstr "Zablokuj rodzaj treści"
+
+#: ../../Zotlabs/Module/Wiki.php:228
+msgid "Create a status post for this wiki"
+msgstr "Utwórz post statusu dla tego wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:229
+msgid "Edit Wiki Name"
+msgstr "Edytuj nazwÄ™ wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:274
+msgid "Wiki not found"
+msgstr "Nie znaleziono wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:300
+msgid "Rename page"
+msgstr "Zień nazwę strony"
+
+#: ../../Zotlabs/Module/Wiki.php:321
+msgid "Error retrieving page content"
+msgstr "Błąd podczas pobierania treści strony"
+
+#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331
+msgid "New page"
+msgstr "Nowa strona"
+
+#: ../../Zotlabs/Module/Wiki.php:366
+msgid "Revision Comparison"
+msgstr "Porównanie wersji"
+
+#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:567
+#: ../../Zotlabs/Widget/Wiki_page_history.php:25
+msgid "Revert"
+msgstr "Odwróć"
+
+#: ../../Zotlabs/Module/Wiki.php:374
+msgid "Short description of your changes (optional)"
+msgstr "Krótki opis zmian (opcjonalnie)"
+
+#: ../../Zotlabs/Module/Wiki.php:384
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:134
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69
+#: ../../extend/addon/hzaddons/dwpost/dwpost.php:134
+#: ../../extend/addon/hzaddons/wppost/wppost.php:173
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98
+msgid "Source"
+msgstr "Źródło"
+
+#: ../../Zotlabs/Module/Wiki.php:394
+msgid "New page name"
+msgstr "Nowa nazwa strony"
+
+#: ../../Zotlabs/Module/Wiki.php:399
+msgid "Embed image from photo albums"
+msgstr "Osadź obraz z albumów fotograficznych"
+
+#: ../../Zotlabs/Module/Wiki.php:400 ../../include/conversation.php:1457
+#: ../../extend/addon/hzaddons/hsse/hsse.php:208
+msgid "Embed an image from your albums"
+msgstr "Osadź obraz ze swoich albumów"
+
+#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:508
+#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1459
+#: ../../include/conversation.php:1510
+#: ../../extend/addon/hzaddons/hsse/hsse.php:210
+#: ../../extend/addon/hzaddons/hsse/hsse.php:257
+msgid "OK"
+msgstr "Dobrze"
+
+#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:509
+#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1385
+#: ../../extend/addon/hzaddons/hsse/hsse.php:139
+msgid "Choose images to embed"
+msgstr "Wybierz zdjęcie do osadzenia"
+
+#: ../../Zotlabs/Module/Wiki.php:404 ../../Zotlabs/Module/Profile_photo.php:510
+#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1386
+#: ../../extend/addon/hzaddons/hsse/hsse.php:140
+msgid "Choose an album"
+msgstr "Wybierz album"
+
+#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:511
+#: ../../Zotlabs/Module/Cover_photo.php:432
+msgid "Choose a different album"
+msgstr "Wybierz inny album"
+
+#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:512
+#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1388
+#: ../../extend/addon/hzaddons/hsse/hsse.php:142
+msgid "Error getting album list"
+msgstr "Błąd podczas pobierania listy albumów"
+
+#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:513
+#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1389
+#: ../../extend/addon/hzaddons/hsse/hsse.php:143
+msgid "Error getting photo link"
+msgstr "Błąd podczas pobierania linku do zdjęcia"
+
+#: ../../Zotlabs/Module/Wiki.php:408 ../../Zotlabs/Module/Profile_photo.php:514
+#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1390
+#: ../../extend/addon/hzaddons/hsse/hsse.php:144
+msgid "Error getting album"
+msgstr "Błąd podczas pobierania albumu"
+
+#: ../../Zotlabs/Module/Wiki.php:410
+msgid "History"
+msgstr "Historia"
+
+#: ../../Zotlabs/Module/Wiki.php:488
+msgid "Error creating wiki. Invalid name."
+msgstr "Błąd podczas tworzenia wiki. nieprawidłowa nazwa."
+
+#: ../../Zotlabs/Module/Wiki.php:495
+msgid "A wiki with this name already exists."
+msgstr "Wiki o tej nazwie już istnieje."
+
+#: ../../Zotlabs/Module/Wiki.php:508
+msgid "Wiki created, but error creating Home page."
+msgstr "Utworzono wiki, ale podczas tworzenia strony głównej wystąpił błąd."
+
+#: ../../Zotlabs/Module/Wiki.php:515
+msgid "Error creating wiki"
+msgstr "Błąd podczas tworzenia wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:539
+msgid "Error updating wiki. Invalid name."
+msgstr "Błąd podczas aktualizowania wiki. Błędna nazwa."
+
+#: ../../Zotlabs/Module/Wiki.php:559
+msgid "Error updating wiki"
+msgstr "Błąd podczas aktualizowania wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:574
+msgid "Wiki delete permission denied."
+msgstr "Odmowa pozwolenia na usunięcie Wiki."
+
+#: ../../Zotlabs/Module/Wiki.php:584
+msgid "Error deleting wiki"
+msgstr "Błąd podczas usuwania wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:617
+msgid "New page created"
+msgstr "Utworzono nowÄ… stronÄ™"
+
+#: ../../Zotlabs/Module/Wiki.php:739
+msgid "Cannot delete Home"
+msgstr "Nie można usunąć strony głównej"
+
+#: ../../Zotlabs/Module/Wiki.php:803
+msgid "Current Revision"
+msgstr "Bieżąca wersja"
+
+#: ../../Zotlabs/Module/Wiki.php:803
+msgid "Selected Revision"
+msgstr "Wybrana wersja"
+
+#: ../../Zotlabs/Module/Wiki.php:853
+msgid "You must be authenticated."
+msgstr "Trzeba być uwierzytelnionym."
+
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
+#: ../../Zotlabs/Module/Editblock.php:113
+msgid "Block Name"
+msgstr "Nazwa bloku"
+
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2698
+msgid "Blocks"
+msgstr "Bloki"
+
+#: ../../Zotlabs/Module/Blocks.php:156
+msgid "Block Title"
+msgstr "Tytuł bloku"
+
+#: ../../Zotlabs/Module/Dircensor.php:42
+msgid "Entry censored"
+msgstr "Wpis ocenzurowany"
+
+#: ../../Zotlabs/Module/Dircensor.php:45
+msgid "Entry uncensored"
+msgstr "Wpis nieocenzurowany"
+
+#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66
+msgid "Location not found."
+msgstr "Nie znaleziono lokalizacjid."
+
+#: ../../Zotlabs/Module/Locs.php:75
+msgid "Location lookup failed."
+msgstr "Wyszukiwanie lokalizacji nie powiodło się."
+
+#: ../../Zotlabs/Module/Locs.php:79
+msgid ""
+"Please select another location to become primary before removing the primary "
+"location."
+msgstr ""
+"Przed usunięciem lokalizacji podstawowej wybierz inną lokalizację jako "
+"główną."
+
+#: ../../Zotlabs/Module/Locs.php:108
+msgid "Syncing locations"
+msgstr "SynchronizujÄ™ lokalizacje"
+
+#: ../../Zotlabs/Module/Locs.php:117
+msgid "No locations found."
+msgstr "Nie znaleziono żadnych lokalizacji."
+
+#: ../../Zotlabs/Module/Locs.php:127
+msgid "Manage Channel Locations"
+msgstr "Zarządzaj lokalizacjami kanałów"
+
+#: ../../Zotlabs/Module/Locs.php:130
+#: ../../extend/addon/hzaddons/workflow/workflow.php:285
+msgid "Primary"
+msgstr "Podstawowy"
+
+#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177
+msgid "Drop"
+msgstr "Upuść"
+
+#: ../../Zotlabs/Module/Locs.php:133
+msgid "Sync Now"
+msgstr "Synchronizuj teraz"
+
+#: ../../Zotlabs/Module/Locs.php:134
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Poczekaj kilka minut między kolejnymi operacjami."
+
+#: ../../Zotlabs/Module/Locs.php:135
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing "
+"your channel."
+msgstr ""
+"Jeśli to możliwe, upuść lokalizację, logując się do tego huba i usuwając "
+"swój kanał."
+
+#: ../../Zotlabs/Module/Locs.php:136
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr ""
+"Użyj tego formularza, aby usunąć lokalizację, jeśli hub już nie działa."
+
+#: ../../Zotlabs/Module/Chatsvc.php:131
+msgid "Away"
+msgstr "Z dala"
+
+#: ../../Zotlabs/Module/Chatsvc.php:136
+msgid "Online"
+msgstr "Na linii"
+
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345
+#: ../../include/features.php:369 ../../include/nav.php:444
+msgid "Photos"
+msgstr "Zdjęcia"
+
+#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Storage/Browser.php:351
+#: ../../Zotlabs/Lib/Apps.php:340 ../../include/nav.php:452
+msgid "Files"
+msgstr "Pliki"
+
+#: ../../Zotlabs/Module/Connedit.php:120
+msgid "Could not locate selected profile."
+msgstr "Nie udało się znaleźć wybranego profilu."
+
+#: ../../Zotlabs/Module/Connedit.php:264
+msgid "Connection updated."
+msgstr "Zaktualizowano połączenie."
+
+#: ../../Zotlabs/Module/Connedit.php:266
+msgid "Failed to update connection record."
+msgstr "Nie udało się zaktualizować rekordu połączenia."
+
+#: ../../Zotlabs/Module/Connedit.php:309
+msgid "is now connected to"
+msgstr "jest teraz połączony z"
+
+#: ../../Zotlabs/Module/Connedit.php:434
+msgid "Could not access address book record."
+msgstr "Nie można uzyskać dostępu do rekordu książki adresowej."
+
+#: ../../Zotlabs/Module/Connedit.php:482 ../../Zotlabs/Module/Connedit.php:486
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Odświeżenie nie powiodło się - kanał jest obecnie niedostępny."
+
+#: ../../Zotlabs/Module/Connedit.php:501 ../../Zotlabs/Module/Connedit.php:510
+#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Module/Connedit.php:528
+#: ../../Zotlabs/Module/Connedit.php:541
+msgid "Unable to set address book parameters."
+msgstr "Nie można ustawić parametrów książki adresowej."
+
+#: ../../Zotlabs/Module/Connedit.php:560
+msgid "Connection has been removed."
+msgstr "Połączenie zostało usunięte."
+
+#: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:344
+#: ../../include/conversation.php:1080 ../../include/nav.php:112
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57
+msgid "View Profile"
+msgstr "Wyświetl profil"
+
+#: ../../Zotlabs/Module/Connedit.php:603
+#, php-format
+msgid "View %s's profile"
+msgstr "Wyświetl profil %s"
+
+#: ../../Zotlabs/Module/Connedit.php:607
+msgid "Refresh Permissions"
+msgstr "Odśwież uprawnienia"
+
+#: ../../Zotlabs/Module/Connedit.php:610
+msgid "Fetch updated permissions"
+msgstr "Pobierz zaktualizowane uprawnienia"
+
+#: ../../Zotlabs/Module/Connedit.php:614
+msgid "Refresh Photo"
+msgstr "Odśwież zdjęcie"
+
+#: ../../Zotlabs/Module/Connedit.php:617
+msgid "Fetch updated photo"
+msgstr "Pobierz zaktualizowane zdjęcie"
+
+#: ../../Zotlabs/Module/Connedit.php:621 ../../include/conversation.php:1090
+msgid "Recent Activity"
+msgstr "Ostatnia aktywność"
+
+#: ../../Zotlabs/Module/Connedit.php:624
+msgid "View recent posts and comments"
+msgstr "Wyświetl najnowsze posty i komentarze"
+
+#: ../../Zotlabs/Module/Connedit.php:628
+#: ../../Zotlabs/Module/Admin/Accounts.php:177
+msgid "Unblock"
+msgstr "Odblokuj"
+
+#: ../../Zotlabs/Module/Connedit.php:628
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+msgid "Block"
+msgstr "Zablokuj"
+
+#: ../../Zotlabs/Module/Connedit.php:631
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Zablokuj (lub odblokuj) całą komunikację z tym połączeniem"
+
+#: ../../Zotlabs/Module/Connedit.php:632
+msgid "This connection is blocked!"
+msgstr "To połączenie jest zablokowane!"
+
+#: ../../Zotlabs/Module/Connedit.php:636
+msgid "Unignore"
+msgstr "Nie ignoruj"
+
+#: ../../Zotlabs/Module/Connedit.php:636
+#: ../../Zotlabs/Module/Connections.php:344
+msgid "Ignore"
+msgstr "Ignoruj"
+
+#: ../../Zotlabs/Module/Connedit.php:639
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Ignoruj (lub przywróć) całą komunikację przychodzącą z tego połączenia"
+
+#: ../../Zotlabs/Module/Connedit.php:640
+msgid "This connection is ignored!"
+msgstr "To połączenie jest ignorowane!"
+
+#: ../../Zotlabs/Module/Connedit.php:644
+msgid "Unarchive"
+msgstr "Przywróć z archiwum"
+
+#: ../../Zotlabs/Module/Connedit.php:644
+msgid "Archive"
+msgstr "Archiwizuj"
+
+#: ../../Zotlabs/Module/Connedit.php:647
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr ""
+"Archiwizuj (lub przywróć) to połączenie - zaznacz kanał jako martwy, ale "
+"zachowaj zawartość"
+
+#: ../../Zotlabs/Module/Connedit.php:648
+msgid "This connection is archived!"
+msgstr "To połączenie zostało zarchiwizowane!"
+
+#: ../../Zotlabs/Module/Connedit.php:652
+msgid "Unhide"
+msgstr "Odkryj"
+
+#: ../../Zotlabs/Module/Connedit.php:652
+msgid "Hide"
+msgstr "Ukryj"
+
+#: ../../Zotlabs/Module/Connedit.php:655
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Ukryj lub odkryj to połączenie przed innymi kontaktami"
+
+#: ../../Zotlabs/Module/Connedit.php:656
+msgid "This connection is hidden!"
+msgstr "To połączenie jest ukryte!"
+
+#: ../../Zotlabs/Module/Connedit.php:663
+msgid "Delete this connection"
+msgstr "Usuń to połączenie"
+
+#: ../../Zotlabs/Module/Connedit.php:671
+msgid "Fetch Vcard"
+msgstr "Pobierz Vcard"
+
+#: ../../Zotlabs/Module/Connedit.php:674
+msgid "Fetch electronic calling card for this connection"
+msgstr "Pobierz elektroniczną kartę telefoniczną dla tego połączenia"
+
+#: ../../Zotlabs/Module/Connedit.php:685
+msgid "Open Individual Permissions section by default"
+msgstr "Otwórz domyślnie sekcję Uprawnienia indywidualne"
+
+#: ../../Zotlabs/Module/Connedit.php:708
+msgid "Affinity"
+msgstr "Koligacja"
+
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "Open Set Affinity section by default"
+msgstr "Otwieraj domyślnie sekcję Ustaw koligację"
+
+#: ../../Zotlabs/Module/Connedit.php:715 ../../Zotlabs/Widget/Affinity.php:30
+msgid "Me"
+msgstr "Ja"
+
+#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:31
+msgid "Family"
+msgstr "Rodzina"
+
+#: ../../Zotlabs/Module/Connedit.php:717
+#: ../../Zotlabs/Module/Settings/Channel.php:71
+#: ../../Zotlabs/Module/Settings/Channel.php:75
+#: ../../Zotlabs/Module/Settings/Channel.php:76
+#: ../../Zotlabs/Module/Settings/Channel.php:79
+#: ../../Zotlabs/Module/Settings/Channel.php:90
+#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:505
+#: ../../include/channel.php:506 ../../include/channel.php:513
+#: ../../include/selectors.php:134
+msgid "Friends"
+msgstr "Przyjaciele"
+
+#: ../../Zotlabs/Module/Connedit.php:718 ../../Zotlabs/Widget/Affinity.php:33
+msgid "Acquaintances"
+msgstr "Znajomi"
+
+#: ../../Zotlabs/Module/Connedit.php:719
+#: ../../Zotlabs/Module/Connections.php:97
+#: ../../Zotlabs/Module/Connections.php:111
+#: ../../Zotlabs/Widget/Affinity.php:34
+msgid "All"
+msgstr "Wszyscy"
+
+#: ../../Zotlabs/Module/Connedit.php:748
+msgid "Filter"
+msgstr "Filtr"
+
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Open Custom Filter section by default"
+msgstr "Otwieraj domyślnie sekcję Filtr niestandardowy"
+
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Approve this connection"
+msgstr "Zatwierdź to połączenie"
+
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Accept connection to allow communication"
+msgstr "Zaakceptuj połączenie, aby umożliwić komunikację"
+
+#: ../../Zotlabs/Module/Connedit.php:793
+msgid "Set Affinity"
+msgstr "Ustaw skoligacenie"
+
+#: ../../Zotlabs/Module/Connedit.php:796
+msgid "Set Profile"
+msgstr "Ustaw profil"
+
+#: ../../Zotlabs/Module/Connedit.php:799
+msgid "Set Affinity & Profile"
+msgstr "Ustaw skoligacenie i profil"
+
+#: ../../Zotlabs/Module/Connedit.php:847
+msgid "This connection is unreachable from this location."
+msgstr "To połączenie jest nieosiągalne z tej lokalizacji."
+
+#: ../../Zotlabs/Module/Connedit.php:848
+msgid "This connection may be unreachable from other channel locations."
+msgstr "To połączenie może być nieosiągalne z innych lokalizacji kanału."
+
+#: ../../Zotlabs/Module/Connedit.php:850
+msgid "Location independence is not supported by their network."
+msgstr "Niezależność lokalizacji nie jest obsługiwana przez ich sieć."
+
+#: ../../Zotlabs/Module/Connedit.php:856
+msgid ""
+"This connection is unreachable from this location. Location independence is "
+"not supported by their network."
+msgstr ""
+"To połączenie jest nieosiągalne z tej lokalizacji. Niezależność lokalizacji "
+"nie jest obsługiwana przez ich sieć."
+
+#: ../../Zotlabs/Module/Connedit.php:859 ../../include/items.php:4524
+#, php-format
+msgid "Connection: %s"
+msgstr "Połączenie: %s"
+
+#: ../../Zotlabs/Module/Connedit.php:860
+msgid "Connection requests will be approved without your interaction"
+msgstr "Prośby o połączenie zostaną zatwierdzone bez Twojej interakcji"
+
+#: ../../Zotlabs/Module/Connedit.php:869
+msgid "This connection's primary address is"
+msgstr "Podstawowy adres tego połączenia to"
+
+#: ../../Zotlabs/Module/Connedit.php:870
+msgid "Available locations:"
+msgstr "Dostępne lokalizacje:"
+
+#: ../../Zotlabs/Module/Connedit.php:876
+msgid "Connection Tools"
+msgstr "Narzędzia połączeń"
+
+#: ../../Zotlabs/Module/Connedit.php:878
+msgid "Slide to adjust your degree of friendship"
+msgstr "Przesuń, aby dostosować stopień przyjaźni"
+
+#: ../../Zotlabs/Module/Connedit.php:879 ../../Zotlabs/Module/Rate.php:155
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Ocena"
+
+#: ../../Zotlabs/Module/Connedit.php:880
+msgid "Slide to adjust your rating"
+msgstr "Przesuń, aby dostosować swoją ocenę"
+
+#: ../../Zotlabs/Module/Connedit.php:881 ../../Zotlabs/Module/Connedit.php:886
+msgid "Optionally explain your rating"
+msgstr "Ewentualnie wyjaśnij swoją ocenę"
+
+#: ../../Zotlabs/Module/Connedit.php:883
+msgid "Custom Filter"
+msgstr "Własny filtr"
+
+#: ../../Zotlabs/Module/Connedit.php:884
+msgid "Only import posts with this text"
+msgstr "Importuj tylko posty z tym tekstem"
+
+#: ../../Zotlabs/Module/Connedit.php:884 ../../Zotlabs/Module/Connedit.php:885
+#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:328
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr ""
+"słowa po jednym w wierszu lub #tags lub /patterns/ lub lang=xx, pozostaw "
+"puste, aby zaimportować wszystkie posty"
+
+#: ../../Zotlabs/Module/Connedit.php:885
+msgid "Do not import posts with this text"
+msgstr "Nie importuj postów z tym tekstem"
+
+#: ../../Zotlabs/Module/Connedit.php:887
+msgid "This information is public!"
+msgstr "Ta informacja jest publiczna!"
+
+#: ../../Zotlabs/Module/Connedit.php:892
+msgid "Connection Pending Approval"
+msgstr "Połączenie oczekujące na zatwierdzenie"
+
+#: ../../Zotlabs/Module/Connedit.php:897
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr ""
+"Wybierz profil, który chcesz wyświetlić dla %s, podczas bezpiecznego "
+"przeglÄ…dania swojego profilu."
+
+#: ../../Zotlabs/Module/Connedit.php:899 ../../Zotlabs/Module/Tokens.php:180
+msgid "Their Settings"
+msgstr "Ich ustawienia"
+
+#: ../../Zotlabs/Module/Connedit.php:903 ../../Zotlabs/Module/Tokens.php:187
+#: ../../Zotlabs/Module/Permcats.php:128
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can <strong>not</strong> change those settings here."
+msgstr ""
+"Niektóre uprawnienia mogą być dziedziczone z <a href=\"settings"
+"\"><strong>ustawień prywatności</strong></a> Twojego kanału, które mają "
+"wyższy priorytet niż indywidualne ustawienia. <strong>Nie możesz</strong> "
+"tutaj zmienić tych ustawień."
+
+#: ../../Zotlabs/Module/Connedit.php:904
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can change those settings here but they wont have "
+"any impact unless the inherited setting changes."
+msgstr ""
+"Niektóre uprawnienia mogą być dziedziczone z <a href=\"settings"
+"\"><strong>ustawień prywatności</strong></a> Twojego kanału, te które mają "
+"wyższy priorytet niż indywidualne ustawienia. Możesz zmienić te ustawienia "
+"tutaj, ale nie będą one miały żadnego wpływu, chyba że odziedziczone "
+"ustawienie ulegnie zmianie."
+
+#: ../../Zotlabs/Module/Connedit.php:905
+msgid "Last update:"
+msgstr "Ostatnia aktualizacja:"
+
+#: ../../Zotlabs/Module/Connedit.php:913
+msgid "Details"
+msgstr "Szczegóły"
+
+#: ../../Zotlabs/Module/Profile_photo.php:93
+#: ../../Zotlabs/Module/Cover_photo.php:85
+msgid "Image uploaded but image cropping failed."
+msgstr "Obraz został przesłany, ale przycinanie obrazu nie powiodło się."
+
+#: ../../Zotlabs/Module/Profile_photo.php:147
+#: ../../Zotlabs/Module/Profile_photo.php:284
+#: ../../include/photo/photo_driver.php:417
+msgid "Profile Photos"
+msgstr "Zdjęcia profilowe"
+
+#: ../../Zotlabs/Module/Profile_photo.php:166
+#: ../../Zotlabs/Module/Cover_photo.php:212
+msgid "Image resize failed."
+msgstr "Zmiana rozmiaru obrazu nie powiodła się."
+
+#: ../../Zotlabs/Module/Profile_photo.php:254
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:298
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr ""
+"Shift-przeładuj stronę lub wyczyść pamięć podręczną przeglądarki, jeśli nowe "
+"zdjęcie nie zostanie wyświetlone od razu."
+
+#: ../../Zotlabs/Module/Profile_photo.php:261
+#: ../../Zotlabs/Module/Cover_photo.php:241 ../../include/photos.php:196
+msgid "Unable to process image"
+msgstr "Nie można przetworzyć obrazu"
+
+#: ../../Zotlabs/Module/Profile_photo.php:296
+#: ../../Zotlabs/Module/Cover_photo.php:265
+msgid "Image upload failed."
+msgstr "Przesyłanie obrazu nie powiodło się."
+
+#: ../../Zotlabs/Module/Profile_photo.php:315
+#: ../../Zotlabs/Module/Cover_photo.php:282
+msgid "Unable to process image."
+msgstr "Nie można przetworzyć obrazu."
+
+#: ../../Zotlabs/Module/Profile_photo.php:379
+#: ../../Zotlabs/Module/Profile_photo.php:431
+#: ../../Zotlabs/Module/Cover_photo.php:367
+#: ../../Zotlabs/Module/Cover_photo.php:382
+msgid "Photo not available."
+msgstr "Zdjęcie nie jest dostępne."
+
+#: ../../Zotlabs/Module/Profile_photo.php:495
+msgid ""
+"Your default profile photo is visible to anybody on the internet. Profile "
+"photos for alternate profiles will inherit the permissions of the profile"
+msgstr ""
+"Twoje domyślne zdjęcie profilowe jest widoczne dla każdego w internecie. "
+"Zdjęcia profilowe dla profili alternatywnych odziedziczą uprawnienia profilu"
+
+#: ../../Zotlabs/Module/Profile_photo.php:495
+msgid ""
+"Your profile photo is visible to anybody on the internet and may be "
+"distributed to other websites."
+msgstr ""
+"Twoje zdjęcie profilowe jest widoczne dla każdego w internecie i może być "
+"rozpowszechniane na innych stronach internetowych."
+
+#: ../../Zotlabs/Module/Profile_photo.php:497
+#: ../../Zotlabs/Module/Cover_photo.php:420
+msgid "Upload File:"
+msgstr "Przesłanie pliku:"
+
+#: ../../Zotlabs/Module/Profile_photo.php:498
+#: ../../Zotlabs/Module/Cover_photo.php:421
+msgid "Select a profile:"
+msgstr "Wybierz profil:"
+
+#: ../../Zotlabs/Module/Profile_photo.php:499
+msgid "Use Photo for Profile"
+msgstr "Użyj zdjęcia do profilu"
+
+#: ../../Zotlabs/Module/Profile_photo.php:499
+msgid "Change Profile Photo"
+msgstr "Zmień zdjęcie profilowe"
+
+#: ../../Zotlabs/Module/Profile_photo.php:500
+msgid "Use"
+msgstr "Użyj"
+
+#: ../../Zotlabs/Module/Profile_photo.php:500
+#: ../../Zotlabs/Module/Photos.php:688 ../../Zotlabs/Module/Cover_photo.php:423
+#: ../../Zotlabs/Module/Embedphotos.php:188
+#: ../../Zotlabs/Storage/Browser.php:540 ../../Zotlabs/Widget/Cdav.php:146
+#: ../../Zotlabs/Widget/Cdav.php:182 ../../Zotlabs/Widget/Portfolio.php:110
+#: ../../Zotlabs/Widget/Album.php:97
+msgid "Upload"
+msgstr "Prześlij"
+
+#: ../../Zotlabs/Module/Profile_photo.php:501
+#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Tagrm.php:137
+#: ../../Zotlabs/Module/Admin/Addons.php:459
+#: ../../Zotlabs/Module/Cover_photo.php:424
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:91
+msgid "Remove"
+msgstr "Usuń"
+
+#: ../../Zotlabs/Module/Profile_photo.php:505
+#: ../../Zotlabs/Module/Profile_photo.php:506
+#: ../../Zotlabs/Module/Cover_photo.php:426
+#: ../../Zotlabs/Module/Cover_photo.php:427
+msgid "Use a photo from your albums"
+msgstr "Użyj zdjęcia ze swoich albumów"
+
+#: ../../Zotlabs/Module/Profile_photo.php:516
+#: ../../Zotlabs/Module/Cover_photo.php:438
+msgid "Select existing photo"
+msgstr "Wybierz istniejące zdjęcie"
+
+#: ../../Zotlabs/Module/Profile_photo.php:535
+#: ../../Zotlabs/Module/Cover_photo.php:455
+msgid "Crop Image"
+msgstr "Przytnij zdjęcie"
+
+#: ../../Zotlabs/Module/Profile_photo.php:536
+#: ../../Zotlabs/Module/Cover_photo.php:456
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Dostosuj kadrowanie obrazu, aby uzyskać optymalne wyświetlanie."
+
+#: ../../Zotlabs/Module/Profile_photo.php:538
+#: ../../Zotlabs/Module/Cover_photo.php:458
+msgid "Done Editing"
+msgstr "Zakończono edycję"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:105
+msgid "Files: shared with me"
+msgstr "Pliki: udostępnione mi"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:107
+msgid "NEW"
+msgstr "NOWY"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:108
+#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1562
+msgid "Size"
+msgstr "Rozmiar"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:109
+#: ../../Zotlabs/Storage/Browser.php:380
+msgid "Last Modified"
+msgstr "Ostatnio zmodyfikowane"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:110
+msgid "Remove all files"
+msgstr "Usuń wszystkie pliki"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:111
+msgid "Remove this file"
+msgstr "Usuń ten plik"
+
+#: ../../Zotlabs/Module/Editlayout.php:137
+msgid "Edit Layout"
+msgstr "Edytuj układ"
+
+#: ../../Zotlabs/Module/Manage.php:145
+msgid "Create a new channel"
+msgstr "Utwórz nowy kanał"
+
+#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337
+#: ../../include/nav.php:98
+msgid "Channel Manager"
+msgstr "Menadżer kanałów"
+
+#: ../../Zotlabs/Module/Manage.php:171
+msgid "Current Channel"
+msgstr "Bieżący kanał"
+
+#: ../../Zotlabs/Module/Manage.php:173
+msgid "Switch to one of your channels by selecting it."
+msgstr "Przełącz się na jeden ze swoich kanałów, wybierając go."
+
+#: ../../Zotlabs/Module/Manage.php:174
+msgid "Default Channel"
+msgstr "Domyślny kanał"
+
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Make Default"
+msgstr "Ustaw jako domyślny"
+
+#: ../../Zotlabs/Module/Manage.php:178
+#, php-format
+msgid "%d new messages"
+msgstr "%d nowych wiadomości"
+
+#: ../../Zotlabs/Module/Manage.php:179
+#, php-format
+msgid "%d new introductions"
+msgstr "%d nowych wprowadzeń"
+
+#: ../../Zotlabs/Module/Manage.php:181
+msgid "Delegated Channel"
+msgstr "Deleguj kanał"
+
+#: ../../Zotlabs/Module/Follow.php:93
+msgid "Connection added."
+msgstr "Dodano połączenie."
+
+#: ../../Zotlabs/Module/Item.php:450 ../../Zotlabs/Module/Pin.php:35
+msgid "Unable to locate original post."
+msgstr "Nie można znaleźć oryginalnego postu."
+
+#: ../../Zotlabs/Module/Item.php:736
+msgid "Empty post discarded."
+msgstr "Pusty post został odrzucony."
+
+#: ../../Zotlabs/Module/Item.php:1187
+msgid "Duplicate post suppressed."
+msgstr "Powielony post został wyłączony."
+
+#: ../../Zotlabs/Module/Item.php:1332
+msgid "System error. Post not saved."
+msgstr "Błąd systemu. Post nie został zapisany."
+
+#: ../../Zotlabs/Module/Item.php:1366
+msgid "Your comment is awaiting approval."
+msgstr "Twój komentarz oczekuje na zatwierdzenie."
+
+#: ../../Zotlabs/Module/Item.php:1496
+msgid "Unable to obtain post information from database."
+msgstr "Nie można uzyskać z bazy danych informacji o tym poście."
+
+#: ../../Zotlabs/Module/Item.php:1503
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Osiągnięty został limit %1$.0f postów najwyższego poziomu."
+
+#: ../../Zotlabs/Module/Item.php:1510
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Osiągnięty został limit %1$.0f stron internetowych."
+
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
+msgstr "Serwis internetowy:"
+
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Kanał zdalny [% s] (jeszcze nieznany w tym serwisie)"
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
+msgstr "Ocena (ta informacja jest publiczna)"
+
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Ewentualnie wyjaśnij swoją ocenę (ta informacja jest publiczna)"
+
+#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
+msgid "Invalid item."
+msgstr "Nieprawidłowy element."
+
+#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Display.php:136
+#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173
+#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77
+#: ../../Zotlabs/Web/Router.php:185 ../../Zotlabs/Lib/NativeWikiPage.php:521
+#: ../../include/help.php:132
+msgid "Page not found."
+msgstr "Nie znaleziono strony."
+
+#: ../../Zotlabs/Module/Page.php:173
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
+"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
+"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr "Wyszukiwanie xchan"
+
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Wyszukaj xchan (lub webbie) zaczynajÄ…c od: "
+
+#: ../../Zotlabs/Module/Xchan.php:41 ../../Zotlabs/Module/Mitem.php:134
+#: ../../Zotlabs/Module/Menu.php:232
+msgid "Not found."
+msgstr "Nie znaleziono."
+
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr "Kilka uwag o tym, co robisz, gdy jesteÅ› tu nowy"
+
+#: ../../Zotlabs/Module/Subthread.php:143
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s obserwuje %3$s %2$s"
+
+#: ../../Zotlabs/Module/Subthread.php:145
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr "%1$s przestał obserwować %3$s %2$s"
+
+#: ../../Zotlabs/Module/Regmod.php:15
+msgid "Please login."
+msgstr "Proszę się zalogować."
+
+#: ../../Zotlabs/Module/Editblock.php:138
+msgid "Edit Block"
+msgstr "Edytuj blok"
+
+#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:316
+msgid "webpage"
+msgstr "strona internetowa"
+
+#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:322
+msgid "block"
+msgstr "blok"
+
+#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:319
+msgid "layout"
+msgstr "układ"
+
+#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:325
+msgid "menu"
+msgstr "menu"
+
+#: ../../Zotlabs/Module/Impel.php:185
+#, php-format
+msgid "%s element installed"
+msgstr "Element %s zainstalowany"
+
+#: ../../Zotlabs/Module/Impel.php:188
+#, php-format
+msgid "%s element installation failed"
+msgstr "Instalacja elementu %s nie powiodła się"
+
+#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12
+msgid "Public Hubs"
+msgstr "Huby publiczne"
+
+#: ../../Zotlabs/Module/Pubsites.php:28
+msgid ""
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr ""
+"Wymienione huby umożliwiają publiczną rejestrację w sieci $Projectname. "
+"Wszystkie huby w sieci są ze sobą połączone, więc członkostwo w "
+"którymkolwiek z nich oznacza członkostwo w całej sieci. Niektóre huby mogą "
+"wymagać subskrypcji lub oferować warstwowe plany usług. Sam hub <strong> "
+"może </strong> podać dodatkowe szczegóły."
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Hub URL"
+msgstr "Adres URL huba"
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Access Type"
+msgstr "Typ dostępu"
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Registration Policy"
+msgstr "Zasady rejestracji"
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Stats"
+msgstr "Statystyki"
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Software"
+msgstr "Oprogramowanie"
+
+#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97
+#: ../../include/conversation.php:1130
+msgid "Ratings"
+msgstr "Oceny"
+
+#: ../../Zotlabs/Module/Pubsites.php:50
+msgid "Rate"
+msgstr "Ocena"
+
+#: ../../Zotlabs/Module/Chat.php:29 ../../Zotlabs/Module/Channel.php:42
+#: ../../Zotlabs/Module/Ochannel.php:32
+msgid "You must be logged in to see this page."
+msgstr "Musisz być zalogowany, aby zobaczyć tę stronę."
+
+#: ../../Zotlabs/Module/Chat.php:100
+msgid "Chatrooms App"
+msgstr "Aplikacja Chatrooms"
+
+#: ../../Zotlabs/Module/Chat.php:101
+msgid "Access Controlled Chatrooms"
+msgstr "Dostęp do kontrolowanych czatów"
+
+#: ../../Zotlabs/Module/Chat.php:194
+msgid "Room not found"
+msgstr "Nie znaleziono pokoju"
+
+#: ../../Zotlabs/Module/Chat.php:210
+msgid "Leave Room"
+msgstr "Opuść pokój"
+
+#: ../../Zotlabs/Module/Chat.php:211
+msgid "Delete Room"
+msgstr "Usuń pokój"
+
+#: ../../Zotlabs/Module/Chat.php:212
+msgid "I am away right now"
+msgstr "Nie ma mnie teraz"
+
+#: ../../Zotlabs/Module/Chat.php:213
+msgid "I am online"
+msgstr "Jestem dostępny"
+
+#: ../../Zotlabs/Module/Chat.php:215
+msgid "Bookmark this room"
+msgstr "Zaznacz ten pokój"
+
+#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1380
+#: ../../extend/addon/hzaddons/hsse/hsse.php:134
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:119
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:240
+msgid "Please enter a link URL:"
+msgstr "Proszę wprowadzić adres URL linku:"
+
+#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:839
+#: ../../include/conversation.php:1508
+#: ../../extend/addon/hzaddons/hsse/hsse.php:255
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:172
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:315
+msgid "Encrypt text"
+msgstr "Szyfruj tekst"
+
+#: ../../Zotlabs/Module/Chat.php:238
+msgid "New Chatroom"
+msgstr "Nowy czat"
+
+#: ../../Zotlabs/Module/Chat.php:239
+msgid "Chatroom name"
+msgstr "Nazwa czatu"
+
+#: ../../Zotlabs/Module/Chat.php:240
+msgid "Expiration of chats (minutes)"
+msgstr "Wygaśnięcie czatów (minuty)"
+
+#: ../../Zotlabs/Module/Chat.php:256
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "Czaty %1$s"
+
+#: ../../Zotlabs/Module/Chat.php:261
+msgid "No chatrooms available"
+msgstr "Brak dostępnych czatów"
+
+#: ../../Zotlabs/Module/Chat.php:265
+msgid "Expiration"
+msgstr "Wygaśnięcie"
+
+#: ../../Zotlabs/Module/Chat.php:266
+msgid "min"
+msgstr "min"
+
+#: ../../Zotlabs/Module/Uexport.php:61
+msgid "Channel Export App"
+msgstr "Aplikacja Channel Export"
+
+#: ../../Zotlabs/Module/Uexport.php:62
+msgid "Export your channel"
+msgstr "Wyeksportuj swój kanał"
+
+#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73
+msgid "Export Channel"
+msgstr "Eksport kanału"
+
+#: ../../Zotlabs/Module/Uexport.php:74
+msgid ""
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr ""
+"Wyeksportuj do pliku podstawowe informacje o kanale. Działa to jako kopia "
+"zapasowa połączeń, uprawnień, profilu i podstawowych danych, których można "
+"użyć do zaimportowania danych do nowego huba, ale nie zawiera treści."
+
+#: ../../Zotlabs/Module/Uexport.php:75
+msgid "Export Content"
+msgstr "Eksport treści"
+
+#: ../../Zotlabs/Module/Uexport.php:76
+msgid ""
+"Export your channel information and recent content to a JSON backup that can "
+"be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for "
+"this download to begin."
+msgstr ""
+"Wyeksportuj informacje o kanale i najnowsze treści do kopii zapasowej JSON, "
+"którą można przywrócić lub zaimportować do innego huba. Tworzy to kopie "
+"zapasowe wszystkich połączeń, uprawnień, danych profilu i kilku miesięcy "
+"postów. Ten plik może być BARDZO duży. Prosimy o cierpliwość - rozpoczęcie "
+"pobierania może zająć kilka minut."
+
+#: ../../Zotlabs/Module/Uexport.php:78
+msgid "Export your posts from a given year."
+msgstr "Eksportuj swoje posty z danego roku."
+
+#: ../../Zotlabs/Module/Uexport.php:80
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Adjust the date in your browser location bar to select other dates. "
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr ""
+"Można także wyeksportować swoje posty i rozmowy z określonego rok lub "
+"miesiąca. Dostosuj datę na pasku adresu przeglądarki, aby wybrać inne daty. "
+"Jeśli eksport się nie powiedzie (prawdopodobnie z powodu wyczerpania pamięci "
+"w serwera huba), spróbuj ponownie, wybierając bardziej ograniczony zakres "
+"dat."
+
+#: ../../Zotlabs/Module/Uexport.php:81
+#, php-format
+msgid ""
+"To select all posts for a given year, such as this year, visit <a href=\"%1$s"
+"\">%2$s</a>"
+msgstr ""
+"Aby wybrać wszystkie posty z danego roku, na przykład tego roku, odwiedź <a "
+"href=\"%1$s\">%2$s</a>"
+
+#: ../../Zotlabs/Module/Uexport.php:82
+#, php-format
+msgid ""
+"To select all posts for a given month, such as January of this year, visit "
+"<a href=\"%1$s\">%2$s</a>"
+msgstr ""
+"Aby wybrać wszystkie posty z danego miesiąca, np. stycznia tego roku, "
+"odwiedź <a href=\"%1$s\">%2$s</a>"
+
+#: ../../Zotlabs/Module/Uexport.php:83
+#, php-format
+msgid ""
+"These content files may be imported or restored by visiting <a href=\"%1$s\">"
+"%2$s</a> on any site containing your channel. For best results please import "
+"or restore these in date order (oldest first)."
+msgstr ""
+"Te pliki treści można zaimportować lub przywrócić, odwiedzając stronę <a "
+"href=\"%1$s\">%2$s</a> w dowolnym serwisie zawierającym Twój kanał. Aby "
+"uzyskać najlepsze wyniki, zaimportuj lub przywróć je w kolejności (od "
+"najstarszych)."
+
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "Nie znaleziono prawidłowego konta."
+
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Wysłano prośbę o zresetowanie hasła. Sprawdź swoją skrzynkę e-mail."
+
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Członek serwisu (%s)"
+
+#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Zresetowano hasło na %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:68
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr ""
+"Nie można zweryfikować żądania. (Możliwe, że zostało już przesłane). "
+"Resetowanie hasła nie powiodło się."
+
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1714
+msgid "Password Reset"
+msgstr "Resetowanie hasła"
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your password has been reset as requested."
+msgstr "Twoje hasło zostało zresetowane zgodnie z żądaniem."
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Your new password is"
+msgstr "Twoje nowe hasło to"
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "Save or copy your new password - and then"
+msgstr "Zapisz lub skopiuj nowe hasło - a następnie"
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid "click here to login"
+msgstr "kliknij tutaj aby się zalogować"
+
+#: ../../Zotlabs/Module/Lostpass.php:96
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr ""
+"Twoje hasło może zostać zmienione na stronie <em>Ustawienia</em> po "
+"pomyślnym zalogowaniu."
+
+#: ../../Zotlabs/Module/Lostpass.php:117
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Twoje hasło zostało zmienione na %s"
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Forgot your Password?"
+msgstr "Zapomniałeś hasła?"
+
+#: ../../Zotlabs/Module/Lostpass.php:131
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr ""
+"Wpisz swój adres e-mail i prześlij, aby zresetować hasło. Następnie sprawdź "
+"swoja skrzynkę e-mail, aby uzyskać dalsze instrukcje."
+
+#: ../../Zotlabs/Module/Lostpass.php:132
+msgid "Email Address"
+msgstr "Adres e-mail"
+
+#: ../../Zotlabs/Module/Vote.php:40
+msgid "Poll not found."
+msgstr "Nie znaleziono ankiety."
+
+#: ../../Zotlabs/Module/Vote.php:71
+msgid "Invalid response."
+msgstr "Nieprawidłowa odpowiedź."
+
+#: ../../Zotlabs/Module/Vote.php:132
+msgid "Response submitted. Updates may not appear instantly."
+msgstr "Odpowiedź przesłana. Aktualizacje mogą nie pojawiać się natychmiast."
+
+#: ../../Zotlabs/Module/Ping.php:337 ../../Zotlabs/Lib/Enotify.php:948
+msgid "sent you a private message"
+msgstr "wysłał Ci prywatną wiadomość"
+
+#: ../../Zotlabs/Module/Ping.php:393 ../../Zotlabs/Lib/Enotify.php:914
+msgid "added your channel"
+msgstr "dodał Twój kanał"
+
+#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986
+msgid "requires approval"
+msgstr "wymaga zatwierdzenia"
+
+#: ../../Zotlabs/Module/Ping.php:428 ../../Zotlabs/Lib/Enotify.php:957
+msgid "g A l F d"
+msgstr "g A l F d"
+
+#: ../../Zotlabs/Module/Ping.php:446 ../../Zotlabs/Lib/Enotify.php:960
+msgid "[today]"
+msgstr "[dzisiaj]"
+
+#: ../../Zotlabs/Module/Ping.php:456
+msgid "posted an event"
+msgstr "opublikował wydarzenie"
+
+#: ../../Zotlabs/Module/Ping.php:490 ../../Zotlabs/Lib/Enotify.php:829
+#: ../../Zotlabs/Lib/Enotify.php:931
+msgid "shared a file with you"
+msgstr "udostępnił Ci plik"
+
+#: ../../Zotlabs/Module/Display.php:359 ../../Zotlabs/Module/Channel.php:449
+msgid ""
+"You must enable javascript for your browser to be able to view this content."
+msgstr ""
+"Aby przeglądać te treści, musisz włączyć obsługę JavaScript w swojej "
+"przeglÄ…darce."
+
+#: ../../Zotlabs/Module/Display.php:377
+msgid "Article"
+msgstr "Artykuł"
+
+#: ../../Zotlabs/Module/Display.php:422
+msgid "Item has been removed."
+msgstr "Element został usunięty."
+
+#: ../../Zotlabs/Module/Admin.php:96
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Accounts.php:180
+#: ../../Zotlabs/Widget/Admin.php:23
+msgid "Accounts"
+msgstr "Konta"
+
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "Blocked accounts"
+msgstr "Zablokowane konta"
+
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "Expired accounts"
+msgstr "Wygasłe konta"
+
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "Expiring accounts"
+msgstr "WygasajÄ…ce konta"
+
+#: ../../Zotlabs/Module/Admin.php:114
+#: ../../Zotlabs/Module/Admin/Channels.php:146
+#: ../../Zotlabs/Widget/Admin.php:24
+msgid "Channels"
+msgstr "Kanały"
+
+#: ../../Zotlabs/Module/Admin.php:120
+msgid "Message queues"
+msgstr "Kolejki wiadomości"
+
+#: ../../Zotlabs/Module/Admin.php:134
+msgid "Your software should be updated"
+msgstr "Twoje oprogramowanie powinno zostać zaktualizowane"
+
+#: ../../Zotlabs/Module/Admin.php:138 ../../Zotlabs/Module/Admin/Themes.php:122
+#: ../../Zotlabs/Module/Admin/Themes.php:156
+#: ../../Zotlabs/Module/Admin/Security.php:98
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Channels.php:145
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Addons.php:342
+#: ../../Zotlabs/Module/Admin/Addons.php:440
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "Administration"
+msgstr "Administracja"
+
+#: ../../Zotlabs/Module/Admin.php:139
+msgid "Summary"
+msgstr "Posumowanie"
+
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Registered accounts"
+msgstr "Zarejestrowane konta"
+
+#: ../../Zotlabs/Module/Admin.php:143
+msgid "Pending registrations"
+msgstr "Rejestracja oczekujÄ…ca"
+
+#: ../../Zotlabs/Module/Admin.php:144
+msgid "Registered channels"
+msgstr "Zarejestrowane kanały"
+
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Active addons"
+msgstr "Aktywne dodatki"
+
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Version"
+msgstr "Wersja"
+
+#: ../../Zotlabs/Module/Admin.php:147
+msgid "Repository version (master)"
+msgstr "Wersja repozytorium (master)"
+
+#: ../../Zotlabs/Module/Admin.php:148
+msgid "Repository version (dev)"
+msgstr "Wersja repozytorium (dev)"
+
+#: ../../Zotlabs/Module/Photos.php:80
+msgid "Page owner information could not be retrieved."
+msgstr "Nie można pobrać informacji o właścicielu strony."
+
+#: ../../Zotlabs/Module/Photos.php:96 ../../Zotlabs/Module/Photos.php:115
+msgid "Album not found."
+msgstr "Nie znaleziono albumu."
+
+#: ../../Zotlabs/Module/Photos.php:105
+msgid "Delete Album"
+msgstr "Usuń album"
+
+#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1059
+msgid "Delete Photo"
+msgstr "Usuń zdjęcie"
+
+#: ../../Zotlabs/Module/Photos.php:530
+msgid "No photos selected"
+msgstr "Nie wybrano zdjęć"
+
+#: ../../Zotlabs/Module/Photos.php:579
+msgid "Access to this item is restricted."
+msgstr "Dostęp do tego elementu jest ograniczony."
+
+#: ../../Zotlabs/Module/Photos.php:622
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "Wykorzystane miejsce na zdjęcia: %1$.2f MB z %2$.2f MB."
+
+#: ../../Zotlabs/Module/Photos.php:625
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "Wykorzystane miejsce na zdjęcia: %1$.2f MB."
+
+#: ../../Zotlabs/Module/Photos.php:667
+msgid "Upload Photos"
+msgstr "Prześlij zdjęcia"
+
+#: ../../Zotlabs/Module/Photos.php:671
+msgid "Enter an album name"
+msgstr "Wpisz nazwÄ™ albumu"
+
+#: ../../Zotlabs/Module/Photos.php:672
+msgid "or select an existing album (doubleclick)"
+msgstr "lub wybierz istniejący album (podwójne kliknięcie)"
+
+#: ../../Zotlabs/Module/Photos.php:673
+msgid "Create a status post for this upload"
+msgstr "Utwórz post o stanie tego przesyłania"
+
+#: ../../Zotlabs/Module/Photos.php:675
+msgid "Description (optional)"
+msgstr "Opis (opcjonalnie)"
+
+#: ../../Zotlabs/Module/Photos.php:761
+msgid "Show Newest First"
+msgstr "Pokaż najpierw najnowsze"
+
+#: ../../Zotlabs/Module/Photos.php:763
+msgid "Show Oldest First"
+msgstr "Pokaż najpierw najstarsze"
+
+#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333
+#: ../../Zotlabs/Module/Embedphotos.php:170
+#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78
+msgid "View Photo"
+msgstr "Zobacz zdjęcie"
+
+#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255
+#: ../../Zotlabs/Module/Embedphotos.php:176 ../../Zotlabs/Lib/Apps.php:1112
+#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1508
+#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:270
+#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1211
+#: ../../include/cdav.php:158 ../../include/cdav.php:159
+#: ../../include/cdav.php:167 ../../extend/addon/hzaddons/pubcrawl/as.php:1187
+msgid "Unknown"
+msgstr "Nieznane"
+
+#: ../../Zotlabs/Module/Photos.php:818 ../../Zotlabs/Module/Embedphotos.php:186
+#: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95
+msgid "Edit Album"
+msgstr "Edytuj album"
+
+#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364
+msgid "Add Photos"
+msgstr "Dodaj zdjęcia"
+
+#: ../../Zotlabs/Module/Photos.php:868
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Odmowa dostęþu. Dostęp do tej pozycji może być ograniczony."
+
+#: ../../Zotlabs/Module/Photos.php:870
+msgid "Photo not available"
+msgstr "Zdjęcie niedostępne"
+
+#: ../../Zotlabs/Module/Photos.php:928
+msgid "Use as profile photo"
+msgstr "Użyj jako zdjęcie profilowe"
+
+#: ../../Zotlabs/Module/Photos.php:929
+msgid "Use as cover photo"
+msgstr "Użyj jako zdjęcia okładkowe"
+
+#: ../../Zotlabs/Module/Photos.php:936
+msgid "Private Photo"
+msgstr "Zdjęcie prywatne"
+
+#: ../../Zotlabs/Module/Photos.php:951
+msgid "View Full Size"
+msgstr "Zobacz pełny rozmiar"
+
+#: ../../Zotlabs/Module/Photos.php:1033
+msgid "Edit photo"
+msgstr "Edutuj zdjęcie"
+
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CW (right)"
+msgstr "Obróć w prawo"
+
+#: ../../Zotlabs/Module/Photos.php:1036
+msgid "Rotate CCW (left)"
+msgstr "Obróć w lewo"
+
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "Move photo to album"
+msgstr "Przenieś zdjęcie do albumu"
+
+#: ../../Zotlabs/Module/Photos.php:1040
+msgid "Enter a new album name"
+msgstr "Wpisz nowÄ… nazwÄ™ albumu"
+
+#: ../../Zotlabs/Module/Photos.php:1041
+msgid "or select an existing one (doubleclick)"
+msgstr "lub wybierz istniejący (podwójne kliknięcie)"
+
+#: ../../Zotlabs/Module/Photos.php:1046
+msgid "Add a Tag"
+msgstr "Dodaj tag"
+
+#: ../../Zotlabs/Module/Photos.php:1054
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Przykład: @bob, @Barbara_Jensen, @jim@example.com"
+
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Flag as adult in album view"
+msgstr "Oznacz jako \"dla dorosłych\" w widoku albumu"
+
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:317
+msgid "I like this (toggle)"
+msgstr "Lubię to (przełącz)"
+
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:318
+msgid "I don't like this (toggle)"
+msgstr "Nie podoba mi się to (przełącz)"
+
+#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:501
+#: ../../include/conversation.php:827
+msgid "Please wait"
+msgstr "Proszę czekać"
+
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Lib/ThreadItem.php:822
+msgid "This is you"
+msgstr "To jesteÅ› ty"
+
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:824 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Komentarz"
+
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:652
+msgctxt "title"
+msgid "Likes"
+msgstr "Polubienia"
+
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:653
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Dezaprobaty"
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:77
+#: ../../include/conversation.php:654
+msgctxt "title"
+msgid "Agree"
+msgstr "Zgoda"
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:78
+#: ../../include/conversation.php:655
+msgctxt "title"
+msgid "Disagree"
+msgstr "Sprzeciw"
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:79
+#: ../../include/conversation.php:656
+msgctxt "title"
+msgid "Abstain"
+msgstr "WstrzymujÄ™ siÄ™"
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:66
+#: ../../include/conversation.php:657
+msgctxt "title"
+msgid "Attending"
+msgstr "UczestniczÄ™"
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:67
+#: ../../include/conversation.php:658
+msgctxt "title"
+msgid "Not attending"
+msgstr "Nie uczestniczÄ™"
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:68
+#: ../../include/conversation.php:659
+msgctxt "title"
+msgid "Might attend"
+msgstr "Mogę uczestniczyć"
+
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
+#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250
+msgid "View all"
+msgstr "Pokaż wszystkie"
+
+#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:242
+#: ../../include/conversation.php:1749 ../../include/channel.php:1781
+#: ../../include/taxonomy.php:668
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Lubi"
+msgstr[1] "LubiÄ…"
+msgstr[2] "Lubi"
+
+#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:247
+#: ../../include/conversation.php:1752
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Nie lubi"
+msgstr[1] "Nie lubiÄ…"
+msgstr[2] "Nie lubi"
+
+#: ../../Zotlabs/Module/Photos.php:1247
+msgid "Photo Tools"
+msgstr "Narzędzia fotograficzne"
+
+#: ../../Zotlabs/Module/Photos.php:1256
+msgid "In This Photo:"
+msgstr "Na tym zdjęciu:"
+
+#: ../../Zotlabs/Module/Photos.php:1261
+msgid "Map"
+msgstr "Mapa"
+
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:489
+msgctxt "noun"
+msgid "Likes"
+msgstr "Polubienia"
+
+#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:490
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Dezaprobaty"
+
+#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411
+#: ../../Zotlabs/Lib/ThreadItem.php:495 ../../Zotlabs/Widget/Pinned.php:160
+#: ../../include/acl_selectors.php:155
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:233
+msgid "Close"
+msgstr "Zamknięte"
+
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362 ../../include/photos.php:667
+msgid "Recent Photos"
+msgstr "Najnowsze zdjęcia"
+
+#: ../../Zotlabs/Module/Channel.php:99 ../../Zotlabs/Module/Profile.php:45
+#: ../../Zotlabs/Module/Hcard.php:37
+msgid "Posts and comments"
+msgstr "Posty i komentarze"
+
+#: ../../Zotlabs/Module/Channel.php:106 ../../Zotlabs/Module/Profile.php:52
+#: ../../Zotlabs/Module/Hcard.php:44
+msgid "Only posts"
+msgstr "Tylko posty"
+
+#: ../../Zotlabs/Module/Channel.php:174
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr ""
+"Niewystarczające uprawnienia. Żądanie zostało przekierowane na stronę "
+"profilu."
+
+#: ../../Zotlabs/Module/Channel.php:189 ../../Zotlabs/Module/Network.php:164
+msgid "Search Results For:"
+msgstr "Wyniki wyszukiwania dla:"
+
+#: ../../Zotlabs/Module/Cards.php:51
+msgid "Cards App"
+msgstr "Aplikacja Cards"
+
+#: ../../Zotlabs/Module/Cards.php:52
+msgid "Create personal planning cards"
+msgstr "Twórz osobiste karty planowania"
+
+#: ../../Zotlabs/Module/Cards.php:112
+msgid "Add Card"
+msgstr "Dodaj kartÄ™"
+
+#: ../../Zotlabs/Module/Cards.php:207 ../../Zotlabs/Lib/Apps.php:326
+#: ../../include/nav.php:501
+msgid "Cards"
+msgstr "Karty"
+
+#: ../../Zotlabs/Module/Go.php:21
+msgid "This page is available only to site members"
+msgstr "Ta strona jest dostępna tylko dla członków serwisu"
+
+#: ../../Zotlabs/Module/Go.php:27
+msgid "Welcome"
+msgstr "Witamy"
+
+#: ../../Zotlabs/Module/Go.php:29
+msgid "What would you like to do?"
+msgstr "Co chciałbyś zrobić?"
+
+#: ../../Zotlabs/Module/Go.php:31
+msgid ""
+"Please bookmark this page if you would like to return to it in the future"
+msgstr "Dodaj tę stronę do zakładek, jeśli chcesz wrócić do niej w przyszłości"
+
+#: ../../Zotlabs/Module/Go.php:35
+msgid "Upload a profile photo"
+msgstr "Prześlij zdjęcie profilowe"
+
+#: ../../Zotlabs/Module/Go.php:36
+msgid "Upload a cover photo"
+msgstr "Prześlij zdjęcie na okładkę"
+
+#: ../../Zotlabs/Module/Go.php:37
+msgid "Edit your default profile"
+msgstr "Edytuj swój domyślny profil"
+
+#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:41
+msgid "View friend suggestions"
+msgstr "Zobacz propozycje znajomości"
+
+#: ../../Zotlabs/Module/Go.php:39
+msgid "View the channel directory"
+msgstr "Wyświetl katalog kanałów"
+
+#: ../../Zotlabs/Module/Go.php:40
+msgid "View/edit your channel settings"
+msgstr "Wyświetl/edytuj ustawienia swojego kanału"
+
+#: ../../Zotlabs/Module/Go.php:41
+msgid "View the site or project documentation"
+msgstr "Wyświetl witrynę lub dokumentację projektu"
+
+#: ../../Zotlabs/Module/Go.php:42
+msgid "Visit your channel homepage"
+msgstr "Odwiedź stronę główną swojego kanału"
+
+#: ../../Zotlabs/Module/Go.php:43
+msgid ""
+"View your connections and/or add somebody whose address you already know"
+msgstr "Wyświetl swoje kontakty albo dodaj osobę, której adres już znasz"
+
+#: ../../Zotlabs/Module/Go.php:44
+msgid ""
+"View your personal stream (this may be empty until you add some connections)"
+msgstr ""
+"Wyświetl swój osobisty strumień (może być pusty, dopóki nie dodasz "
+"niektórych połączeń)"
+
+#: ../../Zotlabs/Module/Go.php:52
+msgid "View the public stream. Warning: this content is not moderated"
+msgstr ""
+"Wyświetl strumień publiczny. Ostrzeżenie: ta zawartość nie jest moderowana"
+
+#: ../../Zotlabs/Module/Connections.php:58
+#: ../../Zotlabs/Module/Connections.php:115
+#: ../../Zotlabs/Module/Connections.php:273
+msgid "Active"
+msgstr "Aktywny"
+
+#: ../../Zotlabs/Module/Connections.php:63
+#: ../../Zotlabs/Module/Connections.php:181
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Blocked"
+msgstr "Zablokowany"
+
+#: ../../Zotlabs/Module/Connections.php:68
+#: ../../Zotlabs/Module/Connections.php:188
+#: ../../Zotlabs/Module/Connections.php:277
+msgid "Ignored"
+msgstr "Ignorowany"
+
+#: ../../Zotlabs/Module/Connections.php:73
+#: ../../Zotlabs/Module/Connections.php:202
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Hidden"
+msgstr "Ukryty"
+
+#: ../../Zotlabs/Module/Connections.php:78
+#: ../../Zotlabs/Module/Connections.php:195
+msgid "Archived/Unreachable"
+msgstr "Zarchiwizowane/NieosiÄ…galne"
+
+#: ../../Zotlabs/Module/Connections.php:83
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Notifications.php:50 ../../Zotlabs/Module/Menu.php:180
+msgid "New"
+msgstr "Nowy"
+
+#: ../../Zotlabs/Module/Connections.php:157
+msgid "Active Connections"
+msgstr "Aktywne połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:160
+msgid "Show active connections"
+msgstr "Pokaż aktywne połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:164
+#: ../../Zotlabs/Widget/Notifications.php:104
+msgid "New Connections"
+msgstr "Nowe połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:167
+msgid "Show pending (new) connections"
+msgstr "Pokaż oczekujące (nowe) połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:184
+msgid "Only show blocked connections"
+msgstr "Pokaż tylko zablokowane połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:191
+msgid "Only show ignored connections"
+msgstr "Pokaż tylko ignorowane połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:198
+msgid "Only show archived/unreachable connections"
+msgstr "Pokaż tylko zarchiwizowane/nieosiągalne połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:205
+msgid "Only show hidden connections"
+msgstr "Pokaż tylko ukryte połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:220
+msgid "Show all connections"
+msgstr "Pokaż wszystkie połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Pending approval"
+msgstr "W oczekiwaniu na zatwierdzenie"
+
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Archived"
+msgstr "Zarchiwizowane"
+
+#: ../../Zotlabs/Module/Connections.php:279
+msgid "Not connected at this location"
+msgstr "Brak połączenia w tej lokalizacji"
+
+#: ../../Zotlabs/Module/Connections.php:318
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
+
+#: ../../Zotlabs/Module/Connections.php:319
+msgid "Edit connection"
+msgstr "Edytuj połączenie"
+
+#: ../../Zotlabs/Module/Connections.php:321
+msgid "Delete connection"
+msgstr "Usuń połączenie"
+
+#: ../../Zotlabs/Module/Connections.php:330
+msgid "Channel address"
+msgstr "Adres kanału"
+
+#: ../../Zotlabs/Module/Connections.php:332 ../../include/features.php:291
+msgid "Network"
+msgstr "Sieć"
+
+#: ../../Zotlabs/Module/Connections.php:335
+msgid "Call"
+msgstr "Połączenie"
+
+#: ../../Zotlabs/Module/Connections.php:337
+msgid "Status"
+msgstr "Stan"
+
+#: ../../Zotlabs/Module/Connections.php:339
+msgid "Connected"
+msgstr "Połączene"
+
+#: ../../Zotlabs/Module/Connections.php:341
+msgid "Approve connection"
+msgstr "Zatwierdź połączenie"
+
+#: ../../Zotlabs/Module/Connections.php:342
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../include/conversation.php:774
+msgid "Approve"
+msgstr "Zatwierdź"
+
+#: ../../Zotlabs/Module/Connections.php:343
+msgid "Ignore connection"
+msgstr "Ignoruj połączenie"
+
+#: ../../Zotlabs/Module/Connections.php:345
+msgid "Recent activity"
+msgstr "Ostatnia aktywność"
+
+#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71
+#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32
+#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1100
+#: ../../include/channel.php:1618 ../../include/connections.php:110
+msgid "Connect"
+msgstr "Połączenie"
+
+#: ../../Zotlabs/Module/Connections.php:351
+msgid "Connect at this location"
+msgstr "Połącz w tej lokalizacji"
+
+#: ../../Zotlabs/Module/Connections.php:374 ../../Zotlabs/Lib/Apps.php:333
+#: ../../include/features.php:133 ../../include/text.php:1036
+msgid "Connections"
+msgstr "Połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:379
+msgid "Search your connections"
+msgstr "Wyszukaj swoje połączenia"
+
+#: ../../Zotlabs/Module/Connections.php:380
+msgid "Connections search"
+msgstr "Wyszukiwanie połączeń"
+
+#: ../../Zotlabs/Module/Connections.php:381
+#: ../../Zotlabs/Module/Directory.php:433
+#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Znajdź"
+
+#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43
+msgid "Item is not editable"
+msgstr "Elementu nie można edytować"
+
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
+msgstr "Tag został usunięty"
+
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
+msgstr "Usuń tag elementy"
+
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
+msgstr "Wybierz tag do usunięcia: "
+
+#: ../../Zotlabs/Module/Affinity.php:35
+msgid "Affinity Tool settings updated."
+msgstr "Zaktualizowano ustawienia narzędzia Affinity."
+
+#: ../../Zotlabs/Module/Affinity.php:47
+msgid ""
+"This app presents a slider control in your connection editor and also on "
+"your network page. The slider represents your degree of friendship "
+"(affinity) with each connection. It allows you to zoom in or out and display "
+"conversations from only your closest friends or everybody in your stream."
+msgstr ""
+"Ta aplikacja przedstawia suwak w edytorze połączeń, a także na stronie "
+"internetowej. Suwak przedstawia stopień przyjaźni (koligacji) z każdym "
+"połączeniem. Umożliwia powiększanie i pomniejszanie oraz wyświetlanie rozmów "
+"tylko od najbliższych znajomych lub wszystkich w strumieniu."
+
+#: ../../Zotlabs/Module/Affinity.php:52
+msgid "Affinity Tool App"
+msgstr "Aplikacja Affinity Tool"
+
+#: ../../Zotlabs/Module/Affinity.php:57
+msgid ""
+"The numbers below represent the minimum and maximum slider default positions "
+"for your network/stream page as a percentage."
+msgstr ""
+"Poniższe liczby przedstawiają minimalne i maksymalne domyślne pozycje "
+"suwaków na stronie sieci/strumienia w procentach."
+
+#: ../../Zotlabs/Module/Affinity.php:64
+msgid "Default maximum affinity level"
+msgstr "Domyślny maksymalny poziom więzi"
+
+#: ../../Zotlabs/Module/Affinity.php:64
+msgid "0-99 default 99"
+msgstr "0-99, domyślnie 99"
+
+#: ../../Zotlabs/Module/Affinity.php:70
+msgid "Default minimum affinity level"
+msgstr "Domyślny minimalny poziom więzi"
+
+#: ../../Zotlabs/Module/Affinity.php:70
+msgid "0-99 - default 0"
+msgstr "0-99, domyślnie 0"
+
+#: ../../Zotlabs/Module/Affinity.php:76
+msgid "Persistent affinity levels"
+msgstr "Trwałe poziomy więzi"
+
+#: ../../Zotlabs/Module/Affinity.php:76
+msgid ""
+"If disabled the max and min levels will be reset to default after page reload"
+msgstr ""
+"Jeśli wyłączone, maksymalne i minimalne poziomy zostaną zresetowane do "
+"wartości domyślnych po ponownym załadowaniu strony"
+
+#: ../../Zotlabs/Module/Affinity.php:84
+msgid "Affinity Tool Settings"
+msgstr "Ustawienia Affinity Tool"
+
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Brak kanału."
+
+#: ../../Zotlabs/Module/Common.php:45
+msgid "No connections in common."
+msgstr "Brak wspólnych połączeń."
+
+#: ../../Zotlabs/Module/Common.php:65
+msgid "View Common Connections"
+msgstr "Wyświetl typowe połączenia"
+
+#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2133
+#, php-format
+msgid "&#x1f501; Repeated %1$s's %2$s"
+msgstr "&#x1f501; Powtórzony %2$s %1$s"
+
+#: ../../Zotlabs/Module/Share.php:120
+msgid "Post repeated"
+msgstr "Post powtórzony"
+
+#: ../../Zotlabs/Module/Editwebpage.php:139
+msgid "Page link"
+msgstr "Link do strony"
+
+#: ../../Zotlabs/Module/Editwebpage.php:166
+msgid "Edit Webpage"
+msgstr "Edytuj stronÄ™ internetowÄ…"
+
+#: ../../Zotlabs/Module/Profile.php:93
+msgid "vcard"
+msgstr "vcard"
+
+#: ../../Zotlabs/Module/Article_edit.php:127
+msgid "Edit Article"
+msgstr "Edutuj artykuł"
+
+#: ../../Zotlabs/Module/Rmagic.php:46
+msgid "Authentication failed."
+msgstr "Uwierzytelnianie nie powiodło się."
+
+#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2597
+#: ../../boot.php:1706
+msgid "Remote Authentication"
+msgstr "Zdalne uwierzytelnianie"
+
+#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2598
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Wpisz adres swojego kanału (np. kanał@example.com)"
+
+#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2599
+msgid "Authenticate"
+msgstr "Uwierzytelnianie"
+
+#: ../../Zotlabs/Module/Attach.php:67
+msgid "Item not available."
+msgstr "Element nie jest dostępny."
+
+#: ../../Zotlabs/Module/Pconfig.php:32 ../../Zotlabs/Module/Pconfig.php:68
+msgid "This setting requires special processing and editing has been blocked."
+msgstr ""
+"To ustawienie wymaga specjalnego przetwarzania, a edycja została zablokowana."
+
+#: ../../Zotlabs/Module/Pconfig.php:57
+msgid "Configuration Editor"
+msgstr "Edytor konfiguracji"
+
+#: ../../Zotlabs/Module/Pconfig.php:58
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please "
+"leave this page unless you are comfortable with and knowledgeable about how "
+"to correctly use this feature."
+msgstr ""
+"Ostrzeżenie: zmiana niektórych ustawień może spowodować, że Twój kanał "
+"przestanie działać. Opuść tę stronę, chyba że czujesz się komfortowo i nie "
+"wiesz, jak prawidłowo korzystać z tej funkcji."
+
+#: ../../Zotlabs/Module/Randprof.php:29
+msgid "Random Channel App"
+msgstr "Aplikacja Random Channel"
+
+#: ../../Zotlabs/Module/Randprof.php:30
+msgid "Visit a random channel in the $Projectname network"
+msgstr "Odwiedź losowy kanał w sieci $Projectname"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:26
+msgid "Theme settings updated."
+msgstr "Zaktualizowano ustawienia motywu."
+
+#: ../../Zotlabs/Module/Admin/Themes.php:61
+msgid "No themes found."
+msgstr "Nie znaleziono motywów."
+
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+#: ../../Zotlabs/Module/Admin/Addons.php:311
+msgid "Disable"
+msgstr "Wyłącz"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:97
+#: ../../Zotlabs/Module/Admin/Addons.php:314
+msgid "Enable"
+msgstr "Włącz"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:116
+msgid "Screenshot"
+msgstr "Zrzut ekranu"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:123
+#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../Zotlabs/Widget/Admin.php:28
+msgid "Themes"
+msgstr "Motywy"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:124
+#: ../../Zotlabs/Module/Admin/Addons.php:344
+msgid "Toggle"
+msgstr "Przełącz"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:125
+#: ../../Zotlabs/Module/Admin/Addons.php:345 ../../Zotlabs/Lib/Apps.php:339
+#: ../../Zotlabs/Widget/Settings_menu.php:61
+#: ../../Zotlabs/Widget/Newmember.php:53 ../../include/nav.php:103
+msgid "Settings"
+msgstr "Ustawienia"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:134
+#: ../../Zotlabs/Module/Admin/Addons.php:352
+msgid "Author: "
+msgstr "Autor: "
+
+#: ../../Zotlabs/Module/Admin/Themes.php:135
+#: ../../Zotlabs/Module/Admin/Addons.php:353
+msgid "Maintainer: "
+msgstr "Opiekun: "
+
+#: ../../Zotlabs/Module/Admin/Themes.php:162
+msgid "[Experimental]"
+msgstr "[Eksperymentalne]"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:163
+msgid "[Unsupported]"
+msgstr "[Nieobsługiwane]"
+
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently "
+"insecure."
+msgstr ""
+"Domyślnie, w osadzonych mediach jest dozwolony niefiltrowany HTML. Jest to "
+"z natury niebezpieczne."
+
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr ""
+"Zalecane ustawienie to zezwalanie na niefiltrowany kodu HTML tylko z "
+"następujących serwisów:"
+
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/"
+"<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/"
+"<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr ""
+"Wszystkie inne osadzone treści będą filtrowane, <strong>chyba że</strong> "
+"osadzone treści z tego serwisu są jawnie zablokowane."
+
+#: ../../Zotlabs/Module/Admin/Security.php:99 ../../Zotlabs/Widget/Admin.php:25
+msgid "Security"
+msgstr "Bezpieczeństwo"
+
+#: ../../Zotlabs/Module/Admin/Security.php:101
+msgid "Block public"
+msgstr "Zablokuj publiczny dostęp"
+
+#: ../../Zotlabs/Module/Admin/Security.php:101
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr ""
+"Zaznacz, aby zablokować publiczny dostęp do wszystkich innych publicznych "
+"stron osobistych w tej witrynie, chyba że jesteś obecnie uwierzytelniony."
+
+#: ../../Zotlabs/Module/Admin/Security.php:102
+msgid "Provide a cloud root directory"
+msgstr "Podaj katalog główny w chmurze"
+
+#: ../../Zotlabs/Module/Admin/Security.php:102
+msgid ""
+"The cloud root directory lists all channel names which provide public files"
+msgstr ""
+"Katalog główny w chmurze zawiera listę wszystkich nazw kanałów, które "
+"udostępniają pliki publiczne"
+
+#: ../../Zotlabs/Module/Admin/Security.php:103
+msgid "Show total disk space available to cloud uploads"
+msgstr ""
+"Pokaż całkowitą przestrzeń dyskową dostępną do przesyłania plików do chmury"
+
+#: ../../Zotlabs/Module/Admin/Security.php:104
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "Ustaw nagłówek HTTP \"Transport Security\""
+
+#: ../../Zotlabs/Module/Admin/Security.php:105
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr "Ustaw nagłówek HTTP \"Content Security Policy\""
+
+#: ../../Zotlabs/Module/Admin/Security.php:106
+msgid "Allowed email domains"
+msgstr "Dozwolone domeny e-mail"
+
+#: ../../Zotlabs/Module/Admin/Security.php:106
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr ""
+"Rozdzielana przecinkami lista domen, które są dozwolone w adresach e-mail "
+"podczas rejestracji w tym serwisie. Akceptowane sÄ… symbole wieloznaczne. "
+"Puste pole oznacza zezwolenie na dowolne domeny"
+
+#: ../../Zotlabs/Module/Admin/Security.php:107
+msgid "Not allowed email domains"
+msgstr "Niedozwolone domeny e-mail"
+
+#: ../../Zotlabs/Module/Admin/Security.php:107
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr ""
+"Rozdzielana przecinkami lista domen, które nie są dozwolone w adresach e-"
+"mail podczas rejestracji w tym serwisie. Akceptowane sÄ… symbole "
+"wieloznaczne. Puste pole oznacza zezwolenie na wszystkie domeny, chyba że "
+"zostały uprzednio zdefiniowane jakieś dozwolone domeny."
+
+#: ../../Zotlabs/Module/Admin/Security.php:108
+msgid "Allow communications only from these sites"
+msgstr "Zezwalaj na komunikację tylko z tych serwisów"
+
+#: ../../Zotlabs/Module/Admin/Security.php:108
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr ""
+"Jeden serwis w wierszu. Pozostaw puste, aby domyślnie zezwolić na "
+"komunikacjÄ™ z dowolnego miejsca"
+
+#: ../../Zotlabs/Module/Admin/Security.php:109
+msgid "Block communications from these sites"
+msgstr "Blokuj komunikację z tych serwisów"
+
+#: ../../Zotlabs/Module/Admin/Security.php:110
+msgid "Allow communications only from these channels"
+msgstr "Zezwalaj na komunikację tylko z tych kanałów"
+
+#: ../../Zotlabs/Module/Admin/Security.php:110
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by default"
+msgstr ""
+"Jeden kanał (hash) na linię. Pozostaw puste, aby domyślnie zezwolić z "
+"dowolnego kanału"
+
+#: ../../Zotlabs/Module/Admin/Security.php:111
+msgid "Block communications from these channels"
+msgstr "Blokuj komunikację z tych kanałów"
+
+#: ../../Zotlabs/Module/Admin/Security.php:112
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Zezwalaj na osadzanie tylko z bezpiecznych (SSL) witryn i linków ."
+
+#: ../../Zotlabs/Module/Admin/Security.php:113
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Zezwalaj na niefiltrowanÄ… osadzony kod HTML tylko z tych domen"
+
+#: ../../Zotlabs/Module/Admin/Security.php:113
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Jedna witryna w wierszu. Domyślnie, treść osadzona jest filtrowana."
+
+#: ../../Zotlabs/Module/Admin/Security.php:114
+msgid "Block embedded HTML from these domains"
+msgstr "Zablokuj osadzony kod HTML z tych domen"
+
+#: ../../Zotlabs/Module/Admin/Security.php:115
+msgid "Allow SVG thumbnails in file browser"
+msgstr "Zezwalaj na miniatury SVG w przeglądarce plików"
+
+#: ../../Zotlabs/Module/Admin/Security.php:115
+msgid "WARNING: SVG images may contain malicious code."
+msgstr "OSTRZEŻENIE: obrazy SVG mogą zawierać złośliwy kod."
+
+#: ../../Zotlabs/Module/Admin/Security.php:116
+msgid "Allow embedded (inline) PDF files"
+msgstr "Zezwalaj na osadzone (międzywierszowe) pliki PDF"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:37
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "%s konto jest zablokowane/odblokowane"
+msgstr[1] "%s konto sÄ… zablokowane/odblokowane"
+msgstr[2] "%s kont jest zablokowanych/odblokowanych"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:44
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s konto jest usunięte"
+msgstr[1] "%s konta są usunięte"
+msgstr[2] "%s kont jest usuniętych"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:80
+msgid "Account not found"
+msgstr "Konto nie znalezione"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2757
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "Usunieto konto '%s'"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:99
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "Konto '%s' zostało zablokowane"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:107
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "Konto '%s' zostało odblokowane"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+#: ../../Zotlabs/Module/Admin/Channels.php:148
+msgid "select all"
+msgstr "wybierz wszystkie"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Registrations waiting for confirm"
+msgstr "Rejestracje czekajÄ… na potwierdzenie"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "Request date"
+msgstr "Data wniosku"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+msgid "No registrations."
+msgstr "Brak rejestracji."
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:182
+msgid "ID"
+msgstr "ID"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "All Channels"
+msgstr "Wszytskie kanały"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Register date"
+msgstr "Data rejestracji"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Last login"
+msgstr "Ostatnie logowanie"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Expires"
+msgstr "Wygasa"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:188
+msgid "Service Class"
+msgstr "Klasa usługi"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
+"on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+"Wybrane konta zostaną usunięte!\\n\\nWszystko, co z tych kont zostało "
+"opublikowane na tym serwisie, zostanie bezpowrotnie usunięte!\\n\\nCzy na "
+"pewno usunąć?"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:191
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+"Konto {0} zostanie usuniete!\\n\\nWszystko co opublikowano z tego konta na "
+"tym serwisie zostanie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?"
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55
+msgid "Off"
+msgstr "Off"
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55
+msgid "On"
+msgstr "On"
+
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
+msgstr "Blokuj funkcjÄ™ %s"
+
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
+msgstr "ZarzÄ…dzaj dodatkowymi funkcjami"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:35
+msgid "Queue Statistics"
+msgstr "Statystyki kolejki"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Total Entries"
+msgstr "Ogółem postów"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Priority"
+msgstr "Priorytet"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Destination URL"
+msgstr "Docelowy URL"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Mark hub permanently offline"
+msgstr "Oznacz hub na stałe w trybie offline"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Empty queue for this hub"
+msgstr "Pusta kolejka dla tego huba"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Last known contact"
+msgstr "Ostatni znany kontakt"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Update has been marked successful"
+msgstr "Aktualizacja została oznaczona jako pomyślna"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#, php-format
+msgid "Verification of update %s failed. Check system logs."
+msgstr ""
+"Weryfikacja aktualizacji %s nie zakończyła się pomyślnie. Sprawdź dzienniki "
+"systemowe."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:35
+#: ../../Zotlabs/Module/Admin/Dbsync.php:74
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "Aktualizacja %s została pomyślnie zastosowana."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#, php-format
+msgid "Verifying update %s did not return a status. Unknown if it succeeded."
+msgstr ""
+"Weryfikacja aktualizacji %s nie zwróciła stanu. Nie wiadomo, czy się udało."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:42
+#, php-format
+msgid "Update %s does not contain a verification function."
+msgstr "Aktualizacja %s nie zawiera funkcji weryfikacji."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:46
+#: ../../Zotlabs/Module/Admin/Dbsync.php:81
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "Nie można znaleźć funkcji aktualizacji %s."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:71
+#, php-format
+msgid "Executing update procedure %s failed. Check system logs."
+msgstr ""
+"Wykonanie procedury aktualizacji %s nie powiodło się. Sprawdź dzienniki "
+"systemowe."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:78
+#, php-format
+msgid ""
+"Update %s did not return a status. It cannot be determined if it was "
+"successful."
+msgstr "Aktualizacja %s nie zwróciła stanu. Nie można ustalić, czy się udało."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:99
+msgid "Failed Updates"
+msgstr "Nieudane aktualizacje"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:101
+msgid "Mark success (if update was manually applied)"
+msgstr "Oznacz sukces (jeśli aktualizacja została wykonana ręcznie)"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:102
+msgid "Attempt to verify this update if a verification procedure exists"
+msgstr ""
+"Spróbuj zweryfikować tą aktualizację, jeśli istnieje procedura weryfikacji"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:103
+msgid "Attempt to execute this update step automatically"
+msgstr "Spróbuj automatycznie wykonać ten krok aktualizacji"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:108
+msgid "No failed updates."
+msgstr "Nie ma nieudanych aktualizacji."
+
+#: ../../Zotlabs/Module/Admin/Channels.php:31
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s kanał jest ocenzurowany/nieocenzurowany"
+msgstr[1] "%s kanały są ocenzurowane/nieocenzurowane"
+msgstr[2] "%s kanałów jest ocenzurowanych/nieocenzurowanych"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:40
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "Kod %s kanału jest dozwolony /niedozwolony"
+msgstr[1] "Kod %s kanałów jest dozwolony/niedozwolony"
+msgstr[2] "Kod %s kanałów jest dozwolony/niedozwolony"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:46
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s kanał został usunięty"
+msgstr[1] "%s kanały zostały usunięte"
+msgstr[2] "%s kanałów został usuniętych"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:65
+msgid "Channel not found"
+msgstr "Kanał nie został znaleziony"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:75
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Kanał '%s' został usunięty"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:87
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Kanał '%s' został ocenzurowany"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:87
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Kanał '%s' jest nieocenzurowany"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:98
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "Dozwolony kod kanału '%s'"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:98
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Niedozwolony kod kanału '%s'"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:150
+#: ../../Zotlabs/Module/Directory.php:362
+msgid "Censor"
+msgstr "Cezoruj"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Directory.php:362
+msgid "Uncensor"
+msgstr "Usuń cenzurę"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "Allow Code"
+msgstr "Zezwalaj na kod"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+msgid "Disallow Code"
+msgstr "Nie zezwalaj na kod"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:154 ../../include/nav.php:421
+msgid "Channel"
+msgstr "Kanał"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+msgid "UID"
+msgstr "UID"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+"Wybrane kanały zostaną usunięte!\\n\\nWszystko co zostało w nich "
+"opublikowane będzie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+"Kanał {0} zostanie usunięty!\\n\\nWszystko co opublikowano na tym kanale "
+"będzie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
+msgstr "Zaktualizowano ustawienia dziennika."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../Zotlabs/Widget/Admin.php:48
+#: ../../Zotlabs/Widget/Admin.php:58
+msgid "Logs"
+msgstr "Logi"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
+msgstr "Wyczyść"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
+msgstr "Debugowanie"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
+msgstr "Plik dziennika"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr ""
+"Musi mieć możliwość zapisu przez serwer WWW. Względnie do katalogu głównego "
+"serwera WWW."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr "Poziom rejestrowania zdarzeń"
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:29
+#, php-format
+msgid "Password changed for account %d."
+msgstr "Hasło zostało zmienione do konta%d."
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:46
+msgid "Account settings updated."
+msgstr "Zaktualizowano ustawienia konta."
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:61
+msgid "Account not found."
+msgstr "Konto nie zostało znalezione."
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:68
+msgid "Account Edit"
+msgstr "Edycja konta"
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:69
+msgid "New Password"
+msgstr "Nowe hasło"
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:70
+msgid "New Password again"
+msgstr "Powtórz nowe hasło"
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:71
+msgid "Account language (for emails)"
+msgstr "Język konta (dla wiadomości e-mail)"
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:72
+msgid "Service class"
+msgstr "Klasa usługi"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:290
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Wtyczka %s jest wyłączona."
+
+#: ../../Zotlabs/Module/Admin/Addons.php:295
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Wtyczka %s jest włączona."
+
+#: ../../Zotlabs/Module/Admin/Addons.php:343
+#: ../../Zotlabs/Module/Admin/Addons.php:441 ../../Zotlabs/Widget/Admin.php:27
+msgid "Addons"
+msgstr "Dodatki"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:354
+msgid "Minimum project version: "
+msgstr "Minimalna wersja projektu: "
+
+#: ../../Zotlabs/Module/Admin/Addons.php:355
+msgid "Maximum project version: "
+msgstr "Maksymalna wersja projektu: "
+
+#: ../../Zotlabs/Module/Admin/Addons.php:356
+msgid "Minimum PHP version: "
+msgstr "Minimalna wersja PHP: "
+
+#: ../../Zotlabs/Module/Admin/Addons.php:357
+msgid "Compatible Server Roles: "
+msgstr "Zgodne role serwera: "
+
+#: ../../Zotlabs/Module/Admin/Addons.php:358
+msgid "Requires: "
+msgstr "Wymaga: "
+
+#: ../../Zotlabs/Module/Admin/Addons.php:359
+#: ../../Zotlabs/Module/Admin/Addons.php:446
+msgid "Disabled - version incompatibility"
+msgstr "Wyłączone - niezgodność wersji"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:415
+msgid "Enter the public git repository URL of the addon repo."
+msgstr "Wprowadź adres URL publicznego repozytorium Git dodatków."
+
+#: ../../Zotlabs/Module/Admin/Addons.php:416
+msgid "Addon repo git URL"
+msgstr "Adres URL repozytorium Git dodatków"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:417
+msgid "Custom repo name"
+msgstr "Własna nazwa repozytorium"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:417
+msgid "(optional)"
+msgstr "(opcjonalnie)"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:418
+msgid "Download Addon Repo"
+msgstr "Pobierz repozytorium dodatków"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:425
+msgid "Install new repo"
+msgstr "Zainstaluj nowe repozytorium"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:426 ../../Zotlabs/Lib/Apps.php:536
+msgid "Install"
+msgstr "Zainstaluj"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:449
+msgid "Manage Repos"
+msgstr "ZarzÄ…dzaj repozytoriami"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:450
+msgid "Installed Addon Repositories"
+msgstr "Zainstalowane repozytoria dodatków"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:451
+msgid "Install a New Addon Repository"
+msgstr "Zainstaluj nowe repozytorium dodatków"
+
+#: ../../Zotlabs/Module/Admin/Addons.php:458
+msgid "Switch branch"
+msgstr "Przełącz gałąź"
+
+#: ../../Zotlabs/Module/Admin/Site.php:165
+msgid "Site settings updated."
+msgstr "Zaktualizowano ustawienia serwisu."
+
+# hubzilla
+# Copyright (C) 2012-2016 hubzilla
+# This file is distributed under the same license as the hubzilla package.
+#
+# Translators:
+# Alfonso Martínez <alfonsomthd@tutanota.com>, 2015
+# inboxwall <axetransit@gmail.com>, 2015
+# jeroenpraat, 2015
+# Manuel Jiménez Friaza <mjfriaza@disroot.org>, 2017-2020
+# Manuel Jiménez Friaza <mjfriaza@disroot.org>, 2015-2017
+# Rafael, 2015
+# tony baldwin <tonybaldwin@gmx.com>, 2014
+#: ../../Zotlabs/Module/Admin/Site.php:191 ../../include/text.php:3381
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:335
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:359
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:435
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:459
+#: ../../view/theme/redbasic/php/config.php:15
+msgid "Default"
+msgstr "Domyślnie"
+
+#: ../../Zotlabs/Module/Admin/Site.php:202
+#: ../../Zotlabs/Module/Settings/Display.php:118
+#, php-format
+msgid "%s - (Incompatible)"
+msgstr "%s - (niekompatybilne)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:209
+msgid "mobile"
+msgstr "urządzenie przenośne"
+
+#: ../../Zotlabs/Module/Admin/Site.php:211
+msgid "experimental"
+msgstr "eksperymentalne"
+
+#: ../../Zotlabs/Module/Admin/Site.php:213
+msgid "unsupported"
+msgstr "nieobsługiwane"
+
+#: ../../Zotlabs/Module/Admin/Site.php:260
+msgid "Yes - with approval"
+msgstr "Tak - za zgodÄ…"
+
+#: ../../Zotlabs/Module/Admin/Site.php:266
+msgid "My site is not a public server"
+msgstr "Mój sewis nie jest serwerem publicznym"
+
+#: ../../Zotlabs/Module/Admin/Site.php:267
+msgid "My site has paid access only"
+msgstr "Mój serwis ma tylko płatny dostęp"
+
+#: ../../Zotlabs/Module/Admin/Site.php:268
+msgid "My site has free access only"
+msgstr "Mój serwis ma tylko bezpłatny dostęp"
+
+#: ../../Zotlabs/Module/Admin/Site.php:269
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr ""
+"Mój serwis oferuje darmowe konta z opcjonalnymi płatnymi aktualizacjami"
+
+#: ../../Zotlabs/Module/Admin/Site.php:283
+msgid "Default permission role for new accounts"
+msgstr "Domyślna rola uprawnień dla nowych kont"
+
+#: ../../Zotlabs/Module/Admin/Site.php:283
+msgid ""
+"This role will be used for the first channel created after registration."
+msgstr ""
+"Ta rola będzie używana dla pierwszego kanału utworzonego po rejestracji."
+
+#: ../../Zotlabs/Module/Admin/Site.php:292 ../../Zotlabs/Widget/Admin.php:22
+msgid "Site"
+msgstr "Witryna"
+
+#: ../../Zotlabs/Module/Admin/Site.php:294
+#: ../../Zotlabs/Module/Register.php:277
+msgid "Registration"
+msgstr "Rejestracja"
+
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "File upload"
+msgstr "Udostępnianie pliku"
+
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid "Policies"
+msgstr "Zasady"
+
+#: ../../Zotlabs/Module/Admin/Site.php:297 ../../include/contact_widgets.php:16
+#: ../../include/acl_selectors.php:144
+msgid "Advanced"
+msgstr "Zaawansowane"
+
+#: ../../Zotlabs/Module/Admin/Site.php:301
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:593
+msgid "Site name"
+msgstr "Nazwa witryny internetowej"
+
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Banner/Logo"
+msgstr "Baner/Logo"
+
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Unfiltered HTML/CSS/JS is allowed"
+msgstr "Dozwolony jest niefiltrowany kodd HTML/CSS /JS"
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Administrator Information"
+msgstr "Informacje administratora"
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr ""
+"Informacje kontaktowe dla administratorów serwisu. Wyświetlane na stronie "
+"informacji o serwisie. Tutaj można użyć BBCode"
+
+#: ../../Zotlabs/Module/Admin/Site.php:305 ../../Zotlabs/Module/Siteinfo.php:24
+msgid "Site Information"
+msgstr "Informacje o serwisie"
+
+#: ../../Zotlabs/Module/Admin/Site.php:305
+msgid ""
+"Publicly visible description of this site. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr ""
+"Publicznie widoczny opis tego serwisu. Wyświetlane na stronie informacji o "
+"serwisie. Tutaj można użyć BBCode"
+
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "System language"
+msgstr "Język systemu"
+
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid "System theme"
+msgstr "Motyw systemu"
+
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr ""
+"Domyślny motyw systemu - może zostać zastąpiony przez profile użytkowników - "
+"<a href='#' id='cnftheme'>zmień ustawienia motywu</a>"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Allow Feeds as Connections"
+msgstr "Zezwalaj na kanały jako połączenia"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "(Heavy system resource usage)"
+msgstr "(Duże zużycie zasobów systemowych)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Maximum image size"
+msgstr "Maksymalny rozmiar obrazu"
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr ""
+"Maksymalny rozmiar przesłanych obrazów w bajtach. Wartość domyślna to 0, co "
+"oznacza brak ograniczeń."
+
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Does this site allow new member registration?"
+msgstr "Czy ta witryna umożliwia rejestrację nowych członków?"
+
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Invitation only"
+msgstr "Tylko z zaproszeniem"
+
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr ""
+"Zezwalaj tylko na rejestracje nowych członków za pomocą kodu zaproszenia. "
+"Powyższe zasady rejestrów muszą być ustawione na Tak."
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age"
+msgstr "Minimalny wiek"
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age (in years) for who may register on this site."
+msgstr ""
+"Minimalny wiek (w latach) dla osób, które mogą zarejestrować się na tej "
+"stronie."
+
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Which best describes the types of account offered by this hub?"
+msgstr ""
+"Które z poniższych stwierdzeń najlepiej opisuje rodzaje kont oferowanych "
+"przez ten hub?"
+
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "This is displayed on the public server site list."
+msgstr "Jest to wyświetlane na liście witryn publicznych serwerów."
+
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Register text"
+msgstr "Tekst rejestracyjny"
+
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Will be displayed prominently on the registration page."
+msgstr "Zostanie on wyświetlony w widocznym miejscu na stronie rejestracji."
+
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid "Site homepage to show visitors (default: login box)"
+msgstr ""
+"Strona główna serwisu do wyświetlania odwiedzającym (domyślnie: formularz "
+"logowania)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid ""
+"example: 'pubstream' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr ""
+"przykład: 'pubstream', aby pokazać strumień publiczny, 'page/sys/home', aby "
+"wyświetlić systemową stronę internetową o nazwie 'home' lub 'include: home."
+"html', aby dołączyć plik."
+
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid "Preserve site homepage URL"
+msgstr "Zachowaj adres URL strony głównej serwisu"
+
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr ""
+"Przedstaw stronę główną serwisu w ramce w oryginalnej lokalizacji zamiast "
+"przekierowywania"
+
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid "Accounts abandoned after x days"
+msgstr "Konta porzucone po x dniach"
+
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr ""
+"Nie marnuje zasobów systemowych na odpytywanie zewnętrznych witryn w "
+"poszukiwaniu porzuconych kont. Wpisz 0, aby nie mieć limitu czasu."
+
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid "Allowed friend domains"
+msgstr "Dozwolone domeny znajomych"
+
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr ""
+"Rozdzielana przecinkami lista domen, które mogą zawierać przyjaźnie z tą "
+"witrynÄ…. Akceptowane sÄ… symbole wieloznaczne. Puste oznacza zezwolenie na "
+"dowolne domeny"
+
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid "Verify Email Addresses"
+msgstr "Zweryfikuj adresy e-mail"
+
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr ""
+"Zaznacz, aby zweryfikować adresy e-mail użyte podczas rejestracji konta "
+"(zalecane)."
+
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid "Force publish"
+msgstr "WymuÅ› publikacjÄ™"
+
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr ""
+"Zaznacz, aby wymusić wyświetlanie wszystkich profili w tym serwisie w "
+"katalogu witryn."
+
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid "Import Public Streams"
+msgstr "Importuj strumienie publiczne"
+
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr ""
+"Importuj i zezwalaj na dostęp do treści publicznych pobranych z innych "
+"serwisów. Ostrzeżenie: ta zawartość jest niemoderowana."
+
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid "Site only Public Streams"
+msgstr "W serwisie tylko strumienie publiczne"
+
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid ""
+"Allow access to public content originating only from this site if Imported "
+"Public Streams are disabled."
+msgstr ""
+"Zezwalaj na dostęp do treści publicznych pochodzących tylko z tego serwisu, "
+"jeśli importowane strumienie publiczne są wyłączone."
+
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid "Allow anybody on the internet to access the Public streams"
+msgstr "Zezwól każdemu w internecie na dostęp do strumieni publicznych"
+
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid ""
+"Disable to require authentication before viewing. Warning: this content is "
+"unmoderated."
+msgstr ""
+"Wyłącz, aby wymagać uwierzytelnienia przed przeglądaniem. Ostrzeżenie: ta "
+"zawartość jest niemoderowana."
+
+#: ../../Zotlabs/Module/Admin/Site.php:327
+msgid "Only import Public stream posts with this text"
+msgstr "Importuj tylko posty ze strumienia publicznego z tym tekstem"
+
+#: ../../Zotlabs/Module/Admin/Site.php:328
+msgid "Do not import Public stream posts with this text"
+msgstr "Nie importuj postów ze strumienia publicznego z tym tekstem"
+
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid "Login on Homepage"
+msgstr "Zaloguj się na stronie głównej"
+
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr ""
+"Przedstaw formularz logowania odwiedzającym na stronie głównej, jeśli nie "
+"skonfigurowano żadnych innych treści."
+
+#: ../../Zotlabs/Module/Admin/Site.php:332
+msgid "Enable context help"
+msgstr "Włącz pomoc kontekstową"
+
+#: ../../Zotlabs/Module/Admin/Site.php:332
+msgid ""
+"Display contextual help for the current page when the help button is pressed."
+msgstr ""
+"Wyświetlanie pomocy kontekstowej dla bieżącej strony po naciśnięciu "
+"przycisku pomocy."
+
+#: ../../Zotlabs/Module/Admin/Site.php:334
+msgid "Reply-to email address for system generated email."
+msgstr "Zwrotny adres e-mail dla wiadomości wygenerowanych przez system."
+
+#: ../../Zotlabs/Module/Admin/Site.php:335
+msgid "Sender (From) email address for system generated email."
+msgstr ""
+"Adres e-mail nadawcy (Od) wiadomości e-mail wygenerowanej przez system."
+
+#: ../../Zotlabs/Module/Admin/Site.php:336
+msgid "Name of email sender for system generated email."
+msgstr "Nazwa nadawcy wiadomości e-mail wygenerowanej przez system."
+
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid "Directory Server URL"
+msgstr "Adres URL serwera katalogowego"
+
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid "Default directory server"
+msgstr "Domyślny serwer katalogowy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid "Enable SSE Notifications"
+msgstr "Włącz powiadomienia SSE"
+
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid ""
+"If disabled, traditional polling will be used. Warning: this setting might "
+"not be suited for shared hosting"
+msgstr ""
+"Jeśli wyłączone, będzie używane tradycyjne odpytywanie. Ostrzeżenie: to "
+"ustawienie może nie być odpowiednie dla hostingu współdzielonego"
+
+#: ../../Zotlabs/Module/Admin/Site.php:342
+msgid "Proxy user"
+msgstr "Użytkownik proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:343
+msgid "Proxy URL"
+msgstr "URL proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid "Network timeout"
+msgstr "Limit czasu sieci"
+
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr ""
+"Wartość w sekundach. Ustaw na 0 dla nieograniczonej liczby (niezalecane)."
+
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid "Delivery interval"
+msgstr "Interwał dostaw"
+
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr ""
+"Opóźnij procesy dostarczania w tle o kilka sekund, aby zmniejszyć obciążenie "
+"systemu. Zalecane: 4-5 dla hostów współdzielonych, 2-3 dla wirtualnych "
+"serwerów prywatnych. 0-1 dla dużych serwerów dedykowanych."
+
+#: ../../Zotlabs/Module/Admin/Site.php:346
+msgid "Deliveries per process"
+msgstr "Dostawy na proces"
+
+#: ../../Zotlabs/Module/Admin/Site.php:346
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust "
+"if necessary to tune system performance. Recommend: 1-5."
+msgstr ""
+"Liczba dostaw do podjęcia w ramach jednego procesu systemu operacyjnego. W "
+"razie potrzeby dostosuj, aby dostroić wydajność systemu. Polecam: 1-5."
+
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid "Queue Threshold"
+msgstr "Próg kolejki"
+
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid ""
+"Always defer immediate delivery if queue contains more than this number of "
+"entries."
+msgstr ""
+"Zawsze odraczaj natychmiastowe dostarczenie, jeśli kolejka zawiera więcej "
+"pozycji niż ta."
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Poll interval"
+msgstr "Okres odpytywania"
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr ""
+"Opóźnij procesy sondowania w tle o kilka sekund, aby zmniejszyć obciążenie "
+"systemu. Jeśli 0, użyty będzie interwał dostawy."
+
+#: ../../Zotlabs/Module/Admin/Site.php:349
+msgid "Path to ImageMagick convert program"
+msgstr "Ścieżka do programu konwertującego ImageMagick"
+
+#: ../../Zotlabs/Module/Admin/Site.php:349
+msgid ""
+"If set, use this program to generate photo thumbnails for huge images ( > "
+"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
+"Example: /usr/bin/convert"
+msgstr ""
+"Jeśli jest ustawiona, użyj tego programu do generowania miniatur zdjęć dla "
+"dużych obrazów (> 4000 pikseli w każdym wymiarze), w przeciwnym razie może "
+"wystąpić wyczerpanie pamięci. Przykład: /usr/bin/convert"
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Maximum Load Average"
+msgstr "Maksymalne średnie obciążenie"
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr ""
+"Maksymalne obciążenie systemu przed odroczeniem procesów dostarczania i "
+"odpytywania - domyślnie 50."
+
+#: ../../Zotlabs/Module/Admin/Site.php:351
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Okres ważności w dniach dla zaimportowanej treści (siatki/sieci)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:351
+msgid "0 for no expiration of imported content"
+msgstr "0 dla braku wygaśnięcia zaimportowanej treści"
+
+#: ../../Zotlabs/Module/Admin/Site.php:352
+msgid ""
+"Do not expire any posts which have comments less than this many days ago"
+msgstr ""
+"Nie wygasaj żadnych postów, które mają komentarze z datami mniejszymi niż ta "
+"wartość dni temu"
+
+#: ../../Zotlabs/Module/Admin/Site.php:354
+msgid ""
+"Public servers: Optional landing (marketing) webpage for new registrants"
+msgstr ""
+"Serwery publiczne: opcjonalna strona lÄ…dowania (marketingowa) dla nowych "
+"rejestrujÄ…cych"
+
+#: ../../Zotlabs/Module/Admin/Site.php:354
+#, php-format
+msgid "Create this page first. Default is %s/register"
+msgstr "Utwórz najpierw tą stronę. Domyślnie %s/ register"
+
+#: ../../Zotlabs/Module/Admin/Site.php:355
+msgid "Page to display after creating a new channel"
+msgstr "Strona do wyświetlenia po utworzeniu nowego kanału"
+
+#: ../../Zotlabs/Module/Admin/Site.php:355
+msgid "Default: profiles"
+msgstr "Domyślnie: profile"
+
+#: ../../Zotlabs/Module/Admin/Site.php:357
+msgid "Optional: site location"
+msgstr "Opcjonalnie: lokalizacja serwisu"
+
+#: ../../Zotlabs/Module/Admin/Site.php:357
+msgid "Region or country"
+msgstr "Region lub kraj"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "New Profile Field"
+msgstr "Nowe pole profilu"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
+msgid "Field nickname"
+msgstr "Krótka nazwa pola"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
+msgid "System name of field"
+msgstr "Systemowa nazwa pola"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+#: ../../Zotlabs/Module/Admin/Profs.php:111
+msgid "Input type"
+msgstr "Typ wejścia"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
+msgid "Field Name"
+msgstr "Nazwa Pola"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
+msgid "Label on profile pages"
+msgstr "Etykieta na stronach profilu"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
+msgid "Help text"
+msgstr "Tekst pomocy"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
+msgid "Additional info (optional)"
+msgstr "Dodatkowe informacje (opcjonalnie)"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:103
+msgid "Field definition not found"
+msgstr "Nie znaleziono definicji pola"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:109
+msgid "Edit Profile Field"
+msgstr "Edytuj pole profilu"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:168 ../../Zotlabs/Widget/Admin.php:30
+msgid "Profile Fields"
+msgstr "Pola profilu"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:169
+msgid "Basic Profile Fields"
+msgstr "Podstawowe pola profilu"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:170
+msgid "Advanced Profile Fields"
+msgstr "Zaawansowane pola profilu"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:170
+msgid "(In addition to basic fields)"
+msgstr "(Oprócz podstawowych pól)"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:172
+msgid "All available fields"
+msgstr "Wszystkie dostępne pola"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:173
+msgid "Custom Fields"
+msgstr "Pola niestandardowe"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:177
+msgid "Create Custom Field"
+msgstr "Utwórz własne pole"
+
+#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:55
+msgid "No more system notifications."
+msgstr "Nigdy więcej powiadomień systemowych."
+
+#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:59
+msgid "System Notifications"
+msgstr "Powiadomienia systemowe"
+
+#: ../../Zotlabs/Module/Cal.php:64
+msgid "Permissions denied."
+msgstr "Odmowa dostępu."
+
+#: ../../Zotlabs/Module/Thing.php:122
+msgid "Thing updated"
+msgstr "Rzecz zaktualizowana"
+
+#: ../../Zotlabs/Module/Thing.php:174
+msgid "Object store: failed"
+msgstr "Magazyn obiektów: błąd"
+
+#: ../../Zotlabs/Module/Thing.php:178
+msgid "Thing added"
+msgstr "Rzecz dodana"
+
+#: ../../Zotlabs/Module/Thing.php:204
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
+
+#: ../../Zotlabs/Module/Thing.php:267
+msgid "Show Thing"
+msgstr "Wyświetl rzecz"
+
+#: ../../Zotlabs/Module/Thing.php:274
+msgid "item not found."
+msgstr "pozycja nie została znaleziona."
+
+#: ../../Zotlabs/Module/Thing.php:307
+msgid "Edit Thing"
+msgstr "Edytuj rzecz"
+
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:366
+msgid "Select a profile"
+msgstr "Wybierz profile"
+
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
+msgid "Post an activity"
+msgstr "Opublikuj aktywność"
+
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Wysyłane tylko do osób przeglądających odpowiedni profil"
+
+#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:371
+msgid "Name of thing e.g. something"
+msgstr "Nazwa rzeczy, np. coÅ›"
+
+#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:372
+msgid "URL of thing (optional)"
+msgstr "URL rzeczy (opcjonalnie)"
+
+#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:373
+msgid "URL for photo of thing (optional)"
+msgstr "URL do zdjęcia rzeczy (opcjonalnie)"
+
+#: ../../Zotlabs/Module/Thing.php:364
+msgid "Add Thing to your Profile"
+msgstr "Dodaj rzecz do swojego profilu"
+
+#: ../../Zotlabs/Module/Suggest.php:40
+msgid "Suggest Channels App"
+msgstr "Aplikacja Suggest Channels"
+
+#: ../../Zotlabs/Module/Suggest.php:41
+msgid ""
+"Suggestions for channels in the $Projectname network you might be interested "
+"in"
+msgstr ""
+"Propozycje dotyczące kanałów w sieci $Projectname, które mogą Cię "
+"zainteresować"
+
+#: ../../Zotlabs/Module/Suggest.php:54
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr ""
+"Brak dostępnych prpozycji. Jeśli to jest nowy serwis, spróbuj ponownie za 24 "
+"godziny."
+
+#: ../../Zotlabs/Module/Suggest.php:73 ../../Zotlabs/Widget/Suggestions.php:48
+msgid "Ignore/Hide"
+msgstr "Ignoruj/Ukryj"
+
+#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:437
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Sugerowane kanały"
+
+#: ../../Zotlabs/Module/Email_validation.php:36
+msgid "Email Verification Required"
+msgstr "Wymagana jest weryfikacja adresu e-mail"
+
+#: ../../Zotlabs/Module/Email_validation.php:37
+#, php-format
+msgid ""
+"A verification token was sent to your email address [%s]. Enter that token "
+"here to complete the account verification step. Please allow a few minutes "
+"for delivery, and check your spam folder if you do not see the message."
+msgstr ""
+"Token weryfikacyjny został wysłany na Twój adres e-mail [% s]. Wprowadź tuta "
+"ten token, aby zakończyć etap weryfikacji konta. Poczekaj kilka minut na "
+"dostarczenie i jeśli nie widzisz wiadomości, sprawdź folder ze spamem."
+
+#: ../../Zotlabs/Module/Email_validation.php:38
+msgid "Resend Email"
+msgstr "Wyślij ponownie wiadomość e-mail"
+
+#: ../../Zotlabs/Module/Email_validation.php:41
+msgid "Validation token"
+msgstr "Token walidacyjny"
+
+#: ../../Zotlabs/Module/Notes.php:57
+msgid "Notes App"
+msgstr "Aplikacja Notes"
+
+#: ../../Zotlabs/Module/Notes.php:58
+msgid "A simple notes app with a widget (note: notes are not encrypted)"
+msgstr ""
+"Prosta aplikacja do notatek z widżetem (uwaga: notatki nie są szyfrowane)"
+
+#: ../../Zotlabs/Module/Tokens.php:39
+#, php-format
+msgid "This channel is limited to %d tokens"
+msgstr "Ten kanał jest ograniczony do %d tokenów"
+
+#: ../../Zotlabs/Module/Tokens.php:45
+msgid "Name and Password are required."
+msgstr "Wymagane są Imię i hasło."
+
+#: ../../Zotlabs/Module/Tokens.php:85
+msgid "Token saved."
+msgstr "Token został zapisany."
+
+#: ../../Zotlabs/Module/Tokens.php:99
+msgid "Guest Access App"
+msgstr "Aplikacja Guest Access"
+
+#: ../../Zotlabs/Module/Tokens.php:100
+msgid "Create access tokens so that non-members can access private content"
+msgstr ""
+"Utwórz tokeny dostępu, aby osoby niebędące członkami mogły uzyskać dostęp do "
+"treści prywatnych"
+
+#: ../../Zotlabs/Module/Tokens.php:133
+msgid ""
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
+msgstr ""
+"Użyj tego formularza, aby utworzyć tymczasowe identyfikatory dostępu, aby "
+"udostępniać rzeczy osobom niebędącym członkami. Tożsamości te mogą być "
+"używane na listach kontroli dostępu, a odwiedzający mogą logować się przy "
+"użyciu tych poświadczeń, aby uzyskać dostęp do treści prywatnych."
+
+#: ../../Zotlabs/Module/Tokens.php:135
+msgid ""
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
+msgstr ""
+"Możesz także udostępnić znajomym i współpracownikom łącza dostępu w stylu "
+"<em>dropbox</em>, dodając hasło logowania do dowolnego adresu URL witryny, "
+"jak pokazano na ilustracji. Przykłady:"
+
+#: ../../Zotlabs/Module/Tokens.php:170
+msgid "Guest Access Tokens"
+msgstr "Tokent Guest Access"
+
+#: ../../Zotlabs/Module/Tokens.php:177
+msgid "Login Name"
+msgstr "Nazwa logowania"
+
+#: ../../Zotlabs/Module/Tokens.php:178
+msgid "Login Password"
+msgstr "Hasło logowania"
+
+#: ../../Zotlabs/Module/Tokens.php:179
+msgid "Expires (yyyy-mm-dd)"
+msgstr "Wygasa (rrrr-mm-dd)"
+
+#: ../../Zotlabs/Module/Apporder.php:47
+msgid "Change Order of Pinned Navbar Apps"
+msgstr "Zmień kolejność aplikacji przypiętych do paska nawigacyjnego"
+
+#: ../../Zotlabs/Module/Apporder.php:47
+msgid "Change Order of App Tray Apps"
+msgstr "Zmień kolejność aplikacji na pasku aplikacji"
+
+#: ../../Zotlabs/Module/Apporder.php:48
+msgid ""
+"Use arrows to move the corresponding app left (top) or right (bottom) in the "
+"navbar"
+msgstr ""
+"Użyj strzałek, aby przesunąć odpowiednią aplikację w lewo (u góry) lub w "
+"prawo (u dołu) na pasku nawigacyjnym"
+
+#: ../../Zotlabs/Module/Apporder.php:48
+msgid "Use arrows to move the corresponding app up or down in the app tray"
+msgstr ""
+"Użyj strzałek, aby przesunąć odpowiednią aplikację w górę lub w dół w "
+"zasobniku aplikacji"
+
+#: ../../Zotlabs/Module/Notifications.php:60
+#: ../../Zotlabs/Lib/ThreadItem.php:482
+msgid "Mark all seen"
+msgstr "Oznacz wszystkie jako oglądnięte"
+
+#: ../../Zotlabs/Module/Home.php:72 ../../Zotlabs/Module/Home.php:80
+#: ../../Zotlabs/Lib/Enotify.php:66
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:42
+msgid "$Projectname"
+msgstr "Hubzilla"
+
+#: ../../Zotlabs/Module/Home.php:90
+#, php-format
+msgid "Welcome to %s"
+msgstr "Witamy w %s"
+
+#: ../../Zotlabs/Module/Articles.php:52
+msgid "Articles App"
+msgstr "Aplikacja Articles"
+
+#: ../../Zotlabs/Module/Articles.php:53
+msgid "Create interactive articles"
+msgstr "Twórz interaktywne artykuły"
+
+#: ../../Zotlabs/Module/Articles.php:116
+msgid "Add Article"
+msgstr "Dodaj artykuł"
+
+#: ../../Zotlabs/Module/Articles.php:226 ../../Zotlabs/Lib/Apps.php:325
+#: ../../include/nav.php:512
+msgid "Articles"
+msgstr "Artykuły"
+
+#: ../../Zotlabs/Module/Setup.php:167
+msgid "$Projectname Server - Setup"
+msgstr "Serwer $Projectname - Konfiguracja"
+
+#: ../../Zotlabs/Module/Setup.php:171
+msgid "Could not connect to database."
+msgstr "Nie można połączyć się z bazą danych."
+
+#: ../../Zotlabs/Module/Setup.php:175
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr ""
+"Nie można połączyć się z określonym adresem URL serwisu. Możliwy problem z "
+"certyfikatem SSL lub DNS."
+
+#: ../../Zotlabs/Module/Setup.php:182
+msgid "Could not create table."
+msgstr "Nie udało się utworzyć tabeli."
+
+#: ../../Zotlabs/Module/Setup.php:188
+msgid "Your site database has been installed."
+msgstr "Baza danych serwisu została zainstalowana."
+
+#: ../../Zotlabs/Module/Setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr ""
+"Może być konieczne ręczne zaimportowanie pliku „install/schema_xxx.sql†za "
+"pomocÄ… klienta bazy danych."
+
+#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259
+#: ../../Zotlabs/Module/Setup.php:766
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Zobacz plik \"install/INSTALL.txt\"."
+
+#: ../../Zotlabs/Module/Setup.php:256
+msgid "System check"
+msgstr "Sprawdzanie systemu"
+
+#: ../../Zotlabs/Module/Setup.php:261
+msgid "Check again"
+msgstr "Sprawdź ponownie"
+
+#: ../../Zotlabs/Module/Setup.php:282
+msgid "Database connection"
+msgstr "Połączenie z bazą danych"
+
+#: ../../Zotlabs/Module/Setup.php:283
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr ""
+"Aby zainstalować $Projectname, musimy wiedzieć, jak połączyć się z twoją "
+"bazÄ… danych."
+
+#: ../../Zotlabs/Module/Setup.php:284
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr ""
+"Jeśli masz pytania dotyczące tych ustawień, skontaktuj się z dostawcą usług "
+"hostingowych lub administratorem serwisu."
+
+#: ../../Zotlabs/Module/Setup.php:285
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr ""
+"Baza danych, którą określisz poniżej, powinna już istnieć. Jeśli tak się nie "
+"stało, utwórz ją przed kontynuowaniem."
+
+#: ../../Zotlabs/Module/Setup.php:289
+msgid "Database Server Name"
+msgstr "Nazwa serwera bazy danych"
+
+#: ../../Zotlabs/Module/Setup.php:289
+msgid "Default is 127.0.0.1"
+msgstr "Domyślnie, 127.0.0.1"
+
+#: ../../Zotlabs/Module/Setup.php:290
+msgid "Database Port"
+msgstr "Port bazy danych"
+
+#: ../../Zotlabs/Module/Setup.php:290
+msgid "Communication port number - use 0 for default"
+msgstr "Numer portu komunikacyjnego - dla wartości domyślnej użyj 0"
+
+#: ../../Zotlabs/Module/Setup.php:291
+msgid "Database Login Name"
+msgstr "Nazwa logowania do bazy danych"
+
+#: ../../Zotlabs/Module/Setup.php:292
+msgid "Database Login Password"
+msgstr "Hasło logowania do bazy danych"
+
+#: ../../Zotlabs/Module/Setup.php:293
+msgid "Database Name"
+msgstr "Nazwa bazy danych"
+
+#: ../../Zotlabs/Module/Setup.php:294
+msgid "Database Type"
+msgstr "Typ bazy danych"
+
+#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
+msgid "Site administrator email address"
+msgstr "Adres e-mail administratora serwisu"
+
+#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr ""
+"Adres e-mail Twojego konta będzie musi być zgodny z tym adresem, aby móc "
+"korzystać z panelu administratora sieci."
+
+#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
+msgid "Website URL"
+msgstr "Adres URL serwisu"
+
+#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
+msgid "Please use SSL (https) URL if available."
+msgstr "Użyj adresu URL z SSL (https), jeśli jest dostępny."
+
+#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340
+msgid "Please select a default timezone for your website"
+msgstr "Wybierz domyślną strefę czasową dla swojego serwisu"
+
+#: ../../Zotlabs/Module/Setup.php:325
+msgid "Site settings"
+msgstr "Ustawienia serwisu"
+
+#: ../../Zotlabs/Module/Setup.php:379
+msgid "PHP version 7.1 or greater is required."
+msgstr "Wymagany jest PHP w wersji 7.1 lub wyższej."
+
+#: ../../Zotlabs/Module/Setup.php:380
+msgid "PHP version"
+msgstr "Wersja PHP"
+
+#: ../../Zotlabs/Module/Setup.php:396
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Nie można znaleźć wersji CLI PHP w zmiennej PATH serwerze WWW."
+
+#: ../../Zotlabs/Module/Setup.php:397
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr ""
+"Jeśli nie masz wersji CLI PHP zainstalowanej na serwerze, nie będzie można "
+"uruchomić odpytywania w tle przez cron."
+
+#: ../../Zotlabs/Module/Setup.php:401
+msgid "PHP executable path"
+msgstr "Ścieżka do pliku wykonywalnego PHP"
+
+#: ../../Zotlabs/Module/Setup.php:401
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr ""
+"Wpisz pełną ścieżkę do pliku wykonywalnego php. Możesz pozostawić to pole "
+"puste, aby kontynuować instalację."
+
+#: ../../Zotlabs/Module/Setup.php:406
+msgid "Command line PHP"
+msgstr "PHP CLI"
+
+#: ../../Zotlabs/Module/Setup.php:416
+msgid ""
+"Unable to check command line PHP, as shell_exec() is disabled. This is "
+"required."
+msgstr ""
+"Nie można sprawdzić PHP CLI, ponieważ funkcja shell_exec() jest wyłączona. "
+"To jest wymagane."
+
+#: ../../Zotlabs/Module/Setup.php:420
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "PHP CLI w Twoim systemie nie ma włączonego \"register_argc_argv\"."
+
+#: ../../Zotlabs/Module/Setup.php:421
+msgid "This is required for message delivery to work."
+msgstr "Jest to konieczne,, aby dostarczanie wiadomości działało."
+
+#: ../../Zotlabs/Module/Setup.php:424
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
+
+#: ../../Zotlabs/Module/Setup.php:444
+msgid ""
+"This is not sufficient to upload larger images or files. You should be able "
+"to upload at least 4 MB at once."
+msgstr ""
+"To nie wystarczy, aby przesłać większe obrazy lub pliki. Powinieneś móc "
+"przesłać co najmniej 4 MB na raz."
+
+#: ../../Zotlabs/Module/Setup.php:446
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to "
+"upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr ""
+"Twój maksymalny dopuszczalny łączny rozmiar przesyłanych plików to %s. "
+"Maksymalny rozmiar jednego pliku do przesłania to %s. Możesz przesłać "
+"jednocześnie do %d plików."
+
+#: ../../Zotlabs/Module/Setup.php:452
+msgid "You can adjust these settings in the server php.ini file."
+msgstr "Możesz dostosować te ustawienia w pliku php.ini na serwerze."
+
+#: ../../Zotlabs/Module/Setup.php:454
+msgid "PHP upload limits"
+msgstr "Limity wysyłania PHP"
+
+#: ../../Zotlabs/Module/Setup.php:477
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr ""
+"Błąd: funkcja \"openssl_pkey_new\" w tym systemie nie jest w stanie "
+"wygenerować kluczy szyfrujących"
+
+#: ../../Zotlabs/Module/Setup.php:478
+msgid ""
+"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
+"installation.php\"."
+msgstr ""
+"Jeśli pracujesz w systemie Windows, przeczytaj \"http://www.php.net/manual/"
+"en/openssl.installation.php\"."
+
+#: ../../Zotlabs/Module/Setup.php:481
+msgid "Generate encryption keys"
+msgstr "Wygeneruj klucze szyfrowania"
+
+#: ../../Zotlabs/Module/Setup.php:498
+msgid "libCurl PHP module"
+msgstr "moduł PHP libCurl"
+
+#: ../../Zotlabs/Module/Setup.php:499
+msgid "GD graphics PHP module"
+msgstr "Moduł PHP GD graphics"
+
+#: ../../Zotlabs/Module/Setup.php:500
+msgid "OpenSSL PHP module"
+msgstr "Moduł PHP OpenSSL"
+
+#: ../../Zotlabs/Module/Setup.php:501
+msgid "PDO database PHP module"
+msgstr "Moduł PHP PDO"
+
+#: ../../Zotlabs/Module/Setup.php:502
+msgid "mb_string PHP module"
+msgstr "moduł PHP mb_string PHP"
+
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "xml PHP module"
+msgstr "moduł PHP xml"
+
+#: ../../Zotlabs/Module/Setup.php:504
+msgid "zip PHP module"
+msgstr "moduł PHP zip"
+
+#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510
+msgid "Apache mod_rewrite module"
+msgstr "Moduł Apache mod_rewrite"
+
+#: ../../Zotlabs/Module/Setup.php:508
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr ""
+"Błąd: wymagany jest moduł mod-rewrite serwera Apache, ale nie jest "
+"zainstalowany."
+
+#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517
+msgid "exec"
+msgstr "exec"
+
+#: ../../Zotlabs/Module/Setup.php:514
+msgid ""
+"Error: exec is required but is either not installed or has been disabled in "
+"php.ini"
+msgstr ""
+"Błąd: wymagany jest program exec ale nie jest on zainstalowany lub został "
+"wyłączony w php.ini"
+
+#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523
+msgid "shell_exec"
+msgstr "shell_exec"
+
+#: ../../Zotlabs/Module/Setup.php:520
+msgid ""
+"Error: shell_exec is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr ""
+"Błąd: wymagany jest shell_exec, ale nie jest zainstalowany lub został "
+"wyłączony w php.ini"
+
+#: ../../Zotlabs/Module/Setup.php:528
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Błąd: wymagany jest moduł PHP libCURL, ale nie jest zainstalowany."
+
+#: ../../Zotlabs/Module/Setup.php:532
+msgid ""
+"Error: GD PHP module with JPEG support or ImageMagick graphics library "
+"required but not installed."
+msgstr ""
+"Błąd: wymagany jest moduł PHP GD z obsługą formatu JPEG lub biblioteką "
+"graficznÄ… ImageMagick, ale nie jest on zainstalowany."
+
+#: ../../Zotlabs/Module/Setup.php:536
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Błąd: wymagany jest moduł PHP openssl, ale niezainstalowany."
+
+#: ../../Zotlabs/Module/Setup.php:542
+msgid ""
+"Error: PDO database PHP module missing a driver for either mysql or pgsql."
+msgstr "Błąd: w module PHP PDO brakuje sterownika dla mysql lub pgsql."
+
+#: ../../Zotlabs/Module/Setup.php:547
+msgid "Error: PDO database PHP module required but not installed."
+msgstr "Błąd: wymagany jest moduł PHP PDO, ale nie jest zainstalowany."
+
+#: ../../Zotlabs/Module/Setup.php:551
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Błąd: wymagany, ale niezainstalowany moduł mb_string PHP."
+
+#: ../../Zotlabs/Module/Setup.php:555
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Błąd: moduł XML PHP wymagany dla DAV, ale nie jest zainstalowany."
+
+#: ../../Zotlabs/Module/Setup.php:559
+msgid "Error: zip PHP module required but not installed."
+msgstr "Błąd: wymagany jest moduł PHP zip, ale nie jest on zainstalowany."
+
+#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php jest możliwy do zapisu"
+
+#: ../../Zotlabs/Module/Setup.php:583
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\" "
+"in the top folder of your web server and it is unable to do so."
+msgstr ""
+"Instalator internetowy musi mieć możliwość utworzenia pliku o nazwie \"."
+"htconfig.php\" w głównym folderze serwera WWW a nie może tego zrobić."
+
+#: ../../Zotlabs/Module/Setup.php:584
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr ""
+"Najczęściej jest to ustawienie uprawnień, ponieważ serwer WWW może nie być w "
+"stanie zapisywać plików w Twoim folderze - nawet jeśli możesz."
+
+#: ../../Zotlabs/Module/Setup.php:585
+msgid "Please see install/INSTALL.txt for additional information."
+msgstr "Dodatkowe informacje można znaleźć w pliku install/INSTALL.txt."
+
+#: ../../Zotlabs/Module/Setup.php:601
+msgid ""
+"This software uses the Smarty3 template engine to render its web views. "
+"Smarty3 compiles templates to PHP to speed up rendering."
+msgstr ""
+"To oprogramowanie wykorzystuje silnik szablonów Smarty3 do renderowania "
+"widoków internetowych. Smarty3 kompiluje szablony do PHP, aby przyspieszyć "
+"renderowanie."
+
+#: ../../Zotlabs/Module/Setup.php:602
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the top level web folder."
+msgstr ""
+"Aby przechowywać te skompilowane szablony, serwer sieciowy musi mieć dostęp "
+"do zapisu w katalogu %s zlokalizowanym w folderze głównym serwera WWW."
+
+#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has "
+"write access to this folder."
+msgstr ""
+"Upewnij się, że właściciel procesu serwer WWW (np. www-data), ma prawo do "
+"zapisu w tym folderze."
+
+#: ../../Zotlabs/Module/Setup.php:604
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr ""
+"Uwaga: ze względów bezpieczeństwa powinno się dać serwerowi WWW prawo zapisu "
+"tylko do %s - nie do plików szablonów (.tpl), które on zawiera."
+
+#: ../../Zotlabs/Module/Setup.php:607
+#, php-format
+msgid "%s is writable"
+msgstr "%s jest możliwy do zapisu"
+
+#: ../../Zotlabs/Module/Setup.php:623
+msgid ""
+"This software uses the store directory to save uploaded files. The web "
+"server needs to have write access to the store directory under the top level "
+"web folder"
+msgstr ""
+"To oprogramowanie używa katalogu <i>store</i> do zapisywania przesyłanych "
+"plików. Serwer WWW musi mieć dostęp do zapisu w katalogu <i>store</i>, "
+"znajdującego się w folderze serwera WWW najwyższego poziomu"
+
+#: ../../Zotlabs/Module/Setup.php:627
+msgid "store is writable"
+msgstr "katalog store jest możliwy do zapisu"
+
+#: ../../Zotlabs/Module/Setup.php:659
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access "
+"to this site."
+msgstr ""
+"Nie można zweryfikować certyfikatu SSL. Napraw certyfikat lub wyłącz dostęp "
+"https do tej witryny."
+
+#: ../../Zotlabs/Module/Setup.php:660
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr ""
+"Jeśli masz dostęp https do swojego serwisu internetowego lub zezwalasz na "
+"połączenia z portem TCP 443 (port https:), MUSISZ użyć certyfikatu "
+"akceptowanego przez przeglądarki. NIE WOLNO używać certyfikatów z podpisem "
+"własnym!"
+
+#: ../../Zotlabs/Module/Setup.php:661
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr ""
+"To ograniczenie zostało wprowadzone, ponieważ Twoje publiczne posty mogą na "
+"przykład zawierać odniesienia do obrazów na Twoim hubie."
+
+#: ../../Zotlabs/Module/Setup.php:662
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr ""
+"Jeśli Twój certyfikat nie zostanie rozpoznany, członkowie innych witryn "
+"(którzy sami mogą mieć ważne certyfikaty) otrzymają komunikat ostrzegawczy "
+"we własnej witrynie, ostrzegający o problemie z bezpieczeństwem."
+
+#: ../../Zotlabs/Module/Setup.php:663
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr ""
+"Może to powodować problemy z użytecznością w innym serwisie (nie tylko na "
+"Twoim), więc musimy nalegać na to wymaganie."
+
+#: ../../Zotlabs/Module/Setup.php:664
+msgid ""
+"Providers are available that issue free certificates which are browser-valid."
+msgstr ""
+"Są dostępni dostawcy, którzy wydają bezpłatne certyfikaty akceptowane przez "
+"przeglÄ…darki."
+
+#: ../../Zotlabs/Module/Setup.php:665
+msgid ""
+"If you are confident that the certificate is valid and signed by a trusted "
+"authority, check to see if you have failed to install an intermediate cert. "
+"These are not normally required by browsers, but are required for server-to-"
+"server communications."
+msgstr ""
+"Jeśli masz pewność, że certyfikat jest ważny i podpisany przez zaufany "
+"urząd, sprawdź, czy nie udało się zainstalować certyfikatu pośredniego. "
+"Zwykle nie sÄ… one wymagane przez przeglÄ…darki, ale sÄ… wymagane do "
+"komunikacji między serwerami."
+
+#: ../../Zotlabs/Module/Setup.php:667
+msgid "SSL certificate validation"
+msgstr "Walidacja certyfikatu SSL"
+
+#: ../../Zotlabs/Module/Setup.php:673
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server configuration."
+"Test: "
+msgstr ""
+"Przepisywanie adresu URL w .htaccess nie działa. Sprawdź konfigurację "
+"serwera. Test: "
+
+#: ../../Zotlabs/Module/Setup.php:676
+msgid "Url rewrite is working"
+msgstr "Przepisywanie adresu URL działa"
+
+#: ../../Zotlabs/Module/Setup.php:689
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr ""
+"Nie można zapisać pliku konfiguracyjnego bazy danych \".htconfig.php\". Użyj "
+"załączonego tekstu, aby utworzyć plik konfiguracyjny w katalogu głównym "
+"serwera WWW."
+
+#: ../../Zotlabs/Module/Setup.php:718
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:401
+msgid "Errors encountered creating database tables."
+msgstr "Napotkano błędy podczas tworzenia tabel bazy danych."
+
+#: ../../Zotlabs/Module/Setup.php:764
+msgid "<h1>What next?</h1>"
+msgstr "<h1>Co następnie?</h1>"
+
+#: ../../Zotlabs/Module/Setup.php:765
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+msgstr ""
+"WAŻNE: Będziesz musiał [ręcznie] ustawić zaplanowane zadanie dla ankietera."
+
+#: ../../Zotlabs/Module/Directory.php:122
+msgid "No default suggestions were found."
+msgstr "Nie znaleziono domyślnych prpozycji."
+
+#: ../../Zotlabs/Module/Directory.php:282
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d ocen"
+msgstr[1] "%d oceny"
+msgstr[2] "%d ocen"
+
+#: ../../Zotlabs/Module/Directory.php:293
+msgid "Gender: "
+msgstr "Płeć: "
+
+#: ../../Zotlabs/Module/Directory.php:295
+msgid "Status: "
+msgstr "Status: "
+
+#: ../../Zotlabs/Module/Directory.php:297
+msgid "Homepage: "
+msgstr "Strona główna: "
+
+#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1806
+msgid "Age:"
+msgstr "Wiek:"
+
+#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1633
+#: ../../include/event.php:63 ../../include/event.php:134
+msgid "Location:"
+msgstr "Lokalizacja:"
+
+#: ../../Zotlabs/Module/Directory.php:360
+msgid "Description:"
+msgstr "Opis:"
+
+#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1835
+msgid "Hometown:"
+msgstr "Miasto pobytu:"
+
+#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1841
+msgid "About:"
+msgstr "O mnie:"
+
+#: ../../Zotlabs/Module/Directory.php:371
+msgid "Public Forum:"
+msgstr "Forum publiczne:"
+
+#: ../../Zotlabs/Module/Directory.php:374
+msgid "Keywords: "
+msgstr "Słowa kluczowe: "
+
+#: ../../Zotlabs/Module/Directory.php:377
+msgid "Don't suggest"
+msgstr "Nie sugeruj"
+
+#: ../../Zotlabs/Module/Directory.php:379
+msgid "Common connections (estimated):"
+msgstr "Popularne połączenia (oszacowanie):"
+
+#: ../../Zotlabs/Module/Directory.php:428
+msgid "Global Directory"
+msgstr "Katalog globalny"
+
+#: ../../Zotlabs/Module/Directory.php:428
+msgid "Local Directory"
+msgstr "Katalog lokalny"
+
+#: ../../Zotlabs/Module/Directory.php:434
+msgid "Finding:"
+msgstr "Odnaleziono:"
+
+#: ../../Zotlabs/Module/Directory.php:439
+msgid "next page"
+msgstr "następna strona"
+
+#: ../../Zotlabs/Module/Directory.php:439
+msgid "previous page"
+msgstr "poprzednia strona"
+
+#: ../../Zotlabs/Module/Directory.php:440
+msgid "Sort options"
+msgstr "Opcje sortowania"
+
+#: ../../Zotlabs/Module/Directory.php:441
+msgid "Alphabetic"
+msgstr "Alfabetycznie"
+
+#: ../../Zotlabs/Module/Directory.php:442
+msgid "Reverse Alphabetic"
+msgstr "Odwróć alfabetycznie"
+
+#: ../../Zotlabs/Module/Directory.php:443
+msgid "Newest to Oldest"
+msgstr "Od najnowszych do najstarszych"
+
+#: ../../Zotlabs/Module/Directory.php:444
+msgid "Oldest to Newest"
+msgstr "Od najstarszych do najnowszych"
+
+#: ../../Zotlabs/Module/Directory.php:461
+msgid "No entries (some entries may be hidden)."
+msgstr "Brak postów (niektóre posty mogą być ukryte)."
+
+#: ../../Zotlabs/Module/Mitem.php:31 ../../Zotlabs/Module/Menu.php:209
+msgid "Menu not found."
+msgstr "Nie znaleziono menu."
+
+#: ../../Zotlabs/Module/Mitem.php:63
+msgid "Unable to create element."
+msgstr "Nie można utworzyć elementu."
+
+#: ../../Zotlabs/Module/Mitem.php:87
+msgid "Unable to update menu element."
+msgstr "Nie można zaktualizować elementu menu."
+
+#: ../../Zotlabs/Module/Mitem.php:103
+msgid "Unable to add menu element."
+msgstr "Nie można dodać elementu menu."
+
+#: ../../Zotlabs/Module/Mitem.php:167 ../../Zotlabs/Module/Mitem.php:246
+msgid "Menu Item Permissions"
+msgstr "Uprawnienia do pozycji menu"
+
+#: ../../Zotlabs/Module/Mitem.php:168 ../../Zotlabs/Module/Mitem.php:247
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+msgid "(click to open/close)"
+msgstr "(kliknij, aby otworzyć/zamknąć)"
+
+#: ../../Zotlabs/Module/Mitem.php:174 ../../Zotlabs/Module/Mitem.php:191
+msgid "Link Name"
+msgstr "Nazwa linku"
+
+#: ../../Zotlabs/Module/Mitem.php:175 ../../Zotlabs/Module/Mitem.php:255
+msgid "Link or Submenu Target"
+msgstr "Link lub element docelowy podmenu"
+
+#: ../../Zotlabs/Module/Mitem.php:175
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "Wprowadź adres URL linku lub wybierz nazwę menu, aby utworzyć podmenu"
+
+#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:256
+msgid "Use magic-auth if available"
+msgstr "Użyj magicznego uwierzytelniania, jeśli jest dostępne"
+
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:257
+msgid "Open link in new window"
+msgstr "Otwórz link w nowym oknie"
+
+#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258
+msgid "Order in list"
+msgstr "PorzÄ…dek listy"
+
+#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Wyższe liczby spadną na koniec listy"
+
+#: ../../Zotlabs/Module/Mitem.php:179
+msgid "Submit and finish"
+msgstr "Prześlij i zakończ"
+
+#: ../../Zotlabs/Module/Mitem.php:180
+msgid "Submit and continue"
+msgstr "Prześlij i kontynuuj"
+
+#: ../../Zotlabs/Module/Mitem.php:189
+msgid "Menu:"
+msgstr "Menu:"
+
+#: ../../Zotlabs/Module/Mitem.php:192
+msgid "Link Target"
+msgstr "Cel linku"
+
+#: ../../Zotlabs/Module/Mitem.php:195
+msgid "Edit menu"
+msgstr "Edytuj menu"
+
+#: ../../Zotlabs/Module/Mitem.php:198
+msgid "Edit element"
+msgstr "Edytuj element"
+
+#: ../../Zotlabs/Module/Mitem.php:199
+msgid "Drop element"
+msgstr "Upuść element"
+
+#: ../../Zotlabs/Module/Mitem.php:200
+msgid "New element"
+msgstr "Nowy element"
+
+#: ../../Zotlabs/Module/Mitem.php:201
+msgid "Edit this menu container"
+msgstr "Edytuj ten kontener menu"
+
+#: ../../Zotlabs/Module/Mitem.php:202
+msgid "Add menu element"
+msgstr "Dodaj element menu"
+
+#: ../../Zotlabs/Module/Mitem.php:203
+msgid "Delete this menu item"
+msgstr "Usuń tę pozycję menu"
+
+#: ../../Zotlabs/Module/Mitem.php:204
+msgid "Edit this menu item"
+msgstr "Edytuj tÄ™ pozycjÄ™ menu"
+
+#: ../../Zotlabs/Module/Mitem.php:222
+msgid "Menu item not found."
+msgstr "Nie znaleziono elementu menu."
+
+#: ../../Zotlabs/Module/Mitem.php:235
+msgid "Menu item deleted."
+msgstr "Usunieto element menu."
+
+#: ../../Zotlabs/Module/Mitem.php:237
+msgid "Menu item could not be deleted."
+msgstr "Nie można usunąć elementu menu."
+
+#: ../../Zotlabs/Module/Mitem.php:244
+msgid "Edit Menu Element"
+msgstr "Edytuj element menu"
+
+#: ../../Zotlabs/Module/Mitem.php:254
+msgid "Link text"
+msgstr "Tekst linku"
+
+#: ../../Zotlabs/Module/Mood.php:76 ../../include/conversation.php:286
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s jest %2$s"
+
+#: ../../Zotlabs/Module/Mood.php:134
+msgid "Mood App"
+msgstr "Aplikacja Mood"
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155
+msgid "Set your current mood and tell your friends"
+msgstr "Ustaw swój aktualny nastrój i podziel się tym ze znajomymi"
+
+#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:350
+msgid "Mood"
+msgstr "Mood"
+
+#: ../../Zotlabs/Module/Permcats.php:29
+msgid "Permission category name is required."
+msgstr "Wymaga się podania nazwy kategorii uprawnień."
+
+#: ../../Zotlabs/Module/Permcats.php:48
+msgid "Permission category saved."
+msgstr "Kategoria uprawnień została zapisana."
+
+#: ../../Zotlabs/Module/Permcats.php:63
+msgid "Permission Categories App"
+msgstr "Aplikacja Permission Categories"
+
+#: ../../Zotlabs/Module/Permcats.php:64
+msgid "Create custom connection permission limits"
+msgstr "Utwórz własne limity uprawnień do połączeń"
+
+#: ../../Zotlabs/Module/Permcats.php:80
+msgid ""
+"Use this form to create permission rules for various classes of people or "
+"connections."
+msgstr ""
+"Użyj tego formularza, aby utworzyć reguły uprawnień dla różnych klas osób "
+"lub połączeń."
+
+#: ../../Zotlabs/Module/Permcats.php:113 ../../Zotlabs/Lib/Apps.php:374
+msgid "Permission Categories"
+msgstr "Kategorie uprawnień"
+
+#: ../../Zotlabs/Module/Permcats.php:121
+msgid "Permission category name"
+msgstr "Nazwa kategorii uprawnień"
+
+#: ../../Zotlabs/Module/Ratings.php:70
+msgid "No ratings"
+msgstr "Brak ocen"
+
+#: ../../Zotlabs/Module/Ratings.php:98
+msgid "Rating: "
+msgstr "Ocena: "
+
+#: ../../Zotlabs/Module/Ratings.php:99
+msgid "Website: "
+msgstr "Serwis: "
+
+#: ../../Zotlabs/Module/Ratings.php:101
+msgid "Description: "
+msgstr "Opis: "
+
+#: ../../Zotlabs/Module/Register.php:52
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr ""
+"Przekroczono maksymalną dzienną liczbę rejestracji witryn. Proszę spróbuj "
+"ponownie jutro."
+
+#: ../../Zotlabs/Module/Register.php:58
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr ""
+"Proszę zaznaczyć <strong>akceptację Warunków korzystania z usługi</strong>. "
+"Rejestracja nieudana."
+
+#: ../../Zotlabs/Module/Register.php:92
+msgid "Passwords do not match."
+msgstr "Hasła niezgodne."
+
+#: ../../Zotlabs/Module/Register.php:135
+msgid "Registration successful. Continue to create your first channel..."
+msgstr ""
+"Rejestracja pomyślna. Kontynuuj tworzenie swojego pierwszego kanału ..."
+
+#: ../../Zotlabs/Module/Register.php:138
+msgid ""
+"Registration successful. Please check your email for validation instructions."
+msgstr ""
+"Rejestracja oomyślna. Sprawdź pocztę e-mail, aby uzyskać instrukcje "
+"dotyczÄ…ce weryfikacji."
+
+#: ../../Zotlabs/Module/Register.php:145
+msgid "Your registration is pending approval by the site owner."
+msgstr "Twoja rejestracja oczekuje na zatwierdzenie przez właściciela serwisu."
+
+#: ../../Zotlabs/Module/Register.php:148
+msgid "Your registration can not be processed."
+msgstr "Twoja rejestracja oczekuje na zatwierdzenie przez właściciela witryny."
+
+#: ../../Zotlabs/Module/Register.php:195
+msgid "Registration on this hub is disabled."
+msgstr "Rejestracja na tym hubie jest wyłączona."
+
+#: ../../Zotlabs/Module/Register.php:204
+msgid "Registration on this hub is by approval only."
+msgstr "Rejestracja na tym hubie wymaga zatwierdzenia."
+
+#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr ""
+"<a href=\"pubsites\">Zarejestruj siÄ™ na innym stowarzyszonym hubie. </a>"
+
+#: ../../Zotlabs/Module/Register.php:213
+msgid "Registration on this hub is by invitation only."
+msgstr "Rejestracja na tym hubie wumaga uprzedniego zaproszenia."
+
+#: ../../Zotlabs/Module/Register.php:224
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr ""
+"Na tym serwisie przekroczono dozwolonÄ… liczbÄ™ dziennych rejestracji kont. "
+"Proszę spróbuj ponownie jutro."
+
+#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28
+msgid "Terms of Service"
+msgstr "Regulamin"
+
+#: ../../Zotlabs/Module/Register.php:245
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "AkceptujÄ™ % s dla tego serwisu"
+
+#: ../../Zotlabs/Module/Register.php:252
+#, php-format
+msgid "I am over %s years of age and accept the %s for this website"
+msgstr "Mam ponad % s lat i akceptujÄ™ % s dla tego serwisu"
+
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Your email address"
+msgstr "Twój adres e-mail"
+
+#: ../../Zotlabs/Module/Register.php:258
+msgid "Choose a password"
+msgstr "Wybierz hasło"
+
+#: ../../Zotlabs/Module/Register.php:259
+msgid "Please re-enter your password"
+msgstr "Wprowadź ponownie swoje hasło"
+
+#: ../../Zotlabs/Module/Register.php:260
+msgid "Please enter your invitation code"
+msgstr "Wprowadź kod zaproszenia"
+
+#: ../../Zotlabs/Module/Register.php:261
+msgid "Your Name"
+msgstr "Twoja nazwa"
+
+#: ../../Zotlabs/Module/Register.php:261
+msgid "Real names are preferred."
+msgstr "Preferowane sÄ… prawdziwe imiona."
+
+#: ../../Zotlabs/Module/Register.php:263
+#, php-format
+msgid ""
+"Your nickname will be used to create an easy to remember channel address e."
+"g. nickname%s"
+msgstr ""
+"Twój pseudonim posłuży do stworzenia łatwego do zapamiętania adresu kanału, "
+"np. pseudonim%s"
+
+#: ../../Zotlabs/Module/Register.php:264
+msgid ""
+"Select a channel permission role for your usage needs and privacy "
+"requirements."
+msgstr ""
+"Wybierz rolę uprawnień do kanału zgodnie z potrzebami użytkowania i "
+"wymaganiami dotyczącymi prywatności."
+
+#: ../../Zotlabs/Module/Register.php:265
+msgid "no"
+msgstr "nie"
+
+#: ../../Zotlabs/Module/Register.php:265
+msgid "yes"
+msgstr "tak"
+
+#: ../../Zotlabs/Module/Register.php:293 ../../include/nav.php:162
+#: ../../boot.php:1685
+msgid "Register"
+msgstr "Zarejestruj siÄ™"
+
+#: ../../Zotlabs/Module/Register.php:294
+msgid ""
+"This site requires email verification. After completing this form, please "
+"check your email for further instructions."
+msgstr ""
+"Ta witryna wymaga weryfikację adresu e-mail. Po wypełnieniu tego formularza "
+"sprawdź swoją pocztę e-mail, aby uzyskać dalsze instrukcje."
+
+#: ../../Zotlabs/Module/Acl.php:123 ../../Zotlabs/Module/Lockview.php:117
+#: ../../Zotlabs/Module/Lockview.php:153
+msgctxt "acl"
+msgid "Profile"
+msgstr "Profil"
+
+#: ../../Zotlabs/Module/Acl.php:370
+msgid "network"
+msgstr "sieć"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:25
+msgid "No feature settings configured"
+msgstr "Brak skonfigurowanych ustawień funkcji"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:34
+msgid "Addon Settings"
+msgstr "Ustawienia dodatków"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:35
+msgid "Please save/submit changes to any panel before opening another."
+msgstr "Zapisz/prześlij zmiany do dowolnego panelu przed otwarciem kolejnego."
+
+#: ../../Zotlabs/Module/Settings/Account.php:19
+msgid "Not valid email."
+msgstr "Nieprawidłowy adres e-mail."
+
+#: ../../Zotlabs/Module/Settings/Account.php:22
+msgid "Protected email address. Cannot change to that email."
+msgstr "Chroniony adres e-mail. Nie można zmienić tego adresu e-mail."
+
+#: ../../Zotlabs/Module/Settings/Account.php:31
+msgid "System failure storing new email. Please try again."
+msgstr ""
+"Błąd systemu podczas zapisywania nowej wiadomości e-mail. Proszę spróbuj "
+"ponownie."
+
+#: ../../Zotlabs/Module/Settings/Account.php:48
+msgid "Password verification failed."
+msgstr "Weryfikacja hasła nie powiodła się."
+
+#: ../../Zotlabs/Module/Settings/Account.php:55
+msgid "Passwords do not match. Password unchanged."
+msgstr "Hasła nie pasują do siebie. Nie zmieniono hasła."
+
+#: ../../Zotlabs/Module/Settings/Account.php:59
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Puste hasła są niedozwolone. Nie zmieniono hasła."
+
+#: ../../Zotlabs/Module/Settings/Account.php:73
+msgid "Password changed."
+msgstr "Hasło zostało zmienione."
+
+#: ../../Zotlabs/Module/Settings/Account.php:75
+msgid "Password update failed. Please try again."
+msgstr "Aktualizacja hasła nie powiodła się. Proszę spróbuj ponownie."
+
+#: ../../Zotlabs/Module/Settings/Account.php:99
+msgid "Account Settings"
+msgstr "Ustawienia konta"
+
+#: ../../Zotlabs/Module/Settings/Account.php:100
+msgid "Current Password"
+msgstr "Bieżące hasło"
+
+#: ../../Zotlabs/Module/Settings/Account.php:101
+msgid "Enter New Password"
+msgstr "Wprowadź nowe hasło"
+
+#: ../../Zotlabs/Module/Settings/Account.php:102
+msgid "Confirm New Password"
+msgstr "Potwierdź nowe hasło"
+
+#: ../../Zotlabs/Module/Settings/Account.php:102
+msgid "Leave password fields blank unless changing"
+msgstr "Pozostaw pola hasła puste, chyba że je zmieniasz"
+
+#: ../../Zotlabs/Module/Settings/Account.php:104
+#: ../../Zotlabs/Module/Settings/Channel.php:502
+msgid "Email Address:"
+msgstr "Adres e-mail:"
+
+#: ../../Zotlabs/Module/Settings/Account.php:106
+msgid "Remove this account including all its channels"
+msgstr "Usuń to konto wraz ze wszystkimi jego kanałami"
+
+#: ../../Zotlabs/Module/Settings/Events.php:40
+msgid "Events Settings"
+msgstr "Ustawienia wydarzeń"
+
+#: ../../Zotlabs/Module/Settings/Profiles.php:49
+msgid "Profiles Settings"
+msgstr "Ustawienia profili"
+
+#: ../../Zotlabs/Module/Settings/Editor.php:40
+msgid "Editor Settings"
+msgstr "Editor Settings"
+
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
+msgstr "Dodatkowe funkcjonalności"
+
+#: ../../Zotlabs/Module/Settings/Manage.php:41
+msgid "Channel Manager Settings"
+msgstr "Ustawienia menadżera kanałów"
+
+#: ../../Zotlabs/Module/Settings/Display.php:127
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s - (eksperymentalne)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:183
+msgid "Display Settings"
+msgstr "Ustawienia wyświetlania"
+
+#: ../../Zotlabs/Module/Settings/Display.php:184
+msgid "Theme Settings"
+msgstr "Ustawienia motywu"
+
+#: ../../Zotlabs/Module/Settings/Display.php:185
+msgid "Custom Theme Settings"
+msgstr "Ustawienia własnego motywu"
+
+#: ../../Zotlabs/Module/Settings/Display.php:186
+msgid "Content Settings"
+msgstr "Ustawienia treści"
+
+#: ../../Zotlabs/Module/Settings/Display.php:192
+msgid "Display Theme:"
+msgstr "Wyświetl motyw:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:193
+msgid "Select scheme"
+msgstr "Wybierz schemat"
+
+#: ../../Zotlabs/Module/Settings/Display.php:195
+msgid "Preload images before rendering the page"
+msgstr "Przeładuj obrazy przed renderowaniem strony"
+
+#: ../../Zotlabs/Module/Settings/Display.php:195
+msgid ""
+"The subjective page load time will be longer but the page will be ready when "
+"displayed"
+msgstr ""
+"Subiektywny czas ładowania strony będzie dłuższy, ale strona będzie gotowa "
+"po wyświetleniu"
+
+#: ../../Zotlabs/Module/Settings/Display.php:196
+msgid "Enable user zoom on mobile devices"
+msgstr "Włącz zoom użytkownika na urządzeniach mobilnych"
+
+#: ../../Zotlabs/Module/Settings/Display.php:197
+msgid "Update browser every xx seconds"
+msgstr "Aktualizuj przeglÄ…darkÄ™ co xx sekund"
+
+#: ../../Zotlabs/Module/Settings/Display.php:197
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Co najmniej 10 sekund, nie maksimum"
+
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Maksymalna liczba rozmów do załadowania w dowolnym momencie:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Maximum of 30 items"
+msgstr "Maksymalnie 30 pozycji"
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Show emoticons (smilies) as images"
+msgstr "Pokaż emotikony (uśmieszki) jako obrazy"
+
+#: ../../Zotlabs/Module/Settings/Display.php:200
+msgid "Provide channel menu in navigation bar"
+msgstr "Podaj menu kanału na pasku nawigacji"
+
+#: ../../Zotlabs/Module/Settings/Display.php:200
+msgid "Default: channel menu located in app menu"
+msgstr "Domyślnie: menu kanału znajduje się w menu aplikacji"
+
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Link post titles to source"
+msgstr "Połącz tytuły postów ze źródłem"
+
+#: ../../Zotlabs/Module/Settings/Display.php:203
+#: ../../Zotlabs/Widget/Newmember.php:75
+msgid "New Member Links"
+msgstr "Linki dla nowych członków"
+
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Display new member quick links menu"
+msgstr "Wyświetl menu szybkich łączy dla nowych członków"
+
+#: ../../Zotlabs/Module/Settings/Photos.php:40
+msgid "Photos Settings"
+msgstr "Ustawienia zdjęć"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:329
+msgid "Nobody except yourself"
+msgstr "Nikt oprócz ciebie"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:330
+msgid "Only those you specifically allow"
+msgstr "Tylko te, na które jawnie zezwalasz"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:331
+msgid "Approved connections"
+msgstr "Zatwierdzone połączenia"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:332
+msgid "Any connections"
+msgstr "Wszelkie połączenia"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:333
+msgid "Anybody on this website"
+msgstr "Każdy w tym serwisie"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:334
+msgid "Anybody in this network"
+msgstr "Każdy w tej sieci"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:335
+msgid "Anybody authenticated"
+msgstr "Każda uwierzytelniona osoba"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:336
+msgid "Anybody on the internet"
+msgstr "Każdy w internecie"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:411
+msgid "Publish your default profile in the network directory"
+msgstr "Opublikuj swój domyślny profil w katalogu sieciowym"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:416
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr ""
+"Czy pozwalasz nam sugerować Ciebie jako potencjalnego przyjaciela nowym "
+"członkom?"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:420
+msgid "or"
+msgstr "lub"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:429
+msgid "Your channel address is"
+msgstr "Twój adres kanału to"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:432
+msgid "Your files/photos are accessible via WebDAV at"
+msgstr "Twoje pliki/zdjęcia są dostępne przez WebDAV pod adresem"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:472
+msgid "Automatic membership approval"
+msgstr "Automatyczne zatwierdzanie członkostwa"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:493
+msgid "Channel Settings"
+msgstr "Ustawienia kanału"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Basic Settings"
+msgstr "Podstawowe ustawienia"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1763
+msgid "Full Name:"
+msgstr "Pełna nazwa:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:503
+msgid "Your Timezone:"
+msgstr "Twoja strefa czasowa:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "Default Post Location:"
+msgstr "Domyślna lokalizacja postu:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "Geographical location to display on your posts"
+msgstr "Lokalizacja geograficzna do wyświetlania w Twoich postach"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:505
+msgid "Use Browser Location:"
+msgstr "Użyj lokalizacji przeglądarki:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:507
+msgid "Adult Content"
+msgstr "Treść dla dorosłych"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:507
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr ""
+"Ten kanał często lub regularnie publikuje treści dla dorosłych. (Oznacz "
+"wszelkie materiały dla dorosłych albo nagość tagiem #NSFW)"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:509
+msgid "Security and Privacy Settings"
+msgstr "Ustawienia bezpieczeństwa i prywatności"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:511
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr ""
+"Twoje uprawnienia są już skonfigurowane. Kliknij, aby wyświetlić/dostosować"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:513
+msgid "Hide my online presence"
+msgstr "Ukryj moją obecność w Internecie"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:513
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Zapobiega wyświetlaniu w Twoim profilu, że jesteś online"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:515
+msgid "Simple Privacy Settings:"
+msgstr "Proste ustawienia prywatności:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:516
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr ""
+"Bardzo publiczne - <em>wyjątkowo pobłażliwe (należy używać ostrożnie)</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:517
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr ""
+"Typowe - <em>domyślne publiczne, prywatność w razie potrzeby (podobne do "
+"uprawnień w popularnych sieciach społecznościowych, ale z podwyższoną "
+"prywatnością)</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Prywatne - <em>domyślnie prywatne, nigdy otwarte ani publiczne</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Zablokowane - <em>domyślnie zablokowane dla/od wszystkich</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid "Allow others to tag your posts"
+msgstr "Pozwól innym oznaczać Twoje posty"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr ""
+"Często używany przez społeczność do oznaczania nieodpowiednich treści z mocą "
+"wstecznÄ…"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+msgid "Channel Permission Limits"
+msgstr "Limity uprawnień kanału"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "Expire other channel content after this many days"
+msgstr "Po tej ilości dni wygasają inne treści w kanale"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "0 or blank to use the website limit."
+msgstr "0 lub puste, aby użyć limitu serwisu."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+#, php-format
+msgid "This website expires after %d days."
+msgstr "Ta strona wygasa po %d dniach."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "This website does not expire imported content."
+msgstr ""
+"Na tym serwis internetowym importowanej zawartości nie jest wygaszana."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "The website limit takes precedence if lower than your limit."
+msgstr "Limit serwisu ma pierwszeństwo, jeśli jest niższy niż Twój limit."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maksymalna liczba zaproszeń do znajomych, dziennie:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "May reduce spam activity"
+msgstr "Może zmniejszyć aktywność spamu"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:527
+msgid "Default Privacy Group"
+msgstr "Domyślna grupa prywatności"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+msgid "Use my default audience setting for the type of object published"
+msgstr ""
+"Użyj mojego domyślnego ustawienia odbiorców dla typu publikowanego obiektu"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:538
+msgid "Default permissions category"
+msgstr "Domyślna kategoria uprawnień"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Maksymalna liczba prywatnych wiadomości dziennie od nieznanych osób:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Useful to reduce spamming"
+msgstr "Przydatne do ograniczenia spamowania"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:547
+#: ../../Zotlabs/Lib/Enotify.php:68
+msgid "Notification Settings"
+msgstr "Ustawienia powiadomień"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:548
+msgid "By default post a status message when:"
+msgstr "Domyślnie publikuj komunikat o stanie, gdy:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:549
+msgid "accepting a friend request"
+msgstr "zaakceptowano zaproszenia do znajomych"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:550
+msgid "joining a forum/community"
+msgstr "dołączoni do forum/społeczności"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:551
+msgid "making an <em>interesting</em> profile change"
+msgstr "dokonano <em>interesujÄ…cej</em> zmiany profilu"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:552
+msgid "Send a notification email when:"
+msgstr "Wyślij e-mail z powiadomieniem, gdy:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:553
+msgid "You receive a connection request"
+msgstr "Otrzymujesz żądanie połączenia"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:554
+msgid "Your connections are confirmed"
+msgstr "Twoje połączenia są potwierdzone"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:555
+msgid "Someone writes on your profile wall"
+msgstr "Ktoś pisze na Twojej ścianie profilu"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:556
+msgid "Someone writes a followup comment"
+msgstr "Ktoś pisze komentarz uzupełniający"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:557
+msgid "You receive a private message"
+msgstr "Otrzymujesz prywatną wiadomość"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:558
+msgid "You receive a friend suggestion"
+msgstr "Otrzymasz propozycję znajomości"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:559
+msgid "You are tagged in a post"
+msgstr "Oznaczono Ciebie tagiem w poście"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:560
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Szturchnięto Ciebie w poście"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:562
+msgid "Someone likes your post/comment"
+msgstr "Ktoś polubił Twój post/komentarz"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:565
+msgid "Show visual notifications including:"
+msgstr "Pokaż powiadomienia wizualne, w tym:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:567
+msgid "Unseen stream activity"
+msgstr "Niewidoczną aktywność na strumieniu"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:568
+msgid "Unseen channel activity"
+msgstr "Niewidoczną aktywność w kanale"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+msgid "Unseen private messages"
+msgstr "Niewidoczną wiadomości prywatne"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+#: ../../Zotlabs/Module/Settings/Channel.php:574
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+msgid "Recommended"
+msgstr "Zalecane"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:570
+msgid "Upcoming events"
+msgstr "NadchodzÄ…ce wydarzenia"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:571
+msgid "Events today"
+msgstr "Wydarzenia dzisiejsze"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:572
+msgid "Upcoming birthdays"
+msgstr "NadchodzÄ…ce urodziny"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:572
+msgid "Not available in all themes"
+msgstr "Niedostępne we wszystkich motywach"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:573
+msgid "System (personal) notifications"
+msgstr "Powiadomienia systemowe (osobiste)"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:574
+msgid "System info messages"
+msgstr "Systemowe komunikaty informacyjne"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+msgid "System critical alerts"
+msgstr "Systemowe alerty krytyczne"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+msgid "New connections"
+msgstr "Nowe połączenia"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:577
+msgid "System Registrations"
+msgstr "Rejestracje systemowe"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:578
+msgid "Unseen shared files"
+msgstr "Niewidoczne udostępnione pliki"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:579
+msgid "Unseen public stream activity"
+msgstr "Niewidoczna aktywność na publicznym strumieniu"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:580
+msgid "Unseen likes and dislikes"
+msgstr "Niewidoczne polubienia i dezaprobaty"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:581
+msgid "Unseen forum posts"
+msgstr "Niewidoczne posty na forum"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:582
+msgid "Email notification hub (hostname)"
+msgstr "Hub powiadomień e-mail (nazwa hosta)"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:582
+#, php-format
+msgid ""
+"If your channel is mirrored to multiple hubs, set this to your preferred "
+"location. This will prevent duplicate email notifications. Example: %s"
+msgstr ""
+"Jeśli twój kanał jest powielany na wielu hubach, ustaw to na preferowaną "
+"lokalizację. Zapobiegnie to powielaniu powiadomień e-mail. Przykład: % s"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:583
+msgid "Show new wall posts, private messages and connections under Notices"
+msgstr ""
+"Pokaż w powiadomieniach nowe posty na ścianie, prywatne wiadomości i "
+"połączenia"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:585
+msgid "Notify me of events this many days in advance"
+msgstr "Informuj mnie o wydarzeniach z tak wielodniowym wyprzedzeniem"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:585
+msgid "Must be greater than 0"
+msgstr "Musi być większa od 0"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:590
+msgid "Advanced Account/Page Type Settings"
+msgstr "Zaawansowane ustawienia konta/typu strony"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:591
+msgid "Change the behaviour of this account for special situations"
+msgstr "Zmień zachowanie tego konta w szczególnych sytuacjach"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:593
+msgid "Miscellaneous Settings"
+msgstr "Różne ustawienia"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:594
+msgid "Default photo upload folder"
+msgstr "Domyślny folder przesyłania zdjęć"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:594
+#: ../../Zotlabs/Module/Settings/Channel.php:595
+msgid "%Y - current year, %m - current month"
+msgstr "%Y - bieżący rok, %m - bieżący miesiąc"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:595
+msgid "Default file upload folder"
+msgstr "Domyślny folder przesyłania plików"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:597
+msgid "Remove this channel."
+msgstr "Usuń ten kanał."
+
+#: ../../Zotlabs/Module/Settings/Connections.php:40
+msgid "Connections Settings"
+msgstr "Ustawienia połączeń"
+
+#: ../../Zotlabs/Module/Settings/Calendar.php:40
+msgid "Calendar Settings"
+msgstr "Ustawienia kalendarza"
+
+#: ../../Zotlabs/Module/Settings/Directory.php:40
+msgid "Directory Settings"
+msgstr "Ustawienia katalogu"
+
+#: ../../Zotlabs/Module/Settings/Channel_home.php:46
+#: ../../Zotlabs/Module/Settings/Network.php:42
+msgid "Max height of content (in pixels)"
+msgstr "Maksymalna wysokość pola treści (w pikselach)"
+
+#: ../../Zotlabs/Module/Settings/Channel_home.php:48
+#: ../../Zotlabs/Module/Settings/Network.php:44
+msgid "Click to expand content exceeding this height"
+msgstr "Kliknij, aby rozwinąć treść przekraczającą tę wysokość"
+
+#: ../../Zotlabs/Module/Settings/Channel_home.php:61
+msgid "Personal menu to display in your channel pages"
+msgstr "Menu osobiste do wyświetlania na stronach Twojego kanał"
+
+#: ../../Zotlabs/Module/Settings/Channel_home.php:88
+msgid "Channel Home Settings"
+msgstr "Ustawienia strony głównej kanału"
+
+#: ../../Zotlabs/Module/Settings/Network.php:59
+msgid "Stream Settings"
+msgstr "Ustawienia strumienia"
+
+#: ../../Zotlabs/Module/Settings/Conversation.php:23
+msgid "Settings saved."
+msgstr "Ustawienia zapisane."
+
+#: ../../Zotlabs/Module/Settings/Conversation.php:25
+msgid "Settings saved. Reload page please."
+msgstr "Ustawienia zapisane. Proszę ponownie załadować stronę."
+
+#: ../../Zotlabs/Module/Settings/Conversation.php:47
+msgid "Conversation Settings"
+msgstr "Ustawienia rozmów"
+
+#: ../../Zotlabs/Module/Probe.php:18
+msgid "Remote Diagnostics App"
+msgstr "Aplikacja Remote Diagnostics"
+
+#: ../../Zotlabs/Module/Probe.php:19
+msgid "Perform diagnostics on remote channels"
+msgstr "Przeprowadź diagnostykę zdalnych kanałów"
+
+#: ../../Zotlabs/Module/Invite.php:37
+msgid "Total invitation limit exceeded."
+msgstr "Przekroczono łączny limit zaproszeń."
+
+#: ../../Zotlabs/Module/Invite.php:61
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "% s: nieprawidłowy adres e-mail."
+
+#: ../../Zotlabs/Module/Invite.php:75
+msgid "Please join us on $Projectname"
+msgstr "Dołącz do nas na $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:85
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr ""
+"Przekroczono limit zaproszeń. Skontaktuj się z administratorem serwisu."
+
+#: ../../Zotlabs/Module/Invite.php:90
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:40
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s: dostarczenie wiadomości nie powiodło się."
+
+#: ../../Zotlabs/Module/Invite.php:94
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "Wysłano %d wiadomość."
+msgstr[1] "Wysłano %d wiadomości."
+msgstr[2] "Wysłano %d wiadomości."
+
+#: ../../Zotlabs/Module/Invite.php:110
+msgid "Invite App"
+msgstr "Aplikacja Invite"
+
+#: ../../Zotlabs/Module/Invite.php:111
+msgid "Send email invitations to join this network"
+msgstr ""
+"Wyślij wiadomości e-mail z zaproszeniami do przyłączenia się do tej sieci"
+
+#: ../../Zotlabs/Module/Invite.php:124
+msgid "You have no more invitations available"
+msgstr "Nie masz więcej dostępnych zaproszeń"
+
+#: ../../Zotlabs/Module/Invite.php:155
+msgid "Send invitations"
+msgstr "Wysyłać zaproszenia"
+
+#: ../../Zotlabs/Module/Invite.php:156
+msgid "Enter email addresses, one per line:"
+msgstr "Wprowadź adresy e-mail, po jednym w każdym wierszu:"
+
+#: ../../Zotlabs/Module/Invite.php:157
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:163
+msgid "Your message:"
+msgstr "Twoja wiadomość:"
+
+#: ../../Zotlabs/Module/Invite.php:158
+msgid "Please join my community on $Projectname."
+msgstr "Dołącz do mojej społeczności w $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:160
+msgid "You will need to supply this invitation code:"
+msgstr "Trzeba będzie podać ten kod zaproszenia:"
+
+#: ../../Zotlabs/Module/Invite.php:161
+msgid "1. Register at any $Projectname location (they are all inter-connected)"
+msgstr ""
+"1. Zarejestruj siÄ™ w dowolnej lokalizacji $Projectname (wszystkie sÄ… ze sobÄ… "
+"połączone)"
+
+#: ../../Zotlabs/Module/Invite.php:163
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Wpisz mój adres sieciowy $Projectname w pasku wyszukiwania serwisu."
+
+#: ../../Zotlabs/Module/Invite.php:164
+msgid "or visit"
+msgstr "lub odwiedź"
+
+#: ../../Zotlabs/Module/Invite.php:166
+msgid "3. Click [Connect]"
+msgstr "3. Kliknij [Połącz]"
+
+#: ../../Zotlabs/Module/Siteinfo.php:21
+msgid "About this site"
+msgstr "O tym serwisie"
+
+#: ../../Zotlabs/Module/Siteinfo.php:22
+msgid "Site Name"
+msgstr "Nazwa witryny"
+
+#: ../../Zotlabs/Module/Siteinfo.php:26
+msgid "Administrator"
+msgstr "Administrator"
+
+#: ../../Zotlabs/Module/Siteinfo.php:29
+msgid "Software and Project information"
+msgstr "Informacje o oprogramowaniu i projekcie"
+
+#: ../../Zotlabs/Module/Siteinfo.php:30
+msgid "This site is powered by $Projectname"
+msgstr "Ta witryna jest oparta na $Projectname"
+
+#: ../../Zotlabs/Module/Siteinfo.php:31
+msgid ""
+"Federated and decentralised networking and identity services provided by Zot"
+msgstr ""
+"Sfederowane i zdecentralizowane usługi sieciowe i tożsamości wykorzystujące "
+"protokół Zot"
+
+#: ../../Zotlabs/Module/Siteinfo.php:34
+msgid "Additional federated transport protocols:"
+msgstr "Dodatkowe protokoły transportu federacyjnego:"
+
+#: ../../Zotlabs/Module/Siteinfo.php:36
+#, php-format
+msgid "Version %s"
+msgstr "Wersja %s"
+
+#: ../../Zotlabs/Module/Siteinfo.php:37
+msgid "Project homepage"
+msgstr "Strona główna projektu"
+
+#: ../../Zotlabs/Module/Siteinfo.php:38
+msgid "Developer homepage"
+msgstr "Strona główna developerów"
+
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr "Nie znaleziono ograniczeń klasy usług."
+
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr "Wybierz folder zakładek"
+
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr "Zapisz zakładkę"
+
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr "URL zakładki"
+
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr "Lub wprowadź nową nazwę folderu zakładek"
+
+#: ../../Zotlabs/Module/Lang.php:17
+msgid "Language App"
+msgstr "Aplikacja Language"
+
+#: ../../Zotlabs/Module/Lang.php:18
+msgid "Change UI language"
+msgstr "Zmień język interfejsu użytkownika"
+
+#: ../../Zotlabs/Module/Hq.php:131
+msgid "Welcome to Hubzilla!"
+msgstr "Witamy w Hubzilla!"
+
+#: ../../Zotlabs/Module/Hq.php:131
+msgid "You have got no unseen posts..."
+msgstr "Nie masz żadnych nieoglądniętych postów..."
+
+#: ../../Zotlabs/Module/Cover_photo.php:196
+#: ../../Zotlabs/Module/Cover_photo.php:254
+msgid "Cover Photos"
+msgstr "Zdjęcia na okładkę"
+
+#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4860
+msgid "female"
+msgstr "kobieta"
+
+#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4861
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "%1$s zaktualizował ją %2$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4862
+msgid "male"
+msgstr "mężczyzna"
+
+#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4863
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "%1$s zaktualizował go %2$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4865
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "%1$s zaktualizował ich %2$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2328
+msgid "cover photo"
+msgstr "zdjęcie okładkowe"
+
+#: ../../Zotlabs/Module/Cover_photo.php:418
+msgid "Your cover photo may be visible to anybody on the internet"
+msgstr "Twoje zdjęcie okładkowe może być widoczne dla każdego w internecie"
+
+#: ../../Zotlabs/Module/Cover_photo.php:422
+msgid "Change Cover Photo"
+msgstr "Zmień zdjęcie na okładkę"
+
+#: ../../Zotlabs/Module/Menu.php:68
+msgid "Unable to update menu."
+msgstr "Nie można zaktualizować menu."
+
+#: ../../Zotlabs/Module/Menu.php:79
+msgid "Unable to create menu."
+msgstr "Nie można utworzyć menu."
+
+#: ../../Zotlabs/Module/Menu.php:161 ../../Zotlabs/Module/Menu.php:174
+msgid "Menu Name"
+msgstr "Nazwa menu"
+
+#: ../../Zotlabs/Module/Menu.php:161
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Unikalna nazwa (niewidoczna na stronie) - wymagana"
+
+#: ../../Zotlabs/Module/Menu.php:162 ../../Zotlabs/Module/Menu.php:175
+msgid "Menu Title"
+msgstr "Tytuł menu"
+
+#: ../../Zotlabs/Module/Menu.php:162
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Widoczne na stronie - pozostaw puste bez tytułu"
+
+#: ../../Zotlabs/Module/Menu.php:163
+msgid "Allow Bookmarks"
+msgstr "Zezwalaj na zakładki"
+
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Menu może służyć do przechowywania zapisanych zakładek"
+
+#: ../../Zotlabs/Module/Menu.php:164 ../../Zotlabs/Module/Menu.php:225
+msgid "Submit and proceed"
+msgstr "Prześlij i kontynuuj"
+
+#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2699
+msgid "Menus"
+msgstr "Menu"
+
+#: ../../Zotlabs/Module/Menu.php:181
+msgid "Bookmarks allowed"
+msgstr "Zakładki są dozwolone"
+
+#: ../../Zotlabs/Module/Menu.php:183
+msgid "Delete this menu"
+msgstr "Usuń to menu"
+
+#: ../../Zotlabs/Module/Menu.php:184 ../../Zotlabs/Module/Menu.php:219
+msgid "Edit menu contents"
+msgstr "Edytuj zawartość menu"
+
+#: ../../Zotlabs/Module/Menu.php:185
+msgid "Edit this menu"
+msgstr "Edytuj to menu"
+
+#: ../../Zotlabs/Module/Menu.php:201
+msgid "Menu could not be deleted."
+msgstr "Nie udało się usunąć menu."
+
+#: ../../Zotlabs/Module/Menu.php:214
+msgid "Edit Menu"
+msgstr "Edytuj menu"
+
+#: ../../Zotlabs/Module/Menu.php:218
+msgid "Add or remove entries to this menu"
+msgstr "Dodaj lub usuń posty w tym menu"
+
+#: ../../Zotlabs/Module/Menu.php:220
+msgid "Menu name"
+msgstr "Nazwa menu"
+
+#: ../../Zotlabs/Module/Menu.php:220
+msgid "Must be unique, only seen by you"
+msgstr "Musi być wyjątkowy, widoczny tylko dla Ciebie"
+
+#: ../../Zotlabs/Module/Menu.php:221
+msgid "Menu title"
+msgstr "Tytuł menu"
+
+#: ../../Zotlabs/Module/Menu.php:221
+msgid "Menu title as seen by others"
+msgstr "Tytuł menu widziany przez innych"
+
+#: ../../Zotlabs/Module/Menu.php:222
+msgid "Allow bookmarks"
+msgstr "Zezwalaj na zakładki"
+
+#: ../../Zotlabs/Module/Sources.php:41
+msgid "Failed to create source. No channel selected."
+msgstr "Nie udało się utworzyć źródła. Nie wybrano kanału."
+
+#: ../../Zotlabs/Module/Sources.php:57
+msgid "Source created."
+msgstr "Utworzono źródło."
+
+#: ../../Zotlabs/Module/Sources.php:70
+msgid "Source updated."
+msgstr "Źródło zaktualizowane."
+
+#: ../../Zotlabs/Module/Sources.php:88
+msgid "Sources App"
+msgstr "Aplikacja Sources"
+
+#: ../../Zotlabs/Module/Sources.php:89
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Automatycznie importuj zawartość kanału z innych kanałów lub źródeł"
+
+#: ../../Zotlabs/Module/Sources.php:101
+msgid "*"
+msgstr "*"
+
+#: ../../Zotlabs/Module/Sources.php:107 ../../Zotlabs/Lib/Apps.php:368
+msgid "Channel Sources"
+msgstr "Źródła kanałów"
+
+#: ../../Zotlabs/Module/Sources.php:108
+msgid "Manage remote sources of content for your channel."
+msgstr "Zarządzaj zdalnymi źródłami treści na swoim kanale."
+
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:119
+msgid "New Source"
+msgstr "Nowe źródło"
+
+#: ../../Zotlabs/Module/Sources.php:120 ../../Zotlabs/Module/Sources.php:154
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr ""
+"Zaimportuj wszystkie lub wybrane treści z następującego kanału do tego "
+"kanału i rozpowszechniaj je zgodnie z ustawieniami kanału."
+
+#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155
+msgid "Only import content with these words (one per line)"
+msgstr "Importuj tylko zawartość z tymi słowami (po jednym w każdym wierszu)"
+
+#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155
+msgid "Leave blank to import all public content"
+msgstr "Pozostaw puste, aby zaimportować całą zawartość publiczną"
+
+#: ../../Zotlabs/Module/Sources.php:122 ../../Zotlabs/Module/Sources.php:161
+msgid "Channel Name"
+msgstr "Nazwa kanału"
+
+#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr ""
+"Dodaj następujące kategorie do postów zaimportowanych z tego źródła "
+"(oddzielone przecinkami)"
+
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+msgid "Resend posts with this channel as author"
+msgstr "Wyślij ponownie posty z tym kanałem jako autorem"
+
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+msgid "Copyrights may apply"
+msgstr "Copyrights may apply"
+
+#: ../../Zotlabs/Module/Sources.php:144 ../../Zotlabs/Module/Sources.php:174
+msgid "Source not found."
+msgstr "Nie znaleziono źródła."
+
+#: ../../Zotlabs/Module/Sources.php:151
+msgid "Edit Source"
+msgstr "Edytuj źródło"
+
+#: ../../Zotlabs/Module/Sources.php:152
+msgid "Delete Source"
+msgstr "Usuń źródło"
+
+#: ../../Zotlabs/Module/Sources.php:182
+msgid "Source removed"
+msgstr "Źródło zostało usunięte"
+
+#: ../../Zotlabs/Module/Sources.php:184
+msgid "Unable to remove source."
+msgstr "Nie można usunąć źródła."
+
+#: ../../Zotlabs/Module/Poke.php:165
+msgid "Poke App"
+msgstr "Aplikacja Poke"
+
+#: ../../Zotlabs/Module/Poke.php:166
+msgid "Poke somebody in your addressbook"
+msgstr "Szturchij kogoś w swojej książce adresowej"
+
+#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351
+#: ../../include/conversation.php:1140
+msgid "Poke"
+msgstr "Szturchnij"
+
+#: ../../Zotlabs/Module/Poke.php:200
+msgid "Poke somebody"
+msgstr "Szturchnij kogoÅ›"
+
+#: ../../Zotlabs/Module/Poke.php:203
+msgid "Poke/Prod"
+msgstr "Szturchnij"
+
+#: ../../Zotlabs/Module/Poke.php:204
+msgid "Poke, prod or do other things to somebody"
+msgstr "Szturchać, badać, testować lub robić z kimś podobne rzeczy"
+
+#: ../../Zotlabs/Module/Poke.php:211
+msgid "Recipient"
+msgstr "Odbiorca"
+
+#: ../../Zotlabs/Module/Poke.php:212
+msgid "Choose what you wish to do to recipient"
+msgstr "Wybierz, co chcesz zrobić odbiorcy"
+
+#: ../../Zotlabs/Module/Poke.php:215 ../../Zotlabs/Module/Poke.php:216
+msgid "Make this post private"
+msgstr "Ustaw ten post jako prywatny"
+
+#: ../../Zotlabs/Module/Network.php:105
+msgid "No such group"
+msgstr "Nie ma takiej grupy"
+
+#: ../../Zotlabs/Module/Network.php:152
+msgid "No such channel"
+msgstr "Nie ma takiego kanału"
+
+#: ../../Zotlabs/Module/Network.php:239
+msgid "Privacy group is empty"
+msgstr "Grupa prywatności jest pusta"
+
+#: ../../Zotlabs/Module/Network.php:249
+msgid "Privacy group: "
+msgstr "Grupa prywatności: "
+
+#: ../../Zotlabs/Module/Network.php:322
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:29
+msgid "Invalid channel."
+msgstr "Zły kanał."
+
+#: ../../Zotlabs/Module/Attach_edit.php:118
+msgid "Can not copy folder into itself."
+msgstr "Nie można skopiować folderu do siebie."
+
+#: ../../Zotlabs/Module/Attach_edit.php:131
+#, php-format
+msgid "Can not move folder \"%s\" into itself."
+msgstr "Nie można przenieść folderu \"%s\" do samego siebie."
+
+#: ../../Zotlabs/Module/Viewsrc.php:43
+msgid "item"
+msgstr "element"
+
+#: ../../Zotlabs/Module/Lockview.php:75
+msgid "Remote privacy information not available."
+msgstr "Zdalne informacje o prywatności nie są dostępne."
+
+#: ../../Zotlabs/Module/Lockview.php:96
+msgid "Visible to:"
+msgstr "Widoczne dla:"
+
+#: ../../Zotlabs/Storage/Browser.php:292
+msgid "Change filename to"
+msgstr "Zmień nazwę pliku na"
+
+#: ../../Zotlabs/Storage/Browser.php:309 ../../Zotlabs/Storage/Browser.php:390
+msgid "Select a target location"
+msgstr "Wybierz lokalizacjÄ™ docelowÄ…"
+
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:391
+msgid "Copy to target location"
+msgstr "Skopiuj do lokalizacji docelowej"
+
+#: ../../Zotlabs/Storage/Browser.php:311 ../../Zotlabs/Storage/Browser.php:389
+msgid "Set permissions for all files and sub folders"
+msgstr "Ustaw uprawnienia dla wszystkich plików i podfolderów"
+
+#: ../../Zotlabs/Storage/Browser.php:312
+msgid "Notify your contacts about this file"
+msgstr "Powiadom swoje kontakty o tym pliku"
+
+#: ../../Zotlabs/Storage/Browser.php:351
+msgid "File category"
+msgstr "Kategoria plików"
+
+#: ../../Zotlabs/Storage/Browser.php:362
+msgid "Total"
+msgstr "Ogólnie"
+
+#: ../../Zotlabs/Storage/Browser.php:364
+msgid "Shared"
+msgstr "Udostępnione"
+
+#: ../../Zotlabs/Storage/Browser.php:366
+msgid "Add Files"
+msgstr "Dodaj pliki"
+
+#: ../../Zotlabs/Storage/Browser.php:369 ../../Zotlabs/Lib/ThreadItem.php:174
+msgid "Admin Delete"
+msgstr "Usuń przez administratora"
+
+#: ../../Zotlabs/Storage/Browser.php:381
+msgid "parent"
+msgstr "rodzic"
+
+#: ../../Zotlabs/Storage/Browser.php:399
+msgid "Select All"
+msgstr "Zaznacz wszystko"
+
+#: ../../Zotlabs/Storage/Browser.php:400
+msgid "Bulk Actions"
+msgstr "Działania masowe"
+
+#: ../../Zotlabs/Storage/Browser.php:401
+msgid "Adjust Permissions"
+msgstr "Dostosuj uprawnienia"
+
+#: ../../Zotlabs/Storage/Browser.php:402
+msgid "Move or Copy"
+msgstr "PrzenieÅ› lub skopiuj"
+
+#: ../../Zotlabs/Storage/Browser.php:405
+msgid "Info"
+msgstr "Informacje"
+
+#: ../../Zotlabs/Storage/Browser.php:406
+msgid "Rename"
+msgstr "Zień nazwę"
+
+#: ../../Zotlabs/Storage/Browser.php:407 ../../Zotlabs/Lib/Apps.php:360
+msgid "Post"
+msgstr "Post"
+
+#: ../../Zotlabs/Storage/Browser.php:408
+msgid "Attachment BBcode"
+msgstr "Attachment BBcode"
+
+#: ../../Zotlabs/Storage/Browser.php:409
+msgid "Embed BBcode"
+msgstr "Osadź BBcode"
+
+#: ../../Zotlabs/Storage/Browser.php:410
+msgid "Link BBcode"
+msgstr "Połącz BBcode"
+
+#: ../../Zotlabs/Storage/Browser.php:480
+#, php-format
+msgid "You are using %1$s of your available file storage."
+msgstr "Używasz %1$s dostępnego miejsca na pliki."
+
+#: ../../Zotlabs/Storage/Browser.php:485
+#, php-format
+msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
+msgstr "Używasz %1$s z %2$s dostępnego miejsca na pliki. (%3$s &#37;)"
+
+#: ../../Zotlabs/Storage/Browser.php:496
+msgid "WARNING:"
+msgstr "OSTRZEŻENIE:"
+
+#: ../../Zotlabs/Storage/Browser.php:537
+msgid "Create new folder"
+msgstr "Stwórz nowy folder"
+
+#: ../../Zotlabs/Storage/Browser.php:539
+msgid "Upload file"
+msgstr "Przesyłanie pliku"
+
+#: ../../Zotlabs/Storage/Browser.php:551
+msgid "Drop files here to immediately upload"
+msgstr "Upuść pliki tutaj, aby natychmiast przesłać"
+
+#: ../../Zotlabs/Storage/Browser.php:554
+msgid ""
+"You can select files via the upload button or drop them right here or into "
+"an existing folder."
+msgstr ""
+"Możesz wybrać pliki za pomocą przycisku przesyłania lub upuścić je tutaj lub "
+"do istniejÄ…cego folderu."
+
+#: ../../Zotlabs/Zot/Auth.php:152
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please "
+"logout and retry."
+msgstr ""
+"Zdalne uwierzytelnianie zablokowane. JesteÅ› zalogowany lokalnie na tej "
+"stronie. Wyloguj się i spróbuj ponownie."
+
+#: ../../Zotlabs/Zot/Auth.php:264
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:76
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Witaj %s. Zdalne uwierzytelnianie powiodło się."
+
+#: ../../Zotlabs/Lib/Group.php:28 ../../include/group.php:23
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr ""
+"Przywrócono usuniętą grupę o tej nazwie. Istniejące uprawnienia dotyczące "
+"elementów <strong>mogą</strong> dotyczyć tej grupy i wszystkich przyszłych "
+"członków. Jeśli nie tego chciałeś, utwórz kolejną grupę o innej nazwie."
+
+#: ../../Zotlabs/Lib/Group.php:270 ../../include/group.php:265
+msgid "Add new connections to this privacy group"
+msgstr "Dodaj nowe połączenia do tej grupy prywatności"
+
+#: ../../Zotlabs/Lib/Group.php:302 ../../Zotlabs/Lib/AccessList.php:311
+#: ../../include/group.php:299
+msgid "edit"
+msgstr "edutuj"
+
+#: ../../Zotlabs/Lib/Group.php:325 ../../include/group.php:322
+msgid "Edit group"
+msgstr "Edytuj grupÄ™"
+
+#: ../../Zotlabs/Lib/Group.php:326 ../../include/group.php:323
+msgid "Add privacy group"
+msgstr "Dodaj grupę prywatności"
+
+#: ../../Zotlabs/Lib/Group.php:327 ../../include/group.php:324
+msgid "Channels not in any privacy group"
+msgstr "Kanały spoza jakiejkolwiek grupy prywatności"
+
+#: ../../Zotlabs/Lib/Group.php:329 ../../Zotlabs/Lib/AccessList.php:336
+#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:326
+msgid "add"
+msgstr "dodaj"
+
+#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143
+#: ../../include/follow.php:37
+msgid "Channel is blocked on this site."
+msgstr "Kanał jest zablokowany na tej stronie."
+
+#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:42
+msgid "Channel location missing."
+msgstr "Brak lokalizacji kanału."
+
+#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:166
+msgid "Remote channel or protocol unavailable."
+msgstr "Zdalny kanał lub protokół jest niedostępny."
+
+#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:190
+msgid "Channel discovery failed."
+msgstr "Wyszukanie kanału nie powiodło się."
+
+#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:202
+msgid "Protocol disabled."
+msgstr "Protokół wyłączony."
+
+#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:213
+msgid "Cannot connect to yourself."
+msgstr "Nie można połączyć się ze sobą."
+
+#: ../../Zotlabs/Lib/Connect.php:271
+msgid "error saving data"
+msgstr "błąd podczas zapisywania danych"
+
+#: ../../Zotlabs/Lib/Apps.php:323
+msgid "Apps"
+msgstr "Aplikacje"
+
+#: ../../Zotlabs/Lib/Apps.php:324
+msgid "Affinity Tool"
+msgstr "Narzędzie koligacji"
+
+#: ../../Zotlabs/Lib/Apps.php:327
+msgid "Site Admin"
+msgstr "Administrator serwisu"
+
+#: ../../Zotlabs/Lib/Apps.php:328
+#: ../../extend/addon/hzaddons/buglink/buglink.php:16
+msgid "Report Bug"
+msgstr "Raport błędów"
+
+#: ../../Zotlabs/Lib/Apps.php:329 ../../include/nav.php:490
+msgid "Bookmarks"
+msgstr "Zakładki"
+
+#: ../../Zotlabs/Lib/Apps.php:330 ../../Zotlabs/Widget/Chatroom_list.php:16
+#: ../../include/nav.php:477 ../../include/nav.php:480
+msgid "Chatrooms"
+msgstr "Czaty"
+
+#: ../../Zotlabs/Lib/Apps.php:331
+msgid "Content Filter"
+msgstr "Filtr treści"
+
+#: ../../Zotlabs/Lib/Apps.php:332
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:135
+msgid "Content Import"
+msgstr "Import treści"
+
+#: ../../Zotlabs/Lib/Apps.php:334
+msgid "Remote Diagnostics"
+msgstr "Zdalna diagnostyka"
+
+#: ../../Zotlabs/Lib/Apps.php:335
+msgid "Suggest Channels"
+msgstr "Zaproponuj kanały"
+
+#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:124
+#: ../../include/nav.php:128 ../../boot.php:1705
+msgid "Login"
+msgstr "Zaloguj siÄ™"
+
+#: ../../Zotlabs/Lib/Apps.php:338
+msgid "Stream"
+msgstr "Strumień"
+
+#: ../../Zotlabs/Lib/Apps.php:342 ../../include/nav.php:539
+msgid "Wiki"
+msgstr "Wiki"
+
+#: ../../Zotlabs/Lib/Apps.php:343 ../../include/features.php:104
+msgid "Channel Home"
+msgstr "Strona główna kanału"
+
+#: ../../Zotlabs/Lib/Apps.php:346 ../../include/features.php:82
+#: ../../include/nav.php:463 ../../include/nav.php:466
+msgid "Calendar"
+msgstr "Kalendarz"
+
+#: ../../Zotlabs/Lib/Apps.php:347 ../../include/features.php:192
+msgid "Directory"
+msgstr "Katalog"
+
+#: ../../Zotlabs/Lib/Apps.php:349
+msgid "Mail"
+msgstr "Poczta"
+
+#: ../../Zotlabs/Lib/Apps.php:352
+msgid "Chat"
+msgstr "Czat"
+
+#: ../../Zotlabs/Lib/Apps.php:354
+msgid "Probe"
+msgstr "Sonda"
+
+#: ../../Zotlabs/Lib/Apps.php:355
+msgid "Suggest"
+msgstr "Prpozycja"
+
+#: ../../Zotlabs/Lib/Apps.php:356
+msgid "Random Channel"
+msgstr "Losowy kanał"
+
+#: ../../Zotlabs/Lib/Apps.php:357
+msgid "Invite"
+msgstr "Zaproszenie"
+
+#: ../../Zotlabs/Lib/Apps.php:358 ../../Zotlabs/Widget/Admin.php:26
+msgid "Features"
+msgstr "Funkcje"
+
+#: ../../Zotlabs/Lib/Apps.php:359
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:69
+msgid "Language"
+msgstr "Język"
+
+#: ../../Zotlabs/Lib/Apps.php:361
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:58
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:59
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:60
+msgid "Profile Photo"
+msgstr "Zdjęcie profilowe"
+
+#: ../../Zotlabs/Lib/Apps.php:363 ../../include/features.php:383
+msgid "Profiles"
+msgstr "Profile"
+
+#: ../../Zotlabs/Lib/Apps.php:365
+msgid "Notifications"
+msgstr "Powiadomienie"
+
+#: ../../Zotlabs/Lib/Apps.php:366
+msgid "Order Apps"
+msgstr "Kolejność aplikacji"
+
+#: ../../Zotlabs/Lib/Apps.php:367
+msgid "CardDAV"
+msgstr "CardDAV"
+
+#: ../../Zotlabs/Lib/Apps.php:369
+msgid "Guest Access"
+msgstr "Dostęp gościa"
+
+#: ../../Zotlabs/Lib/Apps.php:370 ../../Zotlabs/Widget/Notes.php:21
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2625
+msgid "Notes"
+msgstr "Uwagi"
+
+#: ../../Zotlabs/Lib/Apps.php:371
+msgid "OAuth Apps Manager"
+msgstr "Menadżer aplikacji OAuth"
+
+#: ../../Zotlabs/Lib/Apps.php:372
+msgid "OAuth2 Apps Manager"
+msgstr "Menadżer aplikacji OAuth2"
+
+#: ../../Zotlabs/Lib/Apps.php:373
+msgid "PDL Editor"
+msgstr "Edytor PDL"
+
+#: ../../Zotlabs/Lib/Apps.php:376
+msgid "My Chatrooms"
+msgstr "Moje czaty"
+
+#: ../../Zotlabs/Lib/Apps.php:377
+msgid "Channel Export"
+msgstr "Eksport kanału"
+
+#: ../../Zotlabs/Lib/Apps.php:554
+msgid "Purchase"
+msgstr "Zakup"
+
+#: ../../Zotlabs/Lib/Apps.php:559
+msgid "Undelete"
+msgstr "Cofnij usunięcie"
+
+#: ../../Zotlabs/Lib/Apps.php:569
+msgid "Add to app-tray"
+msgstr "Dodaj do zasobnika aplikacji"
+
+#: ../../Zotlabs/Lib/Apps.php:570
+msgid "Remove from app-tray"
+msgstr "Usuń z zasobnika aplikacji"
+
+#: ../../Zotlabs/Lib/Apps.php:571
+msgid "Pin to navbar"
+msgstr "Przypnij do paska nawigacyjnego"
+
+#: ../../Zotlabs/Lib/Apps.php:572
+msgid "Unpin from navbar"
+msgstr "Odepnij od paska nawigacyjnego"
+
+#: ../../Zotlabs/Lib/DB_Upgrade.php:67
+msgid "Source code of failed update: "
+msgstr "Kod źródłowy nieudanej aktualizacji: "
+
+#: ../../Zotlabs/Lib/DB_Upgrade.php:88
+#, php-format
+msgid "Update Error at %s"
+msgstr "Błąd aktualizacji na %s"
+
+#: ../../Zotlabs/Lib/DB_Upgrade.php:94
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr "Aktualizacja %s nie powiodła się. Zobacz dzienniki błędów."
+
+#: ../../Zotlabs/Lib/AccessList.php:28
+msgid ""
+"A deleted list with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this list and any future members. If this is "
+"not what you intended, please create another list with a different name."
+msgstr ""
+"Przywrócono usuniętą listę o tej nazwie. Istniejące uprawnienia dotyczące "
+"elementów <strong>mogą</strong> dotyczyć tej listy i wszystkich przyszłych "
+"członków. Jeśli nie tego chciałeś, utwórz kolejną listę z inną nazwą."
+
+#: ../../Zotlabs/Lib/AccessList.php:286
+msgid "Add new connections to this access list"
+msgstr "Dodaj nowe połączenia do tej listy dostępu"
+
+#: ../../Zotlabs/Lib/AccessList.php:331
+msgid "Lists"
+msgstr "Listy"
+
+#: ../../Zotlabs/Lib/AccessList.php:332
+msgid "Edit list"
+msgstr "Edytuj listÄ™"
+
+#: ../../Zotlabs/Lib/AccessList.php:333
+msgid "Create new list"
+msgstr "Utwórz nową listę"
+
+#: ../../Zotlabs/Lib/AccessList.php:334
+msgid "Channels not in any access list"
+msgstr "Kanały, których nie ma na żadnej liście dostępu"
+
+#: ../../Zotlabs/Lib/Chatroom.php:25
+msgid "Missing room name"
+msgstr "Brak nazwy pokoju"
+
+#: ../../Zotlabs/Lib/Chatroom.php:34
+msgid "Duplicate room name"
+msgstr "Zduplikowana nazwa pokoju"
+
+#: ../../Zotlabs/Lib/Chatroom.php:84 ../../Zotlabs/Lib/Chatroom.php:92
+msgid "Invalid room specifier."
+msgstr "Nieprawidłowy specyfikator sali."
+
+#: ../../Zotlabs/Lib/Chatroom.php:124
+msgid "Room not found."
+msgstr "Nie znaleziono pokoju."
+
+#: ../../Zotlabs/Lib/Chatroom.php:145
+msgid "Room is full"
+msgstr "Pokój jest pełny"
+
+#: ../../Zotlabs/Lib/Techlevels.php:10
+msgid "0. Beginner/Basic"
+msgstr "0. PoczatkujÄ…cy/Podstawowy"
+
+#: ../../Zotlabs/Lib/Techlevels.php:11
+msgid "1. Novice - not skilled but willing to learn"
+msgstr "1. Nowicjusz - nie ma umiejętności, ale chętnie się uczy"
+
+#: ../../Zotlabs/Lib/Techlevels.php:12
+msgid "2. Intermediate - somewhat comfortable"
+msgstr "2. Średniozaawansowany - dość wygodne"
+
+#: ../../Zotlabs/Lib/Techlevels.php:13
+msgid "3. Advanced - very comfortable"
+msgstr "3. Zaawansowany - bardzo wygodne"
+
+#: ../../Zotlabs/Lib/Techlevels.php:14
+msgid "4. Expert - I can write computer code"
+msgstr "4. Ekspert - umiem pisać kod komputerowy"
+
+#: ../../Zotlabs/Lib/Techlevels.php:15
+msgid "5. Wizard - I probably know more than you do"
+msgstr "5. Czarodziej - prawdopodobnie wiem więcej niż Ty"
+
+#: ../../Zotlabs/Lib/Enotify.php:60
+msgid "$Projectname Notification"
+msgstr "Powiadomienie $Projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:61
+#: ../../extend/addon/hzaddons/diaspora/util.php:336
+#: ../../extend/addon/hzaddons/diaspora/util.php:349
+#: ../../extend/addon/hzaddons/diaspora/p.php:48
+msgid "$projectname"
+msgstr "Hubzilla"
+
+#: ../../Zotlabs/Lib/Enotify.php:63
+msgid "Thank You,"
+msgstr "Dziękujemy,"
+
+#: ../../Zotlabs/Lib/Enotify.php:65
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:33
+#, php-format
+msgid "%s Administrator"
+msgstr "Administrator %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:66
+#, php-format
+msgid "This email was sent by %1$s at %2$s."
+msgstr "Ta wiadomość e-mail została wysłana przez %1$s na numer %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:67
+#, php-format
+msgid ""
+"To stop receiving these messages, please adjust your Notification Settings "
+"at %s"
+msgstr "Aby nie otrzymywać tych wiadomości, zmień ustawienia powiadomień na %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:68
+#, php-format
+msgid "To stop receiving these messages, please adjust your %s."
+msgstr "Aby nie otrzymywać tych wiadomości, zmień %s."
+
+#: ../../Zotlabs/Lib/Enotify.php:123
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../Zotlabs/Lib/Enotify.php:127
+#, php-format
+msgid "[$Projectname:Notify] New mail received at %s"
+msgstr "[$Projectname:Notify] Otrzymano nowÄ… pocztÄ™ na %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:129
+#, php-format
+msgid "%1$s sent you a new private message at %2$s."
+msgstr "%1$s wysłał Ci nową prywatną wiadomość na %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:130
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s wysłał Ci %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:130
+msgid "a private message"
+msgstr "prywatna wiadomość"
+
+#: ../../Zotlabs/Lib/Enotify.php:131
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr ""
+"Odwiedź %s, aby wyświetlić albo odpowiedzieć na swoje prywatne wiadomości."
+
+#: ../../Zotlabs/Lib/Enotify.php:144
+msgid "commented on"
+msgstr "skomentował"
+
+#: ../../Zotlabs/Lib/Enotify.php:157
+msgid "liked"
+msgstr "polubił"
+
+#: ../../Zotlabs/Lib/Enotify.php:160
+msgid "disliked"
+msgstr "dezaprobował"
+
+#: ../../Zotlabs/Lib/Enotify.php:165
+msgid "voted on"
+msgstr "głosował"
+
+#: ../../Zotlabs/Lib/Enotify.php:208
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s %2$s [zrl=%3$s]%4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:216
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s %2$s [zrl=%3$s]%5$s %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:225
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s %2$s [zrl=%3$s]Twój %4$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:237
+#, php-format
+msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Notify] Moderowany komentarz do rozmowy #%1$d przez %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:239
+#, php-format
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Notify] Komentarz do roz,owy #%1$d przez %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:240
+#, php-format
+msgid "%1$s commented on an item/conversation you have been following."
+msgstr "%1$s skomentował obserwowany element/rozmowę."
+
+#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:324
+#: ../../Zotlabs/Lib/Enotify.php:340 ../../Zotlabs/Lib/Enotify.php:365
+#: ../../Zotlabs/Lib/Enotify.php:382 ../../Zotlabs/Lib/Enotify.php:395
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Odwiedź %s, aby wyświetlić rozmowę albo odpowiedzieć na nią."
+
+#: ../../Zotlabs/Lib/Enotify.php:247 ../../Zotlabs/Lib/Enotify.php:248
+#, php-format
+msgid "Please visit %s to approve or reject this comment."
+msgstr "Odwiedź %s, aby zaakceptować lub odrzucić ten komentarz."
+
+#: ../../Zotlabs/Lib/Enotify.php:306
+#, php-format
+msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]"
+msgstr "%1$s polubił [zrl=%2$s]Twój %3$s[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:320
+#, php-format
+msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Notify] Polubienie wysłane dla rozmowy #%1$d przez %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:321
+#, php-format
+msgid "%1$s liked an item/conversation you created."
+msgstr "%1$s polubił utworzony przez Ciebie element/rozmowę."
+
+#: ../../Zotlabs/Lib/Enotify.php:332
+#, php-format
+msgid "[$Projectname:Notify] %s posted to your profile wall"
+msgstr "[$Projectname:Notify]%s opublikowany na Twojej ścianie profilu"
+
+#: ../../Zotlabs/Lib/Enotify.php:334
+#, php-format
+msgid "%1$s posted to your profile wall at %2$s"
+msgstr "%1$s opublikowano na ścianie Twojego profilu pod adresem %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:336
+#, php-format
+msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
+msgstr "%1$s opublikował na [zrl=%2$s]Twojej ścianie[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:359
+#, php-format
+msgid "[$Projectname:Notify] %s tagged you"
+msgstr "[$Projectname:Notify]%s oznaczył Cię tagiem"
+
+#: ../../Zotlabs/Lib/Enotify.php:360
+#, php-format
+msgid "%1$s tagged you at %2$s"
+msgstr "%1$s oznaczył Cię tagiem %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:361
+#, php-format
+msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
+msgstr "%1$s [zrl=%2$s]oznaczył Cię tagiem[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:372
+#, php-format
+msgid "[$Projectname:Notify] %1$s poked you"
+msgstr "[$Projectname:Notify] %1$s szturchnÄ…Å‚ CiÄ™"
+
+#: ../../Zotlabs/Lib/Enotify.php:373
+#, php-format
+msgid "%1$s poked you at %2$s"
+msgstr "%1$s szturchnÄ…Å‚ CiÄ™ %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:374
+#, php-format
+msgid "%1$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s [zrl=%2$s]szturchnÄ…Å‚ CiÄ™[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:389
+#, php-format
+msgid "[$Projectname:Notify] %s tagged your post"
+msgstr "[$Projectname:Notify] %s oznaczył tagiem Twój post"
+
+#: ../../Zotlabs/Lib/Enotify.php:390
+#, php-format
+msgid "%1$s tagged your post at %2$s"
+msgstr "%1$s oznaczył tagiem Twój post na %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:391
+#, php-format
+msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
+msgstr "%1$s tagged [zrl=%2$s]Twój post[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:402
+msgid "[$Projectname:Notify] Introduction received"
+msgstr "[$Projectname:Notify] Otrzymano wprowadzenie"
+
+#: ../../Zotlabs/Lib/Enotify.php:403
+#, php-format
+msgid "You've received an new connection request from '%1$s' at %2$s"
+msgstr "Otrzymałeś nowe żądanie połączenia od „%1$s†na %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:404
+#, php-format
+msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s."
+msgstr "Otrzymałeś [zrl=%1$s]nowe żądanie połączenia [/zrl] od %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:407 ../../Zotlabs/Lib/Enotify.php:425
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Możesz odwiedzić ich profil na %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:409
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Odwiedź %s, aby zatwierdzić lub odrzucić prośbę o połączenie."
+
+#: ../../Zotlabs/Lib/Enotify.php:416
+msgid "[$Projectname:Notify] Friend suggestion received"
+msgstr "[$Projectname:Notify] Otrzymano propozycję znajomości"
+
+#: ../../Zotlabs/Lib/Enotify.php:417
+#, php-format
+msgid "You've received a friend suggestion from '%1$s' at %2$s"
+msgstr "Otrzymałeś propozycję znajomości od „%1$s†na %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:418
+#, php-format
+msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
+msgstr "Otrzymałeś [zrl=%1$s] prpozycję znajomości[/ zrl] dla %2$s od %3$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:423
+msgid "Name:"
+msgstr "Nazwa:"
+
+#: ../../Zotlabs/Lib/Enotify.php:424
+msgid "Photo:"
+msgstr "Zdjęcie:"
+
+#: ../../Zotlabs/Lib/Enotify.php:427
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Odwiedź %s, aby zaakceptować lub odrzucić popozycję."
+
+#: ../../Zotlabs/Lib/Enotify.php:652
+msgid "[$Projectname:Notify]"
+msgstr "[$Projectname:Notify]"
+
+#: ../../Zotlabs/Lib/Enotify.php:820
+msgid "created a new poll"
+msgstr "utworzył nową ankietę"
+
+#: ../../Zotlabs/Lib/Enotify.php:820
+msgid "created a new post"
+msgstr "utworzył nowy post"
+
+#: ../../Zotlabs/Lib/Enotify.php:821
+#, php-format
+msgid "voted on %s's poll"
+msgstr "głosował w ankiecie %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:821
+#, php-format
+msgid "commented on %s's post"
+msgstr "skomentował post %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:825
+#, php-format
+msgid "repeated %s's post"
+msgstr "powtórzony post %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:837
+#, php-format
+msgid "edited a post dated %s"
+msgstr "edytował post z dnia %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:841
+#, php-format
+msgid "edited a comment dated %s"
+msgstr "edytował komentarz z dnia %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:970
+msgid "created an event"
+msgstr "utworzono wydarzenie"
+
+#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2657
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Nie można zweryfikować podpisu witryny dla %s"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:42
+#: ../../Zotlabs/Lib/NativeWikiPage.php:94
+msgid "(No Title)"
+msgstr "(Brak tytułu)"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:109
+msgid "Wiki page create failed."
+msgstr "Tworzenie strony Wiki nie powiodło się."
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:122
+msgid "Wiki not found."
+msgstr "Nie znaleziono wiki."
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:133
+msgid "Destination name already exists"
+msgstr "Nazwa celu już istnieje"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:166
+#: ../../Zotlabs/Lib/NativeWikiPage.php:362
+msgid "Page not found"
+msgstr "Strona nie znaleziona"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:197
+msgid "Error reading page content"
+msgstr "Błąd podczas odczytu zawartości strony"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:353
+#: ../../Zotlabs/Lib/NativeWikiPage.php:402
+#: ../../Zotlabs/Lib/NativeWikiPage.php:469
+#: ../../Zotlabs/Lib/NativeWikiPage.php:510
+msgid "Error reading wiki"
+msgstr "Błąd podczas odczytu wiki"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:390
+msgid "Page update failed."
+msgstr "Aktualizacja strony nie powiodła się."
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:424
+msgid "Nothing deleted"
+msgstr "Nic nie zostało usunięte"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:490
+msgid "Compare: object not found."
+msgstr "Porównaj: nie znaleziono obiektu."
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:496
+msgid "Page updated"
+msgstr "Strona została zaktualizowana"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:499
+msgid "Untitled"
+msgstr "Bez tytułu"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:505
+msgid "Wiki resource_id required for git commit"
+msgstr "Identyfikator zasobu Wiki wymagany do zatwierdzenia przez Git"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:565
+#: ../../Zotlabs/Widget/Wiki_page_history.php:23
+msgctxt "wiki_history"
+msgid "Message"
+msgstr "Wiadomość"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:566
+#: ../../Zotlabs/Widget/Wiki_page_history.php:24
+msgid "Date"
+msgstr "Data"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:568
+#: ../../Zotlabs/Widget/Wiki_page_history.php:26
+msgid "Compare"
+msgstr "Porównaj"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:606 ../../include/bbcode.php:1018
+#: ../../include/bbcode.php:1190
+msgid "Different viewers will see this text differently"
+msgstr "Różni widzowie będą inaczej widzieć ten tekst"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:103 ../../include/conversation.php:739
+msgid "Private Message"
+msgstr "Wiadomość prywatna"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:130
+msgid "Privacy conflict. Discretion advised."
+msgstr "Konflikt prywatności. Zalecana dyskrecja."
+
+#: ../../Zotlabs/Lib/ThreadItem.php:180 ../../include/conversation.php:729
+msgid "Select"
+msgstr "Wybierz"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I will attend"
+msgstr "Będę uczestniczył"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I will not attend"
+msgstr "Nie będę uczestniczył"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I might attend"
+msgstr "Mogę wziąć udział"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I agree"
+msgstr "Zgadzam siÄ™"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I disagree"
+msgstr "Nie zgadzam siÄ™"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I abstain"
+msgstr "WstrzymujÄ™ siÄ™"
+
+# Sprawdzić w kontekscie!
+#: ../../Zotlabs/Lib/ThreadItem.php:273 ../../include/conversation.php:734
+msgid "Toggle Star Status"
+msgstr "Przełącz stan gwiazdki"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:284 ../../Zotlabs/Widget/Pinned.php:88
+#: ../../include/conversation.php:746
+msgid "Message signature validated"
+msgstr "Podpis wiadomości został zatwierdzony"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:285 ../../Zotlabs/Widget/Pinned.php:89
+#: ../../include/conversation.php:747
+msgid "Message signature incorrect"
+msgstr "Niepoprawny podpis wiadomości"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:301 ../../include/conversation.php:933
+msgid "Conversation Tools"
+msgstr "Narzędzia do konwersacji"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:317 ../../include/taxonomy.php:582
+msgid "like"
+msgstr "lubi"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:318 ../../include/taxonomy.php:583
+msgid "dislike"
+msgstr "nie lubi"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "Reply on this comment"
+msgstr "Odpowiedz na ten komentarz"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "reply"
+msgstr "odpowiedz"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "Reply to"
+msgstr "Odpowiedź dla"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99
+msgid "Share This"
+msgstr "Udostępnij to"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99
+msgid "share"
+msgstr "udostępnij"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:339
+msgid "Delivery Report"
+msgstr "Raport dostawy"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:358
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d komentarz"
+msgstr[1] "%d komentarze"
+msgstr[2] "%d komentarzy"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:359
+#, php-format
+msgid "%d unseen"
+msgstr "%d niezobaczone"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:412
+msgid "to"
+msgstr "do"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:413 ../../Zotlabs/Widget/Pinned.php:128
+msgid "via"
+msgstr "poprzez"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:414
+msgid "Wall-to-Wall"
+msgstr "Wall-to-Wall"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:415
+msgid "via Wall-To-Wall:"
+msgstr "poprzez Wall-To-Wall:"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:429 ../../Zotlabs/Widget/Pinned.php:133
+#: ../../include/conversation.php:806
+#, php-format
+msgid "from %s"
+msgstr "od %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:432 ../../Zotlabs/Widget/Pinned.php:136
+#: ../../include/conversation.php:809
+#, php-format
+msgid "last edited: %s"
+msgstr "ostatnio edytowane: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:433 ../../Zotlabs/Widget/Pinned.php:137
+#: ../../include/conversation.php:810
+#, php-format
+msgid "Expires: %s"
+msgstr "Wygasa: %s"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:442
+msgid "Attend"
+msgstr "Uczestnicz"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:443 ../../Zotlabs/Widget/Pinned.php:143
+msgid "Attendance Options"
+msgstr "Opcje obecności"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:444 ../../include/text.php:1922
+msgid "Vote"
+msgstr "Głosuj"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:445 ../../Zotlabs/Widget/Pinned.php:144
+msgid "Voting Options"
+msgstr "Opcje głosowania"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:460
+msgid "Go to previous comment"
+msgstr "Przejdź do poprzedniego komentarza"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:469 ../../Zotlabs/Widget/Pinned.php:156
+msgid "Pinned post"
+msgstr "Posty przypięte"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../Zotlabs/Widget/Pinned.php:157
+#: ../../include/js_strings.php:39
+msgid "Unpin from the top"
+msgstr "Odepnij z góry"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../include/js_strings.php:38
+msgid "Pin to the top"
+msgstr "Przypnij u góry"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:472
+#: ../../extend/addon/hzaddons/bookmarker/bookmarker.php:38
+msgid "Save Bookmarks"
+msgstr "Zapisz zakładki"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:473
+msgid "Add to Calendar"
+msgstr "Dodaj do kalendarza"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:500 ../../include/conversation.php:516
+msgid "This is an unsaved preview"
+msgstr "Ten podgląd nie został zapisany"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:533 ../../include/js_strings.php:7
+#, php-format
+msgid "%s show all"
+msgstr "%s pokaż wszystko"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/conversation.php:1449
+#: ../../extend/addon/hzaddons/hsse/hsse.php:200
+msgid "Bold"
+msgstr "Gruby"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:827 ../../include/conversation.php:1450
+#: ../../extend/addon/hzaddons/hsse/hsse.php:201
+msgid "Italic"
+msgstr "Pochyły"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451
+#: ../../extend/addon/hzaddons/hsse/hsse.php:202
+msgid "Underline"
+msgstr "Podkreślony"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452
+#: ../../extend/addon/hzaddons/hsse/hsse.php:203
+msgid "Quote"
+msgstr "Cytat"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453
+#: ../../extend/addon/hzaddons/hsse/hsse.php:204
+msgid "Code"
+msgstr "Kod"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:831
+msgid "Image"
+msgstr "Obraz"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1454
+#: ../../extend/addon/hzaddons/hsse/hsse.php:205
+msgid "Attach/Upload file"
+msgstr "Załącz / prześlij plik"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:833
+msgid "Insert Link"
+msgstr "Wstaw link"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:834
+msgid "Video"
+msgstr "Wideo"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:844
+msgid "Your full name (required)"
+msgstr "Twoja imię i nazwisko lub pełna nazwa (wymagane)"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:845
+msgid "Your email address (required)"
+msgstr "Twój adres email (wymagane)"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:846
+msgid "Your website URL (optional)"
+msgstr "Adres URL Twojej witryny (opcjonalnie)"
+
+#: ../../Zotlabs/Lib/Activity.php:2110
+#, php-format
+msgid "Likes %1$s's %2$s"
+msgstr "Polibień %2$s %1$s"
+
+#: ../../Zotlabs/Lib/Activity.php:2113
+#, php-format
+msgid "Doesn't like %1$s's %2$s"
+msgstr "Dezaprobat %2$s %1$s"
+
+#: ../../Zotlabs/Lib/Activity.php:2119
+#, php-format
+msgid "Will attend %s's event"
+msgstr "Weźmie udział w wydarzeniu %s"
+
+#: ../../Zotlabs/Lib/Activity.php:2122
+#, php-format
+msgid "Will not attend %s's event"
+msgstr "Nie weźmie udziału w wydarzeniu %s"
+
+#: ../../Zotlabs/Lib/Activity.php:2125
+#, php-format
+msgid "May attend %s's event"
+msgstr "Może uczestniczyć w wydarzeniu %s"
+
+#: ../../Zotlabs/Lib/Activity.php:2128
+#, php-format
+msgid "May not attend %s's event"
+msgstr "Nie może uczestniczyć w wydarzeniu %s"
+
+#: ../../Zotlabs/Lib/Activity.php:2821 ../../Zotlabs/Lib/Activity.php:3015
+#: ../../include/network.php:1736
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1479
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1733
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1941
+msgid "ActivityPub"
+msgstr "ActivityPub"
+
+#: ../../Zotlabs/Lib/NativeWiki.php:145
+msgid "Wiki updated successfully"
+msgstr "Wiki zaktualizowane pomyślnie"
+
+#: ../../Zotlabs/Lib/NativeWiki.php:199
+msgid "Wiki files deleted successfully"
+msgstr "Pliki Wiki zostały pomyślnie usunięte"
+
+#: ../../Zotlabs/Lib/Libzotdir.php:163 ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Opcje katalogu"
+
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Tryb bezpieczny"
+
+#: ../../Zotlabs/Lib/Libzotdir.php:166 ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Tylko fora publiczne"
+
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Tylko ten serwis"
+
+#: ../../Zotlabs/Lib/Permcat.php:82
+msgctxt "permcat"
+msgid "default"
+msgstr "domyślnie"
+
+#: ../../Zotlabs/Lib/Permcat.php:133
+msgctxt "permcat"
+msgid "follower"
+msgstr "obserwujÄ…cy"
+
+#: ../../Zotlabs/Lib/Permcat.php:137
+msgctxt "permcat"
+msgid "contributor"
+msgstr "współpracownik"
+
+#: ../../Zotlabs/Lib/Permcat.php:141
+msgctxt "permcat"
+msgid "publisher"
+msgstr "wydawca"
+
+#: ../../Zotlabs/Lib/Libzot.php:656 ../../include/zot.php:802
+msgid "Unable to verify channel signature"
+msgstr "Nie można zweryfikować podpisu kanału"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:34
+#: ../../include/acl_selectors.php:33
+msgid "Visible to your default audience"
+msgstr "Widoczne dla domyślnych odbiorców"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+#: ../../include/acl_selectors.php:135
+msgid "Only me"
+msgstr "Tylko ja"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:108
+msgid "Public"
+msgstr "Publiczny"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:109
+msgid "Anybody in the $Projectname network"
+msgstr "Każdy w sieci $Projectname"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:110
+#, php-format
+msgid "Any account on %s"
+msgstr "Dowolne konto na %s"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:111
+msgid "Any of my connections"
+msgstr "Wszystkie moje połączenia"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:112
+msgid "Only connections I specifically allow"
+msgstr "Tylko połączenia, na które wyraźnie zezwalam"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:113
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Każdy uwierzytelniony (może obejmować odwiedzających z innych sieci)"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:114
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Wszelkie połączenia, w tym te, które nie zostały jeszcze zatwierdzone"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:150
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr ""
+"To jest domyślne ustawienie odbiorców Twojego normalnego strumienia i postów."
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:151
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr ""
+"To jest domyślne ustawienie określające, kto może wyświetlać Twój domyślny "
+"profil kanału"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:152
+msgid "This is your default setting for who can view your connections"
+msgstr ""
+"To jest domyślne ustawienie określające, kto może wyświetlać Twoje połączenia"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:153
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr ""
+"Jest to domyślne ustawienie określające, kto może wyświetlać miejsce na "
+"pliki i zdjęcia"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:154
+msgid "This is your default setting for the audience of your webpages"
+msgstr ""
+"To jest domyślne ustawienie dotyczące odbiorców Twoich stron internetowych"
+
+#: ../../Zotlabs/Widget/Appcategories.php:46 ../../Zotlabs/Widget/Filer.php:31
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:111
+#: ../../include/contact_widgets.php:155 ../../include/contact_widgets.php:200
+#: ../../include/contact_widgets.php:235
+msgid "Everything"
+msgstr "Wszystko"
+
+#: ../../Zotlabs/Widget/Cdav.php:37
+msgid "Select Channel"
+msgstr "Wybierz kanał"
+
+#: ../../Zotlabs/Widget/Cdav.php:42
+msgid "Read-write"
+msgstr "Czytanie i zapis"
+
+#: ../../Zotlabs/Widget/Cdav.php:43
+msgid "Read-only"
+msgstr "Tylko odczyt"
+
+#: ../../Zotlabs/Widget/Cdav.php:127
+msgid "Channel Calendar"
+msgstr "Kalendarz kanału"
+
+#: ../../Zotlabs/Widget/Cdav.php:131
+msgid "Shared CalDAV Calendars"
+msgstr "Udostępnione kalendarze CalDAV"
+
+#: ../../Zotlabs/Widget/Cdav.php:135
+msgid "Share this calendar"
+msgstr "Udostępnij ten kalendarz"
+
+#: ../../Zotlabs/Widget/Cdav.php:137
+msgid "Calendar name and color"
+msgstr "Nazwa kalendarza i kolor"
+
+#: ../../Zotlabs/Widget/Cdav.php:139
+msgid "Create new CalDAV calendar"
+msgstr "Utwórz nowy kalendarz CalDAV"
+
+#: ../../Zotlabs/Widget/Cdav.php:141
+msgid "Calendar Name"
+msgstr "Nazwa kalendarza"
+
+#: ../../Zotlabs/Widget/Cdav.php:142
+msgid "Calendar Tools"
+msgstr "Narzędzia kalendarza"
+
+#: ../../Zotlabs/Widget/Cdav.php:144
+msgid "Import calendar"
+msgstr "Importuj kalendarz"
+
+#: ../../Zotlabs/Widget/Cdav.php:145
+msgid "Select a calendar to import to"
+msgstr "Wybierz kalendarz do zaimportowania"
+
+#: ../../Zotlabs/Widget/Cdav.php:172
+msgid "Addressbooks"
+msgstr "Książki adresowe"
+
+#: ../../Zotlabs/Widget/Cdav.php:174
+msgid "Addressbook name"
+msgstr "Nazwa książki adresowej"
+
+#: ../../Zotlabs/Widget/Cdav.php:176
+msgid "Create new addressbook"
+msgstr "Utwórz nową książkę adresową"
+
+#: ../../Zotlabs/Widget/Cdav.php:177
+msgid "Addressbook Name"
+msgstr "Nazwa książki adresowej"
+
+#: ../../Zotlabs/Widget/Cdav.php:179
+msgid "Addressbook Tools"
+msgstr "Narzędzia książki adresowej"
+
+#: ../../Zotlabs/Widget/Cdav.php:180
+msgid "Import addressbook"
+msgstr "Importuj książkę adresową"
+
+#: ../../Zotlabs/Widget/Cdav.php:181
+msgid "Select an addressbook to import to"
+msgstr "Wybierz książkę adresową do zaimportowania"
+
+#: ../../Zotlabs/Widget/Filer.php:28
+#: ../../Zotlabs/Widget/Activity_filter.php:179
+#: ../../include/contact_widgets.php:53 ../../include/features.php:319
+msgid "Saved Folders"
+msgstr "Zapisywanie foldery"
+
+#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:323
+#: ../../include/taxonomy.php:458 ../../include/taxonomy.php:479
+msgid "Tags"
+msgstr "Tagi"
+
+#: ../../Zotlabs/Widget/Archive.php:43
+msgid "Archives"
+msgstr "Archiwa"
+
+#: ../../Zotlabs/Widget/Chatroom_members.php:11
+msgid "Chat Members"
+msgstr "Członkowie czatu"
+
+#: ../../Zotlabs/Widget/Rating.php:51
+msgid "Rating Tools"
+msgstr "Narzędzia"
+
+#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57
+msgid "Rate Me"
+msgstr "Oceń mnie"
+
+#: ../../Zotlabs/Widget/Rating.php:60
+msgid "View Ratings"
+msgstr "Pokaż oceny"
+
+#: ../../Zotlabs/Widget/Wiki_pages.php:34
+#: ../../Zotlabs/Widget/Wiki_pages.php:91
+msgid "Add new page"
+msgstr "Dodaj nowÄ… stronÄ™"
+
+#: ../../Zotlabs/Widget/Wiki_pages.php:85
+msgid "Wiki Pages"
+msgstr "Strony wiki"
+
+#: ../../Zotlabs/Widget/Wiki_pages.php:96
+msgid "Page name"
+msgstr "Nazwa strony"
+
+#: ../../Zotlabs/Widget/Bookmarkedchats.php:24
+msgid "Bookmarked Chatrooms"
+msgstr "Czaty dodane do zakładek"
+
+#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58
+msgid "photo/image"
+msgstr "zdjęcie/obraz"
+
+#: ../../Zotlabs/Widget/Forums.php:100
+#: ../../Zotlabs/Widget/Activity_filter.php:115
+#: ../../Zotlabs/Widget/Notifications.php:139
+#: ../../Zotlabs/Widget/Notifications.php:140
+#: ../../include/acl_selectors.php:124
+msgid "Forums"
+msgstr "Fora"
+
+#: ../../Zotlabs/Widget/Savedsearch.php:75
+msgid "Remove term"
+msgstr "Usuń termin"
+
+#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:311
+msgid "Saved Searches"
+msgstr "Zapisywanie wyszukiwania"
+
+#: ../../Zotlabs/Widget/Follow.php:22
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Masz %1$.0f z %2$.0f dozwolonych połączeń."
+
+#: ../../Zotlabs/Widget/Follow.php:29
+msgid "Add New Connection"
+msgstr "Dodaj nowe połączenie"
+
+#: ../../Zotlabs/Widget/Follow.php:30
+msgid "Enter channel address"
+msgstr "Wprowadź adres kanału"
+
+#: ../../Zotlabs/Widget/Follow.php:31
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Przykłady: bob@example.com, https://example.com/barbara"
+
+#: ../../Zotlabs/Widget/Suggestions.php:53
+msgid "Suggestions"
+msgstr "Propozycje"
+
+#: ../../Zotlabs/Widget/Suggestions.php:54
+msgid "See more..."
+msgstr "Zobacz więcej..."
+
+#: ../../Zotlabs/Widget/Tasklist.php:23
+msgid "Tasks"
+msgstr "Zadania"
+
+#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60
+msgid "Member registrations waiting for confirmation"
+msgstr "Rejestracja członków czeka na potwierdzenie"
+
+#: ../../Zotlabs/Widget/Admin.php:29
+msgid "Inspect queue"
+msgstr "Sprawdź kolejkę"
+
+#: ../../Zotlabs/Widget/Admin.php:31
+msgid "DB updates"
+msgstr "Aktualizacje bazy danych"
+
+#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:194
+msgid "Admin"
+msgstr "Admin"
+
+#: ../../Zotlabs/Widget/Admin.php:56
+msgid "Addon Features"
+msgstr "Funkcje dodatków"
+
+#: ../../Zotlabs/Widget/Chatroom_list.php:20
+msgid "Overview"
+msgstr "PrzeglÄ…d"
+
+#: ../../Zotlabs/Widget/Appstore.php:11
+msgid "App Collections"
+msgstr "Kolekcja aplikacji"
+
+#: ../../Zotlabs/Widget/Appstore.php:13
+msgid "Installed apps"
+msgstr "Zainstalowane aplikacje"
+
+#: ../../Zotlabs/Widget/Activity_order.php:90
+msgid "Commented Date"
+msgstr "Data skomentowania"
+
+#: ../../Zotlabs/Widget/Activity_order.php:94
+msgid "Order by last commented date"
+msgstr "Sortuj według najnowszej daty skomentowania"
+
+#: ../../Zotlabs/Widget/Activity_order.php:97
+msgid "Posted Date"
+msgstr "Data opublikowania"
+
+#: ../../Zotlabs/Widget/Activity_order.php:101
+msgid "Order by last posted date"
+msgstr "Sortuj według najnowszej daty publikacji"
+
+#: ../../Zotlabs/Widget/Activity_order.php:104
+msgid "Date Unthreaded"
+msgstr "Data zakończenia wątku"
+
+#: ../../Zotlabs/Widget/Activity_order.php:108
+msgid "Order unthreaded by date"
+msgstr "Sortuj według daty zakończenia wątku"
+
+#: ../../Zotlabs/Widget/Activity_order.php:123
+msgid "Stream Order"
+msgstr "Kolejność strumienia"
+
+#: ../../Zotlabs/Widget/Mailmenu.php:13
+msgid "Private Mail Menu"
+msgstr "Menu prywatnej poczty"
+
+#: ../../Zotlabs/Widget/Mailmenu.php:15
+msgid "Combined View"
+msgstr "Widok łączony"
+
+#: ../../Zotlabs/Widget/Mailmenu.php:20
+msgid "Inbox"
+msgstr "Skrzynka odbiorcza"
+
+#: ../../Zotlabs/Widget/Mailmenu.php:25
+msgid "Outbox"
+msgstr "Skrzynka nadawcza"
+
+#: ../../Zotlabs/Widget/Mailmenu.php:30
+msgid "New Message"
+msgstr "Nowy komunikat"
+
+#: ../../Zotlabs/Widget/Affinity.php:54
+msgid "Refresh"
+msgstr "Odśwież"
+
+#: ../../Zotlabs/Widget/Hq_controls.php:14
+msgid "HQ Control Panel"
+msgstr "Panel kontrolny HQ"
+
+#: ../../Zotlabs/Widget/Hq_controls.php:17
+msgid "Create a new post"
+msgstr "Utwórz nowy post"
+
+#: ../../Zotlabs/Widget/Eventstools.php:13
+msgid "Events Tools"
+msgstr "Narzędzia wydarzeń"
+
+#: ../../Zotlabs/Widget/Eventstools.php:14
+msgid "Export Calendar"
+msgstr "Eksport kalendarza"
+
+#: ../../Zotlabs/Widget/Eventstools.php:15
+msgid "Import Calendar"
+msgstr "Import kalendarza"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:33
+msgid "Direct Messages"
+msgstr "Bezpośrednie wiadomości"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:37
+msgid "Show direct (private) messages"
+msgstr "Pokaż bezpośrednie (prywatne) wiadomości"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:42
+msgid "Events"
+msgstr "Wydarzenia"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:46
+msgid "Show posts that include events"
+msgstr "Pokaż posty zawierające wydarzenia"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:52
+msgid "Polls"
+msgstr "Ankiety"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:56
+msgid "Show posts that include polls"
+msgstr "Pokaż posty zawierające ankiety"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:77
+#, php-format
+msgid "Show posts related to the %s privacy group"
+msgstr "Pokaż posty związane z grupą prywatności %s"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:86
+msgid "Show my privacy groups"
+msgstr "Pokaż moje grupy prywatności"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:108
+msgid "Show posts to this forum"
+msgstr "Pokaż posty na tym forum"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:119
+msgid "Show forums"
+msgstr "Pokaż fora"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:133
+msgid "Starred Posts"
+msgstr "Wyróżnione posty"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:137
+msgid "Show posts that I have starred"
+msgstr "Pokaż posty, które oznaczyłem gwiazdką"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:148
+msgid "Personal Posts"
+msgstr "Posty osobiste"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:152
+msgid "Show posts that mention or involve me"
+msgstr "Pokaż posty, które wspominają o mnie lub mnie dotyczą"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:173
+#, php-format
+msgid "Show posts that I have filed to %s"
+msgstr "Pokaż posty przesłane przeze mnie do %s"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:183
+msgid "Show filed post categories"
+msgstr "Pokaż wprowadzone kategorie postów"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:197
+msgid "Panel search"
+msgstr "Przeszukiwanie panelu"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:207
+msgid "Filter by name"
+msgstr "Filtruj wg nazwy"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:222
+msgid "Remove active filter"
+msgstr "Usuń aktywny filtr"
+
+#: ../../Zotlabs/Widget/Activity_filter.php:238
+msgid "Stream Filters"
+msgstr "Filtry strumienia"
+
+#: ../../Zotlabs/Widget/Activity.php:50
+msgctxt "widget"
+msgid "Activity"
+msgstr "Aktywność"
+
+#: ../../Zotlabs/Widget/Notifications.php:16
+msgid "New Network Activity"
+msgstr "Nowa aktywność sieciowa"
+
+#: ../../Zotlabs/Widget/Notifications.php:17
+msgid "New Network Activity Notifications"
+msgstr "Powiadomienia o nowej aktywności sieciowej"
+
+#: ../../Zotlabs/Widget/Notifications.php:20
+msgid "View your network activity"
+msgstr "Wyświetl swoją aktywność w sieci"
+
+#: ../../Zotlabs/Widget/Notifications.php:23
+#: ../../Zotlabs/Widget/Notifications.php:62
+msgid "Mark all notifications read"
+msgstr "Oznacz wszystkie powiadomienia jako przeczytane"
+
+#: ../../Zotlabs/Widget/Notifications.php:26
+#: ../../Zotlabs/Widget/Notifications.php:46
+#: ../../Zotlabs/Widget/Notifications.php:65
+#: ../../Zotlabs/Widget/Notifications.php:172
+msgid "Show new posts only"
+msgstr "Pokaż tylko nowe posty"
+
+#: ../../Zotlabs/Widget/Notifications.php:27
+#: ../../Zotlabs/Widget/Notifications.php:47
+#: ../../Zotlabs/Widget/Notifications.php:66
+#: ../../Zotlabs/Widget/Notifications.php:142
+#: ../../Zotlabs/Widget/Notifications.php:173
+msgid "Filter by name or address"
+msgstr "Filtruj według nazwy lub adresu"
+
+# Sprawdzić w kontekście!
+#: ../../Zotlabs/Widget/Notifications.php:36
+msgid "New Home Activity"
+msgstr "Nowa aktywność domowa"
+
+#: ../../Zotlabs/Widget/Notifications.php:37
+msgid "New Home Activity Notifications"
+msgstr "Powiadomienia o nowej aktywności domowej"
+
+#: ../../Zotlabs/Widget/Notifications.php:40
+msgid "View your home activity"
+msgstr "Wyświetl swoją aktywność domową"
+
+#: ../../Zotlabs/Widget/Notifications.php:43
+#: ../../Zotlabs/Widget/Notifications.php:169
+msgid "Mark all notifications seen"
+msgstr "Oznacz wszystkie powiadomienia jako oglądnięte"
+
+#: ../../Zotlabs/Widget/Notifications.php:55
+msgid "New Direct Messages"
+msgstr "Nowe bezpośrednie wiadomości"
+
+#: ../../Zotlabs/Widget/Notifications.php:56
+msgid "New Direct Messages Notifications"
+msgstr "Powiadomienia o nowych wiadomościach bezpośrednich"
+
+#: ../../Zotlabs/Widget/Notifications.php:59
+msgid "View your direct messages"
+msgstr "Wyświetl swoje bezpośrednie wiadomości"
+
+#: ../../Zotlabs/Widget/Notifications.php:74
+msgid "New Mails"
+msgstr "Nowe wiadomości e-mail"
+
+#: ../../Zotlabs/Widget/Notifications.php:75
+msgid "New Mails Notifications"
+msgstr "Powiadomienia o nowych wiadomościach e-mail"
+
+#: ../../Zotlabs/Widget/Notifications.php:78
+msgid "View your private mails"
+msgstr "Zobacz swoje prywatne wiadomości"
+
+#: ../../Zotlabs/Widget/Notifications.php:81
+msgid "Mark all messages seen"
+msgstr "Oznacz wszystkie wiadomości jako oglądnięte"
+
+#: ../../Zotlabs/Widget/Notifications.php:89
+msgid "New Events"
+msgstr "Nowe wydarzenia"
+
+#: ../../Zotlabs/Widget/Notifications.php:90
+msgid "New Events Notifications"
+msgstr "Powiadomienia o nowych wydarzeniach"
+
+#: ../../Zotlabs/Widget/Notifications.php:93
+msgid "View events"
+msgstr "Pokaż wydarzenia"
+
+#: ../../Zotlabs/Widget/Notifications.php:96
+msgid "Mark all events seen"
+msgstr "Oznacza wydarzenia jako oglądnięte"
+
+#: ../../Zotlabs/Widget/Notifications.php:105
+msgid "New Connections Notifications"
+msgstr "Powiadomienia o nowych połączeniach"
+
+#: ../../Zotlabs/Widget/Notifications.php:108
+msgid "View all connections"
+msgstr "Pokaż wszystkie połączenia"
+
+#: ../../Zotlabs/Widget/Notifications.php:116
+msgid "New Files"
+msgstr "Nowe pliki"
+
+#: ../../Zotlabs/Widget/Notifications.php:117
+msgid "New Files Notifications"
+msgstr "Powiadomienia o nowych plikach"
+
+#: ../../Zotlabs/Widget/Notifications.php:124
+#: ../../Zotlabs/Widget/Notifications.php:125
+msgid "Notices"
+msgstr "Powiadomienia"
+
+#: ../../Zotlabs/Widget/Notifications.php:128
+msgid "View all notices"
+msgstr "Pokaż wszystkie powiadomienia"
+
+#: ../../Zotlabs/Widget/Notifications.php:131
+msgid "Mark all notices seen"
+msgstr "Oznacza wszystkie powiadomienia jako oglądnięte"
+
+#: ../../Zotlabs/Widget/Notifications.php:152
+msgid "New Registrations"
+msgstr "Nowe rejestracje"
+
+#: ../../Zotlabs/Widget/Notifications.php:153
+msgid "New Registrations Notifications"
+msgstr "Powiadomienia o nowych rejestracjach"
+
+#: ../../Zotlabs/Widget/Notifications.php:163
+msgid "Public Stream Notifications"
+msgstr "Powiadomienia o strimieniu publicznym"
+
+#: ../../Zotlabs/Widget/Notifications.php:166
+msgid "View the public stream"
+msgstr "Pokaż strumień publiczny"
+
+#: ../../Zotlabs/Widget/Notifications.php:181
+msgid "Sorry, you have got no notifications at the moment"
+msgstr "W tej chwili nie masz żadnych powiadomień"
+
+#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Pokaż profile %s - %s"
+
+#: ../../Zotlabs/Widget/Pinned.php:158
+msgid "Don't show"
+msgstr "Nie pokazuj"
+
+#: ../../Zotlabs/Widget/Settings_menu.php:32
+msgid "Account settings"
+msgstr "Ustawienia konta"
+
+#: ../../Zotlabs/Widget/Settings_menu.php:38
+msgid "Channel settings"
+msgstr "Ustawienia kanału"
+
+#: ../../Zotlabs/Widget/Settings_menu.php:46
+msgid "Display settings"
+msgstr "Ustawienia wyświetlania"
+
+#: ../../Zotlabs/Widget/Settings_menu.php:53
+msgid "Manage locations"
+msgstr "ZarzÄ…dzaj lokalizacjami"
+
+#: ../../Zotlabs/Widget/Suggestedchats.php:32
+msgid "Suggested Chatrooms"
+msgstr "Sugerowane czaty"
+
+#: ../../Zotlabs/Widget/Conversations.php:17
+msgid "Received Messages"
+msgstr "Otrzymane wiadomości"
+
+#: ../../Zotlabs/Widget/Conversations.php:21
+msgid "Sent Messages"
+msgstr "Wysłane wiadomości"
+
+#: ../../Zotlabs/Widget/Conversations.php:25
+msgid "Conversations"
+msgstr "Rozmowy"
+
+#: ../../Zotlabs/Widget/Conversations.php:37
+msgid "No messages."
+msgstr "Brak wiadomości."
+
+#: ../../Zotlabs/Widget/Conversations.php:57
+msgid "Delete conversation"
+msgstr "Usuń rozmowę"
+
+#: ../../Zotlabs/Widget/Newmember.php:31
+msgid "Profile Creation"
+msgstr "Tworzenie profilu"
+
+#: ../../Zotlabs/Widget/Newmember.php:33
+msgid "Upload profile photo"
+msgstr "Prześlij zdjęcie profilowe"
+
+#: ../../Zotlabs/Widget/Newmember.php:34
+msgid "Upload cover photo"
+msgstr "Prześlij zdjęcie okładkowe"
+
+#: ../../Zotlabs/Widget/Newmember.php:35 ../../include/nav.php:117
+msgid "Edit your profile"
+msgstr "Edytuj swój profil"
+
+#: ../../Zotlabs/Widget/Newmember.php:38
+msgid "Find and Connect with others"
+msgstr "Znajdź i połącz się z innymi"
+
+#: ../../Zotlabs/Widget/Newmember.php:40
+msgid "View the directory"
+msgstr "Pokaż katalog"
+
+#: ../../Zotlabs/Widget/Newmember.php:42
+msgid "Manage your connections"
+msgstr "Zarządzaj swoimi połączeniami"
+
+#: ../../Zotlabs/Widget/Newmember.php:45
+msgid "Communicate"
+msgstr "Komunikuj siÄ™"
+
+#: ../../Zotlabs/Widget/Newmember.php:47
+msgid "View your channel homepage"
+msgstr "Wyświetl stronę główną swojego kanału"
+
+#: ../../Zotlabs/Widget/Newmember.php:48
+msgid "View your network stream"
+msgstr "Wyświetl swój strumień sieciowy"
+
+#: ../../Zotlabs/Widget/Newmember.php:54
+msgid "Documentation"
+msgstr "Dokumentacja"
+
+#: ../../Zotlabs/Widget/Newmember.php:57
+msgid "Missing Features?"
+msgstr "Brakuje funkcji?"
+
+#: ../../Zotlabs/Widget/Newmember.php:59
+msgid "Pin apps to navigation bar"
+msgstr "Przypinaj aplikacje do paska nawigacji"
+
+#: ../../Zotlabs/Widget/Newmember.php:60
+msgid "Install more apps"
+msgstr "Zainstaluj więcej aplikacji"
+
+#: ../../Zotlabs/Widget/Newmember.php:71
+msgid "View public stream"
+msgstr "Pokaż publiczny strumień"
+
+#: ../../Zotlabs/Widget/Cover_photo.php:65
+msgid "Click to show more"
+msgstr "Kliknij, aby pokazać więcej"
+
+#: ../../util/nconfig.php:34
+msgid "Source channel not found."
+msgstr "Nie znaleziono kanału źródłowego."
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d dostępne zaproszenie"
+msgstr[1] "%d dostępne zaproszenia"
+msgstr[2] "%d dostępnych zaproszeń"
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Znajdź kanały"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Wpisz nazwÄ™ lub zainteresowanie"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Połącz/Obserwuj"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Przykłady: Robert Morgenstein, łowienie ryb"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Losowy profil"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Zaproś przyjaciół"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Zaawansowany przykład: name=fred i country=iceland"
+
+#: ../../include/contact_widgets.php:265
+msgid "Common Connections"
+msgstr "Popularne połączenia"
+
+#: ../../include/contact_widgets.php:269
+#, php-format
+msgid "View all %d common connections"
+msgstr "Wyświetl wszystkie %d popularne połączenia"
+
+#: ../../include/conversation.php:183
+#, php-format
+msgid "likes %1$s's %2$s"
+msgstr "polubień %1$s %2$s"
+
+#: ../../include/conversation.php:186
+#, php-format
+msgid "doesn't like %1$s's %2$s"
+msgstr "dezaprobat %1$s %2$s"
+
+#: ../../include/conversation.php:226 ../../include/conversation.php:228
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s jest teraz połączony z %2$s"
+
+#: ../../include/conversation.php:263
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s szturchnÄ…Å‚ %2$s"
+
+#: ../../include/conversation.php:267 ../../include/text.php:1242
+#: ../../include/text.php:1246
+msgid "poked"
+msgstr "szturchnięty"
+
+#: ../../include/conversation.php:779
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Pokaż profil %s @ %s"
+
+#: ../../include/conversation.php:799
+msgid "Categories:"
+msgstr "Kategorie:"
+
+#: ../../include/conversation.php:800
+msgid "Filed under:"
+msgstr "Złożone pod:"
+
+#: ../../include/conversation.php:825
+msgid "View in context"
+msgstr "Zobacz w kontekście"
+
+#: ../../include/conversation.php:928
+msgid "remove"
+msgstr "usuń"
+
+#: ../../include/conversation.php:932
+msgid "Loading..."
+msgstr "Åadowanie ..."
+
+#: ../../include/conversation.php:934
+msgid "Delete Selected Items"
+msgstr "Usuń wybrane elementy"
+
+#: ../../include/conversation.php:977
+msgid "View Source"
+msgstr "Pokaż źródło"
+
+#: ../../include/conversation.php:987
+msgid "Follow Thread"
+msgstr "Obserwuj wÄ…tek"
+
+#: ../../include/conversation.php:996
+msgid "Unfollow Thread"
+msgstr "Przestań obserwować wątek"
+
+#: ../../include/conversation.php:1110
+msgid "Edit Connection"
+msgstr "Edytuj połączenie"
+
+#: ../../include/conversation.php:1120
+msgid "Message"
+msgstr "Wiadowmość"
+
+#: ../../include/conversation.php:1262
+#, php-format
+msgid "%s likes this."
+msgstr "%s lubi to."
+
+#: ../../include/conversation.php:1262
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s nie lubi tego."
+
+#: ../../include/conversation.php:1266
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d osoba</span> lubi to."
+msgstr[1] "<span %1$s>%2$d osoby</span> lubiÄ… tego."
+msgstr[2] "<span %1$s>%2$d osób</span> lubi tego."
+
+#: ../../include/conversation.php:1268
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d osoba</span> nie lubi to."
+msgstr[1] "<span %1$s>%2$d osoby</span> nie lubiÄ… tego."
+msgstr[2] "<span %1$s>%2$d osób</span> nie lubią tego."
+
+#: ../../include/conversation.php:1274
+msgid "and"
+msgstr "i"
+
+#: ../../include/conversation.php:1277
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", i %d inna osoba"
+msgstr[1] ", i %d inne osoby"
+msgstr[2] ", i %d innych osób"
+
+#: ../../include/conversation.php:1278
+#, php-format
+msgid "%s like this."
+msgstr "%s lubi to."
+
+#: ../../include/conversation.php:1278
+#, php-format
+msgid "%s don't like this."
+msgstr "%s nie lubi tego."
+
+#: ../../include/conversation.php:1328
+#: ../../extend/addon/hzaddons/hsse/hsse.php:82
+msgid "Set your location"
+msgstr "Ustaw swojÄ… lokalizacjÄ™"
+
+#: ../../include/conversation.php:1329
+#: ../../extend/addon/hzaddons/hsse/hsse.php:83
+msgid "Clear browser location"
+msgstr "Wyczyść lokalizację przeglądarki"
+
+#: ../../include/conversation.php:1345
+#: ../../extend/addon/hzaddons/hsse/hsse.php:99
+msgid "Embed (existing) photo from your photo albums"
+msgstr "Osadź (istniejące) zdjęcie z albumów ze zdjęciami"
+
+#: ../../include/conversation.php:1381
+#: ../../extend/addon/hzaddons/hsse/hsse.php:135
+msgid "Tag term:"
+msgstr "Termin tagu:"
+
+#: ../../include/conversation.php:1382
+#: ../../extend/addon/hzaddons/hsse/hsse.php:136
+msgid "Where are you right now?"
+msgstr "Gdzie teraz jesteÅ›?"
+
+#: ../../include/conversation.php:1387
+#: ../../extend/addon/hzaddons/hsse/hsse.php:141
+msgid "Choose a different album..."
+msgstr "Wybierz inny album..."
+
+#: ../../include/conversation.php:1391
+#: ../../extend/addon/hzaddons/hsse/hsse.php:145
+msgid "Comments enabled"
+msgstr "Włączone komentowanie"
+
+#: ../../include/conversation.php:1392
+#: ../../extend/addon/hzaddons/hsse/hsse.php:146
+msgid "Comments disabled"
+msgstr "Wyłączone komentowanie"
+
+#: ../../include/conversation.php:1444
+#: ../../extend/addon/hzaddons/hsse/hsse.php:195
+msgid "Page link name"
+msgstr "Nazwa linku do strony"
+
+#: ../../include/conversation.php:1447
+#: ../../extend/addon/hzaddons/hsse/hsse.php:198
+msgid "Post as"
+msgstr "Opublikuj jako"
+
+#: ../../include/conversation.php:1461
+#: ../../extend/addon/hzaddons/hsse/hsse.php:212
+msgid "Toggle voting"
+msgstr "Przełącz głosowanie"
+
+#: ../../include/conversation.php:1462
+msgid "Toggle poll"
+msgstr "Przełącz ankietę"
+
+#: ../../include/conversation.php:1463
+msgid "Option"
+msgstr "Opcja"
+
+#: ../../include/conversation.php:1464
+msgid "Add option"
+msgstr "Dodaj opcjÄ™"
+
+#: ../../include/conversation.php:1465
+msgid "Minutes"
+msgstr "Minuty"
+
+#: ../../include/conversation.php:1465
+msgid "Hours"
+msgstr "Godziny"
+
+#: ../../include/conversation.php:1465
+msgid "Days"
+msgstr "Dni"
+
+#: ../../include/conversation.php:1466
+msgid "Allow multiple answers"
+msgstr "Zezwalaj na wiele odpowiedzi"
+
+#: ../../include/conversation.php:1468
+#: ../../extend/addon/hzaddons/hsse/hsse.php:215
+msgid "Disable comments"
+msgstr "Wyłącz komentarze"
+
+#: ../../include/conversation.php:1469
+#: ../../extend/addon/hzaddons/hsse/hsse.php:216
+msgid "Toggle comments"
+msgstr "Przełącz komentarze"
+
+#: ../../include/conversation.php:1477
+#: ../../extend/addon/hzaddons/hsse/hsse.php:224
+msgid "Categories (optional, comma-separated list)"
+msgstr "Kategorie (opcjonalnie, lista rozdzielana przecinkami)"
+
+#: ../../include/conversation.php:1500
+#: ../../extend/addon/hzaddons/hsse/hsse.php:247
+msgid "Other networks and post services"
+msgstr "Inne sieci i usługi społecznościowe"
+
+#: ../../include/conversation.php:1503
+#: ../../extend/addon/hzaddons/hsse/hsse.php:250
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:170
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:313
+msgid "Set expiration date"
+msgstr "Ustaw datę wygaśnięcia"
+
+#: ../../include/conversation.php:1506
+#: ../../extend/addon/hzaddons/hsse/hsse.php:253
+msgid "Set publish date"
+msgstr "Ustaw datÄ™ publikacji"
+
+#: ../../include/conversation.php:1755
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Uczestniczy"
+msgstr[1] "Uczestnictwa"
+msgstr[2] "Uczestnictw"
+
+#: ../../include/conversation.php:1758
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Nie uczesticzy"
+msgstr[1] "Nie uczestniczÄ…"
+msgstr[2] "Nie uczestniczy"
+
+#: ../../include/conversation.php:1761
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Niezdecydowany"
+msgstr[1] "Niezdecydowane"
+msgstr[2] "Niezdecydowanych"
+
+#: ../../include/conversation.php:1764
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "Zgadza siÄ™"
+msgstr[1] "ZgadajÄ… siÄ™"
+msgstr[2] "Zgadza siÄ™"
+
+#: ../../include/conversation.php:1767
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Nie zgadza siÄ™"
+msgstr[1] "Nie zgadzajÄ… siÄ™"
+msgstr[2] "Nie zgadza siÄ™"
+
+#: ../../include/conversation.php:1770
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Wstrzymuje siÄ™"
+msgstr[1] "WstrzymujÄ… siÄ™"
+msgstr[2] "Wstrzymuje siÄ™"
+
+#: ../../include/channel.php:46
+msgid "Unable to obtain identity information from database"
+msgstr "Nie można uzyskać informacji z bazy danych o tożsamości"
+
+#: ../../include/channel.php:79
+msgid "Empty name"
+msgstr "Pusta nazwa"
+
+#: ../../include/channel.php:82
+msgid "Name too long"
+msgstr "Nazwa jest za długa"
+
+#: ../../include/channel.php:199
+msgid "No account identifier"
+msgstr "Brak identyfikatora konta"
+
+#: ../../include/channel.php:211
+msgid "Nickname is required."
+msgstr "Pseudonim jest wymagany."
+
+#: ../../include/channel.php:294
+msgid "Unable to retrieve created identity"
+msgstr "Nie można pobrać utworzonej tożsamości"
+
+#: ../../include/channel.php:441
+msgid "Default Profile"
+msgstr "Domyślny profil"
+
+#: ../../include/channel.php:639 ../../include/channel.php:728
+msgid "Unable to retrieve modified identity"
+msgstr "Nie można pobrać zmodyfikowanej tożsamości"
+
+#: ../../include/channel.php:1385
+msgid "Requested channel is not available."
+msgstr "Żądany kanał nie jest dostępny."
+
+#: ../../include/channel.php:1539
+msgid "Create New Profile"
+msgstr "Utwórz nowy profil"
+
+#: ../../include/channel.php:1542 ../../include/nav.php:117
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58
+msgid "Edit Profile"
+msgstr "Edytuj profil"
+
+#: ../../include/channel.php:1560
+msgid "Visible to everybody"
+msgstr "Widoczne dla każdego"
+
+#: ../../include/channel.php:1637 ../../include/channel.php:1765
+msgid "Gender:"
+msgstr "Płeć:"
+
+#: ../../include/channel.php:1638 ../../include/channel.php:1809
+msgid "Status:"
+msgstr "Status:"
+
+#: ../../include/channel.php:1639 ../../include/channel.php:1833
+msgid "Homepage:"
+msgstr "Strona domowa:"
+
+#: ../../include/channel.php:1640
+msgid "Online Now"
+msgstr "Teraz online"
+
+#: ../../include/channel.php:1693
+msgid "Change your profile photo"
+msgstr "Zmień swoje zdjęcie profilowe"
+
+#: ../../include/channel.php:1720 ../../include/selectors.php:60
+#: ../../include/selectors.php:77
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:87
+msgid "Female"
+msgstr "Kobieta"
+
+#: ../../include/channel.php:1722 ../../include/selectors.php:60
+#: ../../include/selectors.php:77
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:85
+msgid "Male"
+msgstr "Mężczyzna"
+
+#: ../../include/channel.php:1724
+msgid "Trans"
+msgstr "Trans"
+
+#: ../../include/channel.php:1726 ../../include/selectors.php:60
+msgid "Neuter"
+msgstr "Neutralne"
+
+#: ../../include/channel.php:1728 ../../include/selectors.php:60
+msgid "Non-specific"
+msgstr "Nie określone"
+
+#: ../../include/channel.php:1770
+msgid "Like this channel"
+msgstr "Polub ten kanał"
+
+#: ../../include/channel.php:1794
+msgid "j F, Y"
+msgstr "d M, R"
+
+#: ../../include/channel.php:1795
+msgid "j F"
+msgstr "d M"
+
+#: ../../include/channel.php:1802
+msgid "Birthday:"
+msgstr "Urodziny:"
+
+#: ../../include/channel.php:1815
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "dla %1$d %2$s"
+
+#: ../../include/channel.php:1827
+msgid "Tags:"
+msgstr "Tagi:"
+
+#: ../../include/channel.php:1831
+msgid "Sexual Preference:"
+msgstr "Preferencje seksualne:"
+
+#: ../../include/channel.php:1837
+msgid "Political Views:"
+msgstr "PoglÄ…dy polityczne:"
+
+#: ../../include/channel.php:1839
+msgid "Religion:"
+msgstr "Religia:"
+
+#: ../../include/channel.php:1843
+msgid "Hobbies/Interests:"
+msgstr "Hobby/Zainteresowania:"
+
+#: ../../include/channel.php:1845
+msgid "Likes:"
+msgstr "Polubień:"
+
+#: ../../include/channel.php:1847
+msgid "Dislikes:"
+msgstr "Dezaprobat:"
+
+#: ../../include/channel.php:1849
+msgid "Contact information and Social Networks:"
+msgstr "Informacje kontaktowe i sieci społecznościowe:"
+
+#: ../../include/channel.php:1851
+msgid "My other channels:"
+msgstr "Moje inne kanały:"
+
+#: ../../include/channel.php:1853
+msgid "Musical interests:"
+msgstr "Zainteresowania muzyczne:"
+
+#: ../../include/channel.php:1855
+msgid "Books, literature:"
+msgstr "Książki, literatura:"
+
+#: ../../include/channel.php:1857
+msgid "Television:"
+msgstr "Telewizja:"
+
+#: ../../include/channel.php:1859
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film/taniec/kultura/rozrywka:"
+
+#: ../../include/channel.php:1861
+msgid "Love/Romance:"
+msgstr "Miłość/Romans:"
+
+#: ../../include/channel.php:1863
+msgid "Work/employment:"
+msgstr "Praca/zatrudnienie:"
+
+#: ../../include/channel.php:1865
+msgid "School/education:"
+msgstr "Szkoła/edukacja:"
+
+#: ../../include/channel.php:1888
+msgid "Like this thing"
+msgstr "Jak ta rzecz"
+
+#: ../../include/features.php:86
+msgid "Start calendar week on Monday"
+msgstr "Rozpocznij tydzień kalendarzowy w poniedziałek"
+
+#: ../../include/features.php:87
+msgid "Default is Sunday"
+msgstr "Domyślnie jest to niedziela"
+
+#: ../../include/features.php:94
+msgid "Event Timezone Selection"
+msgstr "Wybór strefy czasowej wydarzenia"
+
+#: ../../include/features.php:95
+msgid "Allow event creation in timezones other than your own."
+msgstr "Zezwalaj na tworzenie wydarzeń w strefach czasowych innych niż Twoja."
+
+#: ../../include/features.php:108
+msgid "Search by Date"
+msgstr "Wyszukaj po dacie"
+
+#: ../../include/features.php:109
+msgid "Ability to select posts by date ranges"
+msgstr "Możliwość wyboru postów według zakresów dat"
+
+#: ../../include/features.php:116
+msgid "Tag Cloud"
+msgstr "Chmura tagów"
+
+#: ../../include/features.php:117
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Udostępnij osobistą chmurę tagów na stronie swojego kanału"
+
+#: ../../include/features.php:124 ../../include/features.php:359
+msgid "Use blog/list mode"
+msgstr "Użyj trybu bloga/listy"
+
+#: ../../include/features.php:125 ../../include/features.php:360
+msgid "Comments will be displayed separately"
+msgstr "Komentarze będą wyświetlane osobno"
+
+#: ../../include/features.php:137
+msgid "Connection Filtering"
+msgstr "Filtrowanie połączeń"
+
+#: ../../include/features.php:138
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr ""
+"Filtruj przychodzące posty z połączeń, na podstawie słów kluczowych lub "
+"treści"
+
+#: ../../include/features.php:146
+msgid "Conversation"
+msgstr "Rozmowa"
+
+#: ../../include/features.php:158
+msgid "Emoji Reactions"
+msgstr "Reakcje emoji"
+
+#: ../../include/features.php:159
+msgid "Add emoji reaction ability to posts"
+msgstr "Dodaj możliwość reakcji emoji do postów"
+
+#: ../../include/features.php:166
+msgid "Dislike Posts"
+msgstr "Nielubienie postów"
+
+#: ../../include/features.php:167
+msgid "Ability to dislike posts/comments"
+msgstr "Możliwość postów i komentarzy jako nielubiane"
+
+#: ../../include/features.php:174
+msgid "Star Posts"
+msgstr "Wyróżnianie postów"
+
+#: ../../include/features.php:175
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Możliwość oznaczania wyróżnionych postów wskaźnikiem gwiazdki"
+
+#: ../../include/features.php:182
+msgid "Reply on comment"
+msgstr "Odpowiedanie na komentarze"
+
+#: ../../include/features.php:183
+msgid "Ability to reply on selected comment"
+msgstr "Możliwość udzielenia odpowiedzi na wybrany komentarz"
+
+#: ../../include/features.php:196
+msgid "Advanced Directory Search"
+msgstr "Zaawansowane przeszukiwanie katalogu"
+
+#: ../../include/features.php:197
+msgid "Allows creation of complex directory search queries"
+msgstr "Umożliwia tworzenie złożonych zapytań wyszukiwania w katalogu"
+
+#: ../../include/features.php:206
+msgid "Editor"
+msgstr "Edytor"
+
+#: ../../include/features.php:210
+msgid "Post Categories"
+msgstr "Kategorie postów"
+
+#: ../../include/features.php:211
+msgid "Add categories to your posts"
+msgstr "Dodaj kategorie do swoich postów"
+
+#: ../../include/features.php:219
+msgid "Large Photos"
+msgstr "Duże zdjęcia"
+
+#: ../../include/features.php:220
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr ""
+"Dołączaj duże miniatury zdjęć (1024px) do postów. Jeśli nie jest to "
+"włączone, będzie można używać małych miniatur (640 px)"
+
+#: ../../include/features.php:227
+msgid "Even More Encryption"
+msgstr "Jeszcze więcej szyfrowania"
+
+#: ../../include/features.php:228
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr ""
+"Zezwalaj na opcjonalne szyfrowanie zawartości od końca do końca za pomocą "
+"wspólnego tajnego klucza"
+
+#: ../../include/features.php:235
+msgid "Disable Comments"
+msgstr "Wyłącz komentarze"
+
+#: ../../include/features.php:236
+msgid "Provide the option to disable comments for a post"
+msgstr "Zapewnia możliwość wyłączenia komentowania postu"
+
+#: ../../include/features.php:243
+msgid "Delayed Posting"
+msgstr "Opóźnione publikowanie"
+
+#: ../../include/features.php:244
+msgid "Allow posts to be published at a later date"
+msgstr "Pozwal na publikację postów w późniejszym terminie"
+
+#: ../../include/features.php:251
+msgid "Content Expiration"
+msgstr "Wygaśnięcie treści"
+
+#: ../../include/features.php:252
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Usuwanie postów i komentarzy lub prywatnych wiadomości w przyszłości"
+
+#: ../../include/features.php:259
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Pomiń zduplikowane posty i komentarze"
+
+#: ../../include/features.php:260
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr ""
+"Zapobiegaj publikowaniu postów o identycznej treści, mających mniej niż dwie "
+"minuty między przesłaniami."
+
+#: ../../include/features.php:267
+msgid "Auto-save drafts of posts and comments"
+msgstr "Automatyczne zapisywanie wersji roboczych postów i komentarzy"
+
+#: ../../include/features.php:268
+msgid ""
+"Automatically saves post and comment drafts in local browser storage to help "
+"prevent accidental loss of compositions"
+msgstr ""
+"Automatycznie zapisuje wersje robocze postów i komentarzy w lokalnej pamięci "
+"przeglÄ…darki, aby zapobiec przypadkowej utracie kompozycji"
+
+#: ../../include/features.php:277
+msgid "Manage"
+msgstr "ZarzÄ…dzaj"
+
+#: ../../include/features.php:281
+msgid "Navigation Channel Select"
+msgstr "Wybór kanału przez nawigację"
+
+#: ../../include/features.php:282
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Zmiana kanału bezpośrednio z rozwijanego menu nawigacji"
+
+#: ../../include/features.php:295
+msgid "Events Filter"
+msgstr "Filtr wydarzeń"
+
+#: ../../include/features.php:296
+msgid "Ability to display only events"
+msgstr "Możliwość wyświetlania tylko wydarzeń"
+
+#: ../../include/features.php:303
+msgid "Polls Filter"
+msgstr "Filtr ankiet"
+
+#: ../../include/features.php:304
+msgid "Ability to display only polls"
+msgstr "Możliwość wyświetlania tylko ankiet"
+
+#: ../../include/features.php:312
+msgid "Save search terms for re-use"
+msgstr "Zapisywanie wyszukiwanych haseł do ponownego wykorzystania"
+
+#: ../../include/features.php:320
+msgid "Ability to file posts under folders"
+msgstr "Możliwość umieszczania postów w folderach"
+
+#: ../../include/features.php:327
+msgid "Alternate Stream Order"
+msgstr "Alternatywna kolejność strumienia"
+
+#: ../../include/features.php:328
+msgid ""
+"Ability to order the stream by last post date, last comment date or "
+"unthreaded activities"
+msgstr ""
+"Możliwość uporządkowania strumienia według daty ostatniego postu, daty "
+"ostatniego komentarza lub nieprzeczytanych aktywności"
+
+#: ../../include/features.php:335
+msgid "Contact Filter"
+msgstr "Filtr kontaktów"
+
+#: ../../include/features.php:336
+msgid "Ability to display only posts of a selected contact"
+msgstr "Możliwość wyświetlania postów autorstwa tylko wybranego kontaktu"
+
+#: ../../include/features.php:343
+msgid "Forum Filter"
+msgstr "Filtr forów"
+
+#: ../../include/features.php:344
+msgid "Ability to display only posts of a specific forum"
+msgstr "Możliwość wyświetlania postów tylko z określonego forum"
+
+#: ../../include/features.php:351
+msgid "Personal Posts Filter"
+msgstr "Filtr postów osobistych"
+
+#: ../../include/features.php:352
+msgid "Ability to display only posts that you've interacted on"
+msgstr ""
+"Możliwość wyświetlania tylko tych postów, z którymi miało się interakcję"
+
+#: ../../include/features.php:373
+msgid "Photo Location"
+msgstr "Lokalizacja zdjęcia"
+
+#: ../../include/features.php:374
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr ""
+"Jeśli dane lokalizacji są dostępne na przesłanych zdjęciach, połącz je z "
+"mapÄ…."
+
+#: ../../include/features.php:387
+msgid "Advanced Profiles"
+msgstr "Profile zaawansowane"
+
+#: ../../include/features.php:388
+msgid "Additional profile sections and selections"
+msgstr "Dodatkowe sekcje profilu i pól wyborów"
+
+#: ../../include/features.php:395
+msgid "Profile Import/Export"
+msgstr "Profile Import/Export"
+
+#: ../../include/features.php:396
+msgid "Save and load profile details across sites/channels"
+msgstr "Zapisz i wczytaj szczegóły profilu w różnych witrynach i kanałach"
+
+#: ../../include/features.php:403
+msgid "Multiple Profiles"
+msgstr "Wiele profili"
+
+#: ../../include/features.php:404
+msgid "Ability to create multiple profiles"
+msgstr "Możliwość tworzenia wielu profili"
+
+#: ../../include/auth.php:194
+msgid "Delegation session ended."
+msgstr "Sesja delegacji zakończyła się."
+
+#: ../../include/auth.php:198
+msgid "Logged out."
+msgstr "Wylogowano."
+
+#: ../../include/auth.php:294
+msgid "Email validation is incomplete. Please check your email."
+msgstr ""
+"Weryfikacja adresu e-mail jest niekompletna. Proszę sprawdzić swój adres "
+"email."
+
+#: ../../include/auth.php:310
+msgid "Failed authentication"
+msgstr "Uwierzytelnianie nie powiodło się"
+
+#: ../../include/auth.php:320
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:188
+msgid "Login failed."
+msgstr "Logowanie nie powiodło się."
+
+#: ../../include/text.php:522
+msgid "prev"
+msgstr "poprzedni"
+
+#: ../../include/text.php:524
+msgid "first"
+msgstr "pierwszy"
+
+#: ../../include/text.php:553
+msgid "last"
+msgstr "ostatni"
+
+#: ../../include/text.php:556
+msgid "next"
+msgstr "następny"
+
+#: ../../include/text.php:574
+msgid "older"
+msgstr "starszy"
+
+#: ../../include/text.php:576
+msgid "newer"
+msgstr "nowszy"
+
+#: ../../include/text.php:1024
+msgid "No connections"
+msgstr "Brak połączeń"
+
+#: ../../include/text.php:1076
+#, php-format
+msgid "View all %s connections"
+msgstr "Wyświetl wszystkie połączenia %s"
+
+#: ../../include/text.php:1139
+#, php-format
+msgid "Network: %s"
+msgstr "Sieć: %s"
+
+#: ../../include/text.php:1242 ../../include/text.php:1246
+msgid "poke"
+msgstr "szturchać"
+
+#: ../../include/text.php:1247
+msgid "ping"
+msgstr "ping"
+
+#: ../../include/text.php:1247
+msgid "pinged"
+msgstr "spingowany"
+
+#: ../../include/text.php:1248
+msgid "prod"
+msgstr "szturchać"
+
+#: ../../include/text.php:1248
+msgid "prodded"
+msgstr "szturchać"
+
+#: ../../include/text.php:1249
+msgid "slap"
+msgstr "spoliczkować"
+
+#: ../../include/text.php:1249
+msgid "slapped"
+msgstr "spoliczkowany"
+
+#: ../../include/text.php:1250
+msgid "finger"
+msgstr "dotknąć"
+
+#: ../../include/text.php:1250
+msgid "fingered"
+msgstr "dotknięty"
+
+#: ../../include/text.php:1251
+msgid "rebuff"
+msgstr "odprawiać"
+
+#: ../../include/text.php:1251
+msgid "rebuffed"
+msgstr "odprawiony"
+
+#: ../../include/text.php:1274
+msgid "happy"
+msgstr "szczęśliwy"
+
+#: ../../include/text.php:1275
+msgid "sad"
+msgstr "smutny"
+
+#: ../../include/text.php:1276
+msgid "mellow"
+msgstr "łagodny"
+
+#: ../../include/text.php:1277
+msgid "tired"
+msgstr "zmęczony"
+
+#: ../../include/text.php:1278
+msgid "perky"
+msgstr "dziarski"
+
+#: ../../include/text.php:1279
+msgid "angry"
+msgstr "gniewny"
+
+#: ../../include/text.php:1280
+msgid "stupefied"
+msgstr "oszołomiony"
+
+#: ../../include/text.php:1281
+msgid "puzzled"
+msgstr "zdziwiony"
+
+#: ../../include/text.php:1282
+msgid "interested"
+msgstr "zainteresowany"
+
+#: ../../include/text.php:1283
+msgid "bitter"
+msgstr "gorzki"
+
+#: ../../include/text.php:1284
+msgid "cheerful"
+msgstr "wesoły"
+
+#: ../../include/text.php:1285
+msgid "alive"
+msgstr "żywy"
+
+#: ../../include/text.php:1286
+msgid "annoyed"
+msgstr "zirytowany"
+
+#: ../../include/text.php:1287
+msgid "anxious"
+msgstr "niespokojny"
+
+#: ../../include/text.php:1288
+msgid "cranky"
+msgstr "zepsuty"
+
+#: ../../include/text.php:1289
+msgid "disturbed"
+msgstr "zaniepokojony"
+
+#: ../../include/text.php:1290
+msgid "frustrated"
+msgstr "sfrustrowany"
+
+#: ../../include/text.php:1291
+msgid "depressed"
+msgstr "przygnębiony"
+
+#: ../../include/text.php:1292
+msgid "motivated"
+msgstr "zmotywowany"
+
+#: ../../include/text.php:1293
+msgid "relaxed"
+msgstr "z<relaksowany"
+
+#: ../../include/text.php:1294
+msgid "surprised"
+msgstr "zaskoczony"
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:99
+msgid "Monday"
+msgstr "Poniedziałek"
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:100
+msgid "Tuesday"
+msgstr "Wtorek"
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:101
+msgid "Wednesday"
+msgstr "Åšroda"
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:102
+msgid "Thursday"
+msgstr "Czwartek"
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:103
+msgid "Friday"
+msgstr "PiÄ…tek"
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:104
+msgid "Saturday"
+msgstr "Sonota"
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:98
+msgid "Sunday"
+msgstr "Niedziela"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:74
+msgid "January"
+msgstr "Styczeń"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:75
+msgid "February"
+msgstr "Luty"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:76
+msgid "March"
+msgstr "Marzec"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:77
+msgid "April"
+msgstr "Kwiecień"
+
+#: ../../include/text.php:1486
+msgid "May"
+msgstr "Maj"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:79
+msgid "June"
+msgstr "Czerwiec"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:80
+msgid "July"
+msgstr "Lipiec"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:81
+msgid "August"
+msgstr "Sierpień"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:82
+msgid "September"
+msgstr "Wrzesień"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:83
+msgid "October"
+msgstr "Pażdziernik"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:84
+msgid "November"
+msgstr "Listopad"
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:85
+msgid "December"
+msgstr "Grudzień"
+
+#: ../../include/text.php:1560
+msgid "Unknown Attachment"
+msgstr "Nieznany załącznik"
+
+#: ../../include/text.php:1562 ../../include/feedutils.php:873
+msgid "unknown"
+msgstr "nieznany"
+
+#: ../../include/text.php:1598
+msgid "remove category"
+msgstr "usuń kataegorię"
+
+#: ../../include/text.php:1674
+msgid "remove from file"
+msgstr "usuń z pliku"
+
+#: ../../include/text.php:1843 ../../include/message.php:13
+msgid "Download binary/encrypted content"
+msgstr "Pobierz zawartość binarną/zaszyfrowaną"
+
+#: ../../include/text.php:1914
+msgid "Poll has ended."
+msgstr "Ankieta zakończyła się."
+
+#: ../../include/text.php:1917
+#, php-format
+msgid "Poll ends: %s"
+msgstr "Ankieta kończy się : %s"
+
+#: ../../include/text.php:2096 ../../include/language.php:424
+msgid "default"
+msgstr "domyślnie"
+
+#: ../../include/text.php:2104
+msgid "Page layout"
+msgstr "Układ strony"
+
+#: ../../include/text.php:2104
+msgid "You can create your own with the layouts tool"
+msgstr "Możesz tworzyć własne za pomocą narzędzia układów"
+
+#: ../../include/text.php:2115
+msgid "HTML"
+msgstr "HTML"
+
+#: ../../include/text.php:2118
+msgid "Comanche Layout"
+msgstr "Układ Comanche"
+
+#: ../../include/text.php:2123
+msgid "PHP"
+msgstr "PHP"
+
+#: ../../include/text.php:2132
+msgid "Page content type"
+msgstr "Typ treści strony"
+
+#: ../../include/text.php:2265
+msgid "activity"
+msgstr "aktywność"
+
+#: ../../include/text.php:2268
+msgid "poll"
+msgstr "ankieta"
+
+#: ../../include/text.php:2369
+msgid "a-z, 0-9, -, and _ only"
+msgstr "tylko a-z, 0-9, - i _"
+
+#: ../../include/text.php:2695
+msgid "Design Tools"
+msgstr "Narzędzia projektowe"
+
+#: ../../include/text.php:2701
+msgid "Pages"
+msgstr "Strony"
+
+#: ../../include/text.php:2713
+msgid "Import"
+msgstr "Import"
+
+#: ../../include/text.php:2714
+msgid "Import website..."
+msgstr "Import witryny..."
+
+#: ../../include/text.php:2715
+msgid "Select folder to import"
+msgstr "Wybierz folder do zaimportowania"
+
+#: ../../include/text.php:2716
+msgid "Import from a zipped folder:"
+msgstr "Import z pliku archiwum ZIP:"
+
+#: ../../include/text.php:2717
+msgid "Import from cloud files:"
+msgstr "Import plków z chmury:"
+
+#: ../../include/text.php:2718
+msgid "/cloud/channel/path/to/folder"
+msgstr "/chmura/kanał/ścieżka/do/folderu"
+
+#: ../../include/text.php:2719
+msgid "Enter path to website files"
+msgstr "Wprowadź ścieżkę do plików witryny internetowej"
+
+#: ../../include/text.php:2720
+msgid "Select folder"
+msgstr "Wybierz folder"
+
+#: ../../include/text.php:2721
+msgid "Export website..."
+msgstr "Eksport witryny..."
+
+#: ../../include/text.php:2722
+msgid "Export to a zip file"
+msgstr "Eksport do pliku ZIP"
+
+#: ../../include/text.php:2723
+msgid "website.zip"
+msgstr "nazwa_witryny.zip"
+
+#: ../../include/text.php:2724
+msgid "Enter a name for the zip file."
+msgstr "Wprowadź nazwę pliku zip."
+
+#: ../../include/text.php:2725
+msgid "Export to cloud files"
+msgstr "Elsport do plików w chmurze"
+
+#: ../../include/text.php:2726
+msgid "/path/to/export/folder"
+msgstr "/ścieżka/do/eksportu/folder"
+
+#: ../../include/text.php:2727
+msgid "Enter a path to a cloud files destination."
+msgstr "Wprowadź ścieżkę do miejsca docelowego plików w chmurze."
+
+#: ../../include/text.php:2728
+msgid "Specify folder"
+msgstr "Wybierz folder"
+
+#: ../../include/message.php:41
+msgid "Unable to determine sender."
+msgstr "Nie można określić nadawcy."
+
+#: ../../include/message.php:80
+msgid "No recipient provided."
+msgstr "Nie podano odbiorcy."
+
+#: ../../include/message.php:85
+msgid "[no subject]"
+msgstr "[brak tematu]"
+
+#: ../../include/message.php:214
+msgid "Stored post could not be verified."
+msgstr "Nie można zweryfikować zapisanego postu."
+
+#: ../../include/markdown.php:202 ../../include/bbcode.php:527
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s napisał co następuje %2$s %3$s"
+
+#: ../../include/markdown.php:251 ../../include/bbcode.php:612
+msgid "spoiler"
+msgstr "spojler"
+
+#: ../../include/acl_selectors.php:99
+msgid "Profile-Based Privacy Groups"
+msgstr "Grupy prywatności oparte na profilach"
+
+#: ../../include/acl_selectors.php:118
+msgid "Private Forum"
+msgstr "Forum prywatne"
+
+#: ../../include/acl_selectors.php:142
+msgid "Share with"
+msgstr "Udostępnij"
+
+#: ../../include/acl_selectors.php:143
+msgid "Custom selection"
+msgstr "Własny wybór"
+
+#: ../../include/acl_selectors.php:145
+msgid ""
+"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and "
+"limit the scope of \"Allow\"."
+msgstr ""
+"Wybierz \"Zezwól\", aby zezwolić na przeglądanie. \"Nie zezwalaj\" umożliwia "
+"zastÄ…pienie i ograniczenie zakresu \"Zezwalaj\"."
+
+#: ../../include/acl_selectors.php:147
+msgid "Don't allow"
+msgstr "Nie pozwalaj"
+
+#: ../../include/acl_selectors.php:180
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These "
+"permissions set who is allowed to view the post."
+msgstr ""
+"Uprawnienia do publikowania %s nie mogą być zmieniane %s po udostępnieniu "
+"postu. </br /> Te uprawnienia określają, kto może oglądać post."
+
+#: ../../include/opengraph.php:56
+#, php-format
+msgid "This is the home page of %s."
+msgstr "To jest strona główna %s."
+
+#: ../../include/taxonomy.php:323
+msgid "Trending"
+msgstr "Trendy"
+
+#: ../../include/taxonomy.php:559
+msgid "Keywords"
+msgstr "Słowa kluczowe"
+
+#: ../../include/taxonomy.php:580
+msgid "have"
+msgstr "ma"
+
+#: ../../include/taxonomy.php:580
+msgid "has"
+msgstr "majÄ…"
+
+#: ../../include/taxonomy.php:581
+msgid "want"
+msgstr "chce"
+
+#: ../../include/taxonomy.php:581
+msgid "wants"
+msgstr "chcÄ…"
+
+#: ../../include/taxonomy.php:582
+msgid "likes"
+msgstr "lubiÄ…"
+
+#: ../../include/taxonomy.php:583
+msgid "dislikes"
+msgstr "nie lubiÄ…"
+
+#: ../../include/import.php:29
+msgid "Unable to import a removed channel."
+msgstr "Nie można zaimportować usuniętego kanału."
+
+#: ../../include/import.php:55
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr ""
+"Nie można utworzyć zduplikowanego identyfikatora kanału w tym systemie. "
+"Import nieudany."
+
+#: ../../include/import.php:76
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:44
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Nie można utworzyć unikalnego adresu kanału. Import nieudany."
+
+#: ../../include/import.php:121
+msgid "Cloned channel not found. Import failed."
+msgstr "Nie znaleziono sklonowanego kanału. Import nieudany."
+
+#: ../../include/nav.php:92
+msgid "Remote authentication"
+msgstr "Zdalne uwierzytelnianie"
+
+#: ../../include/nav.php:92
+msgid "Click to authenticate to your home hub"
+msgstr "Kliknij, aby uwierzytelnić się na swoim głównym hubie"
+
+#: ../../include/nav.php:98
+msgid "Manage your channels"
+msgstr "Zarządzaj swoimi kanałami"
+
+#: ../../include/nav.php:101
+msgid "Manage your privacy groups"
+msgstr "Zarządzaj swoimi grupami prywatności"
+
+#: ../../include/nav.php:103
+msgid "Account/Channel Settings"
+msgstr "Ustawienia kanału/konta"
+
+#: ../../include/nav.php:109 ../../include/nav.php:138
+#: ../../include/nav.php:157 ../../boot.php:1704
+msgid "Logout"
+msgstr "Wyloguj siÄ™"
+
+#: ../../include/nav.php:109 ../../include/nav.php:138
+msgid "End this session"
+msgstr "Zakończ tą sesję"
+
+#: ../../include/nav.php:112
+msgid "Your profile page"
+msgstr "Strona Twojego profilu"
+
+#: ../../include/nav.php:115
+msgid "Manage/Edit profiles"
+msgstr "ZarzÄ…dzaj/edytuj profile"
+
+#: ../../include/nav.php:124 ../../include/nav.php:128
+msgid "Sign in"
+msgstr "Zaloguj siÄ™"
+
+#: ../../include/nav.php:155
+msgid "Take me home"
+msgstr "Zabierz mnie do domu"
+
+#: ../../include/nav.php:157
+msgid "Log me out of this site"
+msgstr "Wyloguj mnie z tej witryny"
+
+#: ../../include/nav.php:162
+msgid "Create an account"
+msgstr "Utwórz konto"
+
+#: ../../include/nav.php:174
+msgid "Help and documentation"
+msgstr "Pomoc i dokumentacja"
+
+#: ../../include/nav.php:188
+msgid "Search site @name, !forum, #tag, ?docs, content"
+msgstr "Szukaj w witrynie @name, !forum, #tag, ?docs, content"
+
+#: ../../include/nav.php:194
+msgid "Site Setup and Configuration"
+msgstr "Instalacja i konfiguracja witryny"
+
+#: ../../include/nav.php:330
+msgid "@name, !forum, #tag, ?doc, content"
+msgstr "@name, !forum, #tag, ?doc, content"
+
+#: ../../include/nav.php:331
+msgid "Please wait..."
+msgstr "Proszę czekać ..."
+
+#: ../../include/nav.php:337
+msgid "Add Apps"
+msgstr "Dodaj aplikacje"
+
+#: ../../include/nav.php:338
+msgid "Arrange Apps"
+msgstr "Rozmieść aplikacje"
+
+#: ../../include/nav.php:339
+msgid "Toggle System Apps"
+msgstr "Przełącz aplikacje systemowe"
+
+#: ../../include/nav.php:424
+msgid "Status Messages and Posts"
+msgstr "Komunikaty o stanie i posty"
+
+#: ../../include/nav.php:437
+msgid "Profile Details"
+msgstr "Szczegóły profilu"
+
+#: ../../include/nav.php:447 ../../include/photos.php:666
+msgid "Photo Albums"
+msgstr "Albumy zdjęć"
+
+#: ../../include/nav.php:455
+msgid "Files and Storage"
+msgstr "Pliki i ich magazyn"
+
+#: ../../include/nav.php:493
+msgid "Saved Bookmarks"
+msgstr "Zapisane zakładki"
+
+#: ../../include/nav.php:504
+msgid "View Cards"
+msgstr "Wyświetl karty"
+
+#: ../../include/nav.php:515
+msgid "View Articles"
+msgstr "Wyświetl artykuły"
+
+#: ../../include/nav.php:527
+msgid "View Webpages"
+msgstr "Wyświetl witryny internetowe"
+
+#: ../../include/language.php:437
+msgid "Select an alternate language"
+msgstr "Wybierz alternatywny język"
+
+#: ../../include/zid.php:360
+#, php-format
+msgid "OpenWebAuth: %1$s welcomes %2$s"
+msgstr "OpenWebAuth: %1$s wita %2$s"
+
+#: ../../include/bookmarks.php:34
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "zakładki %1$s"
+
+#: ../../include/activities.php:42
+msgid " and "
+msgstr " i "
+
+#: ../../include/activities.php:50
+msgid "public profile"
+msgstr "profil publiczny"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s zmienił %2$s na &bdquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:60
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Odwiedzin %1$s %2$s"
+
+#: ../../include/activities.php:63
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s ma zaktualizowane %2$s, zmieniajÄ…c %3$s."
+
+#: ../../include/cdav.php:157
+msgid "INVALID EVENT DISMISSED!"
+msgstr "ODRZUCONO NIEPRAWIDÅOWE WYDARZENIE!"
+
+#: ../../include/cdav.php:158
+msgid "Summary: "
+msgstr "Podsumowanie: "
+
+#: ../../include/cdav.php:159
+msgid "Date: "
+msgstr "Data: "
+
+#: ../../include/cdav.php:160 ../../include/cdav.php:168
+msgid "Reason: "
+msgstr "Powód: "
+
+#: ../../include/cdav.php:166
+msgid "INVALID CARD DISMISSED!"
+msgstr "ODRZUCONO NIEPRAWIDÅOWÄ„ KARTĘ!"
+
+#: ../../include/cdav.php:167
+msgid "Name: "
+msgstr "Nazwa: "
+
+#: ../../include/photos.php:151
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Obraz przekracza limit rozmiaru witryny wynoszący %lu bajtów"
+
+#: ../../include/photos.php:162
+msgid "Image file is empty."
+msgstr "Plik obrazu jest pusty."
+
+#: ../../include/photos.php:324
+msgid "Photo storage failed."
+msgstr "Zapis zdjęcia nie powiódł się."
+
+#: ../../include/photos.php:373
+msgid "a new photo"
+msgstr "nowe zdjęcie"
+
+#: ../../include/photos.php:377
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s wysłał %2$s do %3$s"
+
+#: ../../include/photos.php:671
+msgid "Upload New Photos"
+msgstr "Prześlij nowe zdjęcia"
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Usunąć tą pozycjęD?"
+
+#: ../../include/js_strings.php:8
+#, php-format
+msgid "%s show less"
+msgstr "%s pokaż mniej"
+
+#: ../../include/js_strings.php:9
+#, php-format
+msgid "%s expand"
+msgstr "%s rozwiń"
+
+#: ../../include/js_strings.php:10
+#, php-format
+msgid "%s collapse"
+msgstr "%s zwiń"
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Hasło jest za krótkie"
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Hasła nie pasują do siebie"
+
+#: ../../include/js_strings.php:13
+msgid "everybody"
+msgstr "wszyscy"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Tajna hasło"
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Wskazówka dotycząca hasła"
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Uwaga: uprawnienia uległy zmianie, ale nie zostały jeszcze przesłane."
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "zamknij wszystko"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Nic nowego tutaj"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Oceń ten kanał (to jest publiczne)"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Opisz (opcjonalnie)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Proszę wprowadzić URL linku"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Niezapisane zmiany. Czy na pewno chcesz opuścić tę stronę?"
+
+#: ../../include/js_strings.php:26
+msgid "lovely"
+msgstr "śliczne"
+
+#: ../../include/js_strings.php:27
+msgid "wonderful"
+msgstr "wspaniałe"
+
+#: ../../include/js_strings.php:28
+msgid "fantastic"
+msgstr "fantastyczne"
+
+#: ../../include/js_strings.php:29
+msgid "great"
+msgstr "świetne"
+
+#: ../../include/js_strings.php:30
+msgid ""
+"Your chosen nickname was either already taken or not valid. Please use our "
+"suggestion ("
+msgstr ""
+"Twój wybrany pseudonim jest już zajęty lub nieważny. Skorzystaj z naszej "
+"prpozycji ("
+
+#: ../../include/js_strings.php:31
+msgid ") or enter a new one."
+msgstr ") lub wprowadź nowy."
+
+#: ../../include/js_strings.php:32
+msgid "Thank you, this nickname is valid."
+msgstr "Dziękuję, ten pseudonim jest prawidłowy."
+
+#: ../../include/js_strings.php:33
+msgid "A channel name is required."
+msgstr "Wymagana jest nazwa kanału."
+
+#: ../../include/js_strings.php:34
+msgid "This is a "
+msgstr "To jest "
+
+#: ../../include/js_strings.php:35
+msgid " channel name"
+msgstr " nazwa kanału"
+
+#: ../../include/js_strings.php:36
+msgid "Back to reply"
+msgstr "Wróć do odpowiedzi"
+
+#: ../../include/js_strings.php:37
+msgid "Pinned"
+msgstr "Przypięte"
+
+#: ../../include/js_strings.php:45
+#, php-format
+msgid "%d minutes"
+msgid_plural "%d minutes"
+msgstr[0] "%d minuta"
+msgstr[1] "%d minuty"
+msgstr[2] "%d minut"
+
+#: ../../include/js_strings.php:46
+#, php-format
+msgid "about %d hours"
+msgid_plural "about %d hours"
+msgstr[0] "około %d godziny"
+msgstr[1] "około %d godzin"
+msgstr[2] "około %d godzin"
+
+#: ../../include/js_strings.php:47
+#, php-format
+msgid "%d days"
+msgid_plural "%d days"
+msgstr[0] "%d dzień"
+msgstr[1] "%d dni"
+msgstr[2] "%d dni"
+
+#: ../../include/js_strings.php:48
+#, php-format
+msgid "%d months"
+msgid_plural "%d months"
+msgstr[0] "%d miesiÄ…c"
+msgstr[1] "%d miesięcy"
+msgstr[2] "%d miesięcy"
+
+#: ../../include/js_strings.php:49
+#, php-format
+msgid "%d years"
+msgid_plural "%d years"
+msgstr[0] "%d rok"
+msgstr[1] "%d lata"
+msgstr[2] "%d lat"
+
+#: ../../include/js_strings.php:54
+msgid "timeago.prefixAgo"
+msgstr "temu"
+
+#: ../../include/js_strings.php:55
+msgid "timeago.prefixFromNow"
+msgstr "od teraz"
+
+#: ../../include/js_strings.php:56
+msgid "timeago.suffixAgo"
+msgstr "temu"
+
+#: ../../include/js_strings.php:57
+msgid "timeago.suffixFromNow"
+msgstr "od teraz"
+
+#: ../../include/js_strings.php:60
+msgid "less than a minute"
+msgstr "mniej niż minutę"
+
+#: ../../include/js_strings.php:61
+msgid "about a minute"
+msgstr "około minuty"
+
+#: ../../include/js_strings.php:63
+msgid "about an hour"
+msgstr "około godziny"
+
+#: ../../include/js_strings.php:65
+msgid "a day"
+msgstr "dzień"
+
+#: ../../include/js_strings.php:67
+msgid "about a month"
+msgstr "około miesiąca"
+
+#: ../../include/js_strings.php:69
+msgid "about a year"
+msgstr "około roku"
+
+#: ../../include/js_strings.php:71
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:72
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/js_strings.php:78
+msgctxt "long"
+msgid "May"
+msgstr "Maj"
+
+#: ../../include/js_strings.php:86
+msgid "Jan"
+msgstr "Sty"
+
+#: ../../include/js_strings.php:87
+msgid "Feb"
+msgstr "Lut"
+
+#: ../../include/js_strings.php:88
+msgid "Mar"
+msgstr "Mar"
+
+#: ../../include/js_strings.php:89
+msgid "Apr"
+msgstr "Kwi"
+
+#: ../../include/js_strings.php:90
+msgctxt "short"
+msgid "May"
+msgstr "Maj"
+
+#: ../../include/js_strings.php:91
+msgid "Jun"
+msgstr "Cze"
+
+#: ../../include/js_strings.php:92
+msgid "Jul"
+msgstr "Lop"
+
+#: ../../include/js_strings.php:93
+msgid "Aug"
+msgstr "Sie"
+
+#: ../../include/js_strings.php:94
+msgid "Sep"
+msgstr "Wrz"
+
+#: ../../include/js_strings.php:95
+msgid "Oct"
+msgstr "Paź"
+
+#: ../../include/js_strings.php:96
+msgid "Nov"
+msgstr "Lis"
+
+#: ../../include/js_strings.php:97
+msgid "Dec"
+msgstr "Gru"
+
+#: ../../include/js_strings.php:105
+msgid "Sun"
+msgstr "Nie"
+
+#: ../../include/js_strings.php:106
+msgid "Mon"
+msgstr "Pon"
+
+#: ../../include/js_strings.php:107
+msgid "Tue"
+msgstr "Wto"
+
+#: ../../include/js_strings.php:108
+msgid "Wed"
+msgstr "Åšro"
+
+#: ../../include/js_strings.php:109
+msgid "Thu"
+msgstr "Czw"
+
+#: ../../include/js_strings.php:110
+msgid "Fri"
+msgstr "PiÄ…"
+
+#: ../../include/js_strings.php:111
+msgid "Sat"
+msgstr "Sob"
+
+#: ../../include/js_strings.php:112
+msgctxt "calendar"
+msgid "today"
+msgstr "dzisiaj"
+
+#: ../../include/js_strings.php:113
+msgctxt "calendar"
+msgid "month"
+msgstr "miesiÄ…c"
+
+#: ../../include/js_strings.php:114
+msgctxt "calendar"
+msgid "week"
+msgstr "tydzień"
+
+#: ../../include/js_strings.php:115
+msgctxt "calendar"
+msgid "day"
+msgstr "dzień"
+
+#: ../../include/js_strings.php:116
+msgctxt "calendar"
+msgid "All day"
+msgstr "Cały dzień"
+
+#: ../../include/js_strings.php:119
+msgid "Please stand by while your download is being prepared."
+msgstr "Proszę czekać, aż pobieranie jest przygotowywane."
+
+#: ../../include/security.php:609
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr ""
+"Token bezpieczeństwa formularza był nieprawidłowy. Prawdopodobnie stało się "
+"tak, ponieważ formularz był otwarty zbyt długo (> 3 godziny) przed wysłaniem."
+
+#: ../../include/selectors.php:18
+msgid "Profile to assign new connections"
+msgstr "Profil do przypisywania nowych połączeń"
+
+#: ../../include/selectors.php:41
+msgid "Frequently"
+msgstr "Często"
+
+#: ../../include/selectors.php:42
+msgid "Hourly"
+msgstr "Co godzinnÄ™"
+
+#: ../../include/selectors.php:43
+msgid "Twice daily"
+msgstr "Dwa razy dziennie"
+
+#: ../../include/selectors.php:44
+msgid "Daily"
+msgstr "Co dzień"
+
+#: ../../include/selectors.php:45
+msgid "Weekly"
+msgstr "Co tydzień"
+
+#: ../../include/selectors.php:46
+msgid "Monthly"
+msgstr "Co miesiÄ…c"
+
+#: ../../include/selectors.php:60
+msgid "Currently Male"
+msgstr "Obecnie mężczyzna"
+
+#: ../../include/selectors.php:60
+msgid "Currently Female"
+msgstr "Obecnie kobieta"
+
+#: ../../include/selectors.php:60
+msgid "Mostly Male"
+msgstr "Głównie mężczyźna"
+
+#: ../../include/selectors.php:60
+msgid "Mostly Female"
+msgstr "Głównie kobieta"
+
+#: ../../include/selectors.php:60
+msgid "Transgender"
+msgstr "Transgender"
+
+#: ../../include/selectors.php:60
+msgid "Intersex"
+msgstr "Interpłciowość"
+
+#: ../../include/selectors.php:60
+msgid "Transsexual"
+msgstr "Transseksualność"
+
+#: ../../include/selectors.php:60
+msgid "Hermaphrodite"
+msgstr "Hermafrodyta"
+
+#: ../../include/selectors.php:60
+msgid "Undecided"
+msgstr "Niezdecydowano"
+
+#: ../../include/selectors.php:96 ../../include/selectors.php:115
+msgid "Males"
+msgstr "Mężczyżni"
+
+#: ../../include/selectors.php:96 ../../include/selectors.php:115
+msgid "Females"
+msgstr "Kobiety"
+
+#: ../../include/selectors.php:96
+msgid "Gay"
+msgstr "Homoseksualista"
+
+#: ../../include/selectors.php:96
+msgid "Lesbian"
+msgstr "Lesbijka"
+
+#: ../../include/selectors.php:96
+msgid "No Preference"
+msgstr "Bez preferencji"
+
+#: ../../include/selectors.php:96
+msgid "Bisexual"
+msgstr "Biseksualne"
+
+#: ../../include/selectors.php:96
+msgid "Autosexual"
+msgstr "Autoseksualne"
+
+#: ../../include/selectors.php:96
+msgid "Abstinent"
+msgstr "Abstyncja"
+
+#: ../../include/selectors.php:96
+msgid "Virgin"
+msgstr "Dziewice"
+
+#: ../../include/selectors.php:96
+msgid "Deviant"
+msgstr "Dewiant"
+
+#: ../../include/selectors.php:96
+msgid "Fetish"
+msgstr "Fetysz"
+
+#: ../../include/selectors.php:96
+msgid "Oodles"
+msgstr "Oodles"
+
+#: ../../include/selectors.php:96
+msgid "Nonsexual"
+msgstr "Nonsexual"
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Single"
+msgstr "Singiel"
+
+#: ../../include/selectors.php:134
+msgid "Lonely"
+msgstr "Samotny/Samotna"
+
+#: ../../include/selectors.php:134
+msgid "Available"
+msgstr "Dostępny/Dostęnna"
+
+#: ../../include/selectors.php:134
+msgid "Unavailable"
+msgstr "Niedostępny/Niedostęþna"
+
+#: ../../include/selectors.php:134
+msgid "Has crush"
+msgstr "Zadużony/Zadużona"
+
+#: ../../include/selectors.php:134
+msgid "Infatuated"
+msgstr "Zakochany/Zakochana"
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Dating"
+msgstr "Randki"
+
+#: ../../include/selectors.php:134
+msgid "Unfaithful"
+msgstr "Niewierny"
+
+#: ../../include/selectors.php:134
+msgid "Sex Addict"
+msgstr "Uzależniony/Uzależniona od seksu"
+
+#: ../../include/selectors.php:134
+msgid "Friends/Benefits"
+msgstr "Przyjaciele/Korzyści"
+
+#: ../../include/selectors.php:134
+msgid "Casual"
+msgstr "Przygodnie"
+
+#: ../../include/selectors.php:134
+msgid "Engaged"
+msgstr "Zaręczony/Zaręczona"
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Married"
+msgstr "Zaślubiony/Zaślubiona"
+
+#: ../../include/selectors.php:134
+msgid "Imaginarily married"
+msgstr "Zaślubiony/Zaślubiona w myślach"
+
+#: ../../include/selectors.php:134
+msgid "Partners"
+msgstr "Patner/Partnerka"
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Cohabiting"
+msgstr "Konkubent/Konkubina"
+
+#: ../../include/selectors.php:134
+msgid "Common law"
+msgstr "Prawo zwyczajowe"
+
+#: ../../include/selectors.php:134
+msgid "Happy"
+msgstr "Szczęsliwy/Szczęśliwa"
+
+#: ../../include/selectors.php:134
+msgid "Not looking"
+msgstr "Nie szukajÄ…cy/Nie szukajÄ…ca"
+
+#: ../../include/selectors.php:134
+msgid "Swinger"
+msgstr "Swinger"
+
+#: ../../include/selectors.php:134
+msgid "Betrayed"
+msgstr "Zdradzony/Zdradzona"
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Separated"
+msgstr "W separacji"
+
+#: ../../include/selectors.php:134
+msgid "Unstable"
+msgstr "Niestabilny/Niestabilna"
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Divorced"
+msgstr "Rozwiedziony/Rozwiedziona"
+
+#: ../../include/selectors.php:134
+msgid "Imaginarily divorced"
+msgstr "Rozwiedziony/Rozwiedziona w myślach"
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Widowed"
+msgstr "Wdowiec/Wdowa"
+
+#: ../../include/selectors.php:134
+msgid "Uncertain"
+msgstr "Niezdecydowany/Niezdecydowana"
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "It's complicated"
+msgstr "To skomplikowane"
+
+#: ../../include/selectors.php:134
+msgid "Don't care"
+msgstr "Nie obchodzi mnie to"
+
+#: ../../include/selectors.php:134
+msgid "Ask me"
+msgstr "Zapytaj mnie"
+
+#: ../../include/network.php:1731 ../../include/network.php:1732
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/network.php:1733
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/network.php:1734
+msgid "GNU-Social"
+msgstr "GNU-Social"
+
+#: ../../include/network.php:1735
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/network.php:1738
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/network.php:1739
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/network.php:1740
+msgid "Zot"
+msgstr "Zot"
+
+#: ../../include/network.php:1741
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/network.php:1742
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/network.php:1743
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/account.php:36
+msgid "Not a valid email address"
+msgstr "Nieprawidłowy adres e-mail"
+
+#: ../../include/account.php:38
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Twoja domena e-mail nie należy do domen dozwolonych w tym serwisie"
+
+#: ../../include/account.php:44
+msgid "Your email address is already registered at this site."
+msgstr "Twój adres e-mail jest już zarejestrowany w tym serwisie."
+
+#: ../../include/account.php:76
+msgid "An invitation is required."
+msgstr "Wymagane jest zaproszenie."
+
+#: ../../include/account.php:80
+msgid "Invitation could not be verified."
+msgstr "Nie udało się zweryfikować zaproszenia."
+
+#: ../../include/account.php:156
+msgid "Please enter the required information."
+msgstr "Proszę wprowadzić wymagane informacje."
+
+#: ../../include/account.php:223
+msgid "Failed to store account information."
+msgstr "Nie udało się zapisać informacji o koncie."
+
+#: ../../include/account.php:311
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Potwierdzenie rejestracji dla %s"
+
+#: ../../include/account.php:380
+#, php-format
+msgid "Registration request at %s"
+msgstr "Wniosek o rejestracjÄ™ na %s"
+
+#: ../../include/account.php:402
+msgid "your registration password"
+msgstr "hasło rejestracyjne"
+
+#: ../../include/account.php:408 ../../include/account.php:471
+#, php-format
+msgid "Registration details for %s"
+msgstr "Szczegóły rejestracji dla %s"
+
+#: ../../include/account.php:482
+msgid "Account approved."
+msgstr "Konto zostało zatwierdzone."
+
+#: ../../include/account.php:522
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Rejestracja cofnięta dla %s"
+
+#: ../../include/account.php:805 ../../include/account.php:807
+msgid "Click here to upgrade."
+msgstr "Kliknij tutaj, aby zaktualizować."
+
+#: ../../include/account.php:813
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Ta czynność wykracza poza limity określone w planie subskrypcji."
+
+#: ../../include/account.php:818
+msgid "This action is not available under your subscription plan."
+msgstr "Ta czynność nie jest dostępna w ramach Twojego planu subskrypcji."
+
+#: ../../include/help.php:80
+msgid "Help:"
+msgstr "Pomoc:"
+
+#: ../../include/help.php:129
+msgid "Not Found"
+msgstr "Nie znaleziono"
+
+#: ../../include/attach.php:273 ../../include/attach.php:324
+#: ../../include/attach.php:419
+msgid "Item was not found."
+msgstr "Nie znaleziono elementu."
+
+#: ../../include/attach.php:290
+msgid "Unknown error."
+msgstr "Nieznany błąd."
+
+#: ../../include/attach.php:612
+msgid "No source file."
+msgstr "Brak pliku źródłowego."
+
+#: ../../include/attach.php:634
+msgid "Cannot locate file to replace"
+msgstr "Nie można znaleźć pliku do zastąpienia"
+
+#: ../../include/attach.php:653
+msgid "Cannot locate file to revise/update"
+msgstr "Nie można zlokalizować pliku do poprawienia/aktualizacji"
+
+#: ../../include/attach.php:795
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Plik przekracza limit rozmiaru %d"
+
+#: ../../include/attach.php:816
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Osiągnęty został limit %1$.0f MB miejsca na załączniki."
+
+#: ../../include/attach.php:1004
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr ""
+"Przesyłanie pliku nie powiodło się. Możliwe ograniczenie systemowe lub "
+"działanie zakończone."
+
+#: ../../include/attach.php:1033
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Nie można zweryfikować zapisanego pliku. Przesyłanie nie powiodło się."
+
+#: ../../include/attach.php:1105 ../../include/attach.php:1121
+msgid "Path not available."
+msgstr "Ścieżka niedostępna."
+
+#: ../../include/attach.php:1169 ../../include/attach.php:1332
+msgid "Empty pathname"
+msgstr "Pusta ścieżka"
+
+#: ../../include/attach.php:1195
+msgid "duplicate filename or path"
+msgstr "zduplikowana nazwa pliku lub ścieżka"
+
+#: ../../include/attach.php:1220
+msgid "Path not found."
+msgstr "Ścieżka nie znaleziona."
+
+#: ../../include/attach.php:1288
+msgid "mkdir failed."
+msgstr "mkdir zakończył sie błędem."
+
+#: ../../include/attach.php:1292
+msgid "database storage failed."
+msgstr "zapis w bazie danych nie powiódł się."
+
+#: ../../include/attach.php:1338
+msgid "Empty path"
+msgstr "Pusta ścieżka"
+
+#: ../../include/attach.php:2099
+#, php-format
+msgid "%s shared a %s with you"
+msgstr "%s udostępnił Ci %s"
+
+#: ../../include/attach.php:2099
+#: ../../extend/addon/hzaddons/redfiles/redfilehelper.php:64
+msgid "file"
+msgstr "plik"
+
+#: ../../include/connections.php:134
+msgid "New window"
+msgstr "Nowe okno"
+
+#: ../../include/connections.php:135
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Otwórz wybraną lokalizację w innym oknie lub karcie przeglądarki"
+
+#: ../../include/connections.php:736 ../../include/event.php:1424
+msgid "Home, Voice"
+msgstr "Dom, głosowy"
+
+#: ../../include/connections.php:737 ../../include/event.php:1425
+msgid "Home, Fax"
+msgstr "Dom, fax"
+
+#: ../../include/connections.php:739 ../../include/event.php:1427
+msgid "Work, Voice"
+msgstr "Praca, głosowy"
+
+#: ../../include/connections.php:740 ../../include/event.php:1428
+msgid "Work, Fax"
+msgstr "Praca, fax"
+
+#: ../../include/oembed.php:153
+msgid "View PDF"
+msgstr "Wyświetl PDF"
+
+#: ../../include/oembed.php:357
+msgid " by "
+msgstr " przez "
+
+#: ../../include/oembed.php:358
+msgid " on "
+msgstr " na "
+
+#: ../../include/oembed.php:387
+msgid "Embedded content"
+msgstr "Osadzone treści"
+
+#: ../../include/oembed.php:396
+msgid "Embedding disabled"
+msgstr "Osadzanie wyłączone"
+
+#: ../../include/event.php:33 ../../include/event.php:110
+msgid "l F d, Y \\@ g:i A"
+msgstr "l F d, Y \\@ g:i A"
+
+#: ../../include/event.php:41
+msgid "Starts:"
+msgstr "Rozpoczętych:"
+
+#: ../../include/event.php:51
+msgid "Finishes:"
+msgstr "Zakończonych:"
+
+#: ../../include/event.php:110
+msgid "l F d, Y"
+msgstr "l F d, Y"
+
+#: ../../include/event.php:114
+msgid "Start:"
+msgstr "Rozpoczęto:"
+
+#: ../../include/event.php:118
+msgid "End:"
+msgstr "Zakończono:"
+
+#: ../../include/event.php:123
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:67
+msgid "Timezone"
+msgstr "Strefa czasowa"
+
+#: ../../include/event.php:1106
+msgid "This event has been added to your calendar."
+msgstr "To wydarzenie zostało dodane do Twojego kalendarza."
+
+#: ../../include/event.php:1337
+msgid "Not specified"
+msgstr "Nieokreślone"
+
+#: ../../include/event.php:1338
+msgid "Needs Action"
+msgstr "Wymaga działania"
+
+#: ../../include/event.php:1339
+msgid "Completed"
+msgstr "Zakończone"
+
+#: ../../include/event.php:1340
+msgid "In Process"
+msgstr "W trakcie"
+
+#: ../../include/event.php:1341
+msgid "Cancelled"
+msgstr "Usuniete"
+
+#: ../../include/datetime.php:140
+msgid "Birthday"
+msgstr "Urodziny"
+
+#: ../../include/datetime.php:140
+msgid "Age: "
+msgstr "Wiek: "
+
+#: ../../include/datetime.php:140
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "RRRR-MM-DD lub MM-DD"
+
+#: ../../include/datetime.php:238 ../../boot.php:2709
+msgid "never"
+msgstr "nigdy"
+
+#: ../../include/datetime.php:244
+msgid "less than a second ago"
+msgstr "mniej niż sekundę temu"
+
+#: ../../include/datetime.php:262
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s temu"
+
+#: ../../include/datetime.php:273
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "rok"
+msgstr[1] "lata"
+msgstr[2] "lat"
+
+#: ../../include/datetime.php:276
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "miesiÄ…c"
+msgstr[1] "miesiÄ…ce"
+msgstr[2] "miesięcy"
+
+#: ../../include/datetime.php:279
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "tydzień"
+msgstr[1] "tygodnie"
+msgstr[2] "tygodni"
+
+#: ../../include/datetime.php:282
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "dzień"
+msgstr[1] "dni"
+msgstr[2] "dni"
+
+#: ../../include/datetime.php:285
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "godzina"
+msgstr[1] "godziny"
+msgstr[2] "godzin"
+
+#: ../../include/datetime.php:288
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuta"
+msgstr[1] "minuty"
+msgstr[2] "minut"
+
+#: ../../include/datetime.php:291
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "sekunda"
+msgstr[1] "sekundy"
+msgstr[2] "sekund"
+
+#: ../../include/datetime.php:520
+#, php-format
+msgid "%1$s's birthday"
+msgstr "urodziny %1$s"
+
+#: ../../include/datetime.php:521
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "%1$s, wszystkiego najlepszego z okazji urodzin"
+
+#: ../../include/items.php:999 ../../include/items.php:1059
+msgid "(Unknown)"
+msgstr "(Nieznane)"
+
+#: ../../include/items.php:1247
+msgid "Visible to anybody on the internet."
+msgstr "Widoczne dla każdego w internecie."
+
+#: ../../include/items.php:1249
+msgid "Visible to you only."
+msgstr "Widoczne tylko dla Ciebie."
+
+#: ../../include/items.php:1251
+msgid "Visible to anybody in this network."
+msgstr "Widoczne dla każdego w tej sieci."
+
+#: ../../include/items.php:1253
+msgid "Visible to anybody authenticated."
+msgstr "Widoczne dla każdego uwierzytelnionego."
+
+#: ../../include/items.php:1255
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Widoczne dla wszystkich na %s."
+
+#: ../../include/items.php:1257
+msgid "Visible to all connections."
+msgstr "Widoczny dla wszystkich połączeń."
+
+#: ../../include/items.php:1259
+msgid "Visible to approved connections."
+msgstr "Widoczny dla zatwierdzonych połączeń."
+
+#: ../../include/items.php:1261
+msgid "Visible to specific connections."
+msgstr "Widoczny dla określonych połączeń."
+
+#: ../../include/items.php:4507
+msgid "Privacy group is empty."
+msgstr "Grupa prywatności jest pusta."
+
+#: ../../include/items.php:4514
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Grupa prywatności: %s"
+
+#: ../../include/items.php:4526
+msgid "Connection not found."
+msgstr "Nie znaleziono połączenia."
+
+#: ../../include/items.php:4867
+msgid "profile photo"
+msgstr "zdjęcie profilowe"
+
+#: ../../include/items.php:5059
+#, php-format
+msgid "[Edited %s]"
+msgstr "[Edytowane %s]"
+
+#: ../../include/items.php:5059
+msgctxt "edit_activity"
+msgid "Post"
+msgstr "Post"
+
+#: ../../include/items.php:5059
+msgctxt "edit_activity"
+msgid "Comment"
+msgstr "Komentarz"
+
+#: ../../include/follow.php:84
+msgid "Response from remote channel was incomplete."
+msgstr "Odpowiedź z kanału zdalnego była niekompletna."
+
+#: ../../include/follow.php:96
+msgid "Premium channel - please visit:"
+msgstr "Kanał premium - odwiedź:"
+
+#: ../../include/follow.php:110
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanał został usunięty i już nie istnieje."
+
+#: ../../include/zot.php:775
+msgid "Invalid data packet"
+msgstr "Nieprawidłowy pakiet danych"
+
+#: ../../include/zot.php:4372
+msgid "invalid target signature"
+msgstr "nieprawidłowy podpis docelowy"
+
+#: ../../include/bbcode.php:221 ../../include/bbcode.php:896
+#: ../../include/bbcode.php:1486 ../../include/bbcode.php:1494
+msgid "Image/photo"
+msgstr "Obraz/zdjęcie"
+
+#: ../../include/bbcode.php:268 ../../include/bbcode.php:1511
+msgid "Encrypted content"
+msgstr "Zaszyfrowana treść"
+
+#: ../../include/bbcode.php:302
+#, php-format
+msgid "Install %1$s element %2$s"
+msgstr "Zainstaluj element %1$s %2$s"
+
+#: ../../include/bbcode.php:306
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr ""
+"Ten post zawiera możliwy do zainstalowania element %s, jednak nie masz "
+"uprawnień do zainstalowania go w tym serwisie."
+
+#: ../../include/bbcode.php:519
+msgid "card"
+msgstr "karta"
+
+#: ../../include/bbcode.php:521
+msgid "article"
+msgstr "artykuł"
+
+#: ../../include/bbcode.php:604 ../../include/bbcode.php:612
+msgid "Click to open/close"
+msgstr "Kliknij, any otworzyć/zamknąć"
+
+#: ../../include/bbcode.php:625
+msgid "View article"
+msgstr "Wyświetl artykuł"
+
+#: ../../include/bbcode.php:625
+msgid "View summary"
+msgstr "Wyświetl podsumowanie"
+
+#: ../../include/bbcode.php:1474
+msgid "$1 wrote:"
+msgstr "$1 napisał:"
+
+#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:451
+msgid "Follow"
+msgstr "Obserwuj"
+
+#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:454
+#, php-format
+msgid "%1$s is now following %2$s"
+msgstr "%1$s obserwujesz teraz %2$s"
+
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:16
+msgid ""
+"The GNU-Social protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
+"Protokół GNU-Social nie obsługuje niezależności od lokalizacji. Połączenia "
+"nawiązane w tej sieci mogą być niedostępne z innych lokalizacji kanałów."
+
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22
+msgid "GNU-Social Protocol App"
+msgstr "Aplikacja Protokół GNU-Social"
+
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:34
+msgid "GNU-Social Protocol"
+msgstr "GNU-Social Protocol"
+
+#: ../../extend/addon/hzaddons/qrator/qrator.php:48
+msgid "QR code"
+msgstr "Kod QR"
+
+#: ../../extend/addon/hzaddons/qrator/qrator.php:63
+msgid "QR Generator"
+msgstr "Generator QR"
+
+#: ../../extend/addon/hzaddons/qrator/qrator.php:64
+msgid "Enter some text"
+msgstr "Wprowadź jakiś tekst"
+
+#: ../../extend/addon/hzaddons/irc/Mod_Irc.php:23
+#: ../../extend/addon/hzaddons/irc/irc.php:41
+msgid "Popular Channels"
+msgstr "Popularne kanały"
+
+#: ../../extend/addon/hzaddons/irc/irc.php:37
+msgid "Channels to auto connect"
+msgstr "Kanały do automatycznego podłączenia"
+
+#: ../../extend/addon/hzaddons/irc/irc.php:37
+#: ../../extend/addon/hzaddons/irc/irc.php:41
+msgid "Comma separated list"
+msgstr "Lista rozdzielana przecinkami"
+
+#: ../../extend/addon/hzaddons/irc/irc.php:45
+msgid "IRC Settings"
+msgstr "Ustawienia IRC"
+
+#: ../../extend/addon/hzaddons/irc/irc.php:54
+msgid "IRC settings saved."
+msgstr "Zapisano ustawienia IRC."
+
+#: ../../extend/addon/hzaddons/irc/irc.php:58
+msgid "IRC Chatroom"
+msgstr "Pokój rozmów IRC"
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:19
+msgid "Send email to all members"
+msgstr "Wyślij e-mail do wszystkich członków"
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:50
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:50
+msgid "No recipients found."
+msgstr "Nie znaleziono adresatów."
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:73
+#, php-format
+msgid "%1$d of %2$d messages sent."
+msgstr "Wysłano %1$d wiadomości z %2$d zadysponowanych."
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:81
+msgid "Send email to all hub members."
+msgstr "Wyślij wiadomość e-mail do wszystkich członków huba."
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:92
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:96
+msgid "Message subject"
+msgstr "Temat wiadomości"
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:93
+msgid "Sender Email address"
+msgstr "Adres e-mail nadawcy"
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:94
+msgid "Test mode (only send to hub administrator)"
+msgstr "Tryb testowy (wysyłaj tylko do administratora huba)"
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:51
+msgid "Your Webbie:"
+msgstr "Twój Webbie:"
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:54
+msgid "Fontsize (px):"
+msgstr "Wielkość czcionki (px):"
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:68
+msgid "Link:"
+msgstr "Link:"
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:70
+msgid "Like us on Hubzilla"
+msgstr "Polub nas na Hubzilli"
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:72
+msgid "Embed:"
+msgstr "Osadzone:"
+
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:46
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:43
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:150
+msgid "Save Settings"
+msgstr "Zapisz ustawienia"
+
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:47
+msgid "text to include in all outgoing posts from this site"
+msgstr "tekst do umieszczania we wszystkich postach wychodzÄ…cych z tej witryny"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:19
+msgid "lonely"
+msgstr "samotny"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:20
+msgid "drunk"
+msgstr "pijany"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:21
+msgid "horny"
+msgstr "seksualnie podniecony"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:22
+msgid "stoned"
+msgstr "zjarany"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:23
+msgid "fucked up"
+msgstr "spieprzone"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:24
+msgid "clusterfucked"
+msgstr "klasterfucked"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:25
+msgid "crazy"
+msgstr "zwariowany"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:26
+msgid "hurt"
+msgstr "ból"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:27
+msgid "sleepy"
+msgstr "senny"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:28
+msgid "grumpy"
+msgstr "gderliwy"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:29
+msgid "high"
+msgstr "wysoki"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:30
+msgid "semi-conscious"
+msgstr "półprzytomny"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:31
+msgid "in love"
+msgstr "zakochany"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:32
+msgid "in lust"
+msgstr "w pożądaniu"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:33
+msgid "naked"
+msgstr "nagi"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:34
+msgid "stinky"
+msgstr "śmierdzący"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:35
+msgid "sweaty"
+msgstr "spocony"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:36
+msgid "bleeding out"
+msgstr "wykrwawiać się"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:37
+msgid "victorious"
+msgstr "zwycięski"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:38
+msgid "defeated"
+msgstr "pokonany"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:39
+msgid "envious"
+msgstr "zazdrosny"
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:40
+msgid "jealous"
+msgstr "zazdrosny"
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:85
+msgid ""
+"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
+"analytics tool."
+msgstr ""
+"Ta witryna jest śledzona za pomocą narzędzia analitycznego <a href='http://"
+"www.piwik.org'>Piwik</a>."
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:88
+#, php-format
+msgid ""
+"If you do not want that your visits are logged this way you <a href='%s'>can "
+"set a cookie to prevent Piwik from tracking further visits of the site</a> "
+"(opt-out)."
+msgstr ""
+"Jeśli nie chcesz, aby Twoje wizyty były rejestrowane w ten sposób, <a "
+"href='%s'> możesz ustawić plik cookie, aby uniemożliwić Piwik śledzenie "
+"dalszych wizyt na stronie </a> (rezygnacja)."
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:96
+msgid "Piwik Base URL"
+msgstr "Bazowy adres URL Piwik"
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:96
+msgid ""
+"Absolute path to your Piwik installation. (without protocol (http/s), with "
+"trailing slash)"
+msgstr ""
+"Absolutna ścieżka do instalacji Piwika. (bez protokołu (http/s), z końcowym "
+"ukośnikiem)"
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:97
+msgid "Site ID"
+msgstr "ID witryny"
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:98
+msgid "Show opt-out cookie link?"
+msgstr "Pokazać link do rezygnacji z pliku cookie?"
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:99
+msgid "Asynchronous tracking"
+msgstr "Åšledzenie asynchroniczne"
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:100
+msgid "Enable frontend JavaScript error tracking"
+msgstr "Włącz śledzenie błędów JavaScript w interfejsie użytkownika"
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:100
+msgid "This feature requires Piwik >= 2.2.0"
+msgstr "Ta funkcjonalność wymaga Piwik >= 2.2.0"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:101
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:102
+#: ../../extend/addon/hzaddons/cart/myshop.php:144
+#: ../../extend/addon/hzaddons/cart/myshop.php:180
+#: ../../extend/addon/hzaddons/cart/myshop.php:214
+#: ../../extend/addon/hzaddons/cart/myshop.php:261
+#: ../../extend/addon/hzaddons/cart/myshop.php:296
+#: ../../extend/addon/hzaddons/cart/myshop.php:319
+msgid "Access Denied"
+msgstr "Dostęp zabroniony"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:109
+msgid "Enable Community Moderation"
+msgstr "Włącz moderację społecznościową"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:117
+msgid "Reputation automatically given to new members"
+msgstr "Reputacja przyznawana automatycznie nowym członkom"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:118
+msgid "Reputation will never fall below this value"
+msgstr "Reputacja nigdy nie spadnie poniżej tej wartości"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:119
+msgid "Minimum reputation before posting is allowed"
+msgstr "Dozwolona jest minimalna reputacja przed rozpoczęciem postów"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:120
+msgid "Minimum reputation before commenting is allowed"
+msgstr "Dozwolona jest minimalna reputacja przed rozpoczęciem komentowania"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:121
+msgid "Minimum reputation before a member is able to moderate other posts"
+msgstr "Minimalna reputacja, zanim członek będzie mógł moderować inne posty"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:122
+msgid ""
+"Max ratio of moderator's reputation that can be added to/deducted from "
+"reputation of person being moderated"
+msgstr ""
+"Maksymalny współczynnik reputacji moderatora, który można dodać do reputacji "
+"moderowanej osoby lub od niej odjąć"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:123
+msgid "Reputation \"cost\" to post"
+msgstr "\"Koszt\" reputacji dla postu"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:124
+msgid "Reputation \"cost\" to comment"
+msgstr "\"Koszt\" reputacji dla komentarza"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:125
+msgid ""
+"Reputation automatically recovers at this rate per hour until it reaches "
+"minimum_to_post"
+msgstr ""
+"Reputacja automatycznie odświeżana jest w tym tempie co godzinę, dopóki nie "
+"osiÄ…gnie minimum_to_post"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:126
+msgid ""
+"When minimum_to_moderate > reputation > minimum_to_post reputation recovers "
+"at this rate per hour"
+msgstr ""
+"Kiedy minimum_to_moderate > reputation> minimum_to_post reputacja odświeża "
+"na jest z taką szybkością na godzinę"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:140
+msgid "Community Moderation Settings"
+msgstr "Ustawienia moderowania społecznościowego"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:232
+msgid "Channel Reputation"
+msgstr "Reputacja kanału"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:236
+msgid "An Error has occurred."
+msgstr "Wystąpił błąd."
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:254
+msgid "Upvote"
+msgstr "Głosuj za"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:255
+msgid "Downvote"
+msgstr "Głosuj przeciw"
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:414
+msgid "Can moderate reputation on my channel."
+msgstr "Mogę moderować reputację na moim kanale."
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:57
+msgid "Errors encountered deleting database table "
+msgstr "Napotkano błędy podczas usuwania tabeli bazy danych "
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:95
+#: ../../extend/addon/hzaddons/twitter/twitter.php:503
+msgid "Submit Settings"
+msgstr "Prześlij ustawienia"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96
+msgid "Drop tables when uninstalling?"
+msgstr "Usunąć tabele podczas odinstalowywania?"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96
+msgid ""
+"If checked, the Rendezvous database tables will be deleted when the plugin "
+"is uninstalled."
+msgstr ""
+"Jeśli zaznaczone, po odinstalowaniu wtyczki zostaną usunięte wszystkie "
+"tabele z bazy danych Rendezvous."
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97
+msgid "Mapbox Access Token"
+msgstr "Token Mapbox Access"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97
+msgid ""
+"If you enter a Mapbox access token, it will be used to retrieve map tiles "
+"from Mapbox instead of the default OpenStreetMap tile server."
+msgstr ""
+"Jeśli wprowadzisz token dostępu Mapbox, będzie on używany do pobierania "
+"fragmentów mapy z Mapbox, zamiast z domyślnego serwera kafelków "
+"OpenStreetMap."
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:162
+msgid "Rendezvous"
+msgstr "Rendezvous"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:167
+msgid ""
+"This identity has been deleted by another member due to inactivity. Please "
+"press the \"New identity\" button or refresh the page to register a new "
+"identity. You may use the same name."
+msgstr ""
+"Ta tożsamość została usunięta przez innego członka z powodu braku "
+"aktywności. Proszę nacisnąć przycisk \"Nowa tożsamość\" lub odświeżyć "
+"stronę, aby zarejestrować nową tożsamość. Możesz użyć tej samej nazwy."
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:168
+msgid "Welcome to Rendezvous!"
+msgstr "Witamy w Rendezvous!"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:169
+msgid ""
+"Enter your name to join this rendezvous. To begin sharing your location with "
+"the other members, tap the GPS control. When your location is discovered, a "
+"red dot will appear and others will be able to see you on the map."
+msgstr ""
+"Wpisz swoje imię i nazwisko, aby dołączyć do tego spotkania. W celu "
+"rozpoczęcia udostępniania swojej lokalizacji innym członkom, dotknij "
+"elementu sterujÄ…cego GPS. Gdy Twoja lokalizacja zostanie odkryta, pojawi siÄ™ "
+"czerwona kropka i inni będą mogli Cię zobaczyć na mapie."
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:171
+msgid "Let's meet here"
+msgstr "Spotkajmy siÄ™ tutaj"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:174
+msgid "New marker"
+msgstr "Nowy znacznik"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:175
+msgid "Edit marker"
+msgstr "Edytuj znacznik"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:176
+msgid "New identity"
+msgstr "Nowa tożsamość"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:177
+msgid "Delete marker"
+msgstr "Usuń znacznik"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:178
+msgid "Delete member"
+msgstr "Usuń członka"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:179
+msgid "Edit proximity alert"
+msgstr "Edytuj alert zbliżeniowy"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180
+msgid ""
+"A proximity alert will be issued when this member is within a certain radius "
+"of you.<br><br>Enter a radius in meters (0 to disable):"
+msgstr ""
+"Alert zbliżeniowy zostanie wygenerowany, gdy ten członek znajdzie się w "
+"określonym promieniu od Ciebie. <br> <br> Wprowadź promień w metrach (0, aby "
+"wyłączyć):"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:185
+msgid "distance"
+msgstr "odległość"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:181
+msgid "Proximity alert distance (meters)"
+msgstr "Odległość ostrzeżenia o bliskości (metry)"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:182
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:184
+msgid ""
+"A proximity alert will be issued when you are within a certain radius of the "
+"marker location.<br><br>Enter a radius in meters (0 to disable):"
+msgstr ""
+"Alert zbliżeniowy zostanie wygenerowany, gdy znajdziesz się w określonym "
+"promieniu od lokalizacji znacznika. <br> <br> Wprowadź promień w metrach (0, "
+"aby wyłączyć):"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:183
+msgid "Marker proximity alert"
+msgstr "Ostrzeżenie o bliskości znacznika"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:186
+msgid "Reminder note"
+msgstr "Notatka przypominajÄ…ca"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:187
+msgid ""
+"Enter a note to be displayed when you are within the specified proximity..."
+msgstr ""
+"Wprowadź notatkę, która będzie wyświetlana, gdy będziesz w określonej "
+"odległości ..."
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:199
+msgid "Add new rendezvous"
+msgstr "Dodaj nowe spotkanie"
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:200
+msgid ""
+"Create a new rendezvous and share the access link with those you wish to "
+"invite to the group. Those who open the link become members of the "
+"rendezvous. They can view other member locations, add markers to the map, or "
+"share their own locations with the group."
+msgstr ""
+"Utwórz nowe spotkanie i udostępnij łącze dostępu tym, których chcesz "
+"zaprosić do grupy. Osoby, które otworzą łącze, stają się członkami "
+"spotkania. Mogą wyświetlać lokalizacje innych członków, dodawać znaczniki do "
+"mapy lub udostępniać własne lokalizacje grupie."
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:232
+msgid "You have no rendezvous. Press the button above to create a rendezvous!"
+msgstr "Nie masz spotkania. Naciśnij przycisk powyżej, aby utworzyć spotkanie!"
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32
+msgid "Skeleton App"
+msgstr "Aplikacja Szkielet"
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:33
+msgid "A skeleton for addons, you can copy/paste"
+msgstr "Szkielet dodatków, który można skopiować i wkleić"
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40
+msgid "Some setting"
+msgstr "JakieÅ› ustawienie"
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40
+msgid "A setting"
+msgstr "Ustawienie"
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:48
+msgid "Skeleton Settings"
+msgstr "Ustawienia Skeleton"
+
+#: ../../extend/addon/hzaddons/redred/redred.php:50
+msgid "Post to Hubzilla"
+msgstr "Wyślij do Hubzilli"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:24
+msgid "Channel is required."
+msgstr "Kanał jest wymagany."
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:38
+msgid "Hubzilla Crosspost Connector Settings saved."
+msgstr "Ustawienia Hubzilla Crosspost Connector zostały zapisane."
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146
+msgid "Hubzilla Crosspost Connector App"
+msgstr "Aplikacja Hubzilla Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:51
+msgid "Relay public postings to another Hubzilla channel"
+msgstr "Przekaż publiczne posty na inny kanał Hubzilla"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+msgid "Send public postings to Hubzilla channel by default"
+msgstr "Domyślnie wysyłaj publiczne posty na kanał Hubzilla"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67
+msgid "Hubzilla API Path"
+msgstr "Ścieżka API Hubzilla"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53
+msgid "https://{sitename}/api"
+msgstr "https://{sitename}/api"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71
+msgid "Hubzilla login name"
+msgstr "Nazwa logowania Hubzilla"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75
+msgid "Hubzilla channel name"
+msgstr "Nazwa kanału Hubzilla"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:54
+msgid "Nickname"
+msgstr "Pseudonim"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:79
+msgid "Hubzilla password"
+msgstr "Hasło Hubzilla"
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:87
+msgid "Hubzilla Crosspost Connector"
+msgstr "Hubzilla Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:23
+msgid "TOTP Two-Step Verification"
+msgstr "Weryfikacja dwuetapowa TOTP"
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:24
+msgid "Enter the 2-step verification generated by your authenticator app:"
+msgstr ""
+"Wprowadź dwuetapową weryfikację wygenerowaną przez aplikację "
+"uwierzytelniajÄ…cÄ…:"
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:25
+msgid "Success!"
+msgstr "Powodzenie!"
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:26
+msgid "Invalid code, please try again."
+msgstr "Nieprawidłowy kod, proszę spróbować ponownie."
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:27
+msgid "Too many invalid codes..."
+msgstr "Za dużo nieprawidłowych kodów ..."
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:28
+msgid "Verify"
+msgstr "Zweryfikuj"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:90
+msgid ""
+"You haven't set a TOTP secret yet.\n"
+"Please click the button below to generate one and register this site\n"
+"with your preferred authenticator app."
+msgstr ""
+"Nie ustawiłeś jeszcze sekretu TOTP.\n"
+"Kliknij przycisk poniżej, aby to wygenerować i zarejestrować witrynę\n"
+"w preferowanej aplikacji uwierzytelniajÄ…cej."
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:93
+msgid "Your TOTP secret is"
+msgstr "Twój sekret TOTP to"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:94
+msgid ""
+"Be sure to save it somewhere in case you lose or replace your mobile "
+"device.\n"
+"Use your mobile device to scan the QR code below to register this site\n"
+"with your preferred authenticator app."
+msgstr ""
+"Zapisz go gdzieÅ› na wypadek zgubienia lub wymiany urzÄ…dzenia mobilnego.\n"
+"Użyj urządzenia mobilnego, aby zeskanować poniższy kod QR i zarejestrować tą "
+"witrynÄ™\n"
+"w preferowanej aplikacji uwierzytelniajÄ…cej."
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:99
+msgid "Test"
+msgstr "Test"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:100
+msgid "Generate New Secret"
+msgstr "Generowanie nowego sekretu"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:101
+msgid "Go"
+msgstr "Idź dalej"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:102
+msgid "Enter your password"
+msgstr "Wprowadź swoje hasło"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:103
+msgid "enter TOTP code from your device"
+msgstr "wprowadź kod TOTP z urządzenia"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:104
+msgid "Pass!"
+msgstr "Przeszło!"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:105
+msgid "Fail"
+msgstr "Błąd"
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:106
+msgid "Incorrect password, try again."
+msgstr "Nieprawidłowe hasło, spróbuj ponownie."
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:107
+msgid "Record your new TOTP secret and rescan the QR code above."
+msgstr "Zapisz swój nowy sekret TOTP i ponownie przeskanuj powyższy kod QR."
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:115
+msgid "TOTP Settings"
+msgstr "Ustawienia TOTP"
+
+#: ../../extend/addon/hzaddons/testdrive/testdrive.php:104
+#, php-format
+msgid "Your account on %s will expire in a few days."
+msgstr "Twoje konto na %s wygaśnie za kilka dni."
+
+#: ../../extend/addon/hzaddons/testdrive/testdrive.php:105
+msgid "Your $Productname test account is about to expire."
+msgstr "Twoje konto testowe $Productname wkrótce wygaśnie."
+
+#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:70
+msgid "An account has been created for you."
+msgstr "Konto zostało dla Ciebie utworzone."
+
+#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:77
+msgid "Authentication successful but rejected: account creation is disabled."
+msgstr ""
+"Uwierzytelnianie przebiegło pomyślne, ale zostało odrzucone: tworzenie konta "
+"jest wyłączone."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:252
+msgid "DB Cleanup Failure"
+msgstr "Błąd czyszczenia bazy danych"
+
+#: ../../extend/addon/hzaddons/cart/cart.php:674
+msgid "[cart] Item Added"
+msgstr "[koszyk] Dodano element"
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1063
+msgid "Order already checked out."
+msgstr "Zamówienie już jest wyrejestrowane."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1368
+msgid "Drop database tables when uninstalling."
+msgstr "Usuń tabele bazy danych podczas odinstalowywania."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1375
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:129
+msgid "Cart Settings"
+msgstr "Ustawienia koszyka"
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1387
+#: ../../extend/addon/hzaddons/cart/cart.php:1390
+msgid "Shop"
+msgstr "Sklep"
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1446
+#: ../../extend/addon/hzaddons/cart/myshop.php:112
+msgid "Order Not Found"
+msgstr "Nie znaleziono zamówienia"
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1507
+msgid "Cart utilities for orders and payments"
+msgstr "Narzędzia koszyka do zamówień i płatności"
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1545
+msgid "You must be logged into the Grid to shop."
+msgstr "Aby robić zakupy, musisz być zalogowany do Siatki."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1578
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:409
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:392
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:68
+msgid "Order not found."
+msgstr "Nie znaleziono zamówienia."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1592
+msgid "Access denied."
+msgstr "Dostęp zabroniony."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1644
+#: ../../extend/addon/hzaddons/cart/cart.php:1787
+msgid "No Order Found"
+msgstr "Nie znaleziono zamówienia"
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1653
+msgid "An unknown error has occurred Please start again."
+msgstr "Wystąpił nieznany błąd. Zacznij od nowa."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1796
+msgid "Requirements not met."
+msgstr "Nie spełnia wymagań."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1796
+msgid "Review your order and complete any needed requirements."
+msgstr "Przejrzyj swoje zamówienie i spełnij wszystkie wymagania."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1822
+msgid "Invalid Payment Type. Please start again."
+msgstr "Nieprawidłowy typ płatności. Zacznij od nowa."
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1829
+msgid "Order not found"
+msgstr "Nie znaleziono zamówienia"
+
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:70
+msgid "Enable Order/Item Options"
+msgstr "Włącz opcję Zamówienie/Element"
+
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:333
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:357
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:433
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:457
+msgid "Label"
+msgstr "Etykieta"
+
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:336
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:360
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:436
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:460
+msgid "Instructions"
+msgstr "Instukcje"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:63
+msgid "Enable Hubzilla Services Module"
+msgstr "Włącz moduł usług Hubzilla"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:162
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:172
+msgid "New Sku"
+msgstr "Nowy SKU"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:197
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:208
+msgid "Cannot save edits to locked item."
+msgstr "Nie można zapisać zmian w zablokowanym elemencie."
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:246
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:333
+msgid "SKU not found."
+msgstr "Nie znaleziono SKU."
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:299
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:303
+msgid "Invalid Activation Directive."
+msgstr "Nieprawidłowa dyrektywa aktywacyjna."
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:374
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:378
+msgid "Invalid Deactivation Directive."
+msgstr "Nieprawidłowa dyrektywa dezaktywacyjna."
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:564
+msgid "Add to this privacy group"
+msgstr "Dodaj do tej grupy prywatności"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:580
+msgid "Set user service class"
+msgstr "Ustaw klasę usług użytkownika"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:607
+msgid "You must be using a local account to purchase this service."
+msgstr "Aby kupić tę usługę, musisz korzystać z konta lokalnego."
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:647
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:252
+msgid "Changes Locked"
+msgstr "Zmiany zablokowane"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:651
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:256
+msgid "Item available for purchase."
+msgstr "Element dostępny do zakupu."
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:658
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:263
+#: ../../extend/addon/hzaddons/cart/widgets/catalogitem.php:57
+msgid "Price"
+msgstr "Cena"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:661
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:266
+msgid "Photo URL"
+msgstr "Adres URL zdjęcia"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:665
+msgid "Add buyer to privacy group"
+msgstr "Dodaj kupującego do grupy prywatności"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:670
+msgid "Add buyer as connection"
+msgstr "Dodaj kupującego jako połączenie"
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:678
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:720
+msgid "Set Service Class"
+msgstr "Ustaw klasę usługi"
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:151
+msgid "Enable Subscription Management Module"
+msgstr "Włącz moduł zarządzania subskrypcjami"
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:223
+msgid ""
+"Cannot include subscription items with different terms in the same order."
+msgstr ""
+"Nie może zawierać elementów subskrypcji z różnymi terminami w tej samej "
+"kolejności."
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:372
+msgid "Select Subscription to Edit"
+msgstr "Wybierz subskrypcjÄ™ do edycji"
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:380
+msgid "Edit Subscriptions"
+msgstr "Edytuj subskrypcje"
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:414
+msgid "Subscription SKU"
+msgstr "Subskrypcja SKU"
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:419
+msgid "Catalog Description"
+msgstr "Opis katalogu"
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:423
+msgid "Subscription available for purchase."
+msgstr "Subskrypcja dostępna do zakupu."
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:428
+msgid "Maximum active subscriptions to this item per account."
+msgstr "Maksymalna liczba aktywnych subskrypcji tego elementu na konto."
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:431
+msgid "Subscription price."
+msgstr "Cena subskrypcji."
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:435
+msgid "Quantity"
+msgstr "Ilość"
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:439
+msgid "Term"
+msgstr "Termin"
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:86
+msgid "Enable Paypal Button Module (API-v2)"
+msgstr "Włącz moduł przycisków Paypal (API-v2)"
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:94
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:93
+msgid "Use Production Key"
+msgstr "Użyj klucza produkcyjnego"
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:101
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:100
+msgid "Paypal Sandbox Client Key"
+msgstr "Klucz klienta Paypal Sandbox"
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:108
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:107
+msgid "Paypal Sandbox Secret Key"
+msgstr "Tajny klucz Paypal Sandbox"
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:114
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:113
+msgid "Paypal Production Client Key"
+msgstr "Klucz klienta produkcyjny Paypal"
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:121
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:120
+msgid "Paypal Production Secret Key"
+msgstr "Tajny klucz produkcyjny Paypal"
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:264
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:252
+msgid "Paypal button payments are not enabled."
+msgstr "Płatności za pomocą przycisku PayPal nie są włączone."
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:282
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:270
+msgid ""
+"Paypal button payments are not properly configured. Please choose another "
+"payment option."
+msgstr ""
+"Płatności za pomocą przycisku PayPal nie są poprawnie skonfigurowane. "
+"Wybierz inną opcję płatności."
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:85
+msgid "Enable Paypal Button Module"
+msgstr "Włącz moduł przycisku Paypal"
+
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:61
+msgid "Enable Manual Cart Module"
+msgstr "Włącz moduł ręcznego koszyka"
+
+#: ../../extend/addon/hzaddons/cart/myshop.php:30
+msgid "Access Denied."
+msgstr "Dostęp zabroniony."
+
+#: ../../extend/addon/hzaddons/cart/myshop.php:189
+#: ../../extend/addon/hzaddons/cart/myshop.php:223
+#: ../../extend/addon/hzaddons/cart/myshop.php:271
+#: ../../extend/addon/hzaddons/cart/myshop.php:329
+msgid "Invalid Item"
+msgstr "Zła pozycja"
+
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:7
+msgid "Error: order mismatch. Please try again."
+msgstr "Błąd: niezgodność zamówienia. Proszę spróbuj ponownie."
+
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:61
+msgid "Manual payments are not enabled."
+msgstr "Płatności ręczne nie są włączone."
+
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:77
+msgid "Finished"
+msgstr "Zakończone"
+
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:58
+msgid "Enable Test Catalog"
+msgstr "Włącz katalog testów"
+
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:70
+msgid "Enable Manual Payments"
+msgstr "Włącz płatności ręczne"
+
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:90
+msgid "Base Merchant Currency"
+msgstr "Podstawowa waluta sprzedawcy"
+
+#: ../../extend/addon/hzaddons/openid/openid.php:49
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr ""
+"Napotkaliśmy problem podczas logowania za pomocą podanego przez Ciebie "
+"identyfikatora OpenID. Sprawdź poprawną pisownię identyfikatora."
+
+#: ../../extend/addon/hzaddons/openid/openid.php:49
+msgid "The error message was:"
+msgstr "Komunikat o błędzie brzmi:"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:52
+msgid "First Name"
+msgstr "ImiÄ™"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:53
+msgid "Last Name"
+msgstr "Nazwisko"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:55
+msgid "Full Name"
+msgstr "Pełna nazwa"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:61
+msgid "Profile Photo 16px"
+msgstr "Zdjęcie profilowe 16px"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:62
+msgid "Profile Photo 32px"
+msgstr "Zdjęcie profilowe 32px"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:63
+msgid "Profile Photo 48px"
+msgstr "Zdjęcie profilowe 48px"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:64
+msgid "Profile Photo 64px"
+msgstr "Zdjęcie profilowe 64px"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:65
+msgid "Profile Photo 80px"
+msgstr "Zdjęcie profilowe 80px"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:66
+msgid "Profile Photo 128px"
+msgstr "Zdjęcie profilowe 128px"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:70
+msgid "Birth Year"
+msgstr "Rok urodzenia"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:71
+msgid "Birth Month"
+msgstr "MiesiÄ…c urodzenia"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:72
+msgid "Birth Day"
+msgstr "Dzień urodzenia"
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:73
+msgid "Birthdate"
+msgstr "Data urodzenia"
+
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "Błąd protokołu OpenID. Brak identyfikatora."
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:81
+msgid "Hubzilla File Storage Import"
+msgstr "Import z magazynu plików Hubzilla"
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:82
+msgid "This will import all your cloud files from another server."
+msgstr ""
+"Spowoduje to zaimportowanie wszystkich plików w chmurze z innego huba "
+"Hubzilla."
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:83
+msgid "Hubzilla Server base URL"
+msgstr "Bazowy adres URL serwera Hubzilla"
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:84
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:140
+msgid "Since modified date yyyy-mm-dd"
+msgstr "Od daty modyfikacji rrrr-mm-dd"
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:85
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:141
+msgid "Until modified date yyyy-mm-dd"
+msgstr "Do daty modyfikacji rrrr-mm-dd"
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:43
+msgid "Diaspora Protocol Settings updated."
+msgstr "Zaktualizowano ustawienia protokołu Diaspora."
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:52
+msgid ""
+"The diaspora protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
+"Protokół Diaspora nie obsługuje niezależności lokalizacji. Połączenia "
+"nawiązane w tej sieci mogą być niedostępne z innych lokalizacji kanałów."
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58
+msgid "Diaspora Protocol App"
+msgstr "Aplikacja Diaspora Protocol"
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:75
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr "Pozwól każdemu członkowi Diaspory komentować Twoje publiczne posty"
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:79
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr "Zapobiegaj przekierowywaniu hashtagów do innych witryn"
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:83
+msgid "Sign and forward posts and comments with no existing Diaspora signature"
+msgstr "Podpisuj i przesyłaj dalej posty i komentarze bez podpisu Diaspory"
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:88
+msgid "Followed hashtags (comma separated, do not include the #)"
+msgstr "Obserwowane hashtagi (oddzielone przecinkami, nie dodawaj #)"
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:97
+msgid "Diaspora Protocol"
+msgstr "Diaspora Protocol"
+
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:19
+msgid "No username found in import file."
+msgstr "W pliku importu nie znaleziono nazwy użytkownika."
+
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541
+#, php-format
+msgid "%1$s dislikes %2$s's %3$s"
+msgstr "%1$s desaprobat %2$s %3$s"
+
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:66
+msgid ""
+"Please install the statistics addon to be able to configure a diaspora relay"
+msgstr ""
+"Zainstaluj dodatek do statystyk, aby móc skonfigurować przekaźnik Diaspory"
+
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76
+msgid "Diaspora Relay Handle"
+msgstr "Uchwyt przekaźnika Diaspory"
+
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76
+msgid "Address of a diaspora relay. Example: relay@diasporarelay.tld"
+msgstr "Adres przekaźnika diaspory. Przykład: relay@diasporarelay.tld"
+
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:96
+msgid "Diaspora relay could not be imported"
+msgstr "Nie można zaimportować przekaźnika diaspory"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:94
+msgid "Hubzilla Directory Stats"
+msgstr "Statystyki katalogowe Hubzilla"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:95
+msgid "Total Hubs"
+msgstr "Razem huby"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:97
+msgid "Hubzilla Hubs"
+msgstr "Huby Hubzilla"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:99
+msgid "Friendica Hubs"
+msgstr "Huby Friendica"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:101
+msgid "Diaspora Pods"
+msgstr "Pody Diaspora"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:103
+msgid "Hubzilla Channels"
+msgstr "Kanały Hubzilla"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:105
+msgid "Friendica Channels"
+msgstr "Kanały Friendica"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:107
+msgid "Diaspora Channels"
+msgstr "Kanały Diaspora"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:109
+msgid "Aged 35 and above"
+msgstr "W wieku 35 lat i więcej"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:111
+msgid "Aged 34 and under"
+msgstr "W wieku 34 lat i poniżej"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:113
+msgid "Average Age"
+msgstr "Åšredni wiek"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:115
+msgid "Known Chatrooms"
+msgstr "Znane czaty"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:117
+msgid "Known Tags"
+msgstr "Znane tagi"
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:119
+msgid ""
+"Please note Diaspora and Friendica statistics are merely those **this "
+"directory** is aware of, and not all those known in the network. This also "
+"applies to chatrooms,"
+msgstr ""
+"Proszę mieć na uwadze, że statystyki Diaspory i Friendica to tylko te,które "
+"sÄ… widoczne dla **tego katalogu**, a nie wszystkie znane w sieci. Dotyczy to "
+"również czatów,"
+
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:25
+msgid "Show Upload Limits"
+msgstr "Pokaż limity przesyłania"
+
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:27
+msgid "Hubzilla configured maximum size: "
+msgstr "Maksymalny rozmiar skonfigurowany w Hubzilli: "
+
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:28
+msgid "PHP upload_max_filesize: "
+msgstr "PHP upload_max_filesize: "
+
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:29
+msgid "PHP post_max_size (must be larger than upload_max_filesize): "
+msgstr "PHP post_max_size (musi być większe od upload_max_filesize): "
+
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27
+msgid "Hide Aside App"
+msgstr "Aplikacja Hide Aside"
+
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:24
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:28
+msgid "Fade out aside areas after a while when using endless scroll"
+msgstr "Powoduje zanikanie obszaru po chwili, gdy używasz długiego przewijania"
+
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26
+msgid "Installed"
+msgstr "Zainstalowane"
+
+#: ../../extend/addon/hzaddons/randpost/randpost.php:97
+msgid "You're welcome."
+msgstr "ProszÄ™ bardzo."
+
+#: ../../extend/addon/hzaddons/randpost/randpost.php:98
+msgid "Ah shucks..."
+msgstr "O cholera ..."
+
+#: ../../extend/addon/hzaddons/randpost/randpost.php:99
+msgid "Don't mention it."
+msgstr "Nie wspominaj o tym."
+
+#: ../../extend/addon/hzaddons/randpost/randpost.php:100
+msgid "&lt;blush&gt;"
+msgstr "&lt;rumieniec&gt;"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:133
+msgid "View Larger"
+msgstr "Zobacz większe"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156
+msgid "Tile Server URL"
+msgstr "Adres URL serwera kafelków rastrowych"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank"
+"\">public tile servers</a>"
+msgstr ""
+"Lista <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank"
+"\">publicznych serwerów kafelków</a>"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157
+msgid "Nominatim (reverse geocoding) Server URL"
+msgstr "Adres URL serwera Nominatim (odwrotne geokodowanie)"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target="
+"\"_blank\">Nominatim servers</a>"
+msgstr ""
+"Lista <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target="
+"\"_blank\">serwerów Nominatim</a>"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158
+msgid "Default zoom"
+msgstr "Powiększenie domyślne"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158
+msgid ""
+"The default zoom level. (1:world, 18:highest, also depends on tile server)"
+msgstr ""
+"Domyślny poziom powiększenia. (1: świat, 18: najwyższy, zależy również od "
+"serwera kafelków)"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159
+msgid "Include marker on map"
+msgstr "Uwzględnij znacznik na mapie"
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159
+msgid "Include a marker on the map."
+msgstr "Umieść znacznik na tej mapie."
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38
+msgid "Livejournal Crosspost Connector App"
+msgstr "Aplikacja Livejournal Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:39
+msgid "Relay public posts to Livejournal"
+msgstr "Przekazuj publiczne posty do Livejournal"
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:55
+msgid "Livejournal username"
+msgstr "Nazwa użytkownika w Livejournal"
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:59
+msgid "Livejournal password"
+msgstr "Hasło do Livejournal"
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+msgid "Post to Livejournal by default"
+msgstr "Domyślnie wysyłaj do Livejournal"
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+msgid "Send wall-to-wall posts to Livejournal"
+msgstr "Wysyłaj posty \"wall-to-wall\" do Livejournal"
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+msgid "Add link to original post"
+msgstr "Dodaj odnośnik do oryginalnego postu"
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:79
+msgid "Livejournal Crosspost Connector"
+msgstr "Livejournal Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:49
+msgid "Post to Livejournal"
+msgstr "Publikuj w Livejournal"
+
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:127
+msgid "Posted by"
+msgstr "Wysłane przez"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:222
+msgid "Workflow user."
+msgstr "Przepływ pracy użytkownika."
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:272
+msgid "This channel"
+msgstr "Ten kanał"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:541
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1437
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1456
+msgid "Workflow"
+msgstr "Przepływ pracy"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1425
+msgid "No Workflows Available"
+msgstr "Żaden przepływ nie jest dostępny"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1455
+msgid "Add item to which workflow"
+msgstr "Dodaj element do przepływu pracy"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1515
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1634
+msgid "Create Workflow Item"
+msgstr "Utwórz element przepływu pracy"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2596
+msgid "Link"
+msgstr "Link"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2598
+msgid "Web link."
+msgstr "Link do strony internetowej."
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2619
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2680
+msgid "Brief description or title"
+msgstr "Krótki opis lub tytuł"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2627
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2688
+msgid "Notes and Info"
+msgstr "Uwagi i informacje"
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2686
+msgid "Body"
+msgstr "Ciało"
+
+#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:101
+msgid "Workflow Settings"
+msgstr "Ustawienia przepływu pracy"
+
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:44
+msgid "Jabber BOSH host"
+msgstr "Host Jabber BOSH"
+
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45
+msgid "Use central userbase"
+msgstr "Użyj centralnej bazy użytkowników"
+
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45
+msgid ""
+"If enabled, members will automatically login to an ejabberd server that has "
+"to be installed on this machine with synchronized credentials via the "
+"\"auth_ejabberd.php\" script."
+msgstr ""
+"Jeśli jest włączone, członkowie będą automatycznie logować się do serwera "
+"ejabberd, który musi być zainstalowany na tym komputerze z "
+"zsynchronizowanymi danymi uwierzytelniającymi za pośrednictwem skryptu "
+"„auth_ejabberd.phpâ€."
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:23
+msgid "XMPP settings updated."
+msgstr "Zaktualizowano ustawienia XMPP."
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35
+msgid "XMPP App"
+msgstr "Aplikacja XMPP"
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:36
+msgid "Embedded XMPP (Jabber) client"
+msgstr "Osadzony klient XMPP (Jabber)"
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:52
+msgid "Individual credentials"
+msgstr "Indywidualne poświadczenia"
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:58
+msgid "Jabber BOSH server"
+msgstr "Serwer Jabber BOSH"
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:67
+msgid "XMPP Settings"
+msgstr "Ustawienia XMPP"
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20
+msgid "Superblock App"
+msgstr "Aplikacja Superblock"
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:21
+msgid "Block channels"
+msgstr "Blokuj kanał"
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:63
+msgid "superblock settings updated"
+msgstr "zaktualizowano ustawienia superbloku"
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:87
+msgid "Currently blocked"
+msgstr "Obecnie zablokowane"
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:89
+msgid "No channels currently blocked"
+msgstr "Obecnie żadne kanały nie są zablokowane"
+
+#: ../../extend/addon/hzaddons/superblock/superblock.php:337
+msgid "Block Completely"
+msgstr "Zablokuj całkowicie"
+
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23
+msgid "Random Planet App"
+msgstr "Aplikacja Random Planet"
+
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:25
+msgid ""
+"Set a random planet from the Star Wars Empire as your location when posting"
+msgstr ""
+"Podczas wysyłania ustaw, jako lokalizację, losową planetę z Imperium "
+"Gwiezdnych Wojen"
+
+#: ../../extend/addon/hzaddons/nsfw/nsfw.php:152
+msgid "Possible adult content"
+msgstr "Możliwe treści dla dorosłych"
+
+#: ../../extend/addon/hzaddons/nsfw/nsfw.php:167
+#, php-format
+msgid "%s - view"
+msgstr "%s - widok"
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:22
+msgid "NSFW Settings saved."
+msgstr "Zapisano ustawienia NSFW."
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33
+msgid "NSFW App"
+msgstr "Aplikacja NSFW"
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:34
+msgid "Collapse content that contains predefined words"
+msgstr "Zwiń zawartość zawierającą predefiniowane słowa"
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:44
+msgid ""
+"This app looks in posts for the words/text you specify below, and collapses "
+"any content containing those keywords so it is not displayed at "
+"inappropriate times, such as sexual innuendo that may be improper in a work "
+"setting. It is polite and recommended to tag any content containing nudity "
+"with #NSFW. This filter can also match any other word/text you specify, and "
+"can thereby be used as a general purpose content filter."
+msgstr ""
+"Ta aplikacja wyszukuje słowa lub tekst, określone poniżej i zwija wszelkie "
+"treści zawierające te słowa kluczowe, aby nie były wyświetlane w "
+"nieodpowiednich momentach, takich jak insynuacje seksualne, które mogą być "
+"niewłaściwe w miejscu pracy. Grzecznie jest i zaleca się, oznaczanie "
+"wszelkich treści zawierających nagość tagiem #NSFW. Ten filtr może również "
+"pasować do dowolnego innego określonego słowa lub tekstu, dzięki czemu może "
+"być używany jako filtr treści ogólnego przeznaczenia."
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49
+msgid "Comma separated list of keywords to hide"
+msgstr "Lista słów kluczowych rozdzielona przecinkami"
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49
+msgid "Word, /regular-expression/, lang=xx, lang!=xx"
+msgstr "Słowo, /wyrażenie regularne/, lang=xx, lang!=xx"
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:58
+msgid "NSFW"
+msgstr "NSFW"
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:21
+msgid "Three Dimensional Tic-Tac-Toe"
+msgstr "Trójwymiarowy Tic-Tac-Toe"
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:54
+msgid "3D Tic-Tac-Toe"
+msgstr "3D Tic-Tac-Toe"
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:59
+msgid "New game"
+msgstr "Nowa gra"
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:60
+msgid "New game with handicap"
+msgstr "Nowa gra z handicapem"
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:61
+msgid ""
+"Three dimensional tic-tac-toe is just like the traditional game except that "
+"it is played on multiple levels simultaneously. "
+msgstr ""
+"Trójwymiarowa gra w kółko i krzyżyk jest podobna do tradycyjnej gry, z tym "
+"wyjątkiem, że gra się w nią na wielu poziomach jednocześnie. "
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:62
+msgid ""
+"In this case there are three levels. You win by getting three in a row on "
+"any level, as well as up, down, and diagonally across the different levels."
+msgstr ""
+"W tym przypadku są trzy poziomy. Wygrywasz, zdobywając trzy z rzędu na "
+"dowolnym poziomie, a także w górę, w dół i po przekątnej na różnych "
+"poziomach."
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:64
+msgid ""
+"The handicap game disables the center position on the middle level because "
+"the player claiming this square often has an unfair advantage."
+msgstr ""
+"Gra z handicapem wyłącza środkową pozycję na środkowym poziomie, ponieważ "
+"gracz zajmujący to pole często ma nieuczciwą przewagę."
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:183
+msgid "You go first..."
+msgstr "Ty pierwszy ..."
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:188
+msgid "I'm going first this time..."
+msgstr "Tym razem idÄ™ pierwszy ..."
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:194
+msgid "You won!"
+msgstr "Wygrałeś!"
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:200
+#: ../../extend/addon/hzaddons/tictac/tictac.php:225
+msgid "\"Cat\" game!"
+msgstr "Gra \"Kot\"!"
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:223
+msgid "I won!"
+msgstr "Wygrałem!"
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:27
+msgid "Photo Cache settings saved."
+msgstr "Zapisano ustawienia pamięci podręcznej zdjęć."
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:36
+msgid ""
+"Photo Cache addon saves a copy of images from external sites locally to "
+"increase your anonymity in the web."
+msgstr ""
+"Dodatek Photo Cache zapisuje lokalnie kopie obrazów z zewnętrznych witryn, "
+"aby zwiększyć Twoją anonimowość w sieci."
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42
+msgid "Photo Cache App"
+msgstr "Aplikacja Photo Cache"
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:53
+msgid "Minimal photo size for caching"
+msgstr "Minimalny rozmiar zdjęcia do buforowania"
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:55
+msgid "In pixels. From 1 up to 1024, 0 will be replaced with system default."
+msgstr ""
+"W pikselach. Od 1 do 1024, 0 zostanie zastąpione domyślnymi ustawieniami "
+"systemowymi."
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:64
+msgid "Photo Cache"
+msgstr "Photo Cache"
+
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:26
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr "Szukaj %1$s (%2$s)"
+
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:28
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr "Hubzilla"
+
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:43
+msgid "Search $Projectname"
+msgstr "Szukaj w Hubzilla"
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:25
+msgid "Libertree Crosspost Connector Settings saved."
+msgstr "Zapisano ustawienia Libertree Crosspost Connector."
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35
+msgid "Libertree Crosspost Connector App"
+msgstr "Aplikacja Libertree Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:36
+msgid "Relay public posts to Libertree"
+msgstr "Przekazuj publiczne posty do Libertree"
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:51
+msgid "Libertree API token"
+msgstr "Token API Libertree"
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:55
+msgid "Libertree site URL"
+msgstr "Adres URL witrny Libertree"
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+msgid "Post to Libertree by default"
+msgstr "Domyślnie publikuj w Libertree"
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:67
+msgid "Libertree Crosspost Connector"
+msgstr "Libertree Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/libertree/libertree.php:43
+msgid "Post to Libertree"
+msgstr "Publikuj w Libertree"
+
+#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:24
+msgid "Flag Adult Photos"
+msgstr "Oznaczanie zdjęć dla dorosłych"
+
+#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:25
+msgid ""
+"Provide photo edit option to hide inappropriate photos from default album "
+"view"
+msgstr ""
+"Dostarcza opcję edycji zdjęć, umożliwiającą ukrywanie nieodpowiednich zdjęć "
+"w domyślnym widoku albumu"
+
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:145
+msgid "Post to GNU social"
+msgstr "Publikuj w serwisie społecznościowym GNU"
+
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:594
+msgid "API URL"
+msgstr "Adres URL API"
+
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:597
+msgid "Application name"
+msgstr "Nazwa aplikacji"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:61
+msgid ""
+"Please contact your site administrator.<br />The provided API URL is not "
+"valid."
+msgstr ""
+"Skontaktuj siÄ™ z administratorem witryny. <br/> Podany adres URL interfejsu "
+"API jest nieprawidłowy."
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:98
+msgid "We could not contact the GNU social API with the Path you entered."
+msgstr ""
+"Nie mogliśmy nawiązać połączenia ze społecznościowym API GNU o podanej "
+"ścieżce."
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:130
+msgid "GNU social settings updated."
+msgstr "Ustawienia społecznościowe GNU zostały zaktualizowane."
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:147
+msgid ""
+"Relay public postings to a connected GNU social account (formerly StatusNet)"
+msgstr ""
+"Przekazywanie publicznych postów na połączone konto społecznościowe GNU "
+"(dawniej StatusNet)"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:181
+msgid "Globally Available GNU social OAuthKeys"
+msgstr "Globalnie dostępne klucze OAuthKey społecznościowe GNU"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:183
+msgid ""
+"There are preconfigured OAuth key pairs for some GNU social servers "
+"available. If you are using one of them, please use these credentials.<br /"
+">If not feel free to connect to any other GNU social instance (see below)."
+msgstr ""
+"Dostępne są wstępnie skonfigurowane pary kluczy OAuth dla niektórych "
+"serwerów społecznościowych GNU. Jeśli używasz jednego z nich, użyj tych "
+"poświadczeń. <br /> Jeśli nie możesz połączyć się z inną instancją "
+"społecznościową GNU (patrz poniżej)."
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:198
+msgid "Provide your own OAuth Credentials"
+msgstr "Podaj własne dane logowania OAuth"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:200
+msgid ""
+"No consumer key pair for GNU social found. Register your Hubzilla Account as "
+"an desktop client on your GNU social account, copy the consumer key pair "
+"here and enter the API base root.<br />Before you register your own OAuth "
+"key pair ask the administrator if there is already a key pair for this "
+"Hubzilla installation at your favourite GNU social installation."
+msgstr ""
+"Nie znaleziono pary kluczy konsumenckich dla społeczności GNU. Zarejestruj "
+"swoje konto Hubzilla jako klienta stacjonarnego na swoim koncie "
+"społecznościowym GNU, skopiuj tutaj parę kluczy klienta i wprowadź "
+"podstawowy katalog główny API. <br /> Przed zarejestrowaniem własnej pary "
+"kluczy OAuth zapytaj administratora, czy istnieje już para kluczy dla tej "
+"instalacji Hubzilli w Twojej ulubionej instalacji społecznościowej GNU."
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:204
+msgid "OAuth Consumer Key"
+msgstr "Klucz klienta OAuth"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:208
+msgid "OAuth Consumer Secret"
+msgstr "Tajny klucz klienta OAuth"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212
+msgid "Base API Path"
+msgstr "Podstawowa ścieżka API"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212
+msgid "Remember the trailing /"
+msgstr "Zapamiętaj końcowy ukośnik /"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:216
+msgid "GNU social application name"
+msgstr "Nazwa aplikacji społecznościowej GNU"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:239
+msgid ""
+"To connect to your GNU social account click the button below to get a "
+"security code from GNU social which you have to copy into the input box "
+"below and submit the form. Only your <strong>public</strong> posts will be "
+"posted to GNU social."
+msgstr ""
+"W celu połączenia się ze swoim kontem społecznościowym GNU, kliknij poniższy "
+"przycisk, aby uzyskać kod zabezpieczający z serwisu społecznościowego GNU, "
+"który musisz skopiować do pola wprowadzania poniżej i przesłać formularz. "
+"Tylko twoje <strong>publiczne</strong> posty będą publikowane w "
+"społecznościach GNU."
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:241
+msgid "Log in with GNU social"
+msgstr "Zaloguj się za pomocą serwisu społecznościowego GNU"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:244
+msgid "Copy the security code from GNU social here"
+msgstr "Skopiuj tutaj kod bezpieczeństwa z GNU Social"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:254
+msgid "Cancel Connection Process"
+msgstr "Anuluj proces łączenia"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:256
+msgid "Current GNU social API is"
+msgstr "Obecne API społecznościowe GNU to"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+msgid "Cancel GNU social Connection"
+msgstr "Anuluj połączenie społecznościowe GNU"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:272
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:147
+msgid "Currently connected to: "
+msgstr "Obecnie połączony z: "
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:277
+msgid ""
+"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to GNU social will lead the visitor to a blank page "
+"informing the visitor that the access to your profile has been restricted."
+msgstr ""
+"<strong>Uwaga</strong>: Ze względu na Twoje ustawienia prywatności, odnośnik "
+"(<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami? </em>), "
+"ewentualnie zawarty w publicznych postach przekazywanych do społeczności "
+"GNU, będzie kierował odwiedzającego na pustą stronę z informacją dla "
+"odwiedzającego, że dostęp do Twojego profilu został ograniczony."
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+msgid "Post to GNU social by default"
+msgstr "Wysyłaj domyślnie do społeczności GNU"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+msgid ""
+"If enabled your public postings will be posted to the associated GNU-social "
+"account by default"
+msgstr ""
+"Jeśli ta opcja jest włączona, twoje publiczne posty będą domyślnie wysyłane "
+"na powiązane konto społecznościowe GNU"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+msgid "Clear OAuth configuration"
+msgstr "Wyczyść konfigurację OAuth"
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:303
+msgid "GNU-Social Crosspost Connector"
+msgstr "GNU-Social Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/wholikesme/wholikesme.php:29
+msgid "Who likes me?"
+msgstr "Kto mnie lubi?"
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:25
+msgid "ActivityPub Protocol Settings updated."
+msgstr "Zaktualizowano ustawienia ActivityPub Protocol."
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:34
+msgid ""
+"The activitypub protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
+"Protokół AactivityPub nie obsługuje niezależności od lokalizacji. Połączenia "
+"nawiązane w tej sieci mogą być niedostępne z innych lokalizacji kanałów."
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40
+msgid "Activitypub Protocol App"
+msgstr "Aplikacja Activitypub Protocol"
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50
+msgid "Deliver to ActivityPub recipients in privacy groups"
+msgstr "Dostarcz do odbiorców ActivityPub w grupach prywatności"
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50
+msgid ""
+"May result in a large number of mentions and expose all the members of your "
+"privacy group"
+msgstr ""
+"Może skutkować dużą liczbą wzmianek i ujawnieniem wszystkich członków Twojej "
+"grupy prywatności"
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54
+msgid "Send multi-media HTML articles"
+msgstr "Wysyłaj multimedialne artykuły HTML"
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54
+msgid "Not supported by some microblog services such as Mastodon"
+msgstr "Nieobsługiwane przez niektóre usługi mikroblogów, takie jak Mastodon"
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:62
+msgid "Activitypub Protocol"
+msgstr "Activitypub Protocol"
+
+#: ../../extend/addon/hzaddons/ijpost/ijpost.php:44
+msgid "Post to Insane Journal"
+msgstr "Publikuj w Insane Journal"
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:23
+msgid "Insane Journal Crosspost Connector Settings saved."
+msgstr "Zapisano ustawienia Insane Journal Crosspost Connector."
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35
+msgid "Insane Journal Crosspost Connector App"
+msgstr "Aplikacja Insane Journal Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:36
+msgid "Relay public postings to Insane Journal"
+msgstr "Przekaż publiczne posty do Insane Journal"
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:53
+msgid "InsaneJournal username"
+msgstr "Nazwa użytkownika InsaneJournal"
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:57
+msgid "InsaneJournal password"
+msgstr "Hasło InsaneJournal"
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+msgid "Post to InsaneJournal by default"
+msgstr "Domyślnie publikuj w InsaneJournal"
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:69
+msgid "Insane Journal Crosspost Connector"
+msgstr "Insane Journal Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:77
+msgid "Max queueworker threads"
+msgstr "Maksymalna liczba wątków w kolejce"
+
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:91
+msgid "Assume workers dead after ___ seconds"
+msgstr "Załóż, że workery wygasają po ___ sekundach"
+
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:105
+msgid ""
+"Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)"
+msgstr ""
+"Wstrzymaj przed rozpoczęciem następnego zadania: (w mikrosekundach. Minimum "
+"100 = .0001 sekund)"
+
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:116
+msgid "Queueworker Settings"
+msgstr "Ustawienia Queueworkera"
+
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:218
+msgid "Not allowed."
+msgstr "Niedozwolone."
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:123
+msgid "generic profile image"
+msgstr "ogólne zdjęcie profilowe"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:124
+msgid "random geometric pattern"
+msgstr "losowy wzór geometryczny"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:125
+msgid "monster face"
+msgstr "twarz potwora"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:126
+msgid "computer generated face"
+msgstr "wygenerowana komputerowo twarz"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:127
+msgid "retro arcade style face"
+msgstr "twarz w stylu retro arcade"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:128
+msgid "Hub default profile photo"
+msgstr "Domyślne zdjęcie profilowe huba"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143
+msgid "Information"
+msgstr "Informacje"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143
+msgid ""
+"Libravatar addon is installed, too. Please disable Libravatar addon or this "
+"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if "
+"nothing was found at Libravatar."
+msgstr ""
+"Dodatek Libravatar jest również zainstalowany. Proszę wyłączyć dodatek "
+"Libravatar lub ten dodatek Gravatar. <br> Dodatek Libravatar wykorzysta "
+"Gravatara, jeśli nic nie zostanie znalezione w bibliotece Libravatara."
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151
+msgid "Default avatar image"
+msgstr "Domyślny obraz awatara"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151
+msgid "Select default avatar image if none was found at Gravatar. See README"
+msgstr ""
+"Wybierz domyślny obraz awatara, jeśli nic nie zostało znaleziony w "
+"Gravatarze. Zobacz README"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152
+msgid "Rating of images"
+msgstr "Ocena zdjęć"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152
+msgid "Select the appropriate avatar rating for your site. See README"
+msgstr "Wybierz odpowiedniÄ… ocenÄ™ awatara dla swojej witryny. Zobacz README"
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:165
+msgid "Gravatar settings updated."
+msgstr "Zaktualizowano ustawienia Gravatara."
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:104
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:176
+msgid "Network error"
+msgstr "Błąd sieci"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:108
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:180
+msgid "API error"
+msgstr "Błąd API"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:112
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:184
+msgid "Unknown issue"
+msgstr "Nieznany problem"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:168
+msgid "Unable to login using email address "
+msgstr "Nie można zalogować się przy użyciu adresu e-mail "
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:202
+msgid "Sign in to Hubzilla using a social account"
+msgstr "Zaloguj się do Hubzilli za pomocą konta społecznościowego"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:207
+msgid "Social Authentication using your social media account"
+msgstr ""
+"Uwierzytelnianie społecznościowe za pomocą konta w mediach społecznościowych"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:211
+msgid ""
+"This app enables one or more social provider sign-in buttons on the login "
+"page."
+msgstr ""
+"Ta aplikacja umożliwia korzystanie na stronie logowania z co najmniej "
+"jednego przycisku logowania dostawcy usług społecznościowych."
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:229
+msgid "Add an identity provider"
+msgstr "Dodaj dostawcę tożsamości"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:256
+msgid "Enable "
+msgstr "Włącz "
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263
+msgid "Key"
+msgstr "Klucz"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:284
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297
+msgid "Word"
+msgstr "Słowo"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268
+msgid "Secret"
+msgstr "Sekret"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297
+msgid "Add a custom provider"
+msgstr "Dodaj własnego dostawcę"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:317
+msgid "Remove an identity provider"
+msgstr "Usuń dostawcę tożsamości"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:327
+msgid "Social authentication"
+msgstr "Uwierzytelnianie społecznościowe"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:366
+msgid "Error while saving provider settings"
+msgstr "Błąd podczas zapisywania ustawień dostawcy"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:382
+msgid "Custom provider already exists"
+msgstr "Własny dostawca już istnieje"
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:399
+msgid "Social authentication settings saved."
+msgstr "Zapisano ustawienia uwierzytelniania społecznościowego."
+
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:14
+msgid "Send your identity to all websites"
+msgstr "Wyślij swoją tożsamość do wszystkich witryn internetowych"
+
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20
+msgid "Sendzid App"
+msgstr "Aplikacja Sendzid"
+
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:32
+msgid "Send ZID"
+msgstr "Wyślij ZID"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:106
+msgid "Photos imported"
+msgstr "Zdjęcia zaimportowane"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:129
+msgid "Redmatrix Photo Album Import"
+msgstr "Import albumu fotograficznego Redmatrix"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:130
+msgid "This will import all your Redmatrix photo albums to this channel."
+msgstr ""
+"Spowoduje to zaimportowanie wszystkich albumów ze zdjęciami z Redmatrix do "
+"tego kanału."
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:131
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:121
+msgid "Redmatrix Server base URL"
+msgstr "Podstawowy adres URL serwera Redmatrix"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:132
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:122
+msgid "Redmatrix Login Username"
+msgstr "Nazwa użytkownika logowania w Redmatrix"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:133
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:123
+msgid "Redmatrix Login Password"
+msgstr "Hasło logowania do Redmatrix"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134
+msgid "Import just this album"
+msgstr "Zaimportuj tylko ten album"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134
+msgid "Leave blank to import all albums"
+msgstr "Pozostaw puste, aby zaimportować wszystkie albumy"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135
+msgid "Maximum count to import"
+msgstr "Maksymalna liczba albumów do zaimportowania"
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135
+msgid "0 or blank to import all available"
+msgstr "0 lub puste, aby zaimportować wszystkie dostępne"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:65
+msgid "Twitter settings updated."
+msgstr "Zaktualizowano ustawienia Twittera."
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78
+msgid "Twitter Crosspost Connector App"
+msgstr "Aplikacja Twitter Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:79
+msgid "Relay public posts to Twitter"
+msgstr "Przekazuj publiczne posty na Twitter"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:103
+msgid ""
+"No consumer key pair for Twitter found. Please contact your site "
+"administrator."
+msgstr ""
+"Nie znaleziono pary kluczy klienta dla Twittera. Skontaktuj siÄ™ z "
+"administratorem witryny."
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:125
+msgid ""
+"At this Hubzilla instance the Twitter plugin was enabled but you have not "
+"yet connected your account to your Twitter account. To do so click the "
+"button below to get a PIN from Twitter which you have to copy into the input "
+"box below and submit the form. Only your <strong>public</strong> posts will "
+"be posted to Twitter."
+msgstr ""
+"W tej instancji Hubzilla wtyczka Twittera była włączona, ale nie połączyłeś "
+"jeszcze swojego konta z kontem na Twitterze. Aby to zrobić, kliknij poniższy "
+"przycisk, aby uzyskać kod PIN z Twittera, który należy skopiować do pola "
+"wprowadzania poniżej i przesłać formularz. Na Twitterze będą publikowane "
+"tylko Twoje <strong>publiczne</strong> posty."
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:127
+msgid "Log in with Twitter"
+msgstr "Zaloguj siÄ™ za pomocÄ… Twittera"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:130
+msgid "Copy the PIN from Twitter here"
+msgstr "Skopiuj tutaj PIN z Twittera"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:152
+msgid ""
+"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to Twitter will lead the visitor to a blank page informing "
+"the visitor that the access to your profile has been restricted."
+msgstr ""
+"<strong> Uwaga: </strong> Ze względu na Twoje ustawienia prywatności "
+"(<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami?</em>) ten "
+"link, potencjalnie zawarty w publicznych postach przekazywanych do Twittera, "
+"będzie prowadził odwiedzającego do pustej strony informującej gościa, że "
+"dostęp do Twojego profilu został ograniczony."
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157
+msgid "Twitter post length"
+msgstr "Długość postu na Twitterze"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157
+msgid "Maximum tweet length"
+msgstr "Maksymalna długość tweeta"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+msgid "Send public postings to Twitter by default"
+msgstr "Domyślnie wysyłaj publiczne posty na Twitter"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+msgid ""
+"If enabled your public postings will be posted to the associated Twitter "
+"account by default"
+msgstr ""
+"Jeśli ta opcja jest włączona, Twoje publiczne posty będą domyślnie "
+"publikowane na powiÄ…zanym koncie Twittera"
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:181
+msgid "Twitter Crosspost Connector"
+msgstr "Twitter Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/twitter/twitter.php:109
+msgid "Post to Twitter"
+msgstr "Opublikuj na Twitterze"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:21
+msgid "Project Servers and Resources"
+msgstr "Serwery projektów i zasoby"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:22
+msgid "Project Creator and Tech Lead"
+msgstr "Twórca projektu i kierownik techniczny"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:49
+msgid ""
+"And the hundreds of other people and organisations who helped make the "
+"Hubzilla possible."
+msgstr "Oraz setki innych osób i organizacji, które pomogły stworzyć Hubzillę."
+
+#: ../../extend/addon/hzaddons/donate/donate.php:52
+msgid ""
+"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving "
+"their time and expertise - and often paying out of pocket for services they "
+"share with others."
+msgstr ""
+"Projekty Redmatrix i Hubzilla są realizowane głównie przez wolontariuszy, "
+"którzy poświęcają swój czas i wiedzę i często płacą z własnej kieszeni za "
+"usługi, którymi dzielą się z innymi."
+
+#: ../../extend/addon/hzaddons/donate/donate.php:53
+msgid ""
+"There is no corporate funding and no ads, and we do not collect and sell "
+"your personal information. (We don't control your personal information - "
+"<strong>you do</strong>.)"
+msgstr ""
+"Nie ma żadnych funduszy korporacyjnych ani reklam a my nie zbieramy i nie "
+"sprzedajemy Twoich danych osobowych. (Nie kontrolujemy Twoich danych "
+"osobowych - <strong> Ty tak </strong>)."
+
+#: ../../extend/addon/hzaddons/donate/donate.php:54
+msgid ""
+"Help support our ground-breaking work in decentralisation, web identity, and "
+"privacy."
+msgstr ""
+"Pomóż nam wspierać nasze przełomowe prace w zakresie decentralizacji, "
+"tożsamości internetowej i prywatności."
+
+#: ../../extend/addon/hzaddons/donate/donate.php:56
+msgid ""
+"Your donations keep servers and services running and also helps us to "
+"provide innovative new features and continued development."
+msgstr ""
+"Twoje darowizny zapewniają nieprzerwane działanie serwerów i usług, a także "
+"pomagają nam w zapewnianiu innowacyjnych nowych funkcji i ciągłym rozwoju."
+
+#: ../../extend/addon/hzaddons/donate/donate.php:59
+msgid "Donate"
+msgstr "Wspomóż"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:61
+msgid ""
+"Choose a project, developer, or public hub to support with a one-time "
+"donation"
+msgstr ""
+"Wybierz projekt, dewelopera lub publiczny hub, aby wesprzeć jednorazową "
+"darowiznÄ…"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:62
+msgid "Donate Now"
+msgstr "Wpłać teraz"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:63
+msgid ""
+"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"
+msgstr ""
+"<strong><em>lub</em> </strong> zostań sponsorem projektu (tylko Projekt "
+"Hubzilla)"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:64
+msgid ""
+"Please indicate if you would like your first name or full name (or nothing) "
+"to appear in our sponsor listing"
+msgstr ""
+"Wskaż, czy chcesz, aby Twoje imię lub imię i nazwisko pojawiało się na "
+"naszej liście sponsorów"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:65
+msgid "Sponsor"
+msgstr "Sponsor"
+
+#: ../../extend/addon/hzaddons/donate/donate.php:68
+msgid "Special thanks to: "
+msgstr "Specjalne podziękowania dla: "
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:26
+msgid "Dreamwidth Crosspost Connector Settings saved."
+msgstr "Zapisano ustawienia Dreamwidth Crosspost Connector."
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39
+msgid "Dreamwidth Crosspost Connector App"
+msgstr "Aplikacja Dreamwidth Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:40
+msgid "Relay public posts to Dreamwidth"
+msgstr "Przekazuj publiczne posty do Dreamwidth"
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:53
+msgid "Dreamwidth username"
+msgstr "Nazwa użytkownika Dreamwidth"
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:57
+msgid "Dreamwidth password"
+msgstr "Hasło Dreamwidth"
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+msgid "Post to Dreamwidth by default"
+msgstr "Domyślnie publikuj na Dreamwidth"
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98
+msgid "Link description (default:"
+msgstr "Opis odnośnika (domyślnie:"
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:77
+msgid "Dreamwidth Crosspost Connector"
+msgstr "Dreamwidth Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/dwpost/dwpost.php:49
+msgid "Post to Dreamwidth"
+msgstr "Publikuj na Dreamwidth"
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:21
+msgid "nofed Settings saved."
+msgstr "nofed - zapisano ustawienie."
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33
+msgid "No Federation App"
+msgstr "Brak aplikacji Federation"
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:34
+msgid ""
+"Prevent posting from being federated to anybody. It will exist only on your "
+"channel page."
+msgstr ""
+"Zapobiegaj federowaniu wiadomości do kogokolwiek. Będzie istnieć tylko na "
+"stronie Twojego kanału."
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+msgid "Federate posts by default"
+msgstr "Domyślnie, posty Federate"
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:50
+msgid "No Federation"
+msgstr "Brak Federation"
+
+#: ../../extend/addon/hzaddons/nofed/nofed.php:47
+msgid "Federate"
+msgstr "Federate"
+
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:15
+msgid "WYSIWYG status editor"
+msgstr "Edytor aplikacji WYSIWYG Status"
+
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26
+msgid "WYSIWYG Status App"
+msgstr "Aplikacja WYSIWYG Status"
+
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:34
+msgid "WYSIWYG Status"
+msgstr "WYSIWYG Status"
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:27
+msgid "No server specified"
+msgstr "Nie określono serwera"
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:73
+msgid "Posts imported"
+msgstr "Zaimportowano posty"
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:113
+msgid "Files imported"
+msgstr "Zaimportowano pliki"
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:122
+msgid ""
+"This addon app copies existing content and file storage to a cloned/copied "
+"channel. Once the app is installed, visit the newly installed app. This will "
+"allow you to set the location of your original channel and an optional date "
+"range of files/conversations to copy."
+msgstr ""
+"Ten dodatek kopiuje istniejące treści i magazyn plików do sklonowanego lub "
+"skopiowanego kanału. Po zainstalowaniu, odwiedź nowo zainstalowaną "
+"aplikację. Umożliwi Ci to ustawienie lokalizacji oryginalnego kanału i "
+"opcjonalnego zakresu dat plików lub konwersacji do skopiowania."
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:136
+msgid ""
+"This will import all your conversations and cloud files from a cloned "
+"channel on another server. This may take a while if you have lots of posts "
+"and or files."
+msgstr ""
+"Spowoduje to zaimportowanie wszystkich rozmów i plików przechowywanych w "
+"chmurze ze sklonowanego kanału na innym serwerze. Może to chwilę potrwać, "
+"jeśli masz dużo postów lun plików."
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+msgid "Include posts"
+msgstr "Dołącz posty"
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+msgid "Conversations, Articles, Cards, and other posted content"
+msgstr "Rozmowy, artykuły, karty i inne opublikowane treści"
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+msgid "Include files"
+msgstr "Dołącz pliki"
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+msgid "Files, Photos and other cloud storage"
+msgstr "Pliki, zdjęcia i inne przechowywane w chmurze rzeczy"
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:139
+msgid "Original Server base URL"
+msgstr "Oryginalny podstawowy adres URL serwera"
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:48
+msgid "Your channel has been upgraded to $Projectname version"
+msgstr "Twój kanał został uaktualniony do wersji $Projectname"
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:50
+msgid "Please have a look at the"
+msgstr "Proszę spojrzeć na"
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:52
+msgid "git history"
+msgstr "historia repozytorium Git"
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:54
+msgid "change log"
+msgstr "dziennik zmian"
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:55
+msgid "for further info."
+msgstr "po dalsze informacje."
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:60
+msgid "Upgrade Info"
+msgstr "Informacja o aktualizacji"
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:64
+msgid "Do not show this again"
+msgstr "Nie pokazuj tego ponownie"
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:22
+msgid "pageheader Settings saved."
+msgstr "pageheader - zapisano ustawienie."
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34
+msgid "Page Header App"
+msgstr "Aplikacja Page Header"
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:35
+msgid "Inserts a page header"
+msgstr "Wstawia nagłówek strony"
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:43
+msgid "Message to display on every page on this server"
+msgstr "Wiadomość do wyświetlenia na każdej stronie na tym serwerze"
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:51
+msgid "Page Header"
+msgstr "Page Header"
+
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:21
+msgid "Who viewed my channel/profile"
+msgstr "Kto oglądał mój kanał lub profil"
+
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:25
+msgid "Recent Channel/Profile Viewers"
+msgstr "Ostatnio wyświetlający mój kanał lub profil"
+
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:36
+msgid "No entries."
+msgstr "Brak postów."
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:39
+msgid "Messages"
+msgstr "Wiadomości"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:52
+msgid "message"
+msgstr "wiadomość"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:92
+msgid "Message recalled."
+msgstr "Wiadomość przywołana."
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:105
+msgid "Conversation removed."
+msgstr "Rozmowa została usunięta."
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:120
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:241
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Wygasa YYYY-MM-DD HH:MM"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:148
+msgid "Requested channel is not in this network"
+msgstr "Żądanego kanału nie ma w tej sieci"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:156
+msgid "Send Private Message"
+msgstr "Wyślij prywatną wiadomość"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:157
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:300
+msgid "To:"
+msgstr "Do:"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:160
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:302
+msgid "Subject:"
+msgstr "Temat:"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:165
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:308
+msgid "Attach file"
+msgstr "Dołącz plik"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:167
+msgid "Send"
+msgstr "Wyślij"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:271
+msgid "Delete message"
+msgstr "Usuń wiadomość"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:272
+msgid "Delivery report"
+msgstr "Raport dostawy"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:273
+msgid "Recall message"
+msgstr "Odwołaj wiadomość"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:275
+msgid "Message has been recalled."
+msgstr "Wiadomość została odwołana."
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:293
+msgid "Delete Conversation"
+msgstr "Usuń rozmowę"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:295
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr ""
+"Brak bezpiecznej komunikacji. <strong>Możesz</strong> odpowiedzieć ze strony "
+"profilu nadawcy."
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:299
+msgid "Send Reply"
+msgstr "Wyślij odpowiedź"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:304
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "Twoja wiadomość dla %s (%s):"
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:384
+msgid "Unable to lookup recipient."
+msgstr "Nie można znaleźć adresata."
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:391
+msgid "Unable to communicate with requested channel."
+msgstr "Nie można skomunikować się z żądanym kanałem."
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:398
+msgid "Cannot verify requested channel."
+msgstr "Nie można zweryfikować żądanego kanału."
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:416
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr ""
+"Wybrany kanał ma ograniczenia dotyczące wiadomości prywatnych. Wysyłanie nie "
+"powiodło się."
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:50
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:128
+msgid "System defaults:"
+msgstr "Domyślne wartości systemowe:"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54
+msgid "Preferred Clipart IDs"
+msgstr "Identyfikatory preferowanych clipartów"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54
+msgid "List of preferred clipart ids. These will be shown first."
+msgstr "Lista identyfikatorów preferowanych clipartów."
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55
+msgid "Default Search Term"
+msgstr "Domyślna fraza wyszukiwania"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55
+msgid "The default search term. These will be shown second."
+msgstr "Domyślna fraza wyszukiwania. Będzie ona wyświetlana jako druga."
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56
+msgid "Return After"
+msgstr "Wróć po"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56
+msgid "Page to load after image selection."
+msgstr "Strona do załadowania po wybraniu obrazu."
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:59
+msgid "Profile List"
+msgstr "Lista profili"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61
+msgid "Order of Preferred"
+msgstr "Kolejność preferowanych"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61
+msgid "Sort order of preferred clipart ids."
+msgstr "Sortuj preferowane identyfikatory clipart."
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:62
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:68
+msgid "Newest first"
+msgstr "Od najnowszych"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:65
+msgid "As entered"
+msgstr "Jak wprowadzono"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67
+msgid "Order of other"
+msgstr "Kolejność innych"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67
+msgid "Sort order of other clipart ids."
+msgstr "Kolejność sortowania innych identyfikatorów clipartów."
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:69
+msgid "Most downloaded first"
+msgstr "Najczęściej pobierane jako pierwsze"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:70
+msgid "Most liked first"
+msgstr "Najbardziej lubiane jako pierwsze"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72
+msgid "Preferred IDs Message"
+msgstr "Komunikat o preferowanych identyfikatorach"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72
+msgid "Message to display above preferred results."
+msgstr "Wiadomość do wyświetlenia powyżej preferowanych wyników."
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78
+msgid "Uploaded by: "
+msgstr "Przesłane przez: "
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78
+msgid "Drawn by: "
+msgstr "Narysowane przez: "
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:182
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:194
+msgid "Use this image"
+msgstr "Użyj tego obrazu"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:192
+msgid "Or select from a free OpenClipart.org image:"
+msgstr "Lub wybierz bezpłatny obraz z OpenClipart.org:"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:195
+msgid "Search Term"
+msgstr "Fraza wyszukiwania"
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:232
+msgid "Unknown error. Please try again later."
+msgstr "Nieznany błąd. Spróbuj ponownie później."
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:308
+msgid "Profile photo updated successfully."
+msgstr "Zdjęcie profilowe zostało pomyślnie zaktualizowane."
+
+#: ../../extend/addon/hzaddons/gallery/gallery.php:43
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:136
+msgid "Gallery"
+msgstr "Gallery"
+
+#: ../../extend/addon/hzaddons/gallery/gallery.php:46
+msgid "Photo Gallery"
+msgstr "Galeria zdjęć"
+
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58
+msgid "Gallery App"
+msgstr "Aplikacja Gallery"
+
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:59
+msgid "A simple gallery for your photo albums"
+msgstr "Prosta galeria dla albumów ze zdjęciami"
+
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35
+msgid "Smileybutton App"
+msgstr "Aplikacja Smileybutton"
+
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:36
+msgid "Adds a smileybutton to the jot editor"
+msgstr "Dodaje przycisk emotikonów do edytora jot"
+
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+msgid "Hide the button and show the smilies directly."
+msgstr "Ukryj przycisk i bezpośrednio wyświetlaj emotikony."
+
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:52
+msgid "Smileybutton Settings"
+msgstr "Ustawienia Smileybutton"
+
+#: ../../extend/addon/hzaddons/rtof/rtof.php:51
+msgid "Post to Friendica"
+msgstr "Opublikuj w sieci Hubzilla"
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:24
+msgid "Friendica Crosspost Connector Settings saved."
+msgstr "Zapisano ustawienia Friendica Crosspost Connector ."
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36
+msgid "Friendica Crosspost Connector App"
+msgstr "Aplikacja Hubzilla Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:37
+msgid "Relay public postings to a connected Friendica account"
+msgstr "Przekazywanie publicznych postów do połączonego konta Friendica"
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+msgid "Send public postings to Friendica by default"
+msgstr "Domyślnie wysyłaj publiczne posty na kanał Hubzilla"
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53
+msgid "Friendica API Path"
+msgstr "Ścieżka API Hubzilla"
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57
+msgid "Friendica login name"
+msgstr "Nazwa logowania w Hubzilla"
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:61
+msgid "Friendica password"
+msgstr "Hasło Hubzilla"
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:69
+msgid "Friendica Crosspost Connector"
+msgstr "Friendica Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/logrot/logrot.php:36
+msgid "Logfile archive directory"
+msgstr "Katalog archiwum plików dziennika zdarzeń"
+
+#: ../../extend/addon/hzaddons/logrot/logrot.php:36
+msgid "Directory to store rotated logs"
+msgstr "Katalog do przechowywania rotowanych dzienników zdarzeń"
+
+#: ../../extend/addon/hzaddons/logrot/logrot.php:37
+msgid "Logfile size in bytes before rotating"
+msgstr "Rozmiar pliku dziennika w bajtach przed dokonaniem odnowienia"
+
+#: ../../extend/addon/hzaddons/logrot/logrot.php:38
+msgid "Number of logfiles to retain"
+msgstr "Liczba plików dziennika do przechowania"
+
+#: ../../extend/addon/hzaddons/wppost/wppost.php:46
+msgid "Post to WordPress"
+msgstr "Opubikuj w WordPress"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:30
+msgid "Wordpress Settings saved."
+msgstr "Zapisano ustawienia Wordpress."
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43
+msgid "Wordpress Post App"
+msgstr "Aplikacja Wordpress Post"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:44
+msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API"
+msgstr ""
+"Opublikuj na WordPress lub czymkolwiek innym, co używa API XMLRPC WordPress"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:69
+msgid "WordPress username"
+msgstr "Nazwa użytkownika WordPress"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:73
+msgid "WordPress password"
+msgstr "Hasło WordPress"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:77
+msgid "WordPress API URL"
+msgstr "Adres URL API WordPress"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:78
+msgid "Typically https://your-blog.tld/xmlrpc.php"
+msgstr "Zwykle https://your-blog.tld/xmlrpc.php"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:81
+msgid "WordPress blogid"
+msgstr "Identyfikator blogu WordPress"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:82
+msgid "For multi-user sites such as wordpress.com, otherwise leave blank"
+msgstr ""
+"Dla serwisów wielowitrynowych, takich jak wordpress.com, w przeciwnym razie "
+"pozostaw puste"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+msgid "Post to WordPress by default"
+msgstr "Domyślnie publikuj na WordPress"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+msgid "Forward comments (requires hubzilla_wp plugin)"
+msgstr "Przekazywanie komentarzy (wymaga wtyczki hubzilla_wp)"
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:106
+msgid "Wordpress Post"
+msgstr "Wordpress Post"
+
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:22
+msgid ""
+"Allow magic authentication only to websites of your immediate connections"
+msgstr ""
+"Zezwalaj na magiczne uwierzytelnianie tylko w witrynach internetowych Twoich "
+"bezpośrednich połączeń"
+
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33
+msgid "Authchoose App"
+msgstr "APlikacja Authchoose"
+
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:39
+msgid "Authchoose"
+msgstr "Authchoose"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19
+msgid "bitchslap"
+msgstr "bitchslap"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19
+msgid "bitchslapped"
+msgstr "bitchslapped"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20
+msgid "shag"
+msgstr "shag"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20
+msgid "shagged"
+msgstr "shagged"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21
+msgid "patent"
+msgstr "patent"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21
+msgid "patented"
+msgstr "opatentowany"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22
+msgid "hug"
+msgstr "przytulić"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22
+msgid "hugged"
+msgstr "przytulony"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23
+msgid "murder"
+msgstr "zamordować"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23
+msgid "murdered"
+msgstr "zamordowany"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24
+msgid "worship"
+msgstr "uwielbiać"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24
+msgid "worshipped"
+msgstr "uwielbiany"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25
+msgid "kiss"
+msgstr "pocałować"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25
+msgid "kissed"
+msgstr "pocałowany"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26
+msgid "tempt"
+msgstr "kusić"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26
+msgid "tempted"
+msgstr "skuszony"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27
+msgid "raise eyebrows at"
+msgstr "unieść brwi"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27
+msgid "raised their eyebrows at"
+msgstr "podnieśli brwi"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28
+msgid "insult"
+msgstr "zniewaga"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28
+msgid "insulted"
+msgstr "znieważony"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29
+msgid "praise"
+msgstr "pochwała"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29
+msgid "praised"
+msgstr "pochwalony"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30
+msgid "be dubious of"
+msgstr "mieć wątpliwości"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30
+msgid "was dubious of"
+msgstr "zwÄ…tpiony"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31
+msgid "eat"
+msgstr "jeść"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31
+msgid "ate"
+msgstr "najedzony"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32
+msgid "giggle and fawn at"
+msgstr "chichotać i płakać"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32
+msgid "giggled and fawned at"
+msgstr "chichotał i łakał"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33
+msgid "doubt"
+msgstr "wątpić"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33
+msgid "doubted"
+msgstr "zwątpił"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34
+msgid "glare"
+msgstr "piorunujÄ…ce spojrzenie"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34
+msgid "glared at"
+msgstr "obrzucił spojrzeniem"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35
+msgid "fuck"
+msgstr "pierdolić"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35
+msgid "fucked"
+msgstr "przejebane"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36
+msgid "bonk"
+msgstr "rżnąć"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36
+msgid "bonked"
+msgstr "zerżnięty"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37
+msgid "declare undying love for"
+msgstr "deklaruj wieczną miłość"
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37
+msgid "declared undying love for"
+msgstr "zadeklarował wieczną miłość"
+
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:34
+msgid "New registration"
+msgstr "Nowa rejestracja"
+
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:42
+#, php-format
+msgid "Message sent to %s. New account registration: %s"
+msgstr "Wiadomość wysłana do%s. Rejestracja nowego konta: %s"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:40
+msgid "Pump.io Settings saved."
+msgstr "Ustawienia Pump.io zostały zapisane."
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53
+msgid "Pump.io Crosspost Connector App"
+msgstr "Aplikacja Pump.io Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:54
+msgid "Relay public posts to pump.io"
+msgstr "Przekazuj publiczne posty do Pump.io"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73
+msgid "Pump.io servername"
+msgstr "Nazwa serwera Pump.io"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73
+msgid "Without \"http://\" or \"https://\""
+msgstr "Bez \"http: //\" lub \"https: //\""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77
+msgid "Pump.io username"
+msgstr "Nazwa użytkownika Pump.io"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77
+msgid "Without the servername"
+msgstr "Bez nazwy serwera"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:88
+msgid "You are not authenticated to pumpio"
+msgstr "Nie jesteÅ› uwierzytelniony w pumpio"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:90
+msgid "(Re-)Authenticate your pump.io connection"
+msgstr "(Ponownie) Uwierzytelnij swoje połączenie pump.io"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+msgid "Post to pump.io by default"
+msgstr "Piblikuj domyślnie w pump.io"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+msgid "Should posts be public"
+msgstr "Posty powinny być publiczne"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+msgid "Mirror all public posts"
+msgstr "Powielaj wszystkie posty publiczne"
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:112
+msgid "Pump.io Crosspost Connector"
+msgstr "Pump.io Crosspost Connector"
+
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:152
+msgid "You are now authenticated to pumpio."
+msgstr "JesteÅ› teraz uwierzytelniony w pumpio."
+
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:153
+msgid "return to the featured settings page"
+msgstr "wróć do polecanej strony ustawień"
+
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:168
+msgid "Post to Pump.io"
+msgstr "Opublikuj na Pump.io"
+
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24
+msgid "NSA Bait App"
+msgstr "Aplikacja NSA Bait"
+
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:26
+msgid "Make yourself a political target"
+msgstr "Stań się celem politycznym"
+
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:15
+msgid "Add some colour to tag clouds"
+msgstr "Dodaj jakiÅ› kolor do oznaczania chmur"
+
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26
+msgid "Rainbow Tag App"
+msgstr "Aplikacja Rainbow Tag"
+
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:34
+msgid "Rainbow Tag"
+msgstr "Rainbow Tag"
+
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:19
+msgid "Send test email"
+msgstr "Wyślij testową wiadomość e-mail"
+
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:66
+msgid "Mail sent."
+msgstr "Mail wysłany."
+
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:68
+msgid "Sending of mail failed."
+msgstr "Wysyłanie poczty nie powiodło się."
+
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:77
+msgid "Mail Test"
+msgstr "Test poczty"
+
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:119
+msgid "Redmatrix File Storage Import"
+msgstr "Import magazyn plików Redmatrix"
+
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:120
+msgid "This will import all your Redmatrix cloud files to this channel."
+msgstr ""
+"Spowoduje to zaimportowanie wszystkich plików chmury Redmatrix do tego "
+"kanału."
+
+#: ../../extend/addon/hzaddons/mdpost/mdpost.php:42
+msgid "Use markdown for editing posts"
+msgstr "Użyj markdown do edycji postów"
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:22
+msgid "Fuzzloc Settings updated."
+msgstr "Zaktualizowano ustawienia Fuzzloc."
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34
+msgid "Fuzzy Location App"
+msgstr "Aplikacja Fuzzy Location"
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:35
+msgid ""
+"Blur your precise location if your channel uses browser location mapping"
+msgstr ""
+"Zamaż swoją dokładną lokalizację, jeśli Twój kanał używa mapowania "
+"lokalizacji w przeglÄ…darce"
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:40
+msgid "Minimum offset in meters"
+msgstr "Minimalne przesunięcie w metrach"
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:44
+msgid "Maximum offset in meters"
+msgstr "Maksymalne przesunięcie w metrach"
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:53
+msgid "Fuzzy Location"
+msgstr "Fuzzy Location"
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50
+msgid "Startpage App"
+msgstr "Aplikacja Startpage"
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:51
+msgid "Set a preferred page to load on login from home page"
+msgstr ""
+"Ustaw preferowaną stronę do załadowania przy logowaniu ze strony głównej"
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62
+msgid "Page to load after login"
+msgstr "Strona do załadowania po zalogowaniu"
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62
+msgid ""
+"Examples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (privacy "
+"collection), &quot;channel&quot; or &quot;notifications/system&quot; (leave "
+"blank for default network page (grid)."
+msgstr ""
+"Przykłady: &quot;aplikacje&quot;, &quot;sieć?f=&gid=37&quot; (kolekcja "
+"prywatności), &quot;kanał&quot; lub &quot;powiadomienie/system&quot; "
+"(pozostaw puste dla domyślnej stony sieci (siatki)."
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:70
+msgid "Startpage"
+msgstr "Startpage"
+
+#: ../../view/theme/redbasic/php/config.php:16
+#: ../../view/theme/redbasic/php/config.php:19
+msgid "Focus (Hubzilla default)"
+msgstr "Fokus (domyślnie Hubzilla)"
+
+#: ../../view/theme/redbasic/php/config.php:98
+msgid "Theme settings"
+msgstr "Ustawienia motywu"
+
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Narrow navbar"
+msgstr "WÄ…ski pasek nawigacyjny"
+
+#: ../../view/theme/redbasic/php/config.php:100
+msgid "Navigation bar background color"
+msgstr "Kolor tła paska nawigacji"
+
+#: ../../view/theme/redbasic/php/config.php:101
+msgid "Navigation bar icon color "
+msgstr "Kolor ikony paska nawigacji "
+
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Navigation bar active icon color "
+msgstr "Kolor ikony aktywnego paska nawigacji "
+
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Link color"
+msgstr "Kolor odnośnika"
+
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Set font-color for banner"
+msgstr "Ustaw kolor czcionki na banerze"
+
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Set the background color"
+msgstr "Ustaw kolor tła"
+
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Set the background image"
+msgstr "Ustaw obraz tła"
+
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Set the background color of items"
+msgstr "Ustaw kolor tła elementów"
+
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Set the background color of comments"
+msgstr "Ustaw kolor tła komentarzy"
+
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Set font-size for the entire application"
+msgstr "Ustaw rozmiar czcionki dla całej aplikacji"
+
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Examples: 1rem, 100%, 16px"
+msgstr "Przykłady: 1rem, 100%, 16px"
+
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Set font-color for posts and comments"
+msgstr "Ustaw kolor czcionki dla postów i komentarzy"
+
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Set radius of corners"
+msgstr "Ustaw promień narożników"
+
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Example: 4px"
+msgstr "Przykład: 4px"
+
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Set shadow depth of photos"
+msgstr "Ustaw głębię cienia zdjęć"
+
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Set maximum width of content region in pixel"
+msgstr "Ustaw maksymalną szerokość obszaru treści w pikselach"
+
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Leave empty for default width"
+msgstr "Pozostaw puste dla domyślnej szerokości"
+
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "Set size of conversation author photo"
+msgstr "Ustaw rozmiar zdjęcia autora rozmowy"
+
+#: ../../view/theme/redbasic/php/config.php:115
+msgid "Set size of followup author photos"
+msgstr "Ustaw rozmiar kolejnych zdjęć autora"
+
+#: ../../view/theme/redbasic/php/config.php:116
+msgid "Show advanced settings"
+msgstr "Pokaż ustawienia zaawansowane"
+
+#: ../../boot.php:1684
+msgid "Create an account to access services and applications"
+msgstr "Utwórz konto, aby uzyskać dostęp do usług i aplikacji"
+
+#: ../../boot.php:1708
+msgid "Login/Email"
+msgstr "Login/Email"
+
+#: ../../boot.php:1709
+msgid "Password"
+msgstr "Hasło"
+
+#: ../../boot.php:1710
+msgid "Remember me"
+msgstr "Zapamiętaj mnie"
+
+#: ../../boot.php:1713
+msgid "Forgot your password?"
+msgstr "Nie pamiętasz hasła?"
+
+#: ../../boot.php:2582
+#, php-format
+msgid "[$Projectname] Website SSL error for %s"
+msgstr "[$Projectname] Błąd SSL witryny internetowej dla %s"
+
+#: ../../boot.php:2587
+msgid "Website SSL certificate is not valid. Please correct."
+msgstr "Certyfikat SSL witryny jest nieprawidłowy. Proszę popraw."
+
+#: ../../boot.php:2703
+#, php-format
+msgid "[$Projectname] Cron tasks not running on %s"
+msgstr "[$Projectname] Zadania Crona nie działają na %s"
+
+#: ../../boot.php:2708
+msgid "Cron/Scheduled tasks not running."
+msgstr "Zadania Crona (zaplanowane) nie działają."
+
+#~ msgid "Collection"
+#~ msgstr "Kolekcja"
+
+#~ msgid "Who can see this?"
+#~ msgstr "Kto może to zobaczyć?"
+
+#~ msgid "Show"
+#~ msgstr "Pokaż"
+
+#~ msgid ""
+#~ "INFO: this command can take a very long time depending on your DB size."
+#~ msgstr ""
+#~ "INFORMACJA: wykonanie tego polecenia może zająć bardzo dużo czasu w "
+#~ "zależności od rozmiaru bazy danych."
+
+#~ msgid "Remove this channel and all its clones from the network"
+#~ msgstr "Usuń ten kanał i wszystkie jego klony z sieci"
+
+#~ msgid ""
+#~ "By default only the instance of the channel located on this hub will be "
+#~ "removed from the network"
+#~ msgstr ""
+#~ "Domyślnie tylko instancja kanału znajdującego się na tym hubie zostanie "
+#~ "usunięta z sieci"
+
+#~ msgid ""
+#~ "Remove this account, all its channels and all its channel clones from the "
+#~ "network"
+#~ msgstr ""
+#~ "Usuń to konto, wszystkie jego kanały i wszystkie klony kanałów z sieci"
+
+#~ msgid ""
+#~ "By default only the instances of the channels located on this hub will be "
+#~ "removed from the network"
+#~ msgstr ""
+#~ "Domyślnie, zostaną usunięte z sieci tylko instancje kanałów znajdujące "
+#~ "siÄ™ na tym hubie"
+
+#~ msgid "Hub not found."
+#~ msgstr "Nie znaleziono huba."
+
+#~ msgid "Manual conversation updates"
+#~ msgstr "Ręczne aktualizacje rozmów"
+
+#~ msgid "Default is on, turning this off may increase screen jumping"
+#~ msgstr ""
+#~ "Domyślnie jest włączone, wyłączenie tego może zwiększyć przeskakiwanie "
+#~ "ekranu"
+
+#~ msgid "Principal"
+#~ msgstr "Pryncypał"
+
+#~ msgid "Addressbook"
+#~ msgstr "Książka adresowa"
+
+#~ msgid "Schedule Inbox"
+#~ msgstr "Zaplanuj skrzynkÄ™ odbiorczÄ…"
+
+#~ msgid "Schedule Outbox"
+#~ msgstr "Zaplanuj skrzynkÄ™ nadawczÄ…"
diff --git a/view/pl/hmessages.pot b/view/pl/hmessages.pot
new file mode 100644
index 000000000..961e07f2f
--- /dev/null
+++ b/view/pl/hmessages.pot
@@ -0,0 +1,15710 @@
+# hubzilla
+# Copyright (C) 2012-2016 hubzilla
+# This file is distributed under the same license as the hubzilla package.
+# Mike Macgirvin, 2012
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: 5.2.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-01-21 12:07+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../../Zotlabs/Access/Permissions.php:56
+msgid "Can view my channel stream and posts"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:57
+msgid "Can send me their channel stream and posts"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:58
+msgid "Can view my default channel profile"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:59
+msgid "Can view my connections"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:60
+msgid "Can view my file storage and photos"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:61
+msgid "Can upload/modify my file storage and photos"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:62
+msgid "Can view my channel webpages"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:63
+msgid "Can view my wiki pages"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:64
+msgid "Can create/edit my channel webpages"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:65
+msgid "Can write to my wiki pages"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:66
+msgid "Can post on my channel (wall) page"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:67
+msgid "Can comment on or like my posts"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:68
+msgid "Can send me private mail messages"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:69
+msgid "Can like/dislike profiles and profile things"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:70
+msgid "Can forward to all my channel connections via ! mentions in posts"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:71
+msgid "Can chat with me"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:72
+msgid "Can source my public posts in derived channels"
+msgstr ""
+
+#: ../../Zotlabs/Access/Permissions.php:73
+msgid "Can administer my channel"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:287
+msgid "Social Networking"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:288
+msgid "Social - Federation"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:289
+msgid "Social - Mostly Public"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:290
+msgid "Social - Restricted"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:291
+msgid "Social - Private"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:294
+msgid "Community Forum"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:295
+msgid "Forum - Mostly Public"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:296
+msgid "Forum - Restricted"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:297
+msgid "Forum - Private"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:300
+msgid "Feed Republish"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:301
+msgid "Feed - Mostly Public"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:302
+msgid "Feed - Restricted"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:305
+msgid "Special Purpose"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:306
+msgid "Special - Celebrity/Soapbox"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:307
+msgid "Special - Group Repository"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:310
+#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797
+#: ../../Zotlabs/Module/Connedit.php:927 ../../include/selectors.php:60
+#: ../../include/selectors.php:77 ../../include/selectors.php:115
+#: ../../include/selectors.php:151 ../../include/connections.php:741
+#: ../../include/connections.php:748 ../../include/event.php:1429
+#: ../../include/event.php:1436
+msgid "Other"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:311
+msgid "Custom/Expert Mode"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Pdledit.php:35
+#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Events.php:277
+#: ../../Zotlabs/Module/Bookmarks.php:70 ../../Zotlabs/Module/Webpages.php:133
+#: ../../Zotlabs/Module/Profiles.php:200 ../../Zotlabs/Module/Profiles.php:637
+#: ../../Zotlabs/Module/Like.php:230 ../../Zotlabs/Module/Defperms.php:182
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Group.php:15
+#: ../../Zotlabs/Module/Group.php:31 ../../Zotlabs/Module/Appman.php:87
+#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Moderate.php:15
+#: ../../Zotlabs/Module/New_channel.php:105
+#: ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Filestorage.php:20
+#: ../../Zotlabs/Module/Filestorage.php:78
+#: ../../Zotlabs/Module/Filestorage.php:96
+#: ../../Zotlabs/Module/Filestorage.php:119
+#: ../../Zotlabs/Module/Filestorage.php:165
+#: ../../Zotlabs/Module/Card_edit.php:51
+#: ../../Zotlabs/Module/Viewconnections.php:28
+#: ../../Zotlabs/Module/Viewconnections.php:33 ../../Zotlabs/Module/Wiki.php:59
+#: ../../Zotlabs/Module/Wiki.php:285 ../../Zotlabs/Module/Wiki.php:428
+#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
+#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:396
+#: ../../Zotlabs/Module/Profile_photo.php:338
+#: ../../Zotlabs/Module/Profile_photo.php:351
+#: ../../Zotlabs/Module/Sharedwithme.php:19
+#: ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Item.php:485 ../../Zotlabs/Module/Item.php:504
+#: ../../Zotlabs/Module/Item.php:514 ../../Zotlabs/Module/Item.php:1442
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Page.php:34
+#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Achievements.php:34
+#: ../../Zotlabs/Module/Regmod.php:20 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Chat.php:113 ../../Zotlabs/Module/Chat.php:118
+#: ../../Zotlabs/Module/Vote.php:19 ../../Zotlabs/Module/Display.php:425
+#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:177
+#: ../../Zotlabs/Module/Channel.php:332 ../../Zotlabs/Module/Channel.php:371
+#: ../../Zotlabs/Module/Cards.php:86 ../../Zotlabs/Module/Connections.php:32
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Block.php:24
+#: ../../Zotlabs/Module/Block.php:74 ../../Zotlabs/Module/Common.php:38
+#: ../../Zotlabs/Module/Editwebpage.php:68
+#: ../../Zotlabs/Module/Editwebpage.php:89
+#: ../../Zotlabs/Module/Editwebpage.php:107
+#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Profile.php:85
+#: ../../Zotlabs/Module/Profile.php:101
+#: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Thing.php:282
+#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:343
+#: ../../Zotlabs/Module/Suggest.php:32
+#: ../../Zotlabs/Module/Notifications.php:11
+#: ../../Zotlabs/Module/Articles.php:89 ../../Zotlabs/Module/Setup.php:206
+#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126
+#: ../../Zotlabs/Module/Register.php:80
+#: ../../Zotlabs/Module/Channel_calendar.php:230
+#: ../../Zotlabs/Module/Invite.php:21 ../../Zotlabs/Module/Invite.php:102
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Cover_photo.php:341
+#: ../../Zotlabs/Module/Cover_photo.php:354 ../../Zotlabs/Module/Menu.php:130
+#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Sources.php:80
+#: ../../Zotlabs/Module/Poke.php:157 ../../Zotlabs/Module/Network.php:19
+#: ../../Zotlabs/Module/Attach_edit.php:90
+#: ../../Zotlabs/Module/Attach_edit.php:99
+#: ../../Zotlabs/Module/Attach_edit.php:106
+#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Viewsrc.php:19
+#: ../../Zotlabs/Web/WebServer.php:116 ../../Zotlabs/Lib/Chatroom.php:135
+#: ../../include/photos.php:27 ../../include/attach.php:156
+#: ../../include/attach.php:205 ../../include/attach.php:278
+#: ../../include/attach.php:329 ../../include/attach.php:424
+#: ../../include/attach.php:438 ../../include/attach.php:445
+#: ../../include/attach.php:527 ../../include/attach.php:1091
+#: ../../include/attach.php:1164 ../../include/attach.php:1327
+#: ../../include/items.php:3996
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:53
+#: ../../extend/addon/hzaddons/keepout/keepout.php:36
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:25
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:44
+msgid "Permission denied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:27
+msgid "Layout updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:43
+msgid "PDL Editor App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:43 ../../Zotlabs/Module/Cdav.php:876
+#: ../../Zotlabs/Module/Bookmarks.php:78 ../../Zotlabs/Module/Webpages.php:48
+#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Pubstream.php:20
+#: ../../Zotlabs/Module/Group.php:107 ../../Zotlabs/Module/Oauth.php:100
+#: ../../Zotlabs/Module/Oauth2.php:106 ../../Zotlabs/Module/Wiki.php:52
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:61
+#: ../../Zotlabs/Module/Cards.php:51 ../../Zotlabs/Module/Affinity.php:52
+#: ../../Zotlabs/Module/Randprof.php:29 ../../Zotlabs/Module/Suggest.php:40
+#: ../../Zotlabs/Module/Notes.php:57 ../../Zotlabs/Module/Tokens.php:99
+#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134
+#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:18
+#: ../../Zotlabs/Module/Invite.php:110 ../../Zotlabs/Module/Lang.php:17
+#: ../../Zotlabs/Module/Sources.php:88 ../../Zotlabs/Module/Poke.php:165
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50
+msgid "Not Installed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:44
+msgid "Provides the ability to edit system page layouts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:57 ../../Zotlabs/Module/Pdledit.php:100
+msgid "Edit System Page Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:78
+msgid "(modified)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:78 ../../Zotlabs/Module/Lostpass.php:133
+msgid "Reset"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:95
+msgid "Layout not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:101
+msgid "Module Name:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:102
+msgid "Layout Help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:103
+msgid "Edit another layout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:104
+msgid "System layout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Events.php:501
+#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Import.php:645
+#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Group.php:151
+#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Appman.php:155
+#: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Import_items.php:129
+#: ../../Zotlabs/Module/Connect.php:107
+#: ../../Zotlabs/Module/Filestorage.php:208 ../../Zotlabs/Module/Oauth2.php:116
+#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Locs.php:132
+#: ../../Zotlabs/Module/Connedit.php:896 ../../Zotlabs/Module/Rate.php:166
+#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Chat.php:209
+#: ../../Zotlabs/Module/Chat.php:248 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
+#: ../../Zotlabs/Module/Editpost.php:86 ../../Zotlabs/Module/Affinity.php:87
+#: ../../Zotlabs/Module/Pconfig.php:116
+#: ../../Zotlabs/Module/Admin/Themes.php:158
+#: ../../Zotlabs/Module/Admin/Security.php:120
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Channels.php:147
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Account_edit.php:73
+#: ../../Zotlabs/Module/Admin/Addons.php:442
+#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../Zotlabs/Module/Admin/Profs.php:178 ../../Zotlabs/Module/Thing.php:328
+#: ../../Zotlabs/Module/Thing.php:381
+#: ../../Zotlabs/Module/Email_validation.php:40
+#: ../../Zotlabs/Module/Tokens.php:188 ../../Zotlabs/Module/Setup.php:304
+#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Mitem.php:259
+#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Permcats.php:129
+#: ../../Zotlabs/Module/Settings/Account.php:103
+#: ../../Zotlabs/Module/Settings/Events.php:42
+#: ../../Zotlabs/Module/Settings/Profiles.php:52
+#: ../../Zotlabs/Module/Settings/Editor.php:42
+#: ../../Zotlabs/Module/Settings/Features.php:48
+#: ../../Zotlabs/Module/Settings/Manage.php:43
+#: ../../Zotlabs/Module/Settings/Display.php:188
+#: ../../Zotlabs/Module/Settings/Photos.php:42
+#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Connections.php:42
+#: ../../Zotlabs/Module/Settings/Calendar.php:42
+#: ../../Zotlabs/Module/Settings/Directory.php:42
+#: ../../Zotlabs/Module/Settings/Channel_home.php:91
+#: ../../Zotlabs/Module/Settings/Network.php:62
+#: ../../Zotlabs/Module/Settings/Conversation.php:49
+#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Sources.php:125
+#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Module/Poke.php:217
+#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Lib/ThreadItem.php:825
+#: ../../Zotlabs/Widget/Wiki_pages.php:42
+#: ../../Zotlabs/Widget/Wiki_pages.php:99
+#: ../../Zotlabs/Widget/Eventstools.php:16 ../../include/js_strings.php:22
+#: ../../extend/addon/hzaddons/irc/irc.php:45
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:95
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:57
+#: ../../extend/addon/hzaddons/piwik/piwik.php:95
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:143
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:51
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:90
+#: ../../extend/addon/hzaddons/cart/cart.php:1376
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:312
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:412
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:643
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:410
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:248
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:132
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:142
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:86
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:100
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:75
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:155
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:82
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1461
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1520
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1639
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2742
+#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:94
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:70
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:61
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:67
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:70
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:602
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:193
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:251
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:306
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:65
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:72
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:262
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:330
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:136
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:184
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:80
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:53
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:142
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:54
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:310
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:53
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:55
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:72
+#: ../../extend/addon/hzaddons/logrot/logrot.php:35
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:109
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:115
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:100
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:124
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:56
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:73
+#: ../../view/theme/redbasic/php/config.php:94
+msgid "Submit"
+msgstr ""
+
+#: ../../Zotlabs/Module/Z6trans.php:19
+msgid "Update to Hubzilla 5.0 step 2"
+msgstr ""
+
+#: ../../Zotlabs/Module/Z6trans.php:21
+msgid "To complete the update please run"
+msgstr ""
+
+#: ../../Zotlabs/Module/Z6trans.php:23
+msgid "php util/z6convert.php"
+msgstr ""
+
+#: ../../Zotlabs/Module/Z6trans.php:25
+msgid "from the terminal."
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Cloud.php:123
+#: ../../Zotlabs/Module/Like.php:332 ../../Zotlabs/Module/Group.php:99
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Subthread.php:86 ../../Zotlabs/Module/Share.php:72
+#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:439
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:75
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:119
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:109
+msgid "Permission denied"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:59
+msgid "Invalid message"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:93
+msgid "no results"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "channel sync processed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:111
+msgid "queued"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:115
+msgid "posted"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:119
+msgid "accepted for delivery"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:123
+msgid "updated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:126
+msgid "update ignored"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:129
+msgid "permission denied"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:133
+msgid "recipient not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:136
+msgid "mail recalled"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:139
+msgid "duplicate mail received"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:142
+msgid "mail delivered"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:162
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:166 ../../Zotlabs/Widget/Wiki_pages.php:41
+#: ../../Zotlabs/Widget/Wiki_pages.php:98
+msgid "Options"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:167
+msgid "Redeliver"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profperm.php:111
+msgid "Profile Visibility Editor"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362
+#: ../../include/channel.php:1886
+msgid "Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Click on a contact to add or remove."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profperm.php:124
+msgid "Visible To"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profperm.php:140
+#: ../../Zotlabs/Module/Connections.php:217
+msgid "All Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cloud.php:120
+msgid "Not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cloud.php:126
+msgid "Please refresh page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cloud.php:129
+msgid "Unknown error"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authorize.php:17
+msgid "Unknown App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authorize.php:29
+msgid "Authorize"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authorize.php:30
+#, php-format
+msgid "Do you authorize the app %s to access your channel data?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authorize.php:32 ../../include/acl_selectors.php:146
+msgid "Allow"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authorize.php:33
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+msgid "Deny"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28
+msgid "Calendar entries imported."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30
+msgid "No calendar entries found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:876
+msgid "CardDAV App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:877
+msgid "CalDAV capable addressbook"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:943 ../../Zotlabs/Module/Cal.php:167
+#: ../../Zotlabs/Module/Channel_calendar.php:393
+msgid "Link to source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468
+msgid "Event title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474
+msgid "Start date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1011
+msgid "End date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497
+msgid "Timezone:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Events.php:481
+#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:173
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:655
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:260
+msgid "Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:483
+#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736
+#: ../../Zotlabs/Module/Locs.php:128 ../../Zotlabs/Module/Pubsites.php:53
+#: ../../include/js_strings.php:25
+msgid "Location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:697
+#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947
+#: ../../Zotlabs/Module/Cal.php:205
+msgid "Previous"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:698
+#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956
+#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Setup.php:260
+msgid "Next"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708
+#: ../../Zotlabs/Module/Cal.php:207
+msgid "Today"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703
+msgid "Month"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704
+msgid "Week"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705
+msgid "Day"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1041
+msgid "List month"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1042
+msgid "List week"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1043
+msgid "List day"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1051
+msgid "More"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1052
+msgid "Less"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388
+#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53
+#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58
+#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:931
+#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536
+msgid "Update"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1054
+msgid "Select calendar"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:143
+msgid "Channel Calendars"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:129
+#: ../../Zotlabs/Widget/Cdav.php:143
+msgid "CalDAV Calendars"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1056 ../../Zotlabs/Module/Cdav.php:1389
+#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:129
+#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Connedit.php:660 ../../Zotlabs/Module/Connedit.php:932
+#: ../../Zotlabs/Module/Editlayout.php:138
+#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179
+#: ../../Zotlabs/Module/Connections.php:328
+#: ../../Zotlabs/Module/Editwebpage.php:167
+#: ../../Zotlabs/Module/Article_edit.php:128
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Thing.php:269
+#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Lib/Apps.php:558
+#: ../../Zotlabs/Lib/ThreadItem.php:170 ../../include/conversation.php:730
+#: ../../include/conversation.php:775
+msgid "Delete"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1057
+msgid "Delete all"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1058 ../../Zotlabs/Module/Cdav.php:1390
+#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138
+#: ../../Zotlabs/Module/Card_edit.php:131 ../../Zotlabs/Module/Oauth2.php:117
+#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:368
+#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Fbrowser.php:66
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:933
+#: ../../Zotlabs/Module/Profile_photo.php:507
+#: ../../Zotlabs/Module/Editlayout.php:140
+#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:110
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Editwebpage.php:169
+#: ../../Zotlabs/Module/Article_edit.php:130
+#: ../../Zotlabs/Module/Admin/Addons.php:427
+#: ../../Zotlabs/Module/Cover_photo.php:428
+#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1458
+#: ../../include/conversation.php:1511
+#: ../../extend/addon/hzaddons/hsse/hsse.php:209
+#: ../../extend/addon/hzaddons/hsse/hsse.php:258
+msgid "Cancel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387
+#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Profiles.php:800
+#: ../../Zotlabs/Module/Layouts.php:185
+#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:930 ../../Zotlabs/Module/Cards.php:113
+#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Menu.php:182
+#: ../../Zotlabs/Storage/Browser.php:365 ../../Zotlabs/Storage/Browser.php:538
+#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178
+msgid "Create"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1060
+msgid "Sorry! Editing of recurrent events is not yet implemented."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1070 ../../Zotlabs/Storage/Browser.php:293
+#: ../../Zotlabs/Storage/Browser.php:388 ../../Zotlabs/Storage/Browser.php:403
+#: ../../Zotlabs/Widget/Appcategories.php:43
+#: ../../include/contact_widgets.php:108 ../../include/contact_widgets.php:152
+#: ../../include/contact_widgets.php:197 ../../include/contact_widgets.php:232
+#: ../../include/taxonomy.php:418 ../../include/taxonomy.php:500
+#: ../../include/taxonomy.php:520 ../../include/taxonomy.php:541
+msgid "Categories"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1372 ../../Zotlabs/Module/Group.php:155
+#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth.php:139
+#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Connedit.php:915
+#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257
+#: ../../Zotlabs/Module/Admin/Channels.php:159
+#: ../../Zotlabs/Storage/Browser.php:377
+#: ../../Zotlabs/Lib/NativeWikiPage.php:564
+#: ../../Zotlabs/Widget/Wiki_page_history.php:22
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:172
+msgid "Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:916
+msgid "Organisation"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2617
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2678
+msgid "Title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Connedit.php:918
+msgid "Phone"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:789
+#: ../../Zotlabs/Module/Connedit.php:919
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/network.php:1737
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:56
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:57
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57
+msgid "Email"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Connedit.php:920
+msgid "Instant messenger"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791
+#: ../../Zotlabs/Module/Connedit.php:921
+msgid "Website"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:504
+#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129
+#: ../../Zotlabs/Module/Connedit.php:922
+#: ../../Zotlabs/Module/Admin/Channels.php:160
+msgid "Address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Connedit.php:923
+msgid "Note"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794
+#: ../../Zotlabs/Module/Connedit.php:924 ../../include/connections.php:734
+#: ../../include/event.php:1422
+msgid "Mobile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795
+#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:735
+#: ../../include/event.php:1423
+msgid "Home"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796
+#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:738
+#: ../../include/event.php:1426
+msgid "Work"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Connedit.php:928
+msgid "Add Contact"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799
+#: ../../Zotlabs/Module/Connedit.php:929
+msgid "Add Field"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:934
+msgid "P.O. Box"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935
+msgid "Additional"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936
+msgid "Street"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937
+msgid "Locality"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938
+msgid "Region"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939
+msgid "ZIP Code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759
+#: ../../Zotlabs/Module/Connedit.php:940
+msgid "Country"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1456
+msgid "Default Calendar"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cdav.php:1467
+msgid "Default Addressbook"
+msgstr ""
+
+#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95
+msgid "Authorize application connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Api.php:75
+msgid "Return to your app and insert this Security Code:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Api.php:85
+msgid "Please login to continue."
+msgstr ""
+
+#: ../../Zotlabs/Module/Api.php:97
+msgid ""
+"Do you want to authorize this application to access your posts and contacts, "
+"and/or create new posts for you?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683
+#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227
+#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403
+#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:261
+#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
+#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
+#: ../../Zotlabs/Module/Settings/Display.php:88
+#: ../../Zotlabs/Module/Settings/Channel.php:311
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311
+#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389
+#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+#: ../../extend/addon/hzaddons/cart/cart.php:1370
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:337
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:361
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:437
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:461
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+#: ../../view/theme/redbasic/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710
+msgid "Yes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683
+#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227
+#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403
+#: ../../Zotlabs/Module/Connedit.php:788 ../../Zotlabs/Module/Photos.php:673
+#: ../../Zotlabs/Module/Admin/Site.php:259 ../../Zotlabs/Module/Mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
+#: ../../Zotlabs/Module/Mitem.php:257
+#: ../../Zotlabs/Module/Settings/Display.php:88
+#: ../../Zotlabs/Module/Settings/Channel.php:311
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311
+#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389
+#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+#: ../../extend/addon/hzaddons/cart/cart.php:1370
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:338
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:362
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:438
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:462
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+#: ../../view/theme/redbasic/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710
+msgid "No"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52
+msgid "This site is not a directory server"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dirsearch.php:37
+msgid "This directory server requires an access token"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filer.php:53
+msgid "Enter a folder name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filer.php:53
+msgid "or select an existing folder (doubleclick)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Admin/Profs.php:94
+#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23
+#: ../../include/text.php:1151 ../../include/text.php:1163
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:119
+msgid "Save"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Lib/ThreadItem.php:184
+msgid "Save to Folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:113
+#: ../../Zotlabs/Module/Channel_calendar.php:57
+msgid "Event can not end before it has started."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:115 ../../Zotlabs/Module/Events.php:124
+#: ../../Zotlabs/Module/Events.php:146
+#: ../../Zotlabs/Module/Channel_calendar.php:59
+#: ../../Zotlabs/Module/Channel_calendar.php:67
+#: ../../Zotlabs/Module/Channel_calendar.php:84
+msgid "Unable to generate preview."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:122
+#: ../../Zotlabs/Module/Channel_calendar.php:65
+msgid "Event title and start time are required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271
+#: ../../Zotlabs/Module/Channel_calendar.php:82
+#: ../../Zotlabs/Module/Channel_calendar.php:224
+msgid "Event not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:435
+#: ../../Zotlabs/Module/Tagger.php:75
+#: ../../Zotlabs/Module/Channel_calendar.php:219
+#: ../../include/conversation.php:132 ../../include/text.php:2255
+#: ../../include/event.php:1259
+msgid "event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:468
+msgid "Edit event title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:468 ../../Zotlabs/Module/Events.php:473
+#: ../../Zotlabs/Module/Profiles.php:747 ../../Zotlabs/Module/Profiles.php:751
+#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144
+#: ../../include/datetime.php:211
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:334
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:358
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:434
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:458
+msgid "Required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:470
+msgid "Categories (comma-separated list)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:471
+msgid "Edit Category"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:471
+msgid "Category"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:474
+msgid "Edit start date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:478
+msgid "Finish date and time are not known or not relevant"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:477
+msgid "Edit finish date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:477
+msgid "Finish date and time"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Events.php:480
+msgid "Adjust for viewer timezone"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:479
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:481
+msgid "Edit Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:483
+msgid "Edit Location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:486 ../../Zotlabs/Module/Webpages.php:262
+#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:835
+#: ../../include/conversation.php:1402
+#: ../../extend/addon/hzaddons/hsse/hsse.php:153
+msgid "Preview"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1478
+#: ../../extend/addon/hzaddons/hsse/hsse.php:225
+msgid "Permission settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:502
+msgid "Advanced Options"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:613
+msgid "l, F j"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:641
+#: ../../Zotlabs/Module/Channel_calendar.php:371
+msgid "Edit event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:643
+#: ../../Zotlabs/Module/Channel_calendar.php:373
+msgid "Delete event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2074
+msgid "Link to Source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:677
+#: ../../Zotlabs/Module/Channel_calendar.php:407
+msgid "calendar"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:696
+msgid "Edit Event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:696
+msgid "Create Event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:699 ../../include/channel.php:1889
+msgid "Export"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261
+#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:213
+#: ../../Zotlabs/Module/Wiki.php:409 ../../Zotlabs/Module/Blocks.php:166
+#: ../../Zotlabs/Module/Pubsites.php:61
+msgid "View"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:739
+msgid "Event removed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:742
+#: ../../Zotlabs/Module/Channel_calendar.php:494
+msgid "Failed to remove event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:23
+msgid "Documentation Search"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:83 ../../include/nav.php:434
+msgid "About"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:84 ../../Zotlabs/Module/Group.php:156
+msgid "Members"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:85
+msgid "Administrators"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:86
+msgid "Developers"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:87
+msgid "Tutorials"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:98
+msgid "$Projectname Documentation"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:99
+msgid "Contents"
+msgstr ""
+
+#: ../../Zotlabs/Module/Bookmarks.php:62
+msgid "Bookmark added"
+msgstr ""
+
+#: ../../Zotlabs/Module/Bookmarks.php:78
+msgid "Bookmarks App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Bookmarks.php:79
+msgid "Bookmark links from posts and manage them"
+msgstr ""
+
+#: ../../Zotlabs/Module/Bookmarks.php:92
+msgid "My Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Bookmarks.php:103
+msgid "My Connections Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:39 ../../Zotlabs/Module/Layouts.php:31
+#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Filestorage.php:59
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Achievements.php:15
+#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42
+#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1439
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:49
+msgid "Requested profile is not available."
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:48
+msgid "Webpages App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:49
+msgid "Provide managed web pages on your channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:69
+msgid "Import Webpage Elements"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:70
+msgid "Import selected"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:93
+msgid "Export Webpage Elements"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:94
+msgid "Export selected"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341
+#: ../../include/nav.php:524
+msgid "Webpages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Group.php:253 ../../Zotlabs/Module/Oauth.php:173
+#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Module/Oauth2.php:194
+#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Wiki.php:384
+#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114
+#: ../../Zotlabs/Module/Editblock.php:114
+#: ../../Zotlabs/Module/Connections.php:320
+#: ../../Zotlabs/Module/Connections.php:362
+#: ../../Zotlabs/Module/Connections.php:382
+#: ../../Zotlabs/Module/Editwebpage.php:142
+#: ../../Zotlabs/Module/Article_edit.php:98
+#: ../../Zotlabs/Module/Admin/Profs.php:175 ../../Zotlabs/Module/Thing.php:268
+#: ../../Zotlabs/Module/Menu.php:176 ../../Zotlabs/Lib/Apps.php:557
+#: ../../Zotlabs/Lib/ThreadItem.php:148 ../../Zotlabs/Widget/Cdav.php:138
+#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1538
+#: ../../include/channel.php:1542 ../../include/menu.php:120
+msgid "Edit"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Blocks.php:161
+#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136
+#: ../../include/conversation.php:1435
+#: ../../extend/addon/hzaddons/hsse/hsse.php:186
+msgid "Share"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:263
+msgid "Actions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:264
+msgid "Page Link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:265
+msgid "Page Title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:178
+msgid "Created"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:267 ../../Zotlabs/Module/Layouts.php:192
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179
+msgid "Edited"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:295
+msgid "Invalid file type."
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:307
+msgid "Error opening zip file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:318
+msgid "Invalid folder path."
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:345
+msgid "No webpage elements detected."
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:420
+msgid "Import complete."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186
+#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661
+msgid "Profile not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:46
+msgid "Profile deleted."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:70 ../../Zotlabs/Module/Profiles.php:107
+msgid "Profile-"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:92 ../../Zotlabs/Module/Profiles.php:129
+msgid "New profile created."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:113
+msgid "Profile unavailable to clone."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:148
+msgid "Profile unavailable to export."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:254
+msgid "Profile Name is required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:461
+msgid "Marital Status"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:465
+msgid "Romantic Partner"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774
+msgid "Likes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775
+msgid "Dislikes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782
+msgid "Work/Employment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:480
+msgid "Religion"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:484
+msgid "Political Views"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:488
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:74
+msgid "Gender"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:492
+msgid "Sexual Preference"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:496
+msgid "Homepage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:500
+msgid "Interests"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:596
+msgid "Profile updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:680
+msgid "Hide your connections list from viewers of this profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:724
+msgid "Edit Profile Details"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "View this profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826
+#: ../../include/channel.php:1561
+msgid "Edit visibility"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:728
+msgid "Profile Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:729
+msgid "Change cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1531
+msgid "Change profile photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:731
+msgid "Create a new profile using these settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Clone this profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Delete this profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Add profile things"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Personal"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:737
+msgid "Relationship"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51
+#: ../../include/datetime.php:58
+msgid "Miscellaneous"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:740
+msgid "Import profile from file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Export profile to file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Your gender"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Marital status"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:744
+msgid "Sexual preference"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "Profile name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:749
+msgid "This is your default profile."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:751
+msgid "Your full name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:752
+msgid "Short title/tescription"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:752
+msgid "Maximal 190 characters"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:755
+msgid "Street address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:756
+msgid "Locality/City"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:757
+msgid "Region/State"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:758
+msgid "Postal/Zip code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:764
+msgid "Who (if applicable)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:764
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:765
+msgid "Since (date)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:768
+msgid "Tell us about yourself"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:769
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:68
+msgid "Homepage URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:770
+msgid "Hometown"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:771
+msgid "Political views"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:772
+msgid "Religious views"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:773
+msgid "Keywords used in directory listings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:773
+msgid "Example: fishing photography software"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:776
+msgid "Musical interests"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:777
+msgid "Books, literature"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Television"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:779
+msgid "Film/Dance/Culture/Entertainment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:780
+msgid "Hobbies/Interests"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:781
+msgid "Love/Romance"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:783
+msgid "School/Education"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:784
+msgid "Contact information and social networks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:785
+msgid "My other channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:787
+msgid "Communications"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1557
+msgid "Profile Image"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1538
+#: ../../include/nav.php:115
+msgid "Edit Profiles"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214
+#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262
+msgid "Create New"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:68 ../../Zotlabs/Module/Import_items.php:48
+msgid "Nothing to import."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:83 ../../Zotlabs/Module/Import.php:99
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Unable to download data from old server"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:106 ../../Zotlabs/Module/Import_items.php:77
+msgid "Imported file is empty."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:162
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:189
+msgid "No channel. Import failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:593
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:142
+msgid "Import completed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:621
+msgid "You must be logged in to use this feature."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:626
+msgid "Import Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:627
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You "
+"may retrieve the channel identity from the old server/hub via the network or "
+"provide an export file."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:628
+#: ../../Zotlabs/Module/Import_items.php:127
+msgid "File to Upload"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:629
+msgid "Or provide the old server/hub details"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:631
+msgid "Your old identity address (xyz@example.com)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:632
+msgid "Your old login email address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:633
+msgid "Your old login password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:634
+msgid "Import a few months of posts if possible (limited by available memory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:636
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be "
+"able to post from either location, but only one can be marked as the primary "
+"location for files, photos, and media."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:638
+msgid "Make this hub my primary location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:639
+msgid "Move this channel (disable all previous locations)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:640
+msgid "Use this channel nickname instead of the one provided"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:640
+msgid ""
+"Leave blank to keep your existing channel nickname. You will be randomly "
+"assigned a similar nickname if either name is already allocated on this site."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:642
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:93
+msgid "Like/Dislike"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:98
+msgid "This action is restricted to members."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:99
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
+"\"register\">register as a new $Projectname member</a> to continue."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:154 ../../Zotlabs/Module/Like.php:180
+#: ../../Zotlabs/Module/Like.php:218
+msgid "Invalid request."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:166 ../../include/conversation.php:135
+msgid "channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:195
+msgid "thing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:241
+msgid "Channel unavailable."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:277
+msgid "Previous action reversed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Tagger.php:71
+#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2971
+#: ../../include/conversation.php:128 ../../include/text.php:2252
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895
+#: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71
+msgid "photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Subthread.php:112
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895
+msgid "status"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:469 ../../Zotlabs/Lib/Activity.php:3006
+#: ../../include/conversation.php:174
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1537
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1932
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3008
+#: ../../include/conversation.php:177
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1934
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:473
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:475
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:477
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:479
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2184
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:481
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2186
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:483
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2188
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:592
+msgid "Action completed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:593
+msgid "Thank you."
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:68 ../../Zotlabs/Module/Connedit.php:89
+msgid "Could not access contact record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:112
+#: ../../Zotlabs/Module/Settings/Channel.php:267
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:54
+#: ../../extend/addon/hzaddons/piwik/piwik.php:116
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:82
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:93
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:171
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:54
+#: ../../extend/addon/hzaddons/twitter/twitter.php:494
+#: ../../extend/addon/hzaddons/logrot/logrot.php:54
+msgid "Settings updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:190
+msgid "Default Permissions App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:191
+msgid "Set custom default permissions for new connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:859
+msgid "Connection Default Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:860
+msgid "Apply these permissions automatically"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:256
+#: ../../Zotlabs/Module/Settings/Channel.php:472
+msgid ""
+"If enabled, connection requests will be approved without your interaction"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:861
+msgid "Permission role"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:257
+#: ../../Zotlabs/Module/New_channel.php:157
+#: ../../Zotlabs/Module/New_channel.php:164
+#: ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324
+msgid "Loading"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:862
+msgid "Add permission role"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:875
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:263
+msgid "Automatic approval settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:895
+#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124
+msgid "inherited"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:900
+#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122
+msgid "My Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:902
+#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127
+msgid "Individual Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Defperms.php:271
+msgid ""
+"Some individual permissions may have been preset or locked based on your "
+"channel type and privacy settings."
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:129 ../../Zotlabs/Module/Layouts.php:189
+#: ../../Zotlabs/Module/Editlayout.php:128
+msgid "Layout Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:132 ../../Zotlabs/Module/Editlayout.php:129
+msgid "Layout Description (Optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2700
+msgid "Layouts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348
+#: ../../include/nav.php:174 ../../include/nav.php:320
+#: ../../include/help.php:117 ../../include/help.php:125
+msgid "Help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:186
+msgid "Comanche page description language help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:190
+msgid "Layout Description"
+msgstr ""
+
+#: ../../Zotlabs/Module/Layouts.php:195
+msgid "Download PDL file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubstream.php:20
+msgid "Public Stream App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubstream.php:21
+msgid "The unmoderated public stream of this hub"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76
+#: ../../Zotlabs/Module/Channel.php:224 ../../Zotlabs/Module/Hq.php:125
+#: ../../Zotlabs/Module/Network.php:205
+msgid "Reset form"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375
+#: ../../Zotlabs/Widget/Notifications.php:162
+msgid "Public Stream"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672
+msgid "Private forum"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672
+msgid "Public forum"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:46
+msgid "Privacy group created."
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:49
+msgid "Could not create privacy group."
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:62 ../../Zotlabs/Module/Group.php:214
+#: ../../include/items.php:4491
+msgid "Privacy group not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:81
+msgid "Privacy group updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:107
+msgid "Privacy Groups App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:108
+msgid "Management of privacy groups"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154
+#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364
+#: ../../Zotlabs/Widget/Activity_filter.php:82 ../../include/group.php:321
+#: ../../include/acl_selectors.php:86 ../../include/nav.php:101
+msgid "Privacy Groups"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:143
+msgid "Add Group"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:147
+msgid "Privacy group name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:148 ../../Zotlabs/Module/Group.php:257
+msgid "Members are visible to other channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group removed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:186
+msgid "Unable to remove privacy group."
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:252
+#, php-format
+msgid "Privacy Group: %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:254
+msgid "Privacy group name: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:259
+msgid "Delete Group"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:270
+msgid "Group members"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:272
+msgid "Not in this group"
+msgstr ""
+
+#: ../../Zotlabs/Module/Group.php:304
+msgid "Click a channel to toggle membership"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:35
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Changeaddr.php:78
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "WARNING: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Changeaddr.php:79
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid "Please enter your password for verification:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:596
+msgid "Remove Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56
+msgid "App installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:49
+msgid "Malformed app."
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:132
+msgid "Embed code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:138
+msgid "Edit App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:138
+msgid "Create App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:143
+msgid "Name of app"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:144
+msgid "Location (URL) of app"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:146
+msgid "Photo icon URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:146
+msgid "80 x 80 pixels - optional"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:147
+msgid "Categories (optional, comma separated list)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:148
+msgid "Version ID"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:149
+msgid "Price of app"
+msgstr ""
+
+#: ../../Zotlabs/Module/Appman.php:150
+msgid "Location (URL) to purchase app"
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:35
+msgid ""
+"Channel name changes are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:225
+#: ../../include/channel.php:706
+msgid "Reserved nickname. Please choose another."
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:230
+#: ../../include/channel.php:711
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:77
+msgid "Change channel nickname/address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:78
+msgid "Any/all connections on other networks will be lost!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:80
+msgid "New channel address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:81
+msgid "Rename Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:45
+msgid "Name is required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:49
+msgid "Key and Secret are required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:100
+msgid "OAuth Apps Manager App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:101
+msgid "OAuth authentication tokens for mobile and remote apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:110 ../../Zotlabs/Module/Oauth.php:136
+#: ../../Zotlabs/Module/Oauth.php:172 ../../Zotlabs/Module/Oauth2.php:143
+#: ../../Zotlabs/Module/Oauth2.php:193
+msgid "Add application"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth2.php:118
+#: ../../Zotlabs/Module/Oauth2.php:146
+msgid "Name of application"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:596
+#: ../../extend/addon/hzaddons/twitter/twitter.php:505
+msgid "Consumer Key"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:115
+#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141
+#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:595
+#: ../../extend/addon/hzaddons/twitter/twitter.php:506
+msgid "Consumer Secret"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142
+#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148
+msgid "Redirect"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth2.php:120
+#: ../../Zotlabs/Module/Oauth2.php:148
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires this"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143
+msgid "Icon url"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123
+#: ../../Zotlabs/Module/Sources.php:158
+msgid "Optional"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:128
+msgid "Application not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:171
+msgid "Connected OAuth Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196
+msgid "Client key starts with"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:176 ../../Zotlabs/Module/Oauth2.php:197
+msgid "No name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth.php:177 ../../Zotlabs/Module/Oauth2.php:198
+msgid "Remove authorization"
+msgstr ""
+
+#: ../../Zotlabs/Module/Email_resend.php:12
+#: ../../Zotlabs/Module/Email_validation.php:24
+msgid "Token verification failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Email_resend.php:30
+msgid "Email verification resent"
+msgstr ""
+
+#: ../../Zotlabs/Module/Email_resend.php:33
+msgid "Unable to resend email verification message."
+msgstr ""
+
+#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:23
+#: ../../Zotlabs/Module/Display.php:26 ../../Zotlabs/Module/Photos.php:519
+#: ../../Zotlabs/Module/Directory.php:73 ../../Zotlabs/Module/Directory.php:78
+#: ../../Zotlabs/Module/Ratings.php:83
+msgid "Public access denied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Search.php:41 ../../Zotlabs/Module/Connections.php:378
+#: ../../Zotlabs/Lib/Apps.php:353 ../../Zotlabs/Widget/Sitesearch.php:31
+#: ../../Zotlabs/Widget/Activity_filter.php:193 ../../include/text.php:1150
+#: ../../include/text.php:1162 ../../include/acl_selectors.php:148
+#: ../../include/nav.php:188
+msgid "Search"
+msgstr ""
+
+#: ../../Zotlabs/Module/Search.php:222
+#, php-format
+msgid "Items tagged with: %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Search.php:224
+#, php-format
+msgid "Search results for: %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Moderate.php:67
+msgid "Comment approved"
+msgstr ""
+
+#: ../../Zotlabs/Module/Moderate.php:71
+msgid "Comment deleted"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:109
+msgid "Edit post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr ""
+
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chanview.php:95 ../../Zotlabs/Module/Card_edit.php:44
+#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Page.php:75
+#: ../../Zotlabs/Module/Block.php:41 ../../Zotlabs/Module/Article_edit.php:44
+#: ../../Zotlabs/Module/Attach.php:21 ../../Zotlabs/Module/Cal.php:31
+#: ../../Zotlabs/Module/Attach_edit.php:52
+msgid "Channel not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chanview.php:132
+msgid "toggle full screen mode"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagger.php:50
+msgid "Post not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2971
+#: ../../include/conversation.php:158 ../../include/text.php:2258
+#: ../../include/markdown.php:204 ../../include/bbcode.php:523
+msgid "post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160
+#: ../../include/text.php:2260
+msgid "comment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagger.php:121
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import_items.php:93
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr ""
+
+#: ../../Zotlabs/Module/Import_items.php:108
+msgid "Import completed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import_items.php:125
+msgid "Import Items"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import_items.php:126
+msgid "Use this form to import existing posts and content from an export file."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118
+msgid "Continue"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:99
+msgid "Premium Channel Setup"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:101
+msgid "Enable premium channel connection restrictions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:102
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Connect.php:124
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:105
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:106 ../../Zotlabs/Module/Connect.php:127
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided "
+"on this page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:115
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connect.php:123
+msgid "Restricted or Premium Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:159
+msgid "Your real name is recommended."
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:160
+msgid ""
+"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
+"Group\""
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:165
+msgid ""
+"This will be used to create a unique network address (like an email address)."
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:167
+msgid "Allowed characters are a-z 0-9, - and _"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:175
+msgid "Channel name"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:177
+#: ../../Zotlabs/Module/Register.php:263
+msgid "Choose a short nickname"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:178
+#: ../../Zotlabs/Module/Register.php:264
+#: ../../Zotlabs/Module/Settings/Channel.php:537
+msgid "Channel role and privacy"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:178
+msgid ""
+"Select a channel permission role compatible with your usage needs and "
+"privacy requirements."
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:178
+#: ../../Zotlabs/Module/Register.php:264
+msgid "Read more about channel permission roles"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:181
+msgid "Create a Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:182
+msgid ""
+"A channel is a unique network identity. It can represent a person (social "
+"network profile), a forum (group), a business or celebrity page, a newsfeed, "
+"and many other things."
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:183
+msgid ""
+"or <a href=\"import\">import an existing channel</a> from another location."
+msgstr ""
+
+#: ../../Zotlabs/Module/New_channel.php:188
+msgid "Validate"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apps.php:50 ../../Zotlabs/Widget/Appstore.php:14
+msgid "Available Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apps.php:50
+msgid "Installed Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apps.php:53
+msgid "Manage Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apps.php:54
+msgid "Create Custom App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:35
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:57
+msgid "Remove This Account"
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid ""
+"This account and all its channels will be completely removed from the "
+"network. "
+msgstr ""
+
+#: ../../Zotlabs/Module/Removeaccount.php:61
+#: ../../Zotlabs/Module/Settings/Account.php:105
+msgid "Remove Account"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:14
+#: ../../Zotlabs/Module/Filestorage.php:53
+msgid "Deprecated!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Display.php:42
+#: ../../Zotlabs/Module/Display.php:429 ../../Zotlabs/Module/Admin.php:62
+#: ../../Zotlabs/Module/Admin/Themes.php:72
+#: ../../Zotlabs/Module/Admin/Addons.php:260 ../../Zotlabs/Module/Thing.php:96
+#: ../../Zotlabs/Module/Viewsrc.php:25 ../../include/items.php:3919
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:284
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:285
+msgid "Item not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:109
+#: ../../Zotlabs/Module/Attach_edit.php:69
+msgid "File not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:157
+msgid "Permission Denied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:190
+msgid "Edit file permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:195
+#: ../../Zotlabs/Module/Connedit.php:682 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Photos.php:678 ../../Zotlabs/Module/Photos.php:1047
+#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374
+#: ../../include/acl_selectors.php:153
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:254
+msgid "Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:202
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:261
+msgid "Set/edit permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:203
+msgid "Include all files and sub folders"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:204
+msgid "Return to file list"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:206
+#: ../../Zotlabs/Storage/Browser.php:386
+msgid "Copy/paste this code to attach file to a post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:207
+#: ../../Zotlabs/Storage/Browser.php:387
+msgid "Copy/paste this URL to link file from a web page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:209
+msgid "Share this file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:210
+msgid "Show URL to this file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Filestorage.php:211
+#: ../../Zotlabs/Storage/Browser.php:552
+msgid "Show in your contacts shared folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Card_edit.php:17 ../../Zotlabs/Module/Card_edit.php:33
+#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editblock.php:79
+#: ../../Zotlabs/Module/Editblock.php:95 ../../Zotlabs/Module/Editpost.php:24
+#: ../../Zotlabs/Module/Editwebpage.php:80
+#: ../../Zotlabs/Module/Article_edit.php:17
+#: ../../Zotlabs/Module/Article_edit.php:33
+msgid "Item not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Card_edit.php:101
+#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:220
+#: ../../Zotlabs/Module/Editwebpage.php:143
+#: ../../Zotlabs/Module/Article_edit.php:100
+#: ../../include/conversation.php:1341
+#: ../../extend/addon/hzaddons/hsse/hsse.php:95
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:166
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:309
+msgid "Insert web link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Card_edit.php:117
+#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674
+#: ../../Zotlabs/Module/Photos.php:1044
+#: ../../Zotlabs/Module/Article_edit.php:116
+#: ../../include/conversation.php:1474
+#: ../../extend/addon/hzaddons/hsse/hsse.php:221
+msgid "Title (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Card_edit.php:128
+msgid "Edit Card"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:80
+#: ../../Zotlabs/Module/Connections.php:288 ../../include/text.php:1044
+msgid "Accepts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:83
+#: ../../Zotlabs/Module/Connections.php:291 ../../include/text.php:1047
+msgid "Comments"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:88
+#: ../../Zotlabs/Module/Connections.php:296 ../../include/text.php:1052
+msgid "Stream items"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:93
+#: ../../Zotlabs/Module/Connections.php:301 ../../include/text.php:1057
+msgid "Wall posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:97
+#: ../../Zotlabs/Module/Connections.php:305 ../../include/text.php:1061
+msgid "Nothing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:105
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewconnections.php:135
+msgid "View Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:54
+msgid "Name and Secret are required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:106
+msgid "OAuth2 Apps Manager App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:107
+msgid "OAuth2 authenticatication tokens for mobile and remote apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:115
+msgid "Add OAuth2 application"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149
+msgid "Grant Types"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:122
+msgid "leave blank unless your application sepcifically requires this"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150
+msgid "Authorization scope"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:134
+msgid "OAuth2 Application not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:149 ../../Zotlabs/Module/Oauth2.php:150
+msgid "leave blank unless your application specifically requires this"
+msgstr ""
+
+#: ../../Zotlabs/Module/Oauth2.php:192
+msgid "Connected OAuth2 Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:35
+#: ../../extend/addon/hzaddons/cart/cart.php:1410
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:51
+msgid "Profile Unavailable."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:52
+msgid "Wiki App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:53
+msgid "Provide a wiki for your channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:77
+#: ../../extend/addon/hzaddons/cart/cart.php:1556
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:478
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:456
+#: ../../extend/addon/hzaddons/cart/myshop.php:37
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:93
+msgid "Invalid channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:133
+msgid "Error retrieving wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:140
+msgid "Error creating zip file export folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:191
+msgid "Error downloading wiki: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Widget/Wiki_list.php:15
+#: ../../include/nav.php:536
+msgid "Wikis"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Storage/Browser.php:404
+msgid "Download"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:216
+msgid "Wiki name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:217
+msgid "Content type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371
+#: ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2116
+#: ../../extend/addon/hzaddons/mdpost/mdpost.php:41
+msgid "Markdown"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371
+#: ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2114
+msgid "BBcode"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2117
+msgid "Text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:378
+msgid "Type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:220
+msgid "Any&nbsp;type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:227
+msgid "Lock content type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:228
+msgid "Create a status post for this wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:229
+msgid "Edit Wiki Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:274
+msgid "Wiki not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:300
+msgid "Rename page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:321
+msgid "Error retrieving page content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331
+msgid "New page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:366
+msgid "Revision Comparison"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:567
+#: ../../Zotlabs/Widget/Wiki_page_history.php:25
+msgid "Revert"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:374
+msgid "Short description of your changes (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:384
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:134
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69
+#: ../../extend/addon/hzaddons/dwpost/dwpost.php:134
+#: ../../extend/addon/hzaddons/wppost/wppost.php:173
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98
+msgid "Source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:394
+msgid "New page name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:399
+msgid "Embed image from photo albums"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:400 ../../include/conversation.php:1457
+#: ../../extend/addon/hzaddons/hsse/hsse.php:208
+msgid "Embed an image from your albums"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:508
+#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1459
+#: ../../include/conversation.php:1510
+#: ../../extend/addon/hzaddons/hsse/hsse.php:210
+#: ../../extend/addon/hzaddons/hsse/hsse.php:257
+msgid "OK"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:509
+#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1385
+#: ../../extend/addon/hzaddons/hsse/hsse.php:139
+msgid "Choose images to embed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:404 ../../Zotlabs/Module/Profile_photo.php:510
+#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1386
+#: ../../extend/addon/hzaddons/hsse/hsse.php:140
+msgid "Choose an album"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:511
+#: ../../Zotlabs/Module/Cover_photo.php:432
+msgid "Choose a different album"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:512
+#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1388
+#: ../../extend/addon/hzaddons/hsse/hsse.php:142
+msgid "Error getting album list"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:513
+#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1389
+#: ../../extend/addon/hzaddons/hsse/hsse.php:143
+msgid "Error getting photo link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:408 ../../Zotlabs/Module/Profile_photo.php:514
+#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1390
+#: ../../extend/addon/hzaddons/hsse/hsse.php:144
+msgid "Error getting album"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:410
+msgid "History"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:488
+msgid "Error creating wiki. Invalid name."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:495
+msgid "A wiki with this name already exists."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:508
+msgid "Wiki created, but error creating Home page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:515
+msgid "Error creating wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:539
+msgid "Error updating wiki. Invalid name."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:559
+msgid "Error updating wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:574
+msgid "Wiki delete permission denied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:584
+msgid "Error deleting wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:617
+msgid "New page created"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:739
+msgid "Cannot delete Home"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:803
+msgid "Current Revision"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:803
+msgid "Selected Revision"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:853
+msgid "You must be authenticated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
+#: ../../Zotlabs/Module/Editblock.php:113
+msgid "Block Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2698
+msgid "Blocks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Blocks.php:156
+msgid "Block Title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dircensor.php:42
+msgid "Entry censored"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dircensor.php:45
+msgid "Entry uncensored"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66
+msgid "Location not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:75
+msgid "Location lookup failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:79
+msgid ""
+"Please select another location to become primary before removing the primary "
+"location."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:108
+msgid "Syncing locations"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:117
+msgid "No locations found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:127
+msgid "Manage Channel Locations"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:130
+#: ../../extend/addon/hzaddons/workflow/workflow.php:285
+msgid "Primary"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177
+msgid "Drop"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:133
+msgid "Sync Now"
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:134
+msgid "Please wait several minutes between consecutive operations."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:135
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing "
+"your channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Locs.php:136
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chatsvc.php:131
+msgid "Away"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chatsvc.php:136
+msgid "Online"
+msgstr ""
+
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345
+#: ../../include/features.php:369 ../../include/nav.php:444
+msgid "Photos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Storage/Browser.php:351
+#: ../../Zotlabs/Lib/Apps.php:340 ../../include/nav.php:452
+msgid "Files"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:120
+msgid "Could not locate selected profile."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:264
+msgid "Connection updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:266
+msgid "Failed to update connection record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:309
+msgid "is now connected to"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:434
+msgid "Could not access address book record."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:482 ../../Zotlabs/Module/Connedit.php:486
+msgid "Refresh failed - channel is currently unavailable."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:501 ../../Zotlabs/Module/Connedit.php:510
+#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Module/Connedit.php:528
+#: ../../Zotlabs/Module/Connedit.php:541
+msgid "Unable to set address book parameters."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:560
+msgid "Connection has been removed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:344
+#: ../../include/conversation.php:1080 ../../include/nav.php:112
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57
+msgid "View Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:603
+#, php-format
+msgid "View %s's profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:607
+msgid "Refresh Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:610
+msgid "Fetch updated permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:614
+msgid "Refresh Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:617
+msgid "Fetch updated photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:621 ../../include/conversation.php:1090
+msgid "Recent Activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:624
+msgid "View recent posts and comments"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:628
+#: ../../Zotlabs/Module/Admin/Accounts.php:177
+msgid "Unblock"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:628
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+msgid "Block"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:631
+msgid "Block (or Unblock) all communications with this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:632
+msgid "This connection is blocked!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:636
+msgid "Unignore"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:636
+#: ../../Zotlabs/Module/Connections.php:344
+msgid "Ignore"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:639
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:640
+msgid "This connection is ignored!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:644
+msgid "Unarchive"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:644
+msgid "Archive"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:647
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:648
+msgid "This connection is archived!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:652
+msgid "Unhide"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:652
+msgid "Hide"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:655
+msgid "Hide or Unhide this connection from your other connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:656
+msgid "This connection is hidden!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:663
+msgid "Delete this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:671
+msgid "Fetch Vcard"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:674
+msgid "Fetch electronic calling card for this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:685
+msgid "Open Individual Permissions section by default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:708
+msgid "Affinity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:711
+msgid "Open Set Affinity section by default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:715 ../../Zotlabs/Widget/Affinity.php:30
+msgid "Me"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:31
+msgid "Family"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:717
+#: ../../Zotlabs/Module/Settings/Channel.php:71
+#: ../../Zotlabs/Module/Settings/Channel.php:75
+#: ../../Zotlabs/Module/Settings/Channel.php:76
+#: ../../Zotlabs/Module/Settings/Channel.php:79
+#: ../../Zotlabs/Module/Settings/Channel.php:90
+#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:505
+#: ../../include/channel.php:506 ../../include/channel.php:513
+#: ../../include/selectors.php:134
+msgid "Friends"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:718 ../../Zotlabs/Widget/Affinity.php:33
+msgid "Acquaintances"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:719
+#: ../../Zotlabs/Module/Connections.php:97
+#: ../../Zotlabs/Module/Connections.php:111
+#: ../../Zotlabs/Widget/Affinity.php:34
+msgid "All"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:748
+msgid "Filter"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Open Custom Filter section by default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Approve this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Accept connection to allow communication"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:793
+msgid "Set Affinity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:796
+msgid "Set Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:799
+msgid "Set Affinity & Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:847
+msgid "This connection is unreachable from this location."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:848
+msgid "This connection may be unreachable from other channel locations."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:850
+msgid "Location independence is not supported by their network."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:856
+msgid ""
+"This connection is unreachable from this location. Location independence is "
+"not supported by their network."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:859 ../../include/items.php:4524
+#, php-format
+msgid "Connection: %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:860
+msgid "Connection requests will be approved without your interaction"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:869
+msgid "This connection's primary address is"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:870
+msgid "Available locations:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:876
+msgid "Connection Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:878
+msgid "Slide to adjust your degree of friendship"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:879 ../../Zotlabs/Module/Rate.php:155
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:880
+msgid "Slide to adjust your rating"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:881 ../../Zotlabs/Module/Connedit.php:886
+msgid "Optionally explain your rating"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:883
+msgid "Custom Filter"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:884
+msgid "Only import posts with this text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:884 ../../Zotlabs/Module/Connedit.php:885
+#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:328
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:885
+msgid "Do not import posts with this text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:887
+msgid "This information is public!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:892
+msgid "Connection Pending Approval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:897
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:899 ../../Zotlabs/Module/Tokens.php:180
+msgid "Their Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:903 ../../Zotlabs/Module/Tokens.php:187
+#: ../../Zotlabs/Module/Permcats.php:128
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can <strong>not</strong> change those settings here."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:904
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can change those settings here but they wont have "
+"any impact unless the inherited setting changes."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:905
+msgid "Last update:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:913
+msgid "Details"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:93
+#: ../../Zotlabs/Module/Cover_photo.php:85
+msgid "Image uploaded but image cropping failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:147
+#: ../../Zotlabs/Module/Profile_photo.php:284
+#: ../../include/photo/photo_driver.php:417
+msgid "Profile Photos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:166
+#: ../../Zotlabs/Module/Cover_photo.php:212
+msgid "Image resize failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:254
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:298
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:261
+#: ../../Zotlabs/Module/Cover_photo.php:241 ../../include/photos.php:196
+msgid "Unable to process image"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:296
+#: ../../Zotlabs/Module/Cover_photo.php:265
+msgid "Image upload failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:315
+#: ../../Zotlabs/Module/Cover_photo.php:282
+msgid "Unable to process image."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:379
+#: ../../Zotlabs/Module/Profile_photo.php:431
+#: ../../Zotlabs/Module/Cover_photo.php:367
+#: ../../Zotlabs/Module/Cover_photo.php:382
+msgid "Photo not available."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:495
+msgid ""
+"Your default profile photo is visible to anybody on the internet. Profile "
+"photos for alternate profiles will inherit the permissions of the profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:495
+msgid ""
+"Your profile photo is visible to anybody on the internet and may be "
+"distributed to other websites."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:497
+#: ../../Zotlabs/Module/Cover_photo.php:420
+msgid "Upload File:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:498
+#: ../../Zotlabs/Module/Cover_photo.php:421
+msgid "Select a profile:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:499
+msgid "Use Photo for Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:499
+msgid "Change Profile Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:500
+msgid "Use"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:500
+#: ../../Zotlabs/Module/Photos.php:688 ../../Zotlabs/Module/Cover_photo.php:423
+#: ../../Zotlabs/Module/Embedphotos.php:188
+#: ../../Zotlabs/Storage/Browser.php:540 ../../Zotlabs/Widget/Cdav.php:146
+#: ../../Zotlabs/Widget/Cdav.php:182 ../../Zotlabs/Widget/Portfolio.php:110
+#: ../../Zotlabs/Widget/Album.php:97
+msgid "Upload"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:501
+#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Tagrm.php:137
+#: ../../Zotlabs/Module/Admin/Addons.php:459
+#: ../../Zotlabs/Module/Cover_photo.php:424
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:91
+msgid "Remove"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:505
+#: ../../Zotlabs/Module/Profile_photo.php:506
+#: ../../Zotlabs/Module/Cover_photo.php:426
+#: ../../Zotlabs/Module/Cover_photo.php:427
+msgid "Use a photo from your albums"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:516
+#: ../../Zotlabs/Module/Cover_photo.php:438
+msgid "Select existing photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:535
+#: ../../Zotlabs/Module/Cover_photo.php:455
+msgid "Crop Image"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:536
+#: ../../Zotlabs/Module/Cover_photo.php:456
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:538
+#: ../../Zotlabs/Module/Cover_photo.php:458
+msgid "Done Editing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sharedwithme.php:105
+msgid "Files: shared with me"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sharedwithme.php:107
+msgid "NEW"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sharedwithme.php:108
+#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1562
+msgid "Size"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sharedwithme.php:109
+#: ../../Zotlabs/Storage/Browser.php:380
+msgid "Last Modified"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sharedwithme.php:110
+msgid "Remove all files"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sharedwithme.php:111
+msgid "Remove this file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editlayout.php:137
+msgid "Edit Layout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:145
+msgid "Create a new channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337
+#: ../../include/nav.php:98
+msgid "Channel Manager"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:171
+msgid "Current Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:173
+msgid "Switch to one of your channels by selecting it."
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:174
+msgid "Default Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Make Default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:178
+#, php-format
+msgid "%d new messages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:179
+#, php-format
+msgid "%d new introductions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Manage.php:181
+msgid "Delegated Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Follow.php:93
+msgid "Connection added."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:450 ../../Zotlabs/Module/Pin.php:35
+msgid "Unable to locate original post."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:736
+msgid "Empty post discarded."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1187
+msgid "Duplicate post suppressed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1332
+msgid "System error. Post not saved."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1366
+msgid "Your comment is awaiting approval."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1496
+msgid "Unable to obtain post information from database."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1503
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1510
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr ""
+
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
+msgid "Invalid item."
+msgstr ""
+
+#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Display.php:136
+#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173
+#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77
+#: ../../Zotlabs/Web/Router.php:185 ../../Zotlabs/Lib/NativeWikiPage.php:521
+#: ../../include/help.php:132
+msgid "Page not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Page.php:173
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
+"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr ""
+
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr ""
+
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr ""
+
+#: ../../Zotlabs/Module/Xchan.php:41 ../../Zotlabs/Module/Mitem.php:134
+#: ../../Zotlabs/Module/Menu.php:232
+msgid "Not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr ""
+
+#: ../../Zotlabs/Module/Subthread.php:143
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Subthread.php:145
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Regmod.php:15
+msgid "Please login."
+msgstr ""
+
+#: ../../Zotlabs/Module/Editblock.php:138
+msgid "Edit Block"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:316
+msgid "webpage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:322
+msgid "block"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:319
+msgid "layout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:325
+msgid "menu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:185
+#, php-format
+msgid "%s element installed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Impel.php:188
+#, php-format
+msgid "%s element installation failed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12
+msgid "Public Hubs"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:28
+msgid ""
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Hub URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Access Type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Registration Policy"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Stats"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:34
+msgid "Software"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97
+#: ../../include/conversation.php:1130
+msgid "Ratings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pubsites.php:50
+msgid "Rate"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:29 ../../Zotlabs/Module/Channel.php:42
+#: ../../Zotlabs/Module/Ochannel.php:32
+msgid "You must be logged in to see this page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:100
+msgid "Chatrooms App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:101
+msgid "Access Controlled Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:194
+msgid "Room not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:210
+msgid "Leave Room"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:211
+msgid "Delete Room"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:212
+msgid "I am away right now"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:213
+msgid "I am online"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:215
+msgid "Bookmark this room"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1380
+#: ../../extend/addon/hzaddons/hsse/hsse.php:134
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:119
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:240
+msgid "Please enter a link URL:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:839
+#: ../../include/conversation.php:1508
+#: ../../extend/addon/hzaddons/hsse/hsse.php:255
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:172
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:315
+msgid "Encrypt text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:238
+msgid "New Chatroom"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:239
+msgid "Chatroom name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:240
+msgid "Expiration of chats (minutes)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:256
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:261
+msgid "No chatrooms available"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:265
+msgid "Expiration"
+msgstr ""
+
+#: ../../Zotlabs/Module/Chat.php:266
+msgid "min"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:61
+msgid "Channel Export App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:62
+msgid "Export your channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73
+msgid "Export Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:74
+msgid ""
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:75
+msgid "Export Content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:76
+msgid ""
+"Export your channel information and recent content to a JSON backup that can "
+"be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for "
+"this download to begin."
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:78
+msgid "Export your posts from a given year."
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:80
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Adjust the date in your browser location bar to select other dates. "
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:81
+#, php-format
+msgid ""
+"To select all posts for a given year, such as this year, visit <a href=\"%1$s"
+"\">%2$s</a>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:82
+#, php-format
+msgid ""
+"To select all posts for a given month, such as January of this year, visit "
+"<a href=\"%1$s\">%2$s</a>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Uexport.php:83
+#, php-format
+msgid ""
+"These content files may be imported or restored by visiting <a href=\"%1$s\">"
+"%2$s</a> on any site containing your channel. For best results please import "
+"or restore these in date order (oldest first)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108
+#, php-format
+msgid "Site Member (%s)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49
+#, php-format
+msgid "Password reset requested at %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:68
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1714
+msgid "Password Reset"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your password has been reset as requested."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Your new password is"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "Save or copy your new password - and then"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid "click here to login"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:96
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:117
+#, php-format
+msgid "Your password has changed at %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Forgot your Password?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:131
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lostpass.php:132
+msgid "Email Address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Vote.php:40
+msgid "Poll not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Vote.php:71
+msgid "Invalid response."
+msgstr ""
+
+#: ../../Zotlabs/Module/Vote.php:132
+msgid "Response submitted. Updates may not appear instantly."
+msgstr ""
+
+#: ../../Zotlabs/Module/Ping.php:337 ../../Zotlabs/Lib/Enotify.php:948
+msgid "sent you a private message"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ping.php:393 ../../Zotlabs/Lib/Enotify.php:914
+msgid "added your channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986
+msgid "requires approval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ping.php:428 ../../Zotlabs/Lib/Enotify.php:957
+msgid "g A l F d"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ping.php:446 ../../Zotlabs/Lib/Enotify.php:960
+msgid "[today]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ping.php:456
+msgid "posted an event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ping.php:490 ../../Zotlabs/Lib/Enotify.php:829
+#: ../../Zotlabs/Lib/Enotify.php:931
+msgid "shared a file with you"
+msgstr ""
+
+#: ../../Zotlabs/Module/Display.php:359 ../../Zotlabs/Module/Channel.php:449
+msgid ""
+"You must enable javascript for your browser to be able to view this content."
+msgstr ""
+
+#: ../../Zotlabs/Module/Display.php:377
+msgid "Article"
+msgstr ""
+
+#: ../../Zotlabs/Module/Display.php:422
+msgid "Item has been removed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:96
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Accounts.php:180
+#: ../../Zotlabs/Widget/Admin.php:23
+msgid "Accounts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "Blocked accounts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "Expired accounts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "Expiring accounts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:114
+#: ../../Zotlabs/Module/Admin/Channels.php:146
+#: ../../Zotlabs/Widget/Admin.php:24
+msgid "Channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:120
+msgid "Message queues"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:134
+msgid "Your software should be updated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:138 ../../Zotlabs/Module/Admin/Themes.php:122
+#: ../../Zotlabs/Module/Admin/Themes.php:156
+#: ../../Zotlabs/Module/Admin/Security.php:98
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Channels.php:145
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Addons.php:342
+#: ../../Zotlabs/Module/Admin/Addons.php:440
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "Administration"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:139
+msgid "Summary"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Registered accounts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:143
+msgid "Pending registrations"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:144
+msgid "Registered channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Active addons"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Version"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:147
+msgid "Repository version (master)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin.php:148
+msgid "Repository version (dev)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:80
+msgid "Page owner information could not be retrieved."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:96 ../../Zotlabs/Module/Photos.php:115
+msgid "Album not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:105
+msgid "Delete Album"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1059
+msgid "Delete Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:530
+msgid "No photos selected"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:579
+msgid "Access to this item is restricted."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:622
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:625
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:667
+msgid "Upload Photos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:671
+msgid "Enter an album name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:672
+msgid "or select an existing album (doubleclick)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:673
+msgid "Create a status post for this upload"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:675
+msgid "Description (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:761
+msgid "Show Newest First"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:763
+msgid "Show Oldest First"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333
+#: ../../Zotlabs/Module/Embedphotos.php:170
+#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78
+msgid "View Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255
+#: ../../Zotlabs/Module/Embedphotos.php:176 ../../Zotlabs/Lib/Apps.php:1112
+#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1508
+#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:270
+#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1211
+#: ../../include/cdav.php:158 ../../include/cdav.php:159
+#: ../../include/cdav.php:167 ../../extend/addon/hzaddons/pubcrawl/as.php:1187
+msgid "Unknown"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:818 ../../Zotlabs/Module/Embedphotos.php:186
+#: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95
+msgid "Edit Album"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364
+msgid "Add Photos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:868
+msgid "Permission denied. Access to this item may be restricted."
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:870
+msgid "Photo not available"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:928
+msgid "Use as profile photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:929
+msgid "Use as cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:936
+msgid "Private Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:951
+msgid "View Full Size"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1033
+msgid "Edit photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CW (right)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1036
+msgid "Rotate CCW (left)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "Move photo to album"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1040
+msgid "Enter a new album name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1041
+msgid "or select an existing one (doubleclick)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1046
+msgid "Add a Tag"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1054
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Flag as adult in album view"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:317
+msgid "I like this (toggle)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:318
+msgid "I don't like this (toggle)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:501
+#: ../../include/conversation.php:827
+msgid "Please wait"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Lib/ThreadItem.php:822
+msgid "This is you"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:824 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:652
+msgctxt "title"
+msgid "Likes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:653
+msgctxt "title"
+msgid "Dislikes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:77
+#: ../../include/conversation.php:654
+msgctxt "title"
+msgid "Agree"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:78
+#: ../../include/conversation.php:655
+msgctxt "title"
+msgid "Disagree"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:79
+#: ../../include/conversation.php:656
+msgctxt "title"
+msgid "Abstain"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:66
+#: ../../include/conversation.php:657
+msgctxt "title"
+msgid "Attending"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:67
+#: ../../include/conversation.php:658
+msgctxt "title"
+msgid "Not attending"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:68
+#: ../../include/conversation.php:659
+msgctxt "title"
+msgid "Might attend"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
+#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250
+msgid "View all"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:242
+#: ../../include/conversation.php:1749 ../../include/channel.php:1781
+#: ../../include/taxonomy.php:668
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:247
+#: ../../include/conversation.php:1752
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Photos.php:1247
+msgid "Photo Tools"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1256
+msgid "In This Photo:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1261
+msgid "Map"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:489
+msgctxt "noun"
+msgid "Likes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:490
+msgctxt "noun"
+msgid "Dislikes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411
+#: ../../Zotlabs/Lib/ThreadItem.php:495 ../../Zotlabs/Widget/Pinned.php:160
+#: ../../include/acl_selectors.php:155
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:233
+msgid "Close"
+msgstr ""
+
+#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
+#: ../../Zotlabs/Module/Photos.php:1362 ../../include/photos.php:667
+msgid "Recent Photos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:99 ../../Zotlabs/Module/Profile.php:45
+#: ../../Zotlabs/Module/Hcard.php:37
+msgid "Posts and comments"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:106 ../../Zotlabs/Module/Profile.php:52
+#: ../../Zotlabs/Module/Hcard.php:44
+msgid "Only posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:174
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel.php:189 ../../Zotlabs/Module/Network.php:164
+msgid "Search Results For:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cards.php:51
+msgid "Cards App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cards.php:52
+msgid "Create personal planning cards"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cards.php:112
+msgid "Add Card"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cards.php:207 ../../Zotlabs/Lib/Apps.php:326
+#: ../../include/nav.php:501
+msgid "Cards"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:21
+msgid "This page is available only to site members"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:27
+msgid "Welcome"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:29
+msgid "What would you like to do?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:31
+msgid ""
+"Please bookmark this page if you would like to return to it in the future"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:35
+msgid "Upload a profile photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:36
+msgid "Upload a cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:37
+msgid "Edit your default profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:41
+msgid "View friend suggestions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:39
+msgid "View the channel directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:40
+msgid "View/edit your channel settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:41
+msgid "View the site or project documentation"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:42
+msgid "Visit your channel homepage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:43
+msgid ""
+"View your connections and/or add somebody whose address you already know"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:44
+msgid ""
+"View your personal stream (this may be empty until you add some connections)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:52
+msgid "View the public stream. Warning: this content is not moderated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:58
+#: ../../Zotlabs/Module/Connections.php:115
+#: ../../Zotlabs/Module/Connections.php:273
+msgid "Active"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:63
+#: ../../Zotlabs/Module/Connections.php:181
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Blocked"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:68
+#: ../../Zotlabs/Module/Connections.php:188
+#: ../../Zotlabs/Module/Connections.php:277
+msgid "Ignored"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:73
+#: ../../Zotlabs/Module/Connections.php:202
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Hidden"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:78
+#: ../../Zotlabs/Module/Connections.php:195
+msgid "Archived/Unreachable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:83
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Notifications.php:50 ../../Zotlabs/Module/Menu.php:180
+msgid "New"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:157
+msgid "Active Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:160
+msgid "Show active connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:164
+#: ../../Zotlabs/Widget/Notifications.php:104
+msgid "New Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:167
+msgid "Show pending (new) connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:184
+msgid "Only show blocked connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:191
+msgid "Only show ignored connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:198
+msgid "Only show archived/unreachable connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:205
+msgid "Only show hidden connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:220
+msgid "Show all connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Pending approval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Archived"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:279
+msgid "Not connected at this location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:318
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:319
+msgid "Edit connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:321
+msgid "Delete connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:330
+msgid "Channel address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:332 ../../include/features.php:291
+msgid "Network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:335
+msgid "Call"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:337
+msgid "Status"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:339
+msgid "Connected"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:341
+msgid "Approve connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:342
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../include/conversation.php:774
+msgid "Approve"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:343
+msgid "Ignore connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:345
+msgid "Recent activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71
+#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32
+#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1100
+#: ../../include/channel.php:1618 ../../include/connections.php:110
+msgid "Connect"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:351
+msgid "Connect at this location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:374 ../../Zotlabs/Lib/Apps.php:333
+#: ../../include/features.php:133 ../../include/text.php:1036
+msgid "Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:379
+msgid "Search your connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:380
+msgid "Connections search"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:381
+#: ../../Zotlabs/Module/Directory.php:433
+#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43
+msgid "Item is not editable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:35
+msgid "Affinity Tool settings updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:47
+msgid ""
+"This app presents a slider control in your connection editor and also on "
+"your network page. The slider represents your degree of friendship "
+"(affinity) with each connection. It allows you to zoom in or out and display "
+"conversations from only your closest friends or everybody in your stream."
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:52
+msgid "Affinity Tool App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:57
+msgid ""
+"The numbers below represent the minimum and maximum slider default positions "
+"for your network/stream page as a percentage."
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:64
+msgid "Default maximum affinity level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:64
+msgid "0-99 default 99"
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:70
+msgid "Default minimum affinity level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:70
+msgid "0-99 - default 0"
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:76
+msgid "Persistent affinity levels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:76
+msgid ""
+"If disabled the max and min levels will be reset to default after page reload"
+msgstr ""
+
+#: ../../Zotlabs/Module/Affinity.php:84
+msgid "Affinity Tool Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Common.php:45
+msgid "No connections in common."
+msgstr ""
+
+#: ../../Zotlabs/Module/Common.php:65
+msgid "View Common Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2133
+#, php-format
+msgid "&#x1f501; Repeated %1$s's %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Share.php:120
+msgid "Post repeated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editwebpage.php:139
+msgid "Page link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editwebpage.php:166
+msgid "Edit Webpage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile.php:93
+msgid "vcard"
+msgstr ""
+
+#: ../../Zotlabs/Module/Article_edit.php:127
+msgid "Edit Article"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:46
+msgid "Authentication failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2597
+#: ../../boot.php:1706
+msgid "Remote Authentication"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2598
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2599
+msgid "Authenticate"
+msgstr ""
+
+#: ../../Zotlabs/Module/Attach.php:67
+msgid "Item not available."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pconfig.php:32 ../../Zotlabs/Module/Pconfig.php:68
+msgid "This setting requires special processing and editing has been blocked."
+msgstr ""
+
+#: ../../Zotlabs/Module/Pconfig.php:57
+msgid "Configuration Editor"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pconfig.php:58
+msgid ""
+"Warning: Changing some settings could render your channel inoperable. Please "
+"leave this page unless you are comfortable with and knowledgeable about how "
+"to correctly use this feature."
+msgstr ""
+
+#: ../../Zotlabs/Module/Randprof.php:29
+msgid "Random Channel App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Randprof.php:30
+msgid "Visit a random channel in the $Projectname network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:26
+msgid "Theme settings updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:61
+msgid "No themes found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+#: ../../Zotlabs/Module/Admin/Addons.php:311
+msgid "Disable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:97
+#: ../../Zotlabs/Module/Admin/Addons.php:314
+msgid "Enable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:116
+msgid "Screenshot"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:123
+#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../Zotlabs/Widget/Admin.php:28
+msgid "Themes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:124
+#: ../../Zotlabs/Module/Admin/Addons.php:344
+msgid "Toggle"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:125
+#: ../../Zotlabs/Module/Admin/Addons.php:345 ../../Zotlabs/Lib/Apps.php:339
+#: ../../Zotlabs/Widget/Settings_menu.php:61
+#: ../../Zotlabs/Widget/Newmember.php:53 ../../include/nav.php:103
+msgid "Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:134
+#: ../../Zotlabs/Module/Admin/Addons.php:352
+msgid "Author: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:135
+#: ../../Zotlabs/Module/Admin/Addons.php:353
+msgid "Maintainer: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:162
+msgid "[Experimental]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Themes.php:163
+msgid "[Unsupported]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently "
+"insecure."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/"
+"<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:99 ../../Zotlabs/Widget/Admin.php:25
+msgid "Security"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:101
+msgid "Block public"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:101
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:102
+msgid "Provide a cloud root directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:102
+msgid ""
+"The cloud root directory lists all channel names which provide public files"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:103
+msgid "Show total disk space available to cloud uploads"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:104
+msgid "Set \"Transport Security\" HTTP header"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:105
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:106
+msgid "Allowed email domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:106
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:107
+msgid "Not allowed email domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:107
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:108
+msgid "Allow communications only from these sites"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:108
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:109
+msgid "Block communications from these sites"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:110
+msgid "Allow communications only from these channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:110
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:111
+msgid "Block communications from these channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:112
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:113
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:113
+msgid "One site per line. By default embedded content is filtered."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:114
+msgid "Block embedded HTML from these domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:115
+msgid "Allow SVG thumbnails in file browser"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:115
+msgid "WARNING: SVG images may contain malicious code."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Security.php:116
+msgid "Allow embedded (inline) PDF files"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:37
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:44
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:80
+msgid "Account not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2757
+#, php-format
+msgid "Account '%s' deleted"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:99
+#, php-format
+msgid "Account '%s' blocked"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:107
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+#: ../../Zotlabs/Module/Admin/Channels.php:148
+msgid "select all"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Registrations waiting for confirm"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "Request date"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+msgid "No registrations."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:182
+msgid "ID"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "All Channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Register date"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Last login"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Expires"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:188
+msgid "Service Class"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
+"on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:191
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55
+msgid "Off"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55
+msgid "On"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Queue.php:35
+msgid "Queue Statistics"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Total Entries"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Priority"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Destination URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Mark hub permanently offline"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Empty queue for this hub"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Last known contact"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Update has been marked successful"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#, php-format
+msgid "Verification of update %s failed. Check system logs."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:35
+#: ../../Zotlabs/Module/Admin/Dbsync.php:74
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#, php-format
+msgid "Verifying update %s did not return a status. Unknown if it succeeded."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:42
+#, php-format
+msgid "Update %s does not contain a verification function."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:46
+#: ../../Zotlabs/Module/Admin/Dbsync.php:81
+#, php-format
+msgid "Update function %s could not be found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:71
+#, php-format
+msgid "Executing update procedure %s failed. Check system logs."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:78
+#, php-format
+msgid ""
+"Update %s did not return a status. It cannot be determined if it was "
+"successful."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:99
+msgid "Failed Updates"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:101
+msgid "Mark success (if update was manually applied)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:102
+msgid "Attempt to verify this update if a verification procedure exists"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:103
+msgid "Attempt to execute this update step automatically"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:108
+msgid "No failed updates."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:31
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:40
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:46
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:65
+msgid "Channel not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:75
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:87
+#, php-format
+msgid "Channel '%s' censored"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:87
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:98
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:98
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:150
+#: ../../Zotlabs/Module/Directory.php:362
+msgid "Censor"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Directory.php:362
+msgid "Uncensor"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "Allow Code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+msgid "Disallow Code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:154 ../../include/nav.php:421
+msgid "Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+msgid "UID"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../Zotlabs/Widget/Admin.php:48
+#: ../../Zotlabs/Widget/Admin.php:58
+msgid "Logs"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:29
+#, php-format
+msgid "Password changed for account %d."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:46
+msgid "Account settings updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:61
+msgid "Account not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:68
+msgid "Account Edit"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:69
+msgid "New Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:70
+msgid "New Password again"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:71
+msgid "Account language (for emails)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:72
+msgid "Service class"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:290
+#, php-format
+msgid "Plugin %s disabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:295
+#, php-format
+msgid "Plugin %s enabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:343
+#: ../../Zotlabs/Module/Admin/Addons.php:441 ../../Zotlabs/Widget/Admin.php:27
+msgid "Addons"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:354
+msgid "Minimum project version: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:355
+msgid "Maximum project version: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:356
+msgid "Minimum PHP version: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:357
+msgid "Compatible Server Roles: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:358
+msgid "Requires: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:359
+#: ../../Zotlabs/Module/Admin/Addons.php:446
+msgid "Disabled - version incompatibility"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:415
+msgid "Enter the public git repository URL of the addon repo."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:416
+msgid "Addon repo git URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:417
+msgid "Custom repo name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:417
+msgid "(optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:418
+msgid "Download Addon Repo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:425
+msgid "Install new repo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:426 ../../Zotlabs/Lib/Apps.php:536
+msgid "Install"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:449
+msgid "Manage Repos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:450
+msgid "Installed Addon Repositories"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:451
+msgid "Install a New Addon Repository"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Addons.php:458
+msgid "Switch branch"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:165
+msgid "Site settings updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:191 ../../include/text.php:3381
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:335
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:359
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:435
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:459
+#: ../../view/theme/redbasic/php/config.php:15
+msgid "Default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:202
+#: ../../Zotlabs/Module/Settings/Display.php:118
+#, php-format
+msgid "%s - (Incompatible)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:209
+msgid "mobile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:211
+msgid "experimental"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:213
+msgid "unsupported"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:260
+msgid "Yes - with approval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:266
+msgid "My site is not a public server"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:267
+msgid "My site has paid access only"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:268
+msgid "My site has free access only"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:269
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:283
+msgid "Default permission role for new accounts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:283
+msgid ""
+"This role will be used for the first channel created after registration."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:292 ../../Zotlabs/Widget/Admin.php:22
+msgid "Site"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:294
+#: ../../Zotlabs/Module/Register.php:277
+msgid "Registration"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "File upload"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid "Policies"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:297 ../../include/contact_widgets.php:16
+#: ../../include/acl_selectors.php:144
+msgid "Advanced"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:301
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:593
+msgid "Site name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Banner/Logo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Unfiltered HTML/CSS/JS is allowed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Administrator Information"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:305 ../../Zotlabs/Module/Siteinfo.php:24
+msgid "Site Information"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:305
+msgid ""
+"Publicly visible description of this site. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "System language"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid "System theme"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Allow Feeds as Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "(Heavy system resource usage)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Maximum image size"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Does this site allow new member registration?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Invitation only"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age (in years) for who may register on this site."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Which best describes the types of account offered by this hub?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "This is displayed on the public server site list."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Register text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Will be displayed prominently on the registration page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid "Site homepage to show visitors (default: login box)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid ""
+"example: 'pubstream' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid "Preserve site homepage URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid "Accounts abandoned after x days"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid "Allowed friend domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid "Verify Email Addresses"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid "Force publish"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid "Import Public Streams"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid "Site only Public Streams"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid ""
+"Allow access to public content originating only from this site if Imported "
+"Public Streams are disabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid "Allow anybody on the internet to access the Public streams"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid ""
+"Disable to require authentication before viewing. Warning: this content is "
+"unmoderated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:327
+msgid "Only import Public stream posts with this text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:328
+msgid "Do not import Public stream posts with this text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid "Login on Homepage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:332
+msgid "Enable context help"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:332
+msgid ""
+"Display contextual help for the current page when the help button is pressed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:334
+msgid "Reply-to email address for system generated email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:335
+msgid "Sender (From) email address for system generated email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:336
+msgid "Name of email sender for system generated email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid "Directory Server URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid "Default directory server"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid "Enable SSE Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid ""
+"If disabled, traditional polling will be used. Warning: this setting might "
+"not be suited for shared hosting"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:342
+msgid "Proxy user"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:343
+msgid "Proxy URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid "Network timeout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid "Delivery interval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:346
+msgid "Deliveries per process"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:346
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust "
+"if necessary to tune system performance. Recommend: 1-5."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid "Queue Threshold"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid ""
+"Always defer immediate delivery if queue contains more than this number of "
+"entries."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Poll interval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:349
+msgid "Path to ImageMagick convert program"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:349
+msgid ""
+"If set, use this program to generate photo thumbnails for huge images ( > "
+"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
+"Example: /usr/bin/convert"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Maximum Load Average"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:351
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:351
+msgid "0 for no expiration of imported content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:352
+msgid ""
+"Do not expire any posts which have comments less than this many days ago"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:354
+msgid ""
+"Public servers: Optional landing (marketing) webpage for new registrants"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:354
+#, php-format
+msgid "Create this page first. Default is %s/register"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:355
+msgid "Page to display after creating a new channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:355
+msgid "Default: profiles"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:357
+msgid "Optional: site location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:357
+msgid "Region or country"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "New Profile Field"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
+msgid "Field nickname"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
+msgid "System name of field"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+#: ../../Zotlabs/Module/Admin/Profs.php:111
+msgid "Input type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
+msgid "Field Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
+msgid "Label on profile pages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
+msgid "Help text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
+msgid "Additional info (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:103
+msgid "Field definition not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:109
+msgid "Edit Profile Field"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:168 ../../Zotlabs/Widget/Admin.php:30
+msgid "Profile Fields"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:169
+msgid "Basic Profile Fields"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:170
+msgid "Advanced Profile Fields"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:170
+msgid "(In addition to basic fields)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:172
+msgid "All available fields"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:173
+msgid "Custom Fields"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Profs.php:177
+msgid "Create Custom Field"
+msgstr ""
+
+#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:55
+msgid "No more system notifications."
+msgstr ""
+
+#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:59
+msgid "System Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cal.php:64
+msgid "Permissions denied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:122
+msgid "Thing updated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:174
+msgid "Object store: failed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:178
+msgid "Thing added"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:204
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:267
+msgid "Show Thing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:274
+msgid "item not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:307
+msgid "Edit Thing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:366
+msgid "Select a profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
+msgid "Post an activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
+msgid "Only sends to viewers of the applicable profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:371
+msgid "Name of thing e.g. something"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:372
+msgid "URL of thing (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:373
+msgid "URL for photo of thing (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Thing.php:364
+msgid "Add Thing to your Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Suggest.php:40
+msgid "Suggest Channels App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Suggest.php:41
+msgid ""
+"Suggestions for channels in the $Projectname network you might be interested "
+"in"
+msgstr ""
+
+#: ../../Zotlabs/Module/Suggest.php:54
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr ""
+
+#: ../../Zotlabs/Module/Suggest.php:73 ../../Zotlabs/Widget/Suggestions.php:48
+msgid "Ignore/Hide"
+msgstr ""
+
+#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:437
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Email_validation.php:36
+msgid "Email Verification Required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Email_validation.php:37
+#, php-format
+msgid ""
+"A verification token was sent to your email address [%s]. Enter that token "
+"here to complete the account verification step. Please allow a few minutes "
+"for delivery, and check your spam folder if you do not see the message."
+msgstr ""
+
+#: ../../Zotlabs/Module/Email_validation.php:38
+msgid "Resend Email"
+msgstr ""
+
+#: ../../Zotlabs/Module/Email_validation.php:41
+msgid "Validation token"
+msgstr ""
+
+#: ../../Zotlabs/Module/Notes.php:57
+msgid "Notes App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Notes.php:58
+msgid "A simple notes app with a widget (note: notes are not encrypted)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:39
+#, php-format
+msgid "This channel is limited to %d tokens"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:45
+msgid "Name and Password are required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:85
+msgid "Token saved."
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:99
+msgid "Guest Access App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:100
+msgid "Create access tokens so that non-members can access private content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:133
+msgid ""
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:135
+msgid ""
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:170
+msgid "Guest Access Tokens"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:177
+msgid "Login Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:178
+msgid "Login Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Tokens.php:179
+msgid "Expires (yyyy-mm-dd)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apporder.php:47
+msgid "Change Order of Pinned Navbar Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apporder.php:47
+msgid "Change Order of App Tray Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apporder.php:48
+msgid ""
+"Use arrows to move the corresponding app left (top) or right (bottom) in the "
+"navbar"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apporder.php:48
+msgid "Use arrows to move the corresponding app up or down in the app tray"
+msgstr ""
+
+#: ../../Zotlabs/Module/Notifications.php:60
+#: ../../Zotlabs/Lib/ThreadItem.php:482
+msgid "Mark all seen"
+msgstr ""
+
+#: ../../Zotlabs/Module/Home.php:72 ../../Zotlabs/Module/Home.php:80
+#: ../../Zotlabs/Lib/Enotify.php:66
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:42
+msgid "$Projectname"
+msgstr ""
+
+#: ../../Zotlabs/Module/Home.php:90
+#, php-format
+msgid "Welcome to %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Articles.php:52
+msgid "Articles App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Articles.php:53
+msgid "Create interactive articles"
+msgstr ""
+
+#: ../../Zotlabs/Module/Articles.php:116
+msgid "Add Article"
+msgstr ""
+
+#: ../../Zotlabs/Module/Articles.php:226 ../../Zotlabs/Lib/Apps.php:325
+#: ../../include/nav.php:512
+msgid "Articles"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:167
+msgid "$Projectname Server - Setup"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:171
+msgid "Could not connect to database."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:175
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:182
+msgid "Could not create table."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:188
+msgid "Your site database has been installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259
+#: ../../Zotlabs/Module/Setup.php:766
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:256
+msgid "System check"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:261
+msgid "Check again"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:282
+msgid "Database connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:283
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:284
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:285
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:289
+msgid "Database Server Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:289
+msgid "Default is 127.0.0.1"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:290
+msgid "Database Port"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:290
+msgid "Communication port number - use 0 for default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:291
+msgid "Database Login Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:292
+msgid "Database Login Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:293
+msgid "Database Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:294
+msgid "Database Type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
+msgid "Site administrator email address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
+msgid "Website URL"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
+msgid "Please use SSL (https) URL if available."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340
+msgid "Please select a default timezone for your website"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:325
+msgid "Site settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:379
+msgid "PHP version 7.1 or greater is required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:380
+msgid "PHP version"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:396
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:397
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:401
+msgid "PHP executable path"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:401
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:406
+msgid "Command line PHP"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:416
+msgid ""
+"Unable to check command line PHP, as shell_exec() is disabled. This is "
+"required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:420
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:421
+msgid "This is required for message delivery to work."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:424
+msgid "PHP register_argc_argv"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:444
+msgid ""
+"This is not sufficient to upload larger images or files. You should be able "
+"to upload at least 4 MB at once."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:446
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to "
+"upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:452
+msgid "You can adjust these settings in the server php.ini file."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:454
+msgid "PHP upload limits"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:477
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:478
+msgid ""
+"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
+"installation.php\"."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:481
+msgid "Generate encryption keys"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:498
+msgid "libCurl PHP module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:499
+msgid "GD graphics PHP module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:500
+msgid "OpenSSL PHP module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:501
+msgid "PDO database PHP module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:502
+msgid "mb_string PHP module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "xml PHP module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:504
+msgid "zip PHP module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510
+msgid "Apache mod_rewrite module"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:508
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517
+msgid "exec"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:514
+msgid ""
+"Error: exec is required but is either not installed or has been disabled in "
+"php.ini"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523
+msgid "shell_exec"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:520
+msgid ""
+"Error: shell_exec is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:528
+msgid "Error: libCURL PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:532
+msgid ""
+"Error: GD PHP module with JPEG support or ImageMagick graphics library "
+"required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:536
+msgid "Error: openssl PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:542
+msgid ""
+"Error: PDO database PHP module missing a driver for either mysql or pgsql."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:547
+msgid "Error: PDO database PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:551
+msgid "Error: mb_string PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:555
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:559
+msgid "Error: zip PHP module required but not installed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587
+msgid ".htconfig.php is writable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:583
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\" "
+"in the top folder of your web server and it is unable to do so."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:584
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:585
+msgid "Please see install/INSTALL.txt for additional information."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:601
+msgid ""
+"This software uses the Smarty3 template engine to render its web views. "
+"Smarty3 compiles templates to PHP to speed up rendering."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:602
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the top level web folder."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has "
+"write access to this folder."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:604
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:607
+#, php-format
+msgid "%s is writable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:623
+msgid ""
+"This software uses the store directory to save uploaded files. The web "
+"server needs to have write access to the store directory under the top level "
+"web folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:627
+msgid "store is writable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:659
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access "
+"to this site."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:660
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:661
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:662
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:663
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:664
+msgid ""
+"Providers are available that issue free certificates which are browser-valid."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:665
+msgid ""
+"If you are confident that the certificate is valid and signed by a trusted "
+"authority, check to see if you have failed to install an intermediate cert. "
+"These are not normally required by browsers, but are required for server-to-"
+"server communications."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:667
+msgid "SSL certificate validation"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:673
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server configuration."
+"Test: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:676
+msgid "Url rewrite is working"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:689
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:718
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:401
+msgid "Errors encountered creating database tables."
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:764
+msgid "<h1>What next?</h1>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:765
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:122
+msgid "No default suggestions were found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:282
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Directory.php:293
+msgid "Gender: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:295
+msgid "Status: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:297
+msgid "Homepage: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1806
+msgid "Age:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1633
+#: ../../include/event.php:63 ../../include/event.php:134
+msgid "Location:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:360
+msgid "Description:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1835
+msgid "Hometown:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1841
+msgid "About:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:371
+msgid "Public Forum:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:374
+msgid "Keywords: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:377
+msgid "Don't suggest"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:379
+msgid "Common connections (estimated):"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:428
+msgid "Global Directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:428
+msgid "Local Directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:434
+msgid "Finding:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:439
+msgid "next page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:439
+msgid "previous page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:440
+msgid "Sort options"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:441
+msgid "Alphabetic"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:442
+msgid "Reverse Alphabetic"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:443
+msgid "Newest to Oldest"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:444
+msgid "Oldest to Newest"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:461
+msgid "No entries (some entries may be hidden)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:31 ../../Zotlabs/Module/Menu.php:209
+msgid "Menu not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:63
+msgid "Unable to create element."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:87
+msgid "Unable to update menu element."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:103
+msgid "Unable to add menu element."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:167 ../../Zotlabs/Module/Mitem.php:246
+msgid "Menu Item Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:168 ../../Zotlabs/Module/Mitem.php:247
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+msgid "(click to open/close)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:174 ../../Zotlabs/Module/Mitem.php:191
+msgid "Link Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:175 ../../Zotlabs/Module/Mitem.php:255
+msgid "Link or Submenu Target"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:175
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:256
+msgid "Use magic-auth if available"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:257
+msgid "Open link in new window"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258
+msgid "Order in list"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258
+msgid "Higher numbers will sink to bottom of listing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:179
+msgid "Submit and finish"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:180
+msgid "Submit and continue"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:189
+msgid "Menu:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:192
+msgid "Link Target"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:195
+msgid "Edit menu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:198
+msgid "Edit element"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:199
+msgid "Drop element"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:200
+msgid "New element"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:201
+msgid "Edit this menu container"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:202
+msgid "Add menu element"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:203
+msgid "Delete this menu item"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:204
+msgid "Edit this menu item"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:222
+msgid "Menu item not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:235
+msgid "Menu item deleted."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:237
+msgid "Menu item could not be deleted."
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:244
+msgid "Edit Menu Element"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mitem.php:254
+msgid "Link text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:76 ../../include/conversation.php:286
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:134
+msgid "Mood App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155
+msgid "Set your current mood and tell your friends"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:350
+msgid "Mood"
+msgstr ""
+
+#: ../../Zotlabs/Module/Permcats.php:29
+msgid "Permission category name is required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Permcats.php:48
+msgid "Permission category saved."
+msgstr ""
+
+#: ../../Zotlabs/Module/Permcats.php:63
+msgid "Permission Categories App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Permcats.php:64
+msgid "Create custom connection permission limits"
+msgstr ""
+
+#: ../../Zotlabs/Module/Permcats.php:80
+msgid ""
+"Use this form to create permission rules for various classes of people or "
+"connections."
+msgstr ""
+
+#: ../../Zotlabs/Module/Permcats.php:113 ../../Zotlabs/Lib/Apps.php:374
+msgid "Permission Categories"
+msgstr ""
+
+#: ../../Zotlabs/Module/Permcats.php:121
+msgid "Permission category name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ratings.php:70
+msgid "No ratings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ratings.php:98
+msgid "Rating: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Ratings.php:99
+msgid "Website: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Ratings.php:101
+msgid "Description: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:52
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:58
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:92
+msgid "Passwords do not match."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:135
+msgid "Registration successful. Continue to create your first channel..."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:138
+msgid ""
+"Registration successful. Please check your email for validation instructions."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:145
+msgid "Your registration is pending approval by the site owner."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:148
+msgid "Your registration can not be processed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:195
+msgid "Registration on this hub is disabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:204
+msgid "Registration on this hub is by approval only."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:213
+msgid "Registration on this hub is by invitation only."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:224
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28
+msgid "Terms of Service"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:245
+#, php-format
+msgid "I accept the %s for this website"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:252
+#, php-format
+msgid "I am over %s years of age and accept the %s for this website"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Your email address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:258
+msgid "Choose a password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:259
+msgid "Please re-enter your password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:260
+msgid "Please enter your invitation code"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:261
+msgid "Your Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:261
+msgid "Real names are preferred."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:263
+#, php-format
+msgid ""
+"Your nickname will be used to create an easy to remember channel address e."
+"g. nickname%s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:264
+msgid ""
+"Select a channel permission role for your usage needs and privacy "
+"requirements."
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:265
+msgid "no"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:265
+msgid "yes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:293 ../../include/nav.php:162
+#: ../../boot.php:1685
+msgid "Register"
+msgstr ""
+
+#: ../../Zotlabs/Module/Register.php:294
+msgid ""
+"This site requires email verification. After completing this form, please "
+"check your email for further instructions."
+msgstr ""
+
+#: ../../Zotlabs/Module/Acl.php:123 ../../Zotlabs/Module/Lockview.php:117
+#: ../../Zotlabs/Module/Lockview.php:153
+msgctxt "acl"
+msgid "Profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Acl.php:370
+msgid "network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:25
+msgid "No feature settings configured"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:34
+msgid "Addon Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:35
+msgid "Please save/submit changes to any panel before opening another."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:19
+msgid "Not valid email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:22
+msgid "Protected email address. Cannot change to that email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:31
+msgid "System failure storing new email. Please try again."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:48
+msgid "Password verification failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:55
+msgid "Passwords do not match. Password unchanged."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:59
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:73
+msgid "Password changed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:75
+msgid "Password update failed. Please try again."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:99
+msgid "Account Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:100
+msgid "Current Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:101
+msgid "Enter New Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:102
+msgid "Confirm New Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:102
+msgid "Leave password fields blank unless changing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:104
+#: ../../Zotlabs/Module/Settings/Channel.php:502
+msgid "Email Address:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:106
+msgid "Remove this account including all its channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Events.php:40
+msgid "Events Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Profiles.php:49
+msgid "Profiles Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Editor.php:40
+msgid "Editor Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Manage.php:41
+msgid "Channel Manager Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:127
+#, php-format
+msgid "%s - (Experimental)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:183
+msgid "Display Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:184
+msgid "Theme Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:185
+msgid "Custom Theme Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:186
+msgid "Content Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:192
+msgid "Display Theme:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:193
+msgid "Select scheme"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:195
+msgid "Preload images before rendering the page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:195
+msgid ""
+"The subjective page load time will be longer but the page will be ready when "
+"displayed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:196
+msgid "Enable user zoom on mobile devices"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:197
+msgid "Update browser every xx seconds"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:197
+msgid "Minimum of 10 seconds, no maximum"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Maximum number of conversations to load at any time:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Maximum of 30 items"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Show emoticons (smilies) as images"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:200
+msgid "Provide channel menu in navigation bar"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:200
+msgid "Default: channel menu located in app menu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Link post titles to source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:203
+#: ../../Zotlabs/Widget/Newmember.php:75
+msgid "New Member Links"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Display new member quick links menu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Photos.php:40
+msgid "Photos Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:329
+msgid "Nobody except yourself"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:330
+msgid "Only those you specifically allow"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:331
+msgid "Approved connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:332
+msgid "Any connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:333
+msgid "Anybody on this website"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:334
+msgid "Anybody in this network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:335
+msgid "Anybody authenticated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:336
+msgid "Anybody on the internet"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:411
+msgid "Publish your default profile in the network directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:416
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:420
+msgid "or"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:429
+msgid "Your channel address is"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:432
+msgid "Your files/photos are accessible via WebDAV at"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:472
+msgid "Automatic membership approval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:493
+msgid "Channel Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Basic Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1763
+msgid "Full Name:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:503
+msgid "Your Timezone:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "Default Post Location:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "Geographical location to display on your posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:505
+msgid "Use Browser Location:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:507
+msgid "Adult Content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:507
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:509
+msgid "Security and Privacy Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:511
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:513
+msgid "Hide my online presence"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:513
+msgid "Prevents displaying in your profile that you are online"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:515
+msgid "Simple Privacy Settings:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:516
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:517
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "Private - <em>default private, never open or public</em>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid "Allow others to tag your posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+msgid "Channel Permission Limits"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "Expire other channel content after this many days"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "0 or blank to use the website limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+#, php-format
+msgid "This website expires after %d days."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "This website does not expire imported content."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "The website limit takes precedence if lower than your limit."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "Maximum Friend Requests/Day:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "May reduce spam activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:527
+msgid "Default Privacy Group"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+msgid "Use my default audience setting for the type of object published"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:538
+msgid "Default permissions category"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Maximum private messages per day from unknown people:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Useful to reduce spamming"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:547
+#: ../../Zotlabs/Lib/Enotify.php:68
+msgid "Notification Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:548
+msgid "By default post a status message when:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:549
+msgid "accepting a friend request"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:550
+msgid "joining a forum/community"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:551
+msgid "making an <em>interesting</em> profile change"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:552
+msgid "Send a notification email when:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:553
+msgid "You receive a connection request"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:554
+msgid "Your connections are confirmed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:555
+msgid "Someone writes on your profile wall"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:556
+msgid "Someone writes a followup comment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:557
+msgid "You receive a private message"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:558
+msgid "You receive a friend suggestion"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:559
+msgid "You are tagged in a post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:560
+msgid "You are poked/prodded/etc. in a post"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:562
+msgid "Someone likes your post/comment"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:565
+msgid "Show visual notifications including:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:567
+msgid "Unseen stream activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:568
+msgid "Unseen channel activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+msgid "Unseen private messages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+#: ../../Zotlabs/Module/Settings/Channel.php:574
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+msgid "Recommended"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:570
+msgid "Upcoming events"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:571
+msgid "Events today"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:572
+msgid "Upcoming birthdays"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:572
+msgid "Not available in all themes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:573
+msgid "System (personal) notifications"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:574
+msgid "System info messages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+msgid "System critical alerts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+msgid "New connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:577
+msgid "System Registrations"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:578
+msgid "Unseen shared files"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:579
+msgid "Unseen public stream activity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:580
+msgid "Unseen likes and dislikes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:581
+msgid "Unseen forum posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:582
+msgid "Email notification hub (hostname)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:582
+#, php-format
+msgid ""
+"If your channel is mirrored to multiple hubs, set this to your preferred "
+"location. This will prevent duplicate email notifications. Example: %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:583
+msgid "Show new wall posts, private messages and connections under Notices"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:585
+msgid "Notify me of events this many days in advance"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:585
+msgid "Must be greater than 0"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:590
+msgid "Advanced Account/Page Type Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:591
+msgid "Change the behaviour of this account for special situations"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:593
+msgid "Miscellaneous Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:594
+msgid "Default photo upload folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:594
+#: ../../Zotlabs/Module/Settings/Channel.php:595
+msgid "%Y - current year, %m - current month"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:595
+msgid "Default file upload folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:597
+msgid "Remove this channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Connections.php:40
+msgid "Connections Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Calendar.php:40
+msgid "Calendar Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Directory.php:40
+msgid "Directory Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel_home.php:46
+#: ../../Zotlabs/Module/Settings/Network.php:42
+msgid "Max height of content (in pixels)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel_home.php:48
+#: ../../Zotlabs/Module/Settings/Network.php:44
+msgid "Click to expand content exceeding this height"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel_home.php:61
+msgid "Personal menu to display in your channel pages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel_home.php:88
+msgid "Channel Home Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Network.php:59
+msgid "Stream Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Conversation.php:23
+msgid "Settings saved."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Conversation.php:25
+msgid "Settings saved. Reload page please."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Conversation.php:47
+msgid "Conversation Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Probe.php:18
+msgid "Remote Diagnostics App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Probe.php:19
+msgid "Perform diagnostics on remote channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:37
+msgid "Total invitation limit exceeded."
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:61
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:75
+msgid "Please join us on $Projectname"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:85
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:90
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:40
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:94
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Invite.php:110
+msgid "Invite App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:111
+msgid "Send email invitations to join this network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:124
+msgid "You have no more invitations available"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:155
+msgid "Send invitations"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:156
+msgid "Enter email addresses, one per line:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:157
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:163
+msgid "Your message:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:158
+msgid "Please join my community on $Projectname."
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:160
+msgid "You will need to supply this invitation code:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:161
+msgid "1. Register at any $Projectname location (they are all inter-connected)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:163
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:164
+msgid "or visit"
+msgstr ""
+
+#: ../../Zotlabs/Module/Invite.php:166
+msgid "3. Click [Connect]"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:21
+msgid "About this site"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:22
+msgid "Site Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:26
+msgid "Administrator"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:29
+msgid "Software and Project information"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:30
+msgid "This site is powered by $Projectname"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:31
+msgid ""
+"Federated and decentralised networking and identity services provided by Zot"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:34
+msgid "Additional federated transport protocols:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:36
+#, php-format
+msgid "Version %s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:37
+msgid "Project homepage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Siteinfo.php:38
+msgid "Developer homepage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lang.php:17
+msgid "Language App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lang.php:18
+msgid "Change UI language"
+msgstr ""
+
+#: ../../Zotlabs/Module/Hq.php:131
+msgid "Welcome to Hubzilla!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Hq.php:131
+msgid "You have got no unseen posts..."
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:196
+#: ../../Zotlabs/Module/Cover_photo.php:254
+msgid "Cover Photos"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4860
+msgid "female"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4861
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4862
+msgid "male"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4863
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4865
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2328
+msgid "cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:418
+msgid "Your cover photo may be visible to anybody on the internet"
+msgstr ""
+
+#: ../../Zotlabs/Module/Cover_photo.php:422
+msgid "Change Cover Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:68
+msgid "Unable to update menu."
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:79
+msgid "Unable to create menu."
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:161 ../../Zotlabs/Module/Menu.php:174
+msgid "Menu Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:161
+msgid "Unique name (not visible on webpage) - required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:162 ../../Zotlabs/Module/Menu.php:175
+msgid "Menu Title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:162
+msgid "Visible on webpage - leave empty for no title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:163
+msgid "Allow Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222
+msgid "Menu may be used to store saved bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:164 ../../Zotlabs/Module/Menu.php:225
+msgid "Submit and proceed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2699
+msgid "Menus"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:181
+msgid "Bookmarks allowed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:183
+msgid "Delete this menu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:184 ../../Zotlabs/Module/Menu.php:219
+msgid "Edit menu contents"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:185
+msgid "Edit this menu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:201
+msgid "Menu could not be deleted."
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:214
+msgid "Edit Menu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:218
+msgid "Add or remove entries to this menu"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:220
+msgid "Menu name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:220
+msgid "Must be unique, only seen by you"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:221
+msgid "Menu title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:221
+msgid "Menu title as seen by others"
+msgstr ""
+
+#: ../../Zotlabs/Module/Menu.php:222
+msgid "Allow bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:41
+msgid "Failed to create source. No channel selected."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:57
+msgid "Source created."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:70
+msgid "Source updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:88
+msgid "Sources App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:89
+msgid "Automatically import channel content from other channels or feeds"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:101
+msgid "*"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:107 ../../Zotlabs/Lib/Apps.php:368
+msgid "Channel Sources"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:108
+msgid "Manage remote sources of content for your channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:119
+msgid "New Source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:120 ../../Zotlabs/Module/Sources.php:154
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155
+msgid "Only import content with these words (one per line)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155
+msgid "Leave blank to import all public content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:122 ../../Zotlabs/Module/Sources.php:161
+msgid "Channel Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+msgid "Resend posts with this channel as author"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
+msgid "Copyrights may apply"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:144 ../../Zotlabs/Module/Sources.php:174
+msgid "Source not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:151
+msgid "Edit Source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:152
+msgid "Delete Source"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:182
+msgid "Source removed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Sources.php:184
+msgid "Unable to remove source."
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:165
+msgid "Poke App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:166
+msgid "Poke somebody in your addressbook"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351
+#: ../../include/conversation.php:1140
+msgid "Poke"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:200
+msgid "Poke somebody"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:203
+msgid "Poke/Prod"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:204
+msgid "Poke, prod or do other things to somebody"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:211
+msgid "Recipient"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:212
+msgid "Choose what you wish to do to recipient"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:215 ../../Zotlabs/Module/Poke.php:216
+msgid "Make this post private"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:105
+msgid "No such group"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:152
+msgid "No such channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:239
+msgid "Privacy group is empty"
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:249
+msgid "Privacy group: "
+msgstr ""
+
+#: ../../Zotlabs/Module/Network.php:322
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:29
+msgid "Invalid channel."
+msgstr ""
+
+#: ../../Zotlabs/Module/Attach_edit.php:118
+msgid "Can not copy folder into itself."
+msgstr ""
+
+#: ../../Zotlabs/Module/Attach_edit.php:131
+#, php-format
+msgid "Can not move folder \"%s\" into itself."
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewsrc.php:43
+msgid "item"
+msgstr ""
+
+#: ../../Zotlabs/Module/Lockview.php:75
+msgid "Remote privacy information not available."
+msgstr ""
+
+#: ../../Zotlabs/Module/Lockview.php:96
+msgid "Visible to:"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:292
+msgid "Change filename to"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:309 ../../Zotlabs/Storage/Browser.php:390
+msgid "Select a target location"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:391
+msgid "Copy to target location"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:311 ../../Zotlabs/Storage/Browser.php:389
+msgid "Set permissions for all files and sub folders"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:312
+msgid "Notify your contacts about this file"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:351
+msgid "File category"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:362
+msgid "Total"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:364
+msgid "Shared"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:366
+msgid "Add Files"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:369 ../../Zotlabs/Lib/ThreadItem.php:174
+msgid "Admin Delete"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:381
+msgid "parent"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:399
+msgid "Select All"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:400
+msgid "Bulk Actions"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:401
+msgid "Adjust Permissions"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:402
+msgid "Move or Copy"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:405
+msgid "Info"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:406
+msgid "Rename"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:407 ../../Zotlabs/Lib/Apps.php:360
+msgid "Post"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:408
+msgid "Attachment BBcode"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:409
+msgid "Embed BBcode"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:410
+msgid "Link BBcode"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:480
+#, php-format
+msgid "You are using %1$s of your available file storage."
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:485
+#, php-format
+msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:496
+msgid "WARNING:"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:537
+msgid "Create new folder"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:539
+msgid "Upload file"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:551
+msgid "Drop files here to immediately upload"
+msgstr ""
+
+#: ../../Zotlabs/Storage/Browser.php:554
+msgid ""
+"You can select files via the upload button or drop them right here or into "
+"an existing folder."
+msgstr ""
+
+#: ../../Zotlabs/Zot/Auth.php:152
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please "
+"logout and retry."
+msgstr ""
+
+#: ../../Zotlabs/Zot/Auth.php:264
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:76
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Group.php:28 ../../include/group.php:23
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Group.php:270 ../../include/group.php:265
+msgid "Add new connections to this privacy group"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Group.php:302 ../../Zotlabs/Lib/AccessList.php:311
+#: ../../include/group.php:299
+msgid "edit"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Group.php:325 ../../include/group.php:322
+msgid "Edit group"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Group.php:326 ../../include/group.php:323
+msgid "Add privacy group"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Group.php:327 ../../include/group.php:324
+msgid "Channels not in any privacy group"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Group.php:329 ../../Zotlabs/Lib/AccessList.php:336
+#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:326
+msgid "add"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143
+#: ../../include/follow.php:37
+msgid "Channel is blocked on this site."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:42
+msgid "Channel location missing."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:166
+msgid "Remote channel or protocol unavailable."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:190
+msgid "Channel discovery failed."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:202
+msgid "Protocol disabled."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:213
+msgid "Cannot connect to yourself."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Connect.php:271
+msgid "error saving data"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:323
+msgid "Apps"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:324
+msgid "Affinity Tool"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:327
+msgid "Site Admin"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:328
+#: ../../extend/addon/hzaddons/buglink/buglink.php:16
+msgid "Report Bug"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:329 ../../include/nav.php:490
+msgid "Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:330 ../../Zotlabs/Widget/Chatroom_list.php:16
+#: ../../include/nav.php:477 ../../include/nav.php:480
+msgid "Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:331
+msgid "Content Filter"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:332
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:135
+msgid "Content Import"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:334
+msgid "Remote Diagnostics"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:335
+msgid "Suggest Channels"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:124
+#: ../../include/nav.php:128 ../../boot.php:1705
+msgid "Login"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:338
+msgid "Stream"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:342 ../../include/nav.php:539
+msgid "Wiki"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:343 ../../include/features.php:104
+msgid "Channel Home"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:346 ../../include/features.php:82
+#: ../../include/nav.php:463 ../../include/nav.php:466
+msgid "Calendar"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:347 ../../include/features.php:192
+msgid "Directory"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:349
+msgid "Mail"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:352
+msgid "Chat"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:354
+msgid "Probe"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:355
+msgid "Suggest"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:356
+msgid "Random Channel"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:357
+msgid "Invite"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:358 ../../Zotlabs/Widget/Admin.php:26
+msgid "Features"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:359
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:69
+msgid "Language"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:361
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:58
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:59
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:60
+msgid "Profile Photo"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:363 ../../include/features.php:383
+msgid "Profiles"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:365
+msgid "Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:366
+msgid "Order Apps"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:367
+msgid "CardDAV"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:369
+msgid "Guest Access"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:370 ../../Zotlabs/Widget/Notes.php:21
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2625
+msgid "Notes"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:371
+msgid "OAuth Apps Manager"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:372
+msgid "OAuth2 Apps Manager"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:373
+msgid "PDL Editor"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:376
+msgid "My Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:377
+msgid "Channel Export"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:554
+msgid "Purchase"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:559
+msgid "Undelete"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:569
+msgid "Add to app-tray"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:570
+msgid "Remove from app-tray"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:571
+msgid "Pin to navbar"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:572
+msgid "Unpin from navbar"
+msgstr ""
+
+#: ../../Zotlabs/Lib/DB_Upgrade.php:67
+msgid "Source code of failed update: "
+msgstr ""
+
+#: ../../Zotlabs/Lib/DB_Upgrade.php:88
+#, php-format
+msgid "Update Error at %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/DB_Upgrade.php:94
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr ""
+
+#: ../../Zotlabs/Lib/AccessList.php:28
+msgid ""
+"A deleted list with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this list and any future members. If this is "
+"not what you intended, please create another list with a different name."
+msgstr ""
+
+#: ../../Zotlabs/Lib/AccessList.php:286
+msgid "Add new connections to this access list"
+msgstr ""
+
+#: ../../Zotlabs/Lib/AccessList.php:331
+msgid "Lists"
+msgstr ""
+
+#: ../../Zotlabs/Lib/AccessList.php:332
+msgid "Edit list"
+msgstr ""
+
+#: ../../Zotlabs/Lib/AccessList.php:333
+msgid "Create new list"
+msgstr ""
+
+#: ../../Zotlabs/Lib/AccessList.php:334
+msgid "Channels not in any access list"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Chatroom.php:25
+msgid "Missing room name"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Chatroom.php:34
+msgid "Duplicate room name"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Chatroom.php:84 ../../Zotlabs/Lib/Chatroom.php:92
+msgid "Invalid room specifier."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Chatroom.php:124
+msgid "Room not found."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Chatroom.php:145
+msgid "Room is full"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Techlevels.php:10
+msgid "0. Beginner/Basic"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Techlevels.php:11
+msgid "1. Novice - not skilled but willing to learn"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Techlevels.php:12
+msgid "2. Intermediate - somewhat comfortable"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Techlevels.php:13
+msgid "3. Advanced - very comfortable"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Techlevels.php:14
+msgid "4. Expert - I can write computer code"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Techlevels.php:15
+msgid "5. Wizard - I probably know more than you do"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:60
+msgid "$Projectname Notification"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:61
+#: ../../extend/addon/hzaddons/diaspora/util.php:336
+#: ../../extend/addon/hzaddons/diaspora/util.php:349
+#: ../../extend/addon/hzaddons/diaspora/p.php:48
+msgid "$projectname"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:63
+msgid "Thank You,"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:65
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:33
+#, php-format
+msgid "%s Administrator"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:66
+#, php-format
+msgid "This email was sent by %1$s at %2$s."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:67
+#, php-format
+msgid ""
+"To stop receiving these messages, please adjust your Notification Settings "
+"at %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:68
+#, php-format
+msgid "To stop receiving these messages, please adjust your %s."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:123
+#, php-format
+msgid "%s <!item_type!>"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:127
+#, php-format
+msgid "[$Projectname:Notify] New mail received at %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:129
+#, php-format
+msgid "%1$s sent you a new private message at %2$s."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:130
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:130
+msgid "a private message"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:131
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:144
+msgid "commented on"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:157
+msgid "liked"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:160
+msgid "disliked"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:165
+msgid "voted on"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:208
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:216
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:225
+#, php-format
+msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:237
+#, php-format
+msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:239
+#, php-format
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:240
+#, php-format
+msgid "%1$s commented on an item/conversation you have been following."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:324
+#: ../../Zotlabs/Lib/Enotify.php:340 ../../Zotlabs/Lib/Enotify.php:365
+#: ../../Zotlabs/Lib/Enotify.php:382 ../../Zotlabs/Lib/Enotify.php:395
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:247 ../../Zotlabs/Lib/Enotify.php:248
+#, php-format
+msgid "Please visit %s to approve or reject this comment."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:306
+#, php-format
+msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:320
+#, php-format
+msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:321
+#, php-format
+msgid "%1$s liked an item/conversation you created."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:332
+#, php-format
+msgid "[$Projectname:Notify] %s posted to your profile wall"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:334
+#, php-format
+msgid "%1$s posted to your profile wall at %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:336
+#, php-format
+msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:359
+#, php-format
+msgid "[$Projectname:Notify] %s tagged you"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:360
+#, php-format
+msgid "%1$s tagged you at %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:361
+#, php-format
+msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:372
+#, php-format
+msgid "[$Projectname:Notify] %1$s poked you"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:373
+#, php-format
+msgid "%1$s poked you at %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:374
+#, php-format
+msgid "%1$s [zrl=%2$s]poked you[/zrl]."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:389
+#, php-format
+msgid "[$Projectname:Notify] %s tagged your post"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:390
+#, php-format
+msgid "%1$s tagged your post at %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:391
+#, php-format
+msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:402
+msgid "[$Projectname:Notify] Introduction received"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:403
+#, php-format
+msgid "You've received an new connection request from '%1$s' at %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:404
+#, php-format
+msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:407 ../../Zotlabs/Lib/Enotify.php:425
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:409
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:416
+msgid "[$Projectname:Notify] Friend suggestion received"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:417
+#, php-format
+msgid "You've received a friend suggestion from '%1$s' at %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:418
+#, php-format
+msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:423
+msgid "Name:"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:424
+msgid "Photo:"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:427
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:652
+msgid "[$Projectname:Notify]"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:820
+msgid "created a new poll"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:820
+msgid "created a new post"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:821
+#, php-format
+msgid "voted on %s's poll"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:821
+#, php-format
+msgid "commented on %s's post"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:825
+#, php-format
+msgid "repeated %s's post"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:837
+#, php-format
+msgid "edited a post dated %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:841
+#, php-format
+msgid "edited a comment dated %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:970
+msgid "created an event"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2657
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:42
+#: ../../Zotlabs/Lib/NativeWikiPage.php:94
+msgid "(No Title)"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:109
+msgid "Wiki page create failed."
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:122
+msgid "Wiki not found."
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:133
+msgid "Destination name already exists"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:166
+#: ../../Zotlabs/Lib/NativeWikiPage.php:362
+msgid "Page not found"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:197
+msgid "Error reading page content"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:353
+#: ../../Zotlabs/Lib/NativeWikiPage.php:402
+#: ../../Zotlabs/Lib/NativeWikiPage.php:469
+#: ../../Zotlabs/Lib/NativeWikiPage.php:510
+msgid "Error reading wiki"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:390
+msgid "Page update failed."
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:424
+msgid "Nothing deleted"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:490
+msgid "Compare: object not found."
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:496
+msgid "Page updated"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:499
+msgid "Untitled"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:505
+msgid "Wiki resource_id required for git commit"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:565
+#: ../../Zotlabs/Widget/Wiki_page_history.php:23
+msgctxt "wiki_history"
+msgid "Message"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:566
+#: ../../Zotlabs/Widget/Wiki_page_history.php:24
+msgid "Date"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:568
+#: ../../Zotlabs/Widget/Wiki_page_history.php:26
+msgid "Compare"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:606 ../../include/bbcode.php:1018
+#: ../../include/bbcode.php:1190
+msgid "Different viewers will see this text differently"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:103 ../../include/conversation.php:739
+msgid "Private Message"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:130
+msgid "Privacy conflict. Discretion advised."
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:180 ../../include/conversation.php:729
+msgid "Select"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I will attend"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I will not attend"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70
+msgid "I might attend"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I agree"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I disagree"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81
+msgid "I abstain"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:273 ../../include/conversation.php:734
+msgid "Toggle Star Status"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:284 ../../Zotlabs/Widget/Pinned.php:88
+#: ../../include/conversation.php:746
+msgid "Message signature validated"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:285 ../../Zotlabs/Widget/Pinned.php:89
+#: ../../include/conversation.php:747
+msgid "Message signature incorrect"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:301 ../../include/conversation.php:933
+msgid "Conversation Tools"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:317 ../../include/taxonomy.php:582
+msgid "like"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:318 ../../include/taxonomy.php:583
+msgid "dislike"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "Reply on this comment"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "reply"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:319
+msgid "Reply to"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99
+msgid "Share This"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99
+msgid "share"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:339
+msgid "Delivery Report"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:358
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:359
+#, php-format
+msgid "%d unseen"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:412
+msgid "to"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:413 ../../Zotlabs/Widget/Pinned.php:128
+msgid "via"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:414
+msgid "Wall-to-Wall"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:415
+msgid "via Wall-To-Wall:"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:429 ../../Zotlabs/Widget/Pinned.php:133
+#: ../../include/conversation.php:806
+#, php-format
+msgid "from %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:432 ../../Zotlabs/Widget/Pinned.php:136
+#: ../../include/conversation.php:809
+#, php-format
+msgid "last edited: %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:433 ../../Zotlabs/Widget/Pinned.php:137
+#: ../../include/conversation.php:810
+#, php-format
+msgid "Expires: %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:442
+msgid "Attend"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:443 ../../Zotlabs/Widget/Pinned.php:143
+msgid "Attendance Options"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:444 ../../include/text.php:1922
+msgid "Vote"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:445 ../../Zotlabs/Widget/Pinned.php:144
+msgid "Voting Options"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:460
+msgid "Go to previous comment"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:469 ../../Zotlabs/Widget/Pinned.php:156
+msgid "Pinned post"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../Zotlabs/Widget/Pinned.php:157
+#: ../../include/js_strings.php:39
+msgid "Unpin from the top"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../include/js_strings.php:38
+msgid "Pin to the top"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:472
+#: ../../extend/addon/hzaddons/bookmarker/bookmarker.php:38
+msgid "Save Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:473
+msgid "Add to Calendar"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:500 ../../include/conversation.php:516
+msgid "This is an unsaved preview"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:533 ../../include/js_strings.php:7
+#, php-format
+msgid "%s show all"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/conversation.php:1449
+#: ../../extend/addon/hzaddons/hsse/hsse.php:200
+msgid "Bold"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:827 ../../include/conversation.php:1450
+#: ../../extend/addon/hzaddons/hsse/hsse.php:201
+msgid "Italic"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451
+#: ../../extend/addon/hzaddons/hsse/hsse.php:202
+msgid "Underline"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452
+#: ../../extend/addon/hzaddons/hsse/hsse.php:203
+msgid "Quote"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453
+#: ../../extend/addon/hzaddons/hsse/hsse.php:204
+msgid "Code"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:831
+msgid "Image"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1454
+#: ../../extend/addon/hzaddons/hsse/hsse.php:205
+msgid "Attach/Upload file"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:833
+msgid "Insert Link"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:834
+msgid "Video"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:844
+msgid "Your full name (required)"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:845
+msgid "Your email address (required)"
+msgstr ""
+
+#: ../../Zotlabs/Lib/ThreadItem.php:846
+msgid "Your website URL (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Activity.php:2110
+#, php-format
+msgid "Likes %1$s's %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Activity.php:2113
+#, php-format
+msgid "Doesn't like %1$s's %2$s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Activity.php:2119
+#, php-format
+msgid "Will attend %s's event"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Activity.php:2122
+#, php-format
+msgid "Will not attend %s's event"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Activity.php:2125
+#, php-format
+msgid "May attend %s's event"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Activity.php:2128
+#, php-format
+msgid "May not attend %s's event"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Activity.php:2821 ../../Zotlabs/Lib/Activity.php:3015
+#: ../../include/network.php:1736
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1479
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1733
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1941
+msgid "ActivityPub"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWiki.php:145
+msgid "Wiki updated successfully"
+msgstr ""
+
+#: ../../Zotlabs/Lib/NativeWiki.php:199
+msgid "Wiki files deleted successfully"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Libzotdir.php:163 ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Libzotdir.php:166 ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Permcat.php:82
+msgctxt "permcat"
+msgid "default"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Permcat.php:133
+msgctxt "permcat"
+msgid "follower"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Permcat.php:137
+msgctxt "permcat"
+msgid "contributor"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Permcat.php:141
+msgctxt "permcat"
+msgid "publisher"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Libzot.php:656 ../../include/zot.php:802
+msgid "Unable to verify channel signature"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:34
+#: ../../include/acl_selectors.php:33
+msgid "Visible to your default audience"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+#: ../../include/acl_selectors.php:135
+msgid "Only me"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:108
+msgid "Public"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:109
+msgid "Anybody in the $Projectname network"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:110
+#, php-format
+msgid "Any account on %s"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:111
+msgid "Any of my connections"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:112
+msgid "Only connections I specifically allow"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:113
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:114
+msgid "Any connections including those who haven't yet been approved"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:150
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:151
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:152
+msgid "This is your default setting for who can view your connections"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:153
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:154
+msgid "This is your default setting for the audience of your webpages"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Appcategories.php:46 ../../Zotlabs/Widget/Filer.php:31
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:111
+#: ../../include/contact_widgets.php:155 ../../include/contact_widgets.php:200
+#: ../../include/contact_widgets.php:235
+msgid "Everything"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:37
+msgid "Select Channel"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:42
+msgid "Read-write"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:43
+msgid "Read-only"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:127
+msgid "Channel Calendar"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:131
+msgid "Shared CalDAV Calendars"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:135
+msgid "Share this calendar"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:137
+msgid "Calendar name and color"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:139
+msgid "Create new CalDAV calendar"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:141
+msgid "Calendar Name"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:142
+msgid "Calendar Tools"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:144
+msgid "Import calendar"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:145
+msgid "Select a calendar to import to"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:172
+msgid "Addressbooks"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:174
+msgid "Addressbook name"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:176
+msgid "Create new addressbook"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:177
+msgid "Addressbook Name"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:179
+msgid "Addressbook Tools"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:180
+msgid "Import addressbook"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cdav.php:181
+msgid "Select an addressbook to import to"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Filer.php:28
+#: ../../Zotlabs/Widget/Activity_filter.php:179
+#: ../../include/contact_widgets.php:53 ../../include/features.php:319
+msgid "Saved Folders"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:323
+#: ../../include/taxonomy.php:458 ../../include/taxonomy.php:479
+msgid "Tags"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Archive.php:43
+msgid "Archives"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Chatroom_members.php:11
+msgid "Chat Members"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Rating.php:51
+msgid "Rating Tools"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57
+msgid "Rate Me"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Rating.php:60
+msgid "View Ratings"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Wiki_pages.php:34
+#: ../../Zotlabs/Widget/Wiki_pages.php:91
+msgid "Add new page"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Wiki_pages.php:85
+msgid "Wiki Pages"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Wiki_pages.php:96
+msgid "Page name"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Bookmarkedchats.php:24
+msgid "Bookmarked Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58
+msgid "photo/image"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Forums.php:100
+#: ../../Zotlabs/Widget/Activity_filter.php:115
+#: ../../Zotlabs/Widget/Notifications.php:139
+#: ../../Zotlabs/Widget/Notifications.php:140
+#: ../../include/acl_selectors.php:124
+msgid "Forums"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Savedsearch.php:75
+msgid "Remove term"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:311
+msgid "Saved Searches"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Follow.php:22
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr ""
+
+#: ../../Zotlabs/Widget/Follow.php:29
+msgid "Add New Connection"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Follow.php:30
+msgid "Enter channel address"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Follow.php:31
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Suggestions.php:53
+msgid "Suggestions"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Suggestions.php:54
+msgid "See more..."
+msgstr ""
+
+#: ../../Zotlabs/Widget/Tasklist.php:23
+msgid "Tasks"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60
+msgid "Member registrations waiting for confirmation"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Admin.php:29
+msgid "Inspect queue"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Admin.php:31
+msgid "DB updates"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:194
+msgid "Admin"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Admin.php:56
+msgid "Addon Features"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Chatroom_list.php:20
+msgid "Overview"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Appstore.php:11
+msgid "App Collections"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Appstore.php:13
+msgid "Installed apps"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_order.php:90
+msgid "Commented Date"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_order.php:94
+msgid "Order by last commented date"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_order.php:97
+msgid "Posted Date"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_order.php:101
+msgid "Order by last posted date"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_order.php:104
+msgid "Date Unthreaded"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_order.php:108
+msgid "Order unthreaded by date"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_order.php:123
+msgid "Stream Order"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Mailmenu.php:13
+msgid "Private Mail Menu"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Mailmenu.php:15
+msgid "Combined View"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Mailmenu.php:20
+msgid "Inbox"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Mailmenu.php:25
+msgid "Outbox"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Mailmenu.php:30
+msgid "New Message"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Affinity.php:54
+msgid "Refresh"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Hq_controls.php:14
+msgid "HQ Control Panel"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Hq_controls.php:17
+msgid "Create a new post"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Eventstools.php:13
+msgid "Events Tools"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Eventstools.php:14
+msgid "Export Calendar"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Eventstools.php:15
+msgid "Import Calendar"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:33
+msgid "Direct Messages"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:37
+msgid "Show direct (private) messages"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:42
+msgid "Events"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:46
+msgid "Show posts that include events"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:52
+msgid "Polls"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:56
+msgid "Show posts that include polls"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:77
+#, php-format
+msgid "Show posts related to the %s privacy group"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:86
+msgid "Show my privacy groups"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:108
+msgid "Show posts to this forum"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:119
+msgid "Show forums"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:133
+msgid "Starred Posts"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:137
+msgid "Show posts that I have starred"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:148
+msgid "Personal Posts"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:152
+msgid "Show posts that mention or involve me"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:173
+#, php-format
+msgid "Show posts that I have filed to %s"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:183
+msgid "Show filed post categories"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:197
+msgid "Panel search"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:207
+msgid "Filter by name"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:222
+msgid "Remove active filter"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity_filter.php:238
+msgid "Stream Filters"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Activity.php:50
+msgctxt "widget"
+msgid "Activity"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:16
+msgid "New Network Activity"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:17
+msgid "New Network Activity Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:20
+msgid "View your network activity"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:23
+#: ../../Zotlabs/Widget/Notifications.php:62
+msgid "Mark all notifications read"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:26
+#: ../../Zotlabs/Widget/Notifications.php:46
+#: ../../Zotlabs/Widget/Notifications.php:65
+#: ../../Zotlabs/Widget/Notifications.php:172
+msgid "Show new posts only"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:27
+#: ../../Zotlabs/Widget/Notifications.php:47
+#: ../../Zotlabs/Widget/Notifications.php:66
+#: ../../Zotlabs/Widget/Notifications.php:142
+#: ../../Zotlabs/Widget/Notifications.php:173
+msgid "Filter by name or address"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:36
+msgid "New Home Activity"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:37
+msgid "New Home Activity Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:40
+msgid "View your home activity"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:43
+#: ../../Zotlabs/Widget/Notifications.php:169
+msgid "Mark all notifications seen"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:55
+msgid "New Direct Messages"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:56
+msgid "New Direct Messages Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:59
+msgid "View your direct messages"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:74
+msgid "New Mails"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:75
+msgid "New Mails Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:78
+msgid "View your private mails"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:81
+msgid "Mark all messages seen"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:89
+msgid "New Events"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:90
+msgid "New Events Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:93
+msgid "View events"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:96
+msgid "Mark all events seen"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:105
+msgid "New Connections Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:108
+msgid "View all connections"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:116
+msgid "New Files"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:117
+msgid "New Files Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:124
+#: ../../Zotlabs/Widget/Notifications.php:125
+msgid "Notices"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:128
+msgid "View all notices"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:131
+msgid "Mark all notices seen"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:152
+msgid "New Registrations"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:153
+msgid "New Registrations Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:163
+msgid "Public Stream Notifications"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:166
+msgid "View the public stream"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Notifications.php:181
+msgid "Sorry, you have got no notifications at the moment"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124
+#, php-format
+msgid "View %s's profile - %s"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Pinned.php:158
+msgid "Don't show"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Settings_menu.php:32
+msgid "Account settings"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Settings_menu.php:38
+msgid "Channel settings"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Settings_menu.php:46
+msgid "Display settings"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Settings_menu.php:53
+msgid "Manage locations"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Suggestedchats.php:32
+msgid "Suggested Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Conversations.php:17
+msgid "Received Messages"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Conversations.php:21
+msgid "Sent Messages"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Conversations.php:25
+msgid "Conversations"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Conversations.php:37
+msgid "No messages."
+msgstr ""
+
+#: ../../Zotlabs/Widget/Conversations.php:57
+msgid "Delete conversation"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:31
+msgid "Profile Creation"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:33
+msgid "Upload profile photo"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:34
+msgid "Upload cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:35 ../../include/nav.php:117
+msgid "Edit your profile"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:38
+msgid "Find and Connect with others"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:40
+msgid "View the directory"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:42
+msgid "Manage your connections"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:45
+msgid "Communicate"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:47
+msgid "View your channel homepage"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:48
+msgid "View your network stream"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:54
+msgid "Documentation"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:57
+msgid "Missing Features?"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:59
+msgid "Pin apps to navigation bar"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:60
+msgid "Install more apps"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:71
+msgid "View public stream"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Cover_photo.php:65
+msgid "Click to show more"
+msgstr ""
+
+#: ../../util/nconfig.php:34
+msgid "Source channel not found."
+msgstr ""
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr ""
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr ""
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr ""
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr ""
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr ""
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr ""
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr ""
+
+#: ../../include/contact_widgets.php:265
+msgid "Common Connections"
+msgstr ""
+
+#: ../../include/contact_widgets.php:269
+#, php-format
+msgid "View all %d common connections"
+msgstr ""
+
+#: ../../include/conversation.php:183
+#, php-format
+msgid "likes %1$s's %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:186
+#, php-format
+msgid "doesn't like %1$s's %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:226 ../../include/conversation.php:228
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:263
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:267 ../../include/text.php:1242
+#: ../../include/text.php:1246
+msgid "poked"
+msgstr ""
+
+#: ../../include/conversation.php:779
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr ""
+
+#: ../../include/conversation.php:799
+msgid "Categories:"
+msgstr ""
+
+#: ../../include/conversation.php:800
+msgid "Filed under:"
+msgstr ""
+
+#: ../../include/conversation.php:825
+msgid "View in context"
+msgstr ""
+
+#: ../../include/conversation.php:928
+msgid "remove"
+msgstr ""
+
+#: ../../include/conversation.php:932
+msgid "Loading..."
+msgstr ""
+
+#: ../../include/conversation.php:934
+msgid "Delete Selected Items"
+msgstr ""
+
+#: ../../include/conversation.php:977
+msgid "View Source"
+msgstr ""
+
+#: ../../include/conversation.php:987
+msgid "Follow Thread"
+msgstr ""
+
+#: ../../include/conversation.php:996
+msgid "Unfollow Thread"
+msgstr ""
+
+#: ../../include/conversation.php:1110
+msgid "Edit Connection"
+msgstr ""
+
+#: ../../include/conversation.php:1120
+msgid "Message"
+msgstr ""
+
+#: ../../include/conversation.php:1262
+#, php-format
+msgid "%s likes this."
+msgstr ""
+
+#: ../../include/conversation.php:1262
+#, php-format
+msgid "%s doesn't like this."
+msgstr ""
+
+#: ../../include/conversation.php:1266
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1268
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1274
+msgid "and"
+msgstr ""
+
+#: ../../include/conversation.php:1277
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1278
+#, php-format
+msgid "%s like this."
+msgstr ""
+
+#: ../../include/conversation.php:1278
+#, php-format
+msgid "%s don't like this."
+msgstr ""
+
+#: ../../include/conversation.php:1328
+#: ../../extend/addon/hzaddons/hsse/hsse.php:82
+msgid "Set your location"
+msgstr ""
+
+#: ../../include/conversation.php:1329
+#: ../../extend/addon/hzaddons/hsse/hsse.php:83
+msgid "Clear browser location"
+msgstr ""
+
+#: ../../include/conversation.php:1345
+#: ../../extend/addon/hzaddons/hsse/hsse.php:99
+msgid "Embed (existing) photo from your photo albums"
+msgstr ""
+
+#: ../../include/conversation.php:1381
+#: ../../extend/addon/hzaddons/hsse/hsse.php:135
+msgid "Tag term:"
+msgstr ""
+
+#: ../../include/conversation.php:1382
+#: ../../extend/addon/hzaddons/hsse/hsse.php:136
+msgid "Where are you right now?"
+msgstr ""
+
+#: ../../include/conversation.php:1387
+#: ../../extend/addon/hzaddons/hsse/hsse.php:141
+msgid "Choose a different album..."
+msgstr ""
+
+#: ../../include/conversation.php:1391
+#: ../../extend/addon/hzaddons/hsse/hsse.php:145
+msgid "Comments enabled"
+msgstr ""
+
+#: ../../include/conversation.php:1392
+#: ../../extend/addon/hzaddons/hsse/hsse.php:146
+msgid "Comments disabled"
+msgstr ""
+
+#: ../../include/conversation.php:1444
+#: ../../extend/addon/hzaddons/hsse/hsse.php:195
+msgid "Page link name"
+msgstr ""
+
+#: ../../include/conversation.php:1447
+#: ../../extend/addon/hzaddons/hsse/hsse.php:198
+msgid "Post as"
+msgstr ""
+
+#: ../../include/conversation.php:1461
+#: ../../extend/addon/hzaddons/hsse/hsse.php:212
+msgid "Toggle voting"
+msgstr ""
+
+#: ../../include/conversation.php:1462
+msgid "Toggle poll"
+msgstr ""
+
+#: ../../include/conversation.php:1463
+msgid "Option"
+msgstr ""
+
+#: ../../include/conversation.php:1464
+msgid "Add option"
+msgstr ""
+
+#: ../../include/conversation.php:1465
+msgid "Minutes"
+msgstr ""
+
+#: ../../include/conversation.php:1465
+msgid "Hours"
+msgstr ""
+
+#: ../../include/conversation.php:1465
+msgid "Days"
+msgstr ""
+
+#: ../../include/conversation.php:1466
+msgid "Allow multiple answers"
+msgstr ""
+
+#: ../../include/conversation.php:1468
+#: ../../extend/addon/hzaddons/hsse/hsse.php:215
+msgid "Disable comments"
+msgstr ""
+
+#: ../../include/conversation.php:1469
+#: ../../extend/addon/hzaddons/hsse/hsse.php:216
+msgid "Toggle comments"
+msgstr ""
+
+#: ../../include/conversation.php:1477
+#: ../../extend/addon/hzaddons/hsse/hsse.php:224
+msgid "Categories (optional, comma-separated list)"
+msgstr ""
+
+#: ../../include/conversation.php:1500
+#: ../../extend/addon/hzaddons/hsse/hsse.php:247
+msgid "Other networks and post services"
+msgstr ""
+
+#: ../../include/conversation.php:1503
+#: ../../extend/addon/hzaddons/hsse/hsse.php:250
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:170
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:313
+msgid "Set expiration date"
+msgstr ""
+
+#: ../../include/conversation.php:1506
+#: ../../extend/addon/hzaddons/hsse/hsse.php:253
+msgid "Set publish date"
+msgstr ""
+
+#: ../../include/conversation.php:1755
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1758
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1761
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1764
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1767
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1770
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/channel.php:46
+msgid "Unable to obtain identity information from database"
+msgstr ""
+
+#: ../../include/channel.php:79
+msgid "Empty name"
+msgstr ""
+
+#: ../../include/channel.php:82
+msgid "Name too long"
+msgstr ""
+
+#: ../../include/channel.php:199
+msgid "No account identifier"
+msgstr ""
+
+#: ../../include/channel.php:211
+msgid "Nickname is required."
+msgstr ""
+
+#: ../../include/channel.php:294
+msgid "Unable to retrieve created identity"
+msgstr ""
+
+#: ../../include/channel.php:441
+msgid "Default Profile"
+msgstr ""
+
+#: ../../include/channel.php:639 ../../include/channel.php:728
+msgid "Unable to retrieve modified identity"
+msgstr ""
+
+#: ../../include/channel.php:1385
+msgid "Requested channel is not available."
+msgstr ""
+
+#: ../../include/channel.php:1539
+msgid "Create New Profile"
+msgstr ""
+
+#: ../../include/channel.php:1542 ../../include/nav.php:117
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58
+msgid "Edit Profile"
+msgstr ""
+
+#: ../../include/channel.php:1560
+msgid "Visible to everybody"
+msgstr ""
+
+#: ../../include/channel.php:1637 ../../include/channel.php:1765
+msgid "Gender:"
+msgstr ""
+
+#: ../../include/channel.php:1638 ../../include/channel.php:1809
+msgid "Status:"
+msgstr ""
+
+#: ../../include/channel.php:1639 ../../include/channel.php:1833
+msgid "Homepage:"
+msgstr ""
+
+#: ../../include/channel.php:1640
+msgid "Online Now"
+msgstr ""
+
+#: ../../include/channel.php:1693
+msgid "Change your profile photo"
+msgstr ""
+
+#: ../../include/channel.php:1720 ../../include/selectors.php:60
+#: ../../include/selectors.php:77
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:87
+msgid "Female"
+msgstr ""
+
+#: ../../include/channel.php:1722 ../../include/selectors.php:60
+#: ../../include/selectors.php:77
+#: ../../extend/addon/hzaddons/openid/Mod_Id.php:85
+msgid "Male"
+msgstr ""
+
+#: ../../include/channel.php:1724
+msgid "Trans"
+msgstr ""
+
+#: ../../include/channel.php:1726 ../../include/selectors.php:60
+msgid "Neuter"
+msgstr ""
+
+#: ../../include/channel.php:1728 ../../include/selectors.php:60
+msgid "Non-specific"
+msgstr ""
+
+#: ../../include/channel.php:1770
+msgid "Like this channel"
+msgstr ""
+
+#: ../../include/channel.php:1794
+msgid "j F, Y"
+msgstr ""
+
+#: ../../include/channel.php:1795
+msgid "j F"
+msgstr ""
+
+#: ../../include/channel.php:1802
+msgid "Birthday:"
+msgstr ""
+
+#: ../../include/channel.php:1815
+#, php-format
+msgid "for %1$d %2$s"
+msgstr ""
+
+#: ../../include/channel.php:1827
+msgid "Tags:"
+msgstr ""
+
+#: ../../include/channel.php:1831
+msgid "Sexual Preference:"
+msgstr ""
+
+#: ../../include/channel.php:1837
+msgid "Political Views:"
+msgstr ""
+
+#: ../../include/channel.php:1839
+msgid "Religion:"
+msgstr ""
+
+#: ../../include/channel.php:1843
+msgid "Hobbies/Interests:"
+msgstr ""
+
+#: ../../include/channel.php:1845
+msgid "Likes:"
+msgstr ""
+
+#: ../../include/channel.php:1847
+msgid "Dislikes:"
+msgstr ""
+
+#: ../../include/channel.php:1849
+msgid "Contact information and Social Networks:"
+msgstr ""
+
+#: ../../include/channel.php:1851
+msgid "My other channels:"
+msgstr ""
+
+#: ../../include/channel.php:1853
+msgid "Musical interests:"
+msgstr ""
+
+#: ../../include/channel.php:1855
+msgid "Books, literature:"
+msgstr ""
+
+#: ../../include/channel.php:1857
+msgid "Television:"
+msgstr ""
+
+#: ../../include/channel.php:1859
+msgid "Film/dance/culture/entertainment:"
+msgstr ""
+
+#: ../../include/channel.php:1861
+msgid "Love/Romance:"
+msgstr ""
+
+#: ../../include/channel.php:1863
+msgid "Work/employment:"
+msgstr ""
+
+#: ../../include/channel.php:1865
+msgid "School/education:"
+msgstr ""
+
+#: ../../include/channel.php:1888
+msgid "Like this thing"
+msgstr ""
+
+#: ../../include/features.php:86
+msgid "Start calendar week on Monday"
+msgstr ""
+
+#: ../../include/features.php:87
+msgid "Default is Sunday"
+msgstr ""
+
+#: ../../include/features.php:94
+msgid "Event Timezone Selection"
+msgstr ""
+
+#: ../../include/features.php:95
+msgid "Allow event creation in timezones other than your own."
+msgstr ""
+
+#: ../../include/features.php:108
+msgid "Search by Date"
+msgstr ""
+
+#: ../../include/features.php:109
+msgid "Ability to select posts by date ranges"
+msgstr ""
+
+#: ../../include/features.php:116
+msgid "Tag Cloud"
+msgstr ""
+
+#: ../../include/features.php:117
+msgid "Provide a personal tag cloud on your channel page"
+msgstr ""
+
+#: ../../include/features.php:124 ../../include/features.php:359
+msgid "Use blog/list mode"
+msgstr ""
+
+#: ../../include/features.php:125 ../../include/features.php:360
+msgid "Comments will be displayed separately"
+msgstr ""
+
+#: ../../include/features.php:137
+msgid "Connection Filtering"
+msgstr ""
+
+#: ../../include/features.php:138
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr ""
+
+#: ../../include/features.php:146
+msgid "Conversation"
+msgstr ""
+
+#: ../../include/features.php:158
+msgid "Emoji Reactions"
+msgstr ""
+
+#: ../../include/features.php:159
+msgid "Add emoji reaction ability to posts"
+msgstr ""
+
+#: ../../include/features.php:166
+msgid "Dislike Posts"
+msgstr ""
+
+#: ../../include/features.php:167
+msgid "Ability to dislike posts/comments"
+msgstr ""
+
+#: ../../include/features.php:174
+msgid "Star Posts"
+msgstr ""
+
+#: ../../include/features.php:175
+msgid "Ability to mark special posts with a star indicator"
+msgstr ""
+
+#: ../../include/features.php:182
+msgid "Reply on comment"
+msgstr ""
+
+#: ../../include/features.php:183
+msgid "Ability to reply on selected comment"
+msgstr ""
+
+#: ../../include/features.php:196
+msgid "Advanced Directory Search"
+msgstr ""
+
+#: ../../include/features.php:197
+msgid "Allows creation of complex directory search queries"
+msgstr ""
+
+#: ../../include/features.php:206
+msgid "Editor"
+msgstr ""
+
+#: ../../include/features.php:210
+msgid "Post Categories"
+msgstr ""
+
+#: ../../include/features.php:211
+msgid "Add categories to your posts"
+msgstr ""
+
+#: ../../include/features.php:219
+msgid "Large Photos"
+msgstr ""
+
+#: ../../include/features.php:220
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr ""
+
+#: ../../include/features.php:227
+msgid "Even More Encryption"
+msgstr ""
+
+#: ../../include/features.php:228
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr ""
+
+#: ../../include/features.php:235
+msgid "Disable Comments"
+msgstr ""
+
+#: ../../include/features.php:236
+msgid "Provide the option to disable comments for a post"
+msgstr ""
+
+#: ../../include/features.php:243
+msgid "Delayed Posting"
+msgstr ""
+
+#: ../../include/features.php:244
+msgid "Allow posts to be published at a later date"
+msgstr ""
+
+#: ../../include/features.php:251
+msgid "Content Expiration"
+msgstr ""
+
+#: ../../include/features.php:252
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr ""
+
+#: ../../include/features.php:259
+msgid "Suppress Duplicate Posts/Comments"
+msgstr ""
+
+#: ../../include/features.php:260
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr ""
+
+#: ../../include/features.php:267
+msgid "Auto-save drafts of posts and comments"
+msgstr ""
+
+#: ../../include/features.php:268
+msgid ""
+"Automatically saves post and comment drafts in local browser storage to help "
+"prevent accidental loss of compositions"
+msgstr ""
+
+#: ../../include/features.php:277
+msgid "Manage"
+msgstr ""
+
+#: ../../include/features.php:281
+msgid "Navigation Channel Select"
+msgstr ""
+
+#: ../../include/features.php:282
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr ""
+
+#: ../../include/features.php:295
+msgid "Events Filter"
+msgstr ""
+
+#: ../../include/features.php:296
+msgid "Ability to display only events"
+msgstr ""
+
+#: ../../include/features.php:303
+msgid "Polls Filter"
+msgstr ""
+
+#: ../../include/features.php:304
+msgid "Ability to display only polls"
+msgstr ""
+
+#: ../../include/features.php:312
+msgid "Save search terms for re-use"
+msgstr ""
+
+#: ../../include/features.php:320
+msgid "Ability to file posts under folders"
+msgstr ""
+
+#: ../../include/features.php:327
+msgid "Alternate Stream Order"
+msgstr ""
+
+#: ../../include/features.php:328
+msgid ""
+"Ability to order the stream by last post date, last comment date or "
+"unthreaded activities"
+msgstr ""
+
+#: ../../include/features.php:335
+msgid "Contact Filter"
+msgstr ""
+
+#: ../../include/features.php:336
+msgid "Ability to display only posts of a selected contact"
+msgstr ""
+
+#: ../../include/features.php:343
+msgid "Forum Filter"
+msgstr ""
+
+#: ../../include/features.php:344
+msgid "Ability to display only posts of a specific forum"
+msgstr ""
+
+#: ../../include/features.php:351
+msgid "Personal Posts Filter"
+msgstr ""
+
+#: ../../include/features.php:352
+msgid "Ability to display only posts that you've interacted on"
+msgstr ""
+
+#: ../../include/features.php:373
+msgid "Photo Location"
+msgstr ""
+
+#: ../../include/features.php:374
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr ""
+
+#: ../../include/features.php:387
+msgid "Advanced Profiles"
+msgstr ""
+
+#: ../../include/features.php:388
+msgid "Additional profile sections and selections"
+msgstr ""
+
+#: ../../include/features.php:395
+msgid "Profile Import/Export"
+msgstr ""
+
+#: ../../include/features.php:396
+msgid "Save and load profile details across sites/channels"
+msgstr ""
+
+#: ../../include/features.php:403
+msgid "Multiple Profiles"
+msgstr ""
+
+#: ../../include/features.php:404
+msgid "Ability to create multiple profiles"
+msgstr ""
+
+#: ../../include/auth.php:194
+msgid "Delegation session ended."
+msgstr ""
+
+#: ../../include/auth.php:198
+msgid "Logged out."
+msgstr ""
+
+#: ../../include/auth.php:294
+msgid "Email validation is incomplete. Please check your email."
+msgstr ""
+
+#: ../../include/auth.php:310
+msgid "Failed authentication"
+msgstr ""
+
+#: ../../include/auth.php:320
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:188
+msgid "Login failed."
+msgstr ""
+
+#: ../../include/text.php:522
+msgid "prev"
+msgstr ""
+
+#: ../../include/text.php:524
+msgid "first"
+msgstr ""
+
+#: ../../include/text.php:553
+msgid "last"
+msgstr ""
+
+#: ../../include/text.php:556
+msgid "next"
+msgstr ""
+
+#: ../../include/text.php:574
+msgid "older"
+msgstr ""
+
+#: ../../include/text.php:576
+msgid "newer"
+msgstr ""
+
+#: ../../include/text.php:1024
+msgid "No connections"
+msgstr ""
+
+#: ../../include/text.php:1076
+#, php-format
+msgid "View all %s connections"
+msgstr ""
+
+#: ../../include/text.php:1139
+#, php-format
+msgid "Network: %s"
+msgstr ""
+
+#: ../../include/text.php:1242 ../../include/text.php:1246
+msgid "poke"
+msgstr ""
+
+#: ../../include/text.php:1247
+msgid "ping"
+msgstr ""
+
+#: ../../include/text.php:1247
+msgid "pinged"
+msgstr ""
+
+#: ../../include/text.php:1248
+msgid "prod"
+msgstr ""
+
+#: ../../include/text.php:1248
+msgid "prodded"
+msgstr ""
+
+#: ../../include/text.php:1249
+msgid "slap"
+msgstr ""
+
+#: ../../include/text.php:1249
+msgid "slapped"
+msgstr ""
+
+#: ../../include/text.php:1250
+msgid "finger"
+msgstr ""
+
+#: ../../include/text.php:1250
+msgid "fingered"
+msgstr ""
+
+#: ../../include/text.php:1251
+msgid "rebuff"
+msgstr ""
+
+#: ../../include/text.php:1251
+msgid "rebuffed"
+msgstr ""
+
+#: ../../include/text.php:1274
+msgid "happy"
+msgstr ""
+
+#: ../../include/text.php:1275
+msgid "sad"
+msgstr ""
+
+#: ../../include/text.php:1276
+msgid "mellow"
+msgstr ""
+
+#: ../../include/text.php:1277
+msgid "tired"
+msgstr ""
+
+#: ../../include/text.php:1278
+msgid "perky"
+msgstr ""
+
+#: ../../include/text.php:1279
+msgid "angry"
+msgstr ""
+
+#: ../../include/text.php:1280
+msgid "stupefied"
+msgstr ""
+
+#: ../../include/text.php:1281
+msgid "puzzled"
+msgstr ""
+
+#: ../../include/text.php:1282
+msgid "interested"
+msgstr ""
+
+#: ../../include/text.php:1283
+msgid "bitter"
+msgstr ""
+
+#: ../../include/text.php:1284
+msgid "cheerful"
+msgstr ""
+
+#: ../../include/text.php:1285
+msgid "alive"
+msgstr ""
+
+#: ../../include/text.php:1286
+msgid "annoyed"
+msgstr ""
+
+#: ../../include/text.php:1287
+msgid "anxious"
+msgstr ""
+
+#: ../../include/text.php:1288
+msgid "cranky"
+msgstr ""
+
+#: ../../include/text.php:1289
+msgid "disturbed"
+msgstr ""
+
+#: ../../include/text.php:1290
+msgid "frustrated"
+msgstr ""
+
+#: ../../include/text.php:1291
+msgid "depressed"
+msgstr ""
+
+#: ../../include/text.php:1292
+msgid "motivated"
+msgstr ""
+
+#: ../../include/text.php:1293
+msgid "relaxed"
+msgstr ""
+
+#: ../../include/text.php:1294
+msgid "surprised"
+msgstr ""
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:99
+msgid "Monday"
+msgstr ""
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:100
+msgid "Tuesday"
+msgstr ""
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:101
+msgid "Wednesday"
+msgstr ""
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:102
+msgid "Thursday"
+msgstr ""
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:103
+msgid "Friday"
+msgstr ""
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:104
+msgid "Saturday"
+msgstr ""
+
+#: ../../include/text.php:1482 ../../include/js_strings.php:98
+msgid "Sunday"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:74
+msgid "January"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:75
+msgid "February"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:76
+msgid "March"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:77
+msgid "April"
+msgstr ""
+
+#: ../../include/text.php:1486
+msgid "May"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:79
+msgid "June"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:80
+msgid "July"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:81
+msgid "August"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:82
+msgid "September"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:83
+msgid "October"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:84
+msgid "November"
+msgstr ""
+
+#: ../../include/text.php:1486 ../../include/js_strings.php:85
+msgid "December"
+msgstr ""
+
+#: ../../include/text.php:1560
+msgid "Unknown Attachment"
+msgstr ""
+
+#: ../../include/text.php:1562 ../../include/feedutils.php:873
+msgid "unknown"
+msgstr ""
+
+#: ../../include/text.php:1598
+msgid "remove category"
+msgstr ""
+
+#: ../../include/text.php:1674
+msgid "remove from file"
+msgstr ""
+
+#: ../../include/text.php:1843 ../../include/message.php:13
+msgid "Download binary/encrypted content"
+msgstr ""
+
+#: ../../include/text.php:1914
+msgid "Poll has ended."
+msgstr ""
+
+#: ../../include/text.php:1917
+#, php-format
+msgid "Poll ends: %s"
+msgstr ""
+
+#: ../../include/text.php:2096 ../../include/language.php:424
+msgid "default"
+msgstr ""
+
+#: ../../include/text.php:2104
+msgid "Page layout"
+msgstr ""
+
+#: ../../include/text.php:2104
+msgid "You can create your own with the layouts tool"
+msgstr ""
+
+#: ../../include/text.php:2115
+msgid "HTML"
+msgstr ""
+
+#: ../../include/text.php:2118
+msgid "Comanche Layout"
+msgstr ""
+
+#: ../../include/text.php:2123
+msgid "PHP"
+msgstr ""
+
+#: ../../include/text.php:2132
+msgid "Page content type"
+msgstr ""
+
+#: ../../include/text.php:2265
+msgid "activity"
+msgstr ""
+
+#: ../../include/text.php:2268
+msgid "poll"
+msgstr ""
+
+#: ../../include/text.php:2369
+msgid "a-z, 0-9, -, and _ only"
+msgstr ""
+
+#: ../../include/text.php:2695
+msgid "Design Tools"
+msgstr ""
+
+#: ../../include/text.php:2701
+msgid "Pages"
+msgstr ""
+
+#: ../../include/text.php:2713
+msgid "Import"
+msgstr ""
+
+#: ../../include/text.php:2714
+msgid "Import website..."
+msgstr ""
+
+#: ../../include/text.php:2715
+msgid "Select folder to import"
+msgstr ""
+
+#: ../../include/text.php:2716
+msgid "Import from a zipped folder:"
+msgstr ""
+
+#: ../../include/text.php:2717
+msgid "Import from cloud files:"
+msgstr ""
+
+#: ../../include/text.php:2718
+msgid "/cloud/channel/path/to/folder"
+msgstr ""
+
+#: ../../include/text.php:2719
+msgid "Enter path to website files"
+msgstr ""
+
+#: ../../include/text.php:2720
+msgid "Select folder"
+msgstr ""
+
+#: ../../include/text.php:2721
+msgid "Export website..."
+msgstr ""
+
+#: ../../include/text.php:2722
+msgid "Export to a zip file"
+msgstr ""
+
+#: ../../include/text.php:2723
+msgid "website.zip"
+msgstr ""
+
+#: ../../include/text.php:2724
+msgid "Enter a name for the zip file."
+msgstr ""
+
+#: ../../include/text.php:2725
+msgid "Export to cloud files"
+msgstr ""
+
+#: ../../include/text.php:2726
+msgid "/path/to/export/folder"
+msgstr ""
+
+#: ../../include/text.php:2727
+msgid "Enter a path to a cloud files destination."
+msgstr ""
+
+#: ../../include/text.php:2728
+msgid "Specify folder"
+msgstr ""
+
+#: ../../include/message.php:41
+msgid "Unable to determine sender."
+msgstr ""
+
+#: ../../include/message.php:80
+msgid "No recipient provided."
+msgstr ""
+
+#: ../../include/message.php:85
+msgid "[no subject]"
+msgstr ""
+
+#: ../../include/message.php:214
+msgid "Stored post could not be verified."
+msgstr ""
+
+#: ../../include/markdown.php:202 ../../include/bbcode.php:527
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr ""
+
+#: ../../include/markdown.php:251 ../../include/bbcode.php:612
+msgid "spoiler"
+msgstr ""
+
+#: ../../include/acl_selectors.php:99
+msgid "Profile-Based Privacy Groups"
+msgstr ""
+
+#: ../../include/acl_selectors.php:118
+msgid "Private Forum"
+msgstr ""
+
+#: ../../include/acl_selectors.php:142
+msgid "Share with"
+msgstr ""
+
+#: ../../include/acl_selectors.php:143
+msgid "Custom selection"
+msgstr ""
+
+#: ../../include/acl_selectors.php:145
+msgid ""
+"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and "
+"limit the scope of \"Allow\"."
+msgstr ""
+
+#: ../../include/acl_selectors.php:147
+msgid "Don't allow"
+msgstr ""
+
+#: ../../include/acl_selectors.php:180
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These "
+"permissions set who is allowed to view the post."
+msgstr ""
+
+#: ../../include/opengraph.php:56
+#, php-format
+msgid "This is the home page of %s."
+msgstr ""
+
+#: ../../include/taxonomy.php:323
+msgid "Trending"
+msgstr ""
+
+#: ../../include/taxonomy.php:559
+msgid "Keywords"
+msgstr ""
+
+#: ../../include/taxonomy.php:580
+msgid "have"
+msgstr ""
+
+#: ../../include/taxonomy.php:580
+msgid "has"
+msgstr ""
+
+#: ../../include/taxonomy.php:581
+msgid "want"
+msgstr ""
+
+#: ../../include/taxonomy.php:581
+msgid "wants"
+msgstr ""
+
+#: ../../include/taxonomy.php:582
+msgid "likes"
+msgstr ""
+
+#: ../../include/taxonomy.php:583
+msgid "dislikes"
+msgstr ""
+
+#: ../../include/import.php:29
+msgid "Unable to import a removed channel."
+msgstr ""
+
+#: ../../include/import.php:55
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr ""
+
+#: ../../include/import.php:76
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:44
+msgid "Unable to create a unique channel address. Import failed."
+msgstr ""
+
+#: ../../include/import.php:121
+msgid "Cloned channel not found. Import failed."
+msgstr ""
+
+#: ../../include/nav.php:92
+msgid "Remote authentication"
+msgstr ""
+
+#: ../../include/nav.php:92
+msgid "Click to authenticate to your home hub"
+msgstr ""
+
+#: ../../include/nav.php:98
+msgid "Manage your channels"
+msgstr ""
+
+#: ../../include/nav.php:101
+msgid "Manage your privacy groups"
+msgstr ""
+
+#: ../../include/nav.php:103
+msgid "Account/Channel Settings"
+msgstr ""
+
+#: ../../include/nav.php:109 ../../include/nav.php:138
+#: ../../include/nav.php:157 ../../boot.php:1704
+msgid "Logout"
+msgstr ""
+
+#: ../../include/nav.php:109 ../../include/nav.php:138
+msgid "End this session"
+msgstr ""
+
+#: ../../include/nav.php:112
+msgid "Your profile page"
+msgstr ""
+
+#: ../../include/nav.php:115
+msgid "Manage/Edit profiles"
+msgstr ""
+
+#: ../../include/nav.php:124 ../../include/nav.php:128
+msgid "Sign in"
+msgstr ""
+
+#: ../../include/nav.php:155
+msgid "Take me home"
+msgstr ""
+
+#: ../../include/nav.php:157
+msgid "Log me out of this site"
+msgstr ""
+
+#: ../../include/nav.php:162
+msgid "Create an account"
+msgstr ""
+
+#: ../../include/nav.php:174
+msgid "Help and documentation"
+msgstr ""
+
+#: ../../include/nav.php:188
+msgid "Search site @name, !forum, #tag, ?docs, content"
+msgstr ""
+
+#: ../../include/nav.php:194
+msgid "Site Setup and Configuration"
+msgstr ""
+
+#: ../../include/nav.php:330
+msgid "@name, !forum, #tag, ?doc, content"
+msgstr ""
+
+#: ../../include/nav.php:331
+msgid "Please wait..."
+msgstr ""
+
+#: ../../include/nav.php:337
+msgid "Add Apps"
+msgstr ""
+
+#: ../../include/nav.php:338
+msgid "Arrange Apps"
+msgstr ""
+
+#: ../../include/nav.php:339
+msgid "Toggle System Apps"
+msgstr ""
+
+#: ../../include/nav.php:424
+msgid "Status Messages and Posts"
+msgstr ""
+
+#: ../../include/nav.php:437
+msgid "Profile Details"
+msgstr ""
+
+#: ../../include/nav.php:447 ../../include/photos.php:666
+msgid "Photo Albums"
+msgstr ""
+
+#: ../../include/nav.php:455
+msgid "Files and Storage"
+msgstr ""
+
+#: ../../include/nav.php:493
+msgid "Saved Bookmarks"
+msgstr ""
+
+#: ../../include/nav.php:504
+msgid "View Cards"
+msgstr ""
+
+#: ../../include/nav.php:515
+msgid "View Articles"
+msgstr ""
+
+#: ../../include/nav.php:527
+msgid "View Webpages"
+msgstr ""
+
+#: ../../include/language.php:437
+msgid "Select an alternate language"
+msgstr ""
+
+#: ../../include/zid.php:360
+#, php-format
+msgid "OpenWebAuth: %1$s welcomes %2$s"
+msgstr ""
+
+#: ../../include/bookmarks.php:34
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr ""
+
+#: ../../include/activities.php:42
+msgid " and "
+msgstr ""
+
+#: ../../include/activities.php:50
+msgid "public profile"
+msgstr ""
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr ""
+
+#: ../../include/activities.php:60
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr ""
+
+#: ../../include/activities.php:63
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr ""
+
+#: ../../include/cdav.php:157
+msgid "INVALID EVENT DISMISSED!"
+msgstr ""
+
+#: ../../include/cdav.php:158
+msgid "Summary: "
+msgstr ""
+
+#: ../../include/cdav.php:159
+msgid "Date: "
+msgstr ""
+
+#: ../../include/cdav.php:160 ../../include/cdav.php:168
+msgid "Reason: "
+msgstr ""
+
+#: ../../include/cdav.php:166
+msgid "INVALID CARD DISMISSED!"
+msgstr ""
+
+#: ../../include/cdav.php:167
+msgid "Name: "
+msgstr ""
+
+#: ../../include/photos.php:151
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr ""
+
+#: ../../include/photos.php:162
+msgid "Image file is empty."
+msgstr ""
+
+#: ../../include/photos.php:324
+msgid "Photo storage failed."
+msgstr ""
+
+#: ../../include/photos.php:373
+msgid "a new photo"
+msgstr ""
+
+#: ../../include/photos.php:377
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr ""
+
+#: ../../include/photos.php:671
+msgid "Upload New Photos"
+msgstr ""
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr ""
+
+#: ../../include/js_strings.php:8
+#, php-format
+msgid "%s show less"
+msgstr ""
+
+#: ../../include/js_strings.php:9
+#, php-format
+msgid "%s expand"
+msgstr ""
+
+#: ../../include/js_strings.php:10
+#, php-format
+msgid "%s collapse"
+msgstr ""
+
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr ""
+
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr ""
+
+#: ../../include/js_strings.php:13
+msgid "everybody"
+msgstr ""
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr ""
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr ""
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr ""
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr ""
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr ""
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr ""
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr ""
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr ""
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr ""
+
+#: ../../include/js_strings.php:26
+msgid "lovely"
+msgstr ""
+
+#: ../../include/js_strings.php:27
+msgid "wonderful"
+msgstr ""
+
+#: ../../include/js_strings.php:28
+msgid "fantastic"
+msgstr ""
+
+#: ../../include/js_strings.php:29
+msgid "great"
+msgstr ""
+
+#: ../../include/js_strings.php:30
+msgid ""
+"Your chosen nickname was either already taken or not valid. Please use our "
+"suggestion ("
+msgstr ""
+
+#: ../../include/js_strings.php:31
+msgid ") or enter a new one."
+msgstr ""
+
+#: ../../include/js_strings.php:32
+msgid "Thank you, this nickname is valid."
+msgstr ""
+
+#: ../../include/js_strings.php:33
+msgid "A channel name is required."
+msgstr ""
+
+#: ../../include/js_strings.php:34
+msgid "This is a "
+msgstr ""
+
+#: ../../include/js_strings.php:35
+msgid " channel name"
+msgstr ""
+
+#: ../../include/js_strings.php:36
+msgid "Back to reply"
+msgstr ""
+
+#: ../../include/js_strings.php:37
+msgid "Pinned"
+msgstr ""
+
+#: ../../include/js_strings.php:45
+#, php-format
+msgid "%d minutes"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/js_strings.php:46
+#, php-format
+msgid "about %d hours"
+msgid_plural "about %d hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/js_strings.php:47
+#, php-format
+msgid "%d days"
+msgid_plural "%d days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/js_strings.php:48
+#, php-format
+msgid "%d months"
+msgid_plural "%d months"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/js_strings.php:49
+#, php-format
+msgid "%d years"
+msgid_plural "%d years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/js_strings.php:54
+msgid "timeago.prefixAgo"
+msgstr ""
+
+#: ../../include/js_strings.php:55
+msgid "timeago.prefixFromNow"
+msgstr ""
+
+#: ../../include/js_strings.php:56
+msgid "timeago.suffixAgo"
+msgstr ""
+
+#: ../../include/js_strings.php:57
+msgid "timeago.suffixFromNow"
+msgstr ""
+
+#: ../../include/js_strings.php:60
+msgid "less than a minute"
+msgstr ""
+
+#: ../../include/js_strings.php:61
+msgid "about a minute"
+msgstr ""
+
+#: ../../include/js_strings.php:63
+msgid "about an hour"
+msgstr ""
+
+#: ../../include/js_strings.php:65
+msgid "a day"
+msgstr ""
+
+#: ../../include/js_strings.php:67
+msgid "about a month"
+msgstr ""
+
+#: ../../include/js_strings.php:69
+msgid "about a year"
+msgstr ""
+
+#: ../../include/js_strings.php:71
+msgid " "
+msgstr ""
+
+#: ../../include/js_strings.php:72
+msgid "timeago.numbers"
+msgstr ""
+
+#: ../../include/js_strings.php:78
+msgctxt "long"
+msgid "May"
+msgstr ""
+
+#: ../../include/js_strings.php:86
+msgid "Jan"
+msgstr ""
+
+#: ../../include/js_strings.php:87
+msgid "Feb"
+msgstr ""
+
+#: ../../include/js_strings.php:88
+msgid "Mar"
+msgstr ""
+
+#: ../../include/js_strings.php:89
+msgid "Apr"
+msgstr ""
+
+#: ../../include/js_strings.php:90
+msgctxt "short"
+msgid "May"
+msgstr ""
+
+#: ../../include/js_strings.php:91
+msgid "Jun"
+msgstr ""
+
+#: ../../include/js_strings.php:92
+msgid "Jul"
+msgstr ""
+
+#: ../../include/js_strings.php:93
+msgid "Aug"
+msgstr ""
+
+#: ../../include/js_strings.php:94
+msgid "Sep"
+msgstr ""
+
+#: ../../include/js_strings.php:95
+msgid "Oct"
+msgstr ""
+
+#: ../../include/js_strings.php:96
+msgid "Nov"
+msgstr ""
+
+#: ../../include/js_strings.php:97
+msgid "Dec"
+msgstr ""
+
+#: ../../include/js_strings.php:105
+msgid "Sun"
+msgstr ""
+
+#: ../../include/js_strings.php:106
+msgid "Mon"
+msgstr ""
+
+#: ../../include/js_strings.php:107
+msgid "Tue"
+msgstr ""
+
+#: ../../include/js_strings.php:108
+msgid "Wed"
+msgstr ""
+
+#: ../../include/js_strings.php:109
+msgid "Thu"
+msgstr ""
+
+#: ../../include/js_strings.php:110
+msgid "Fri"
+msgstr ""
+
+#: ../../include/js_strings.php:111
+msgid "Sat"
+msgstr ""
+
+#: ../../include/js_strings.php:112
+msgctxt "calendar"
+msgid "today"
+msgstr ""
+
+#: ../../include/js_strings.php:113
+msgctxt "calendar"
+msgid "month"
+msgstr ""
+
+#: ../../include/js_strings.php:114
+msgctxt "calendar"
+msgid "week"
+msgstr ""
+
+#: ../../include/js_strings.php:115
+msgctxt "calendar"
+msgid "day"
+msgstr ""
+
+#: ../../include/js_strings.php:116
+msgctxt "calendar"
+msgid "All day"
+msgstr ""
+
+#: ../../include/js_strings.php:119
+msgid "Please stand by while your download is being prepared."
+msgstr ""
+
+#: ../../include/security.php:609
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr ""
+
+#: ../../include/selectors.php:18
+msgid "Profile to assign new connections"
+msgstr ""
+
+#: ../../include/selectors.php:41
+msgid "Frequently"
+msgstr ""
+
+#: ../../include/selectors.php:42
+msgid "Hourly"
+msgstr ""
+
+#: ../../include/selectors.php:43
+msgid "Twice daily"
+msgstr ""
+
+#: ../../include/selectors.php:44
+msgid "Daily"
+msgstr ""
+
+#: ../../include/selectors.php:45
+msgid "Weekly"
+msgstr ""
+
+#: ../../include/selectors.php:46
+msgid "Monthly"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Currently Male"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Currently Female"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Mostly Male"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Mostly Female"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Transgender"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Intersex"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Transsexual"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Hermaphrodite"
+msgstr ""
+
+#: ../../include/selectors.php:60
+msgid "Undecided"
+msgstr ""
+
+#: ../../include/selectors.php:96 ../../include/selectors.php:115
+msgid "Males"
+msgstr ""
+
+#: ../../include/selectors.php:96 ../../include/selectors.php:115
+msgid "Females"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Gay"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Lesbian"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "No Preference"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Bisexual"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Autosexual"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Abstinent"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Virgin"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Deviant"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Fetish"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Oodles"
+msgstr ""
+
+#: ../../include/selectors.php:96
+msgid "Nonsexual"
+msgstr ""
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Single"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Lonely"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Available"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Unavailable"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Has crush"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Infatuated"
+msgstr ""
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Dating"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Unfaithful"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Sex Addict"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Friends/Benefits"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Casual"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Engaged"
+msgstr ""
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Married"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Imaginarily married"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Partners"
+msgstr ""
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Cohabiting"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Common law"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Happy"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Not looking"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Swinger"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Betrayed"
+msgstr ""
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Separated"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Unstable"
+msgstr ""
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Divorced"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Imaginarily divorced"
+msgstr ""
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "Widowed"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Uncertain"
+msgstr ""
+
+#: ../../include/selectors.php:134 ../../include/selectors.php:151
+msgid "It's complicated"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Don't care"
+msgstr ""
+
+#: ../../include/selectors.php:134
+msgid "Ask me"
+msgstr ""
+
+#: ../../include/network.php:1731 ../../include/network.php:1732
+msgid "Friendica"
+msgstr ""
+
+#: ../../include/network.php:1733
+msgid "OStatus"
+msgstr ""
+
+#: ../../include/network.php:1734
+msgid "GNU-Social"
+msgstr ""
+
+#: ../../include/network.php:1735
+msgid "RSS/Atom"
+msgstr ""
+
+#: ../../include/network.php:1738
+msgid "Diaspora"
+msgstr ""
+
+#: ../../include/network.php:1739
+msgid "Facebook"
+msgstr ""
+
+#: ../../include/network.php:1740
+msgid "Zot"
+msgstr ""
+
+#: ../../include/network.php:1741
+msgid "LinkedIn"
+msgstr ""
+
+#: ../../include/network.php:1742
+msgid "XMPP/IM"
+msgstr ""
+
+#: ../../include/network.php:1743
+msgid "MySpace"
+msgstr ""
+
+#: ../../include/account.php:36
+msgid "Not a valid email address"
+msgstr ""
+
+#: ../../include/account.php:38
+msgid "Your email domain is not among those allowed on this site"
+msgstr ""
+
+#: ../../include/account.php:44
+msgid "Your email address is already registered at this site."
+msgstr ""
+
+#: ../../include/account.php:76
+msgid "An invitation is required."
+msgstr ""
+
+#: ../../include/account.php:80
+msgid "Invitation could not be verified."
+msgstr ""
+
+#: ../../include/account.php:156
+msgid "Please enter the required information."
+msgstr ""
+
+#: ../../include/account.php:223
+msgid "Failed to store account information."
+msgstr ""
+
+#: ../../include/account.php:311
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr ""
+
+#: ../../include/account.php:380
+#, php-format
+msgid "Registration request at %s"
+msgstr ""
+
+#: ../../include/account.php:402
+msgid "your registration password"
+msgstr ""
+
+#: ../../include/account.php:408 ../../include/account.php:471
+#, php-format
+msgid "Registration details for %s"
+msgstr ""
+
+#: ../../include/account.php:482
+msgid "Account approved."
+msgstr ""
+
+#: ../../include/account.php:522
+#, php-format
+msgid "Registration revoked for %s"
+msgstr ""
+
+#: ../../include/account.php:805 ../../include/account.php:807
+msgid "Click here to upgrade."
+msgstr ""
+
+#: ../../include/account.php:813
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr ""
+
+#: ../../include/account.php:818
+msgid "This action is not available under your subscription plan."
+msgstr ""
+
+#: ../../include/help.php:80
+msgid "Help:"
+msgstr ""
+
+#: ../../include/help.php:129
+msgid "Not Found"
+msgstr ""
+
+#: ../../include/attach.php:273 ../../include/attach.php:324
+#: ../../include/attach.php:419
+msgid "Item was not found."
+msgstr ""
+
+#: ../../include/attach.php:290
+msgid "Unknown error."
+msgstr ""
+
+#: ../../include/attach.php:612
+msgid "No source file."
+msgstr ""
+
+#: ../../include/attach.php:634
+msgid "Cannot locate file to replace"
+msgstr ""
+
+#: ../../include/attach.php:653
+msgid "Cannot locate file to revise/update"
+msgstr ""
+
+#: ../../include/attach.php:795
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr ""
+
+#: ../../include/attach.php:816
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr ""
+
+#: ../../include/attach.php:1004
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr ""
+
+#: ../../include/attach.php:1033
+msgid "Stored file could not be verified. Upload failed."
+msgstr ""
+
+#: ../../include/attach.php:1105 ../../include/attach.php:1121
+msgid "Path not available."
+msgstr ""
+
+#: ../../include/attach.php:1169 ../../include/attach.php:1332
+msgid "Empty pathname"
+msgstr ""
+
+#: ../../include/attach.php:1195
+msgid "duplicate filename or path"
+msgstr ""
+
+#: ../../include/attach.php:1220
+msgid "Path not found."
+msgstr ""
+
+#: ../../include/attach.php:1288
+msgid "mkdir failed."
+msgstr ""
+
+#: ../../include/attach.php:1292
+msgid "database storage failed."
+msgstr ""
+
+#: ../../include/attach.php:1338
+msgid "Empty path"
+msgstr ""
+
+#: ../../include/attach.php:2099
+#, php-format
+msgid "%s shared a %s with you"
+msgstr ""
+
+#: ../../include/attach.php:2099
+#: ../../extend/addon/hzaddons/redfiles/redfilehelper.php:64
+msgid "file"
+msgstr ""
+
+#: ../../include/connections.php:134
+msgid "New window"
+msgstr ""
+
+#: ../../include/connections.php:135
+msgid "Open the selected location in a different window or browser tab"
+msgstr ""
+
+#: ../../include/connections.php:736 ../../include/event.php:1424
+msgid "Home, Voice"
+msgstr ""
+
+#: ../../include/connections.php:737 ../../include/event.php:1425
+msgid "Home, Fax"
+msgstr ""
+
+#: ../../include/connections.php:739 ../../include/event.php:1427
+msgid "Work, Voice"
+msgstr ""
+
+#: ../../include/connections.php:740 ../../include/event.php:1428
+msgid "Work, Fax"
+msgstr ""
+
+#: ../../include/oembed.php:153
+msgid "View PDF"
+msgstr ""
+
+#: ../../include/oembed.php:357
+msgid " by "
+msgstr ""
+
+#: ../../include/oembed.php:358
+msgid " on "
+msgstr ""
+
+#: ../../include/oembed.php:387
+msgid "Embedded content"
+msgstr ""
+
+#: ../../include/oembed.php:396
+msgid "Embedding disabled"
+msgstr ""
+
+#: ../../include/event.php:33 ../../include/event.php:110
+msgid "l F d, Y \\@ g:i A"
+msgstr ""
+
+#: ../../include/event.php:41
+msgid "Starts:"
+msgstr ""
+
+#: ../../include/event.php:51
+msgid "Finishes:"
+msgstr ""
+
+#: ../../include/event.php:110
+msgid "l F d, Y"
+msgstr ""
+
+#: ../../include/event.php:114
+msgid "Start:"
+msgstr ""
+
+#: ../../include/event.php:118
+msgid "End:"
+msgstr ""
+
+#: ../../include/event.php:123
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:67
+msgid "Timezone"
+msgstr ""
+
+#: ../../include/event.php:1106
+msgid "This event has been added to your calendar."
+msgstr ""
+
+#: ../../include/event.php:1337
+msgid "Not specified"
+msgstr ""
+
+#: ../../include/event.php:1338
+msgid "Needs Action"
+msgstr ""
+
+#: ../../include/event.php:1339
+msgid "Completed"
+msgstr ""
+
+#: ../../include/event.php:1340
+msgid "In Process"
+msgstr ""
+
+#: ../../include/event.php:1341
+msgid "Cancelled"
+msgstr ""
+
+#: ../../include/datetime.php:140
+msgid "Birthday"
+msgstr ""
+
+#: ../../include/datetime.php:140
+msgid "Age: "
+msgstr ""
+
+#: ../../include/datetime.php:140
+msgid "YYYY-MM-DD or MM-DD"
+msgstr ""
+
+#: ../../include/datetime.php:238 ../../boot.php:2709
+msgid "never"
+msgstr ""
+
+#: ../../include/datetime.php:244
+msgid "less than a second ago"
+msgstr ""
+
+#: ../../include/datetime.php:262
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr ""
+
+#: ../../include/datetime.php:273
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:276
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:279
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:282
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:285
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:288
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:291
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:520
+#, php-format
+msgid "%1$s's birthday"
+msgstr ""
+
+#: ../../include/datetime.php:521
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr ""
+
+#: ../../include/items.php:999 ../../include/items.php:1059
+msgid "(Unknown)"
+msgstr ""
+
+#: ../../include/items.php:1247
+msgid "Visible to anybody on the internet."
+msgstr ""
+
+#: ../../include/items.php:1249
+msgid "Visible to you only."
+msgstr ""
+
+#: ../../include/items.php:1251
+msgid "Visible to anybody in this network."
+msgstr ""
+
+#: ../../include/items.php:1253
+msgid "Visible to anybody authenticated."
+msgstr ""
+
+#: ../../include/items.php:1255
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr ""
+
+#: ../../include/items.php:1257
+msgid "Visible to all connections."
+msgstr ""
+
+#: ../../include/items.php:1259
+msgid "Visible to approved connections."
+msgstr ""
+
+#: ../../include/items.php:1261
+msgid "Visible to specific connections."
+msgstr ""
+
+#: ../../include/items.php:4507
+msgid "Privacy group is empty."
+msgstr ""
+
+#: ../../include/items.php:4514
+#, php-format
+msgid "Privacy group: %s"
+msgstr ""
+
+#: ../../include/items.php:4526
+msgid "Connection not found."
+msgstr ""
+
+#: ../../include/items.php:4867
+msgid "profile photo"
+msgstr ""
+
+#: ../../include/items.php:5059
+#, php-format
+msgid "[Edited %s]"
+msgstr ""
+
+#: ../../include/items.php:5059
+msgctxt "edit_activity"
+msgid "Post"
+msgstr ""
+
+#: ../../include/items.php:5059
+msgctxt "edit_activity"
+msgid "Comment"
+msgstr ""
+
+#: ../../include/follow.php:84
+msgid "Response from remote channel was incomplete."
+msgstr ""
+
+#: ../../include/follow.php:96
+msgid "Premium channel - please visit:"
+msgstr ""
+
+#: ../../include/follow.php:110
+msgid "Channel was deleted and no longer exists."
+msgstr ""
+
+#: ../../include/zot.php:775
+msgid "Invalid data packet"
+msgstr ""
+
+#: ../../include/zot.php:4372
+msgid "invalid target signature"
+msgstr ""
+
+#: ../../include/bbcode.php:221 ../../include/bbcode.php:896
+#: ../../include/bbcode.php:1486 ../../include/bbcode.php:1494
+msgid "Image/photo"
+msgstr ""
+
+#: ../../include/bbcode.php:268 ../../include/bbcode.php:1511
+msgid "Encrypted content"
+msgstr ""
+
+#: ../../include/bbcode.php:302
+#, php-format
+msgid "Install %1$s element %2$s"
+msgstr ""
+
+#: ../../include/bbcode.php:306
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr ""
+
+#: ../../include/bbcode.php:519
+msgid "card"
+msgstr ""
+
+#: ../../include/bbcode.php:521
+msgid "article"
+msgstr ""
+
+#: ../../include/bbcode.php:604 ../../include/bbcode.php:612
+msgid "Click to open/close"
+msgstr ""
+
+#: ../../include/bbcode.php:625
+msgid "View article"
+msgstr ""
+
+#: ../../include/bbcode.php:625
+msgid "View summary"
+msgstr ""
+
+#: ../../include/bbcode.php:1474
+msgid "$1 wrote:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:451
+msgid "Follow"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:454
+#, php-format
+msgid "%1$s is now following %2$s"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:16
+msgid ""
+"The GNU-Social protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22
+msgid "GNU-Social Protocol App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:34
+msgid "GNU-Social Protocol"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/qrator/qrator.php:48
+msgid "QR code"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/qrator/qrator.php:63
+msgid "QR Generator"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/qrator/qrator.php:64
+msgid "Enter some text"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/irc/Mod_Irc.php:23
+#: ../../extend/addon/hzaddons/irc/irc.php:41
+msgid "Popular Channels"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/irc/irc.php:37
+msgid "Channels to auto connect"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/irc/irc.php:37
+#: ../../extend/addon/hzaddons/irc/irc.php:41
+msgid "Comma separated list"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/irc/irc.php:45
+msgid "IRC Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/irc/irc.php:54
+msgid "IRC settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/irc/irc.php:58
+msgid "IRC Chatroom"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:19
+msgid "Send email to all members"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:50
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:50
+msgid "No recipients found."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:73
+#, php-format
+msgid "%1$d of %2$d messages sent."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:81
+msgid "Send email to all hub members."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:92
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:96
+msgid "Message subject"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:93
+msgid "Sender Email address"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hubwall/hubwall.php:94
+msgid "Test mode (only send to hub administrator)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:51
+msgid "Your Webbie:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:54
+msgid "Fontsize (px):"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:68
+msgid "Link:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:70
+msgid "Like us on Hubzilla"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/likebanner/likebanner.php:72
+msgid "Embed:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:46
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:43
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:150
+msgid "Save Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:47
+msgid "text to include in all outgoing posts from this site"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:19
+msgid "lonely"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:20
+msgid "drunk"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:21
+msgid "horny"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:22
+msgid "stoned"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:23
+msgid "fucked up"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:24
+msgid "clusterfucked"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:25
+msgid "crazy"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:26
+msgid "hurt"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:27
+msgid "sleepy"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:28
+msgid "grumpy"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:29
+msgid "high"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:30
+msgid "semi-conscious"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:31
+msgid "in love"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:32
+msgid "in lust"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:33
+msgid "naked"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:34
+msgid "stinky"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:35
+msgid "sweaty"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:36
+msgid "bleeding out"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:37
+msgid "victorious"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:38
+msgid "defeated"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:39
+msgid "envious"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/moremoods/moremoods.php:40
+msgid "jealous"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:85
+msgid ""
+"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
+"analytics tool."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:88
+#, php-format
+msgid ""
+"If you do not want that your visits are logged this way you <a href='%s'>can "
+"set a cookie to prevent Piwik from tracking further visits of the site</a> "
+"(opt-out)."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:96
+msgid "Piwik Base URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:96
+msgid ""
+"Absolute path to your Piwik installation. (without protocol (http/s), with "
+"trailing slash)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:97
+msgid "Site ID"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:98
+msgid "Show opt-out cookie link?"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:99
+msgid "Asynchronous tracking"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:100
+msgid "Enable frontend JavaScript error tracking"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/piwik/piwik.php:100
+msgid "This feature requires Piwik >= 2.2.0"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:101
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:102
+#: ../../extend/addon/hzaddons/cart/myshop.php:144
+#: ../../extend/addon/hzaddons/cart/myshop.php:180
+#: ../../extend/addon/hzaddons/cart/myshop.php:214
+#: ../../extend/addon/hzaddons/cart/myshop.php:261
+#: ../../extend/addon/hzaddons/cart/myshop.php:296
+#: ../../extend/addon/hzaddons/cart/myshop.php:319
+msgid "Access Denied"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:109
+msgid "Enable Community Moderation"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:117
+msgid "Reputation automatically given to new members"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:118
+msgid "Reputation will never fall below this value"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:119
+msgid "Minimum reputation before posting is allowed"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:120
+msgid "Minimum reputation before commenting is allowed"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:121
+msgid "Minimum reputation before a member is able to moderate other posts"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:122
+msgid ""
+"Max ratio of moderator's reputation that can be added to/deducted from "
+"reputation of person being moderated"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:123
+msgid "Reputation \"cost\" to post"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:124
+msgid "Reputation \"cost\" to comment"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:125
+msgid ""
+"Reputation automatically recovers at this rate per hour until it reaches "
+"minimum_to_post"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:126
+msgid ""
+"When minimum_to_moderate > reputation > minimum_to_post reputation recovers "
+"at this rate per hour"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:140
+msgid "Community Moderation Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:232
+msgid "Channel Reputation"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:236
+msgid "An Error has occurred."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:254
+msgid "Upvote"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:255
+msgid "Downvote"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:414
+msgid "Can moderate reputation on my channel."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:57
+msgid "Errors encountered deleting database table "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:95
+#: ../../extend/addon/hzaddons/twitter/twitter.php:503
+msgid "Submit Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96
+msgid "Drop tables when uninstalling?"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96
+msgid ""
+"If checked, the Rendezvous database tables will be deleted when the plugin "
+"is uninstalled."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97
+msgid "Mapbox Access Token"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97
+msgid ""
+"If you enter a Mapbox access token, it will be used to retrieve map tiles "
+"from Mapbox instead of the default OpenStreetMap tile server."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:162
+msgid "Rendezvous"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:167
+msgid ""
+"This identity has been deleted by another member due to inactivity. Please "
+"press the \"New identity\" button or refresh the page to register a new "
+"identity. You may use the same name."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:168
+msgid "Welcome to Rendezvous!"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:169
+msgid ""
+"Enter your name to join this rendezvous. To begin sharing your location with "
+"the other members, tap the GPS control. When your location is discovered, a "
+"red dot will appear and others will be able to see you on the map."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:171
+msgid "Let's meet here"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:174
+msgid "New marker"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:175
+msgid "Edit marker"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:176
+msgid "New identity"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:177
+msgid "Delete marker"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:178
+msgid "Delete member"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:179
+msgid "Edit proximity alert"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180
+msgid ""
+"A proximity alert will be issued when this member is within a certain radius "
+"of you.<br><br>Enter a radius in meters (0 to disable):"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:185
+msgid "distance"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:181
+msgid "Proximity alert distance (meters)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:182
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:184
+msgid ""
+"A proximity alert will be issued when you are within a certain radius of the "
+"marker location.<br><br>Enter a radius in meters (0 to disable):"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:183
+msgid "Marker proximity alert"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:186
+msgid "Reminder note"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:187
+msgid ""
+"Enter a note to be displayed when you are within the specified proximity..."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:199
+msgid "Add new rendezvous"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:200
+msgid ""
+"Create a new rendezvous and share the access link with those you wish to "
+"invite to the group. Those who open the link become members of the "
+"rendezvous. They can view other member locations, add markers to the map, or "
+"share their own locations with the group."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:232
+msgid "You have no rendezvous. Press the button above to create a rendezvous!"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32
+msgid "Skeleton App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:33
+msgid "A skeleton for addons, you can copy/paste"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40
+msgid "Some setting"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40
+msgid "A setting"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:48
+msgid "Skeleton Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/redred.php:50
+msgid "Post to Hubzilla"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:24
+msgid "Channel is required."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:38
+msgid "Hubzilla Crosspost Connector Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146
+msgid "Hubzilla Crosspost Connector App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:51
+msgid "Relay public postings to another Hubzilla channel"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63
+msgid "Send public postings to Hubzilla channel by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67
+msgid "Hubzilla API Path"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53
+msgid "https://{sitename}/api"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71
+msgid "Hubzilla login name"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75
+msgid "Hubzilla channel name"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:54
+msgid "Nickname"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:79
+msgid "Hubzilla password"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:87
+msgid "Hubzilla Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:23
+msgid "TOTP Two-Step Verification"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:24
+msgid "Enter the 2-step verification generated by your authenticator app:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:25
+msgid "Success!"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:26
+msgid "Invalid code, please try again."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:27
+msgid "Too many invalid codes..."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:28
+msgid "Verify"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:90
+msgid ""
+"You haven't set a TOTP secret yet.\n"
+"Please click the button below to generate one and register this site\n"
+"with your preferred authenticator app."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:93
+msgid "Your TOTP secret is"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:94
+msgid ""
+"Be sure to save it somewhere in case you lose or replace your mobile "
+"device.\n"
+"Use your mobile device to scan the QR code below to register this site\n"
+"with your preferred authenticator app."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:99
+msgid "Test"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:100
+msgid "Generate New Secret"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:101
+msgid "Go"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:102
+msgid "Enter your password"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:103
+msgid "enter TOTP code from your device"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:104
+msgid "Pass!"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:105
+msgid "Fail"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:106
+msgid "Incorrect password, try again."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:107
+msgid "Record your new TOTP secret and rescan the QR code above."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:115
+msgid "TOTP Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/testdrive/testdrive.php:104
+#, php-format
+msgid "Your account on %s will expire in a few days."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/testdrive/testdrive.php:105
+msgid "Your $Productname test account is about to expire."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:70
+msgid "An account has been created for you."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:77
+msgid "Authentication successful but rejected: account creation is disabled."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:252
+msgid "DB Cleanup Failure"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:674
+msgid "[cart] Item Added"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1063
+msgid "Order already checked out."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1368
+msgid "Drop database tables when uninstalling."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1375
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:129
+msgid "Cart Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1387
+#: ../../extend/addon/hzaddons/cart/cart.php:1390
+msgid "Shop"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1446
+#: ../../extend/addon/hzaddons/cart/myshop.php:112
+msgid "Order Not Found"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1507
+msgid "Cart utilities for orders and payments"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1545
+msgid "You must be logged into the Grid to shop."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1578
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:409
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:392
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:68
+msgid "Order not found."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1592
+msgid "Access denied."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1644
+#: ../../extend/addon/hzaddons/cart/cart.php:1787
+msgid "No Order Found"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1653
+msgid "An unknown error has occurred Please start again."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1796
+msgid "Requirements not met."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1796
+msgid "Review your order and complete any needed requirements."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1822
+msgid "Invalid Payment Type. Please start again."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/cart.php:1829
+msgid "Order not found"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:70
+msgid "Enable Order/Item Options"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:333
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:357
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:433
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:457
+msgid "Label"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:336
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:360
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:436
+#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:460
+msgid "Instructions"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:63
+msgid "Enable Hubzilla Services Module"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:162
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:172
+msgid "New Sku"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:197
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:208
+msgid "Cannot save edits to locked item."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:246
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:333
+msgid "SKU not found."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:299
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:303
+msgid "Invalid Activation Directive."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:374
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:378
+msgid "Invalid Deactivation Directive."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:564
+msgid "Add to this privacy group"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:580
+msgid "Set user service class"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:607
+msgid "You must be using a local account to purchase this service."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:647
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:252
+msgid "Changes Locked"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:651
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:256
+msgid "Item available for purchase."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:658
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:263
+#: ../../extend/addon/hzaddons/cart/widgets/catalogitem.php:57
+msgid "Price"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:661
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:266
+msgid "Photo URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:665
+msgid "Add buyer to privacy group"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:670
+msgid "Add buyer as connection"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:678
+#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:720
+msgid "Set Service Class"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:151
+msgid "Enable Subscription Management Module"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:223
+msgid ""
+"Cannot include subscription items with different terms in the same order."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:372
+msgid "Select Subscription to Edit"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:380
+msgid "Edit Subscriptions"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:414
+msgid "Subscription SKU"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:419
+msgid "Catalog Description"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:423
+msgid "Subscription available for purchase."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:428
+msgid "Maximum active subscriptions to this item per account."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:431
+msgid "Subscription price."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:435
+msgid "Quantity"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:439
+msgid "Term"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:86
+msgid "Enable Paypal Button Module (API-v2)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:94
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:93
+msgid "Use Production Key"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:101
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:100
+msgid "Paypal Sandbox Client Key"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:108
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:107
+msgid "Paypal Sandbox Secret Key"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:114
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:113
+msgid "Paypal Production Client Key"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:121
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:120
+msgid "Paypal Production Secret Key"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:264
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:252
+msgid "Paypal button payments are not enabled."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:282
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:270
+msgid ""
+"Paypal button payments are not properly configured. Please choose another "
+"payment option."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:85
+msgid "Enable Paypal Button Module"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:61
+msgid "Enable Manual Cart Module"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/myshop.php:30
+msgid "Access Denied."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/myshop.php:189
+#: ../../extend/addon/hzaddons/cart/myshop.php:223
+#: ../../extend/addon/hzaddons/cart/myshop.php:271
+#: ../../extend/addon/hzaddons/cart/myshop.php:329
+msgid "Invalid Item"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:7
+msgid "Error: order mismatch. Please try again."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:61
+msgid "Manual payments are not enabled."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/manual_payments.php:77
+msgid "Finished"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:58
+msgid "Enable Test Catalog"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:70
+msgid "Enable Manual Payments"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:90
+msgid "Base Merchant Currency"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/openid.php:49
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/openid.php:49
+msgid "The error message was:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:52
+msgid "First Name"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:53
+msgid "Last Name"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:55
+msgid "Full Name"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:61
+msgid "Profile Photo 16px"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:62
+msgid "Profile Photo 32px"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:63
+msgid "Profile Photo 48px"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:64
+msgid "Profile Photo 64px"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:65
+msgid "Profile Photo 80px"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:66
+msgid "Profile Photo 128px"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:70
+msgid "Birth Year"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:71
+msgid "Birth Month"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:72
+msgid "Birth Day"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:73
+msgid "Birthdate"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:81
+msgid "Hubzilla File Storage Import"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:82
+msgid "This will import all your cloud files from another server."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:83
+msgid "Hubzilla Server base URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:84
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:140
+msgid "Since modified date yyyy-mm-dd"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:85
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:141
+msgid "Until modified date yyyy-mm-dd"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:43
+msgid "Diaspora Protocol Settings updated."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:52
+msgid ""
+"The diaspora protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58
+msgid "Diaspora Protocol App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:75
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:79
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:83
+msgid "Sign and forward posts and comments with no existing Diaspora signature"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:88
+msgid "Followed hashtags (comma separated, do not include the #)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:97
+msgid "Diaspora Protocol"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:19
+msgid "No username found in import file."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541
+#, php-format
+msgid "%1$s dislikes %2$s's %3$s"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:66
+msgid ""
+"Please install the statistics addon to be able to configure a diaspora relay"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76
+msgid "Diaspora Relay Handle"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76
+msgid "Address of a diaspora relay. Example: relay@diasporarelay.tld"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/diaspora/diaspora.php:96
+msgid "Diaspora relay could not be imported"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:94
+msgid "Hubzilla Directory Stats"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:95
+msgid "Total Hubs"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:97
+msgid "Hubzilla Hubs"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:99
+msgid "Friendica Hubs"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:101
+msgid "Diaspora Pods"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:103
+msgid "Hubzilla Channels"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:105
+msgid "Friendica Channels"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:107
+msgid "Diaspora Channels"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:109
+msgid "Aged 35 and above"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:111
+msgid "Aged 34 and under"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:113
+msgid "Average Age"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:115
+msgid "Known Chatrooms"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:117
+msgid "Known Tags"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dirstats/dirstats.php:119
+msgid ""
+"Please note Diaspora and Friendica statistics are merely those **this "
+"directory** is aware of, and not all those known in the network. This also "
+"applies to chatrooms,"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:25
+msgid "Show Upload Limits"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:27
+msgid "Hubzilla configured maximum size: "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:28
+msgid "PHP upload_max_filesize: "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:29
+msgid "PHP post_max_size (must be larger than upload_max_filesize): "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27
+msgid "Hide Aside App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:24
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:28
+msgid "Fade out aside areas after a while when using endless scroll"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26
+msgid "Installed"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/randpost/randpost.php:97
+msgid "You're welcome."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/randpost/randpost.php:98
+msgid "Ah shucks..."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/randpost/randpost.php:99
+msgid "Don't mention it."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/randpost/randpost.php:100
+msgid "&lt;blush&gt;"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:133
+msgid "View Larger"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156
+msgid "Tile Server URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank"
+"\">public tile servers</a>"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157
+msgid "Nominatim (reverse geocoding) Server URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target="
+"\"_blank\">Nominatim servers</a>"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158
+msgid "Default zoom"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158
+msgid ""
+"The default zoom level. (1:world, 18:highest, also depends on tile server)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159
+msgid "Include marker on map"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159
+msgid "Include a marker on the map."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38
+msgid "Livejournal Crosspost Connector App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:39
+msgid "Relay public posts to Livejournal"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:55
+msgid "Livejournal username"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:59
+msgid "Livejournal password"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63
+msgid "Post to Livejournal by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67
+msgid "Send wall-to-wall posts to Livejournal"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94
+msgid "Add link to original post"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:79
+msgid "Livejournal Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:49
+msgid "Post to Livejournal"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ljpost/ljpost.php:127
+msgid "Posted by"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:222
+msgid "Workflow user."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:272
+msgid "This channel"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:541
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1437
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1456
+msgid "Workflow"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1425
+msgid "No Workflows Available"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1455
+msgid "Add item to which workflow"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1515
+#: ../../extend/addon/hzaddons/workflow/workflow.php:1634
+msgid "Create Workflow Item"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2596
+msgid "Link"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2598
+msgid "Web link."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2619
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2680
+msgid "Brief description or title"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2627
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2688
+msgid "Notes and Info"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/workflow.php:2686
+msgid "Body"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:101
+msgid "Workflow Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:44
+msgid "Jabber BOSH host"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45
+msgid "Use central userbase"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45
+msgid ""
+"If enabled, members will automatically login to an ejabberd server that has "
+"to be installed on this machine with synchronized credentials via the "
+"\"auth_ejabberd.php\" script."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:23
+msgid "XMPP settings updated."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35
+msgid "XMPP App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:36
+msgid "Embedded XMPP (Jabber) client"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:52
+msgid "Individual credentials"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:58
+msgid "Jabber BOSH server"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:67
+msgid "XMPP Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20
+msgid "Superblock App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:21
+msgid "Block channels"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:63
+msgid "superblock settings updated"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:87
+msgid "Currently blocked"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:89
+msgid "No channels currently blocked"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/superblock/superblock.php:337
+msgid "Block Completely"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23
+msgid "Random Planet App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:25
+msgid ""
+"Set a random planet from the Star Wars Empire as your location when posting"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/nsfw.php:152
+msgid "Possible adult content"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/nsfw.php:167
+#, php-format
+msgid "%s - view"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:22
+msgid "NSFW Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33
+msgid "NSFW App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:34
+msgid "Collapse content that contains predefined words"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:44
+msgid ""
+"This app looks in posts for the words/text you specify below, and collapses "
+"any content containing those keywords so it is not displayed at "
+"inappropriate times, such as sexual innuendo that may be improper in a work "
+"setting. It is polite and recommended to tag any content containing nudity "
+"with #NSFW. This filter can also match any other word/text you specify, and "
+"can thereby be used as a general purpose content filter."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49
+msgid "Comma separated list of keywords to hide"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49
+msgid "Word, /regular-expression/, lang=xx, lang!=xx"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:58
+msgid "NSFW"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:21
+msgid "Three Dimensional Tic-Tac-Toe"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:54
+msgid "3D Tic-Tac-Toe"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:59
+msgid "New game"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:60
+msgid "New game with handicap"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:61
+msgid ""
+"Three dimensional tic-tac-toe is just like the traditional game except that "
+"it is played on multiple levels simultaneously. "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:62
+msgid ""
+"In this case there are three levels. You win by getting three in a row on "
+"any level, as well as up, down, and diagonally across the different levels."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:64
+msgid ""
+"The handicap game disables the center position on the middle level because "
+"the player claiming this square often has an unfair advantage."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:183
+msgid "You go first..."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:188
+msgid "I'm going first this time..."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:194
+msgid "You won!"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:200
+#: ../../extend/addon/hzaddons/tictac/tictac.php:225
+msgid "\"Cat\" game!"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/tictac/tictac.php:223
+msgid "I won!"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:27
+msgid "Photo Cache settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:36
+msgid ""
+"Photo Cache addon saves a copy of images from external sites locally to "
+"increase your anonymity in the web."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42
+msgid "Photo Cache App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:53
+msgid "Minimal photo size for caching"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:55
+msgid "In pixels. From 1 up to 1024, 0 will be replaced with system default."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:64
+msgid "Photo Cache"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:26
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:28
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/opensearch/opensearch.php:43
+msgid "Search $Projectname"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:25
+msgid "Libertree Crosspost Connector Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35
+msgid "Libertree Crosspost Connector App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:36
+msgid "Relay public posts to Libertree"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:51
+msgid "Libertree API token"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:55
+msgid "Libertree site URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59
+msgid "Post to Libertree by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:67
+msgid "Libertree Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/libertree/libertree.php:43
+msgid "Post to Libertree"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:24
+msgid "Flag Adult Photos"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:25
+msgid ""
+"Provide photo edit option to hide inappropriate photos from default album "
+"view"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:145
+msgid "Post to GNU social"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:594
+msgid "API URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/statusnet.php:597
+msgid "Application name"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:61
+msgid ""
+"Please contact your site administrator.<br />The provided API URL is not "
+"valid."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:98
+msgid "We could not contact the GNU social API with the Path you entered."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:130
+msgid "GNU social settings updated."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:147
+msgid ""
+"Relay public postings to a connected GNU social account (formerly StatusNet)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:181
+msgid "Globally Available GNU social OAuthKeys"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:183
+msgid ""
+"There are preconfigured OAuth key pairs for some GNU social servers "
+"available. If you are using one of them, please use these credentials.<br /"
+">If not feel free to connect to any other GNU social instance (see below)."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:198
+msgid "Provide your own OAuth Credentials"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:200
+msgid ""
+"No consumer key pair for GNU social found. Register your Hubzilla Account as "
+"an desktop client on your GNU social account, copy the consumer key pair "
+"here and enter the API base root.<br />Before you register your own OAuth "
+"key pair ask the administrator if there is already a key pair for this "
+"Hubzilla installation at your favourite GNU social installation."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:204
+msgid "OAuth Consumer Key"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:208
+msgid "OAuth Consumer Secret"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212
+msgid "Base API Path"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212
+msgid "Remember the trailing /"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:216
+msgid "GNU social application name"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:239
+msgid ""
+"To connect to your GNU social account click the button below to get a "
+"security code from GNU social which you have to copy into the input box "
+"below and submit the form. Only your <strong>public</strong> posts will be "
+"posted to GNU social."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:241
+msgid "Log in with GNU social"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:244
+msgid "Copy the security code from GNU social here"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:254
+msgid "Cancel Connection Process"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:256
+msgid "Current GNU social API is"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260
+msgid "Cancel GNU social Connection"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:272
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:147
+msgid "Currently connected to: "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:277
+msgid ""
+"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to GNU social will lead the visitor to a blank page "
+"informing the visitor that the access to your profile has been restricted."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+msgid "Post to GNU social by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282
+msgid ""
+"If enabled your public postings will be posted to the associated GNU-social "
+"account by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171
+msgid "Clear OAuth configuration"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:303
+msgid "GNU-Social Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wholikesme/wholikesme.php:29
+msgid "Who likes me?"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:25
+msgid "ActivityPub Protocol Settings updated."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:34
+msgid ""
+"The activitypub protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40
+msgid "Activitypub Protocol App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50
+msgid "Deliver to ActivityPub recipients in privacy groups"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50
+msgid ""
+"May result in a large number of mentions and expose all the members of your "
+"privacy group"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54
+msgid "Send multi-media HTML articles"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54
+msgid "Not supported by some microblog services such as Mastodon"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:62
+msgid "Activitypub Protocol"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ijpost/ijpost.php:44
+msgid "Post to Insane Journal"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:23
+msgid "Insane Journal Crosspost Connector Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35
+msgid "Insane Journal Crosspost Connector App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:36
+msgid "Relay public postings to Insane Journal"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:53
+msgid "InsaneJournal username"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:57
+msgid "InsaneJournal password"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61
+msgid "Post to InsaneJournal by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:69
+msgid "Insane Journal Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:77
+msgid "Max queueworker threads"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:91
+msgid "Assume workers dead after ___ seconds"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:105
+msgid ""
+"Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:116
+msgid "Queueworker Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:218
+msgid "Not allowed."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:123
+msgid "generic profile image"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:124
+msgid "random geometric pattern"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:125
+msgid "monster face"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:126
+msgid "computer generated face"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:127
+msgid "retro arcade style face"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:128
+msgid "Hub default profile photo"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143
+msgid "Information"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143
+msgid ""
+"Libravatar addon is installed, too. Please disable Libravatar addon or this "
+"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if "
+"nothing was found at Libravatar."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151
+msgid "Default avatar image"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151
+msgid "Select default avatar image if none was found at Gravatar. See README"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152
+msgid "Rating of images"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152
+msgid "Select the appropriate avatar rating for your site. See README"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gravatar/gravatar.php:165
+msgid "Gravatar settings updated."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:104
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:176
+msgid "Network error"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:108
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:180
+msgid "API error"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:112
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:184
+msgid "Unknown issue"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:168
+msgid "Unable to login using email address "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:202
+msgid "Sign in to Hubzilla using a social account"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:207
+msgid "Social Authentication using your social media account"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:211
+msgid ""
+"This app enables one or more social provider sign-in buttons on the login "
+"page."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:229
+msgid "Add an identity provider"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:256
+msgid "Enable "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263
+msgid "Key"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:284
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297
+msgid "Word"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268
+msgid "Secret"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297
+msgid "Add a custom provider"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:317
+msgid "Remove an identity provider"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:327
+msgid "Social authentication"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:366
+msgid "Error while saving provider settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:382
+msgid "Custom provider already exists"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:399
+msgid "Social authentication settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:14
+msgid "Send your identity to all websites"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20
+msgid "Sendzid App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:32
+msgid "Send ZID"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:106
+msgid "Photos imported"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:129
+msgid "Redmatrix Photo Album Import"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:130
+msgid "This will import all your Redmatrix photo albums to this channel."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:131
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:121
+msgid "Redmatrix Server base URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:132
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:122
+msgid "Redmatrix Login Username"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:133
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:123
+msgid "Redmatrix Login Password"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134
+msgid "Import just this album"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134
+msgid "Leave blank to import all albums"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135
+msgid "Maximum count to import"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135
+msgid "0 or blank to import all available"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:65
+msgid "Twitter settings updated."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78
+msgid "Twitter Crosspost Connector App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:79
+msgid "Relay public posts to Twitter"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:103
+msgid ""
+"No consumer key pair for Twitter found. Please contact your site "
+"administrator."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:125
+msgid ""
+"At this Hubzilla instance the Twitter plugin was enabled but you have not "
+"yet connected your account to your Twitter account. To do so click the "
+"button below to get a PIN from Twitter which you have to copy into the input "
+"box below and submit the form. Only your <strong>public</strong> posts will "
+"be posted to Twitter."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:127
+msgid "Log in with Twitter"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:130
+msgid "Copy the PIN from Twitter here"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:152
+msgid ""
+"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to Twitter will lead the visitor to a blank page informing "
+"the visitor that the access to your profile has been restricted."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157
+msgid "Twitter post length"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157
+msgid "Maximum tweet length"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+msgid "Send public postings to Twitter by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162
+msgid ""
+"If enabled your public postings will be posted to the associated Twitter "
+"account by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:181
+msgid "Twitter Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/twitter/twitter.php:109
+msgid "Post to Twitter"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:21
+msgid "Project Servers and Resources"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:22
+msgid "Project Creator and Tech Lead"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:49
+msgid ""
+"And the hundreds of other people and organisations who helped make the "
+"Hubzilla possible."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:52
+msgid ""
+"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving "
+"their time and expertise - and often paying out of pocket for services they "
+"share with others."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:53
+msgid ""
+"There is no corporate funding and no ads, and we do not collect and sell "
+"your personal information. (We don't control your personal information - "
+"<strong>you do</strong>.)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:54
+msgid ""
+"Help support our ground-breaking work in decentralisation, web identity, and "
+"privacy."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:56
+msgid ""
+"Your donations keep servers and services running and also helps us to "
+"provide innovative new features and continued development."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:59
+msgid "Donate"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:61
+msgid ""
+"Choose a project, developer, or public hub to support with a one-time "
+"donation"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:62
+msgid "Donate Now"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:63
+msgid ""
+"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:64
+msgid ""
+"Please indicate if you would like your first name or full name (or nothing) "
+"to appear in our sponsor listing"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:65
+msgid "Sponsor"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/donate/donate.php:68
+msgid "Special thanks to: "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:26
+msgid "Dreamwidth Crosspost Connector Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39
+msgid "Dreamwidth Crosspost Connector App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:40
+msgid "Relay public posts to Dreamwidth"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:53
+msgid "Dreamwidth username"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:57
+msgid "Dreamwidth password"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61
+msgid "Post to Dreamwidth by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98
+msgid "Link description (default:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:77
+msgid "Dreamwidth Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/dwpost/dwpost.php:49
+msgid "Post to Dreamwidth"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:21
+msgid "nofed Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33
+msgid "No Federation App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:34
+msgid ""
+"Prevent posting from being federated to anybody. It will exist only on your "
+"channel page."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42
+msgid "Federate posts by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:50
+msgid "No Federation"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nofed/nofed.php:47
+msgid "Federate"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:15
+msgid "WYSIWYG status editor"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26
+msgid "WYSIWYG Status App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:34
+msgid "WYSIWYG Status"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:27
+msgid "No server specified"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:73
+msgid "Posts imported"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:113
+msgid "Files imported"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:122
+msgid ""
+"This addon app copies existing content and file storage to a cloned/copied "
+"channel. Once the app is installed, visit the newly installed app. This will "
+"allow you to set the location of your original channel and an optional date "
+"range of files/conversations to copy."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:136
+msgid ""
+"This will import all your conversations and cloud files from a cloned "
+"channel on another server. This may take a while if you have lots of posts "
+"and or files."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+msgid "Include posts"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137
+msgid "Conversations, Articles, Cards, and other posted content"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+msgid "Include files"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138
+msgid "Files, Photos and other cloud storage"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:139
+msgid "Original Server base URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:48
+msgid "Your channel has been upgraded to $Projectname version"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:50
+msgid "Please have a look at the"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:52
+msgid "git history"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:54
+msgid "change log"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:55
+msgid "for further info."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:60
+msgid "Upgrade Info"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:64
+msgid "Do not show this again"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:22
+msgid "pageheader Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34
+msgid "Page Header App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:35
+msgid "Inserts a page header"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:43
+msgid "Message to display on every page on this server"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:51
+msgid "Page Header"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:21
+msgid "Who viewed my channel/profile"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:25
+msgid "Recent Channel/Profile Viewers"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:36
+msgid "No entries."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:39
+msgid "Messages"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:52
+msgid "message"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:92
+msgid "Message recalled."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:105
+msgid "Conversation removed."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:120
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:241
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:148
+msgid "Requested channel is not in this network"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:156
+msgid "Send Private Message"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:157
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:300
+msgid "To:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:160
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:302
+msgid "Subject:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:165
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:308
+msgid "Attach file"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:167
+msgid "Send"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:271
+msgid "Delete message"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:272
+msgid "Delivery report"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:273
+msgid "Recall message"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:275
+msgid "Message has been recalled."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:293
+msgid "Delete Conversation"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:295
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:299
+msgid "Send Reply"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:304
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:384
+msgid "Unable to lookup recipient."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:391
+msgid "Unable to communicate with requested channel."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:398
+msgid "Cannot verify requested channel."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:416
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:50
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:128
+msgid "System defaults:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54
+msgid "Preferred Clipart IDs"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54
+msgid "List of preferred clipart ids. These will be shown first."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55
+msgid "Default Search Term"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55
+msgid "The default search term. These will be shown second."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56
+msgid "Return After"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56
+msgid "Page to load after image selection."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:59
+msgid "Profile List"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61
+msgid "Order of Preferred"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61
+msgid "Sort order of preferred clipart ids."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:62
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:68
+msgid "Newest first"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:65
+msgid "As entered"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67
+msgid "Order of other"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67
+msgid "Sort order of other clipart ids."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:69
+msgid "Most downloaded first"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:70
+msgid "Most liked first"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72
+msgid "Preferred IDs Message"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72
+msgid "Message to display above preferred results."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78
+msgid "Uploaded by: "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78
+msgid "Drawn by: "
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:182
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:194
+msgid "Use this image"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:192
+msgid "Or select from a free OpenClipart.org image:"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:195
+msgid "Search Term"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:232
+msgid "Unknown error. Please try again later."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:308
+msgid "Profile photo updated successfully."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gallery/gallery.php:43
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:136
+msgid "Gallery"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gallery/gallery.php:46
+msgid "Photo Gallery"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58
+msgid "Gallery App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:59
+msgid "A simple gallery for your photo albums"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35
+msgid "Smileybutton App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:36
+msgid "Adds a smileybutton to the jot editor"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44
+msgid "Hide the button and show the smilies directly."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:52
+msgid "Smileybutton Settings"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/rtof.php:51
+msgid "Post to Friendica"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:24
+msgid "Friendica Crosspost Connector Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36
+msgid "Friendica Crosspost Connector App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:37
+msgid "Relay public postings to a connected Friendica account"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49
+msgid "Send public postings to Friendica by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53
+msgid "Friendica API Path"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57
+msgid "Friendica login name"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:61
+msgid "Friendica password"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:69
+msgid "Friendica Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/logrot/logrot.php:36
+msgid "Logfile archive directory"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/logrot/logrot.php:36
+msgid "Directory to store rotated logs"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/logrot/logrot.php:37
+msgid "Logfile size in bytes before rotating"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/logrot/logrot.php:38
+msgid "Number of logfiles to retain"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/wppost.php:46
+msgid "Post to WordPress"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:30
+msgid "Wordpress Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43
+msgid "Wordpress Post App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:44
+msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:69
+msgid "WordPress username"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:73
+msgid "WordPress password"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:77
+msgid "WordPress API URL"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:78
+msgid "Typically https://your-blog.tld/xmlrpc.php"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:81
+msgid "WordPress blogid"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:82
+msgid "For multi-user sites such as wordpress.com, otherwise leave blank"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86
+msgid "Post to WordPress by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90
+msgid "Forward comments (requires hubzilla_wp plugin)"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:106
+msgid "Wordpress Post"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:22
+msgid ""
+"Allow magic authentication only to websites of your immediate connections"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33
+msgid "Authchoose App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:39
+msgid "Authchoose"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19
+msgid "bitchslap"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19
+msgid "bitchslapped"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20
+msgid "shag"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20
+msgid "shagged"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21
+msgid "patent"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21
+msgid "patented"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22
+msgid "hug"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22
+msgid "hugged"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23
+msgid "murder"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23
+msgid "murdered"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24
+msgid "worship"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24
+msgid "worshipped"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25
+msgid "kiss"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25
+msgid "kissed"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26
+msgid "tempt"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26
+msgid "tempted"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27
+msgid "raise eyebrows at"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27
+msgid "raised their eyebrows at"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28
+msgid "insult"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28
+msgid "insulted"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29
+msgid "praise"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29
+msgid "praised"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30
+msgid "be dubious of"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30
+msgid "was dubious of"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31
+msgid "eat"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31
+msgid "ate"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32
+msgid "giggle and fawn at"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32
+msgid "giggled and fawned at"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33
+msgid "doubt"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33
+msgid "doubted"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34
+msgid "glare"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34
+msgid "glared at"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35
+msgid "fuck"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35
+msgid "fucked"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36
+msgid "bonk"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36
+msgid "bonked"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37
+msgid "declare undying love for"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37
+msgid "declared undying love for"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:34
+msgid "New registration"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:42
+#, php-format
+msgid "Message sent to %s. New account registration: %s"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:40
+msgid "Pump.io Settings saved."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53
+msgid "Pump.io Crosspost Connector App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:54
+msgid "Relay public posts to pump.io"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73
+msgid "Pump.io servername"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73
+msgid "Without \"http://\" or \"https://\""
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77
+msgid "Pump.io username"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77
+msgid "Without the servername"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:88
+msgid "You are not authenticated to pumpio"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:90
+msgid "(Re-)Authenticate your pump.io connection"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
+msgid "Post to pump.io by default"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
+msgid "Should posts be public"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102
+msgid "Mirror all public posts"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:112
+msgid "Pump.io Crosspost Connector"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:152
+msgid "You are now authenticated to pumpio."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:153
+msgid "return to the featured settings page"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/pumpio/pumpio.php:168
+msgid "Post to Pump.io"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24
+msgid "NSA Bait App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:26
+msgid "Make yourself a political target"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:15
+msgid "Add some colour to tag clouds"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26
+msgid "Rainbow Tag App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:34
+msgid "Rainbow Tag"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:19
+msgid "Send test email"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:66
+msgid "Mail sent."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:68
+msgid "Sending of mail failed."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mailtest/mailtest.php:77
+msgid "Mail Test"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:119
+msgid "Redmatrix File Storage Import"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/redfiles/redfiles.php:120
+msgid "This will import all your Redmatrix cloud files to this channel."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/mdpost/mdpost.php:42
+msgid "Use markdown for editing posts"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:22
+msgid "Fuzzloc Settings updated."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34
+msgid "Fuzzy Location App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:35
+msgid ""
+"Blur your precise location if your channel uses browser location mapping"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:40
+msgid "Minimum offset in meters"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:44
+msgid "Maximum offset in meters"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:53
+msgid "Fuzzy Location"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50
+msgid "Startpage App"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:51
+msgid "Set a preferred page to load on login from home page"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62
+msgid "Page to load after login"
+msgstr ""
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62
+msgid ""
+"Examples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (privacy "
+"collection), &quot;channel&quot; or &quot;notifications/system&quot; (leave "
+"blank for default network page (grid)."
+msgstr ""
+
+#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:70
+msgid "Startpage"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:16
+#: ../../view/theme/redbasic/php/config.php:19
+msgid "Focus (Hubzilla default)"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:98
+msgid "Theme settings"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Narrow navbar"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:100
+msgid "Navigation bar background color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:101
+msgid "Navigation bar icon color "
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Navigation bar active icon color "
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Link color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Set font-color for banner"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Set the background color"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Set the background image"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Set the background color of items"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Set the background color of comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Set font-size for the entire application"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Examples: 1rem, 100%, 16px"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Set font-color for posts and comments"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Set radius of corners"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Example: 4px"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Set shadow depth of photos"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Set maximum width of content region in pixel"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Leave empty for default width"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "Set size of conversation author photo"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:115
+msgid "Set size of followup author photos"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:116
+msgid "Show advanced settings"
+msgstr ""
+
+#: ../../boot.php:1684
+msgid "Create an account to access services and applications"
+msgstr ""
+
+#: ../../boot.php:1708
+msgid "Login/Email"
+msgstr ""
+
+#: ../../boot.php:1709
+msgid "Password"
+msgstr ""
+
+#: ../../boot.php:1710
+msgid "Remember me"
+msgstr ""
+
+#: ../../boot.php:1713
+msgid "Forgot your password?"
+msgstr ""
+
+#: ../../boot.php:2582
+#, php-format
+msgid "[$Projectname] Website SSL error for %s"
+msgstr ""
+
+#: ../../boot.php:2587
+msgid "Website SSL certificate is not valid. Please correct."
+msgstr ""
+
+#: ../../boot.php:2703
+#, php-format
+msgid "[$Projectname] Cron tasks not running on %s"
+msgstr ""
+
+#: ../../boot.php:2708
+msgid "Cron/Scheduled tasks not running."
+msgstr ""
diff --git a/view/pl/hstrings.php b/view/pl/hstrings.php
new file mode 100644
index 000000000..7a58ab97f
--- /dev/null
+++ b/view/pl/hstrings.php
@@ -0,0 +1,3573 @@
+<?php
+
+if(! function_exists("string_plural_select_pl")) {
+function string_plural_select_pl($n){
+ return ($n==1 ? 0 : ($n%10>=2 && $n%10<=4 && ($n%100<12 || $n%100>14) ? 1 : 2));
+}}
+App::$rtl = 0;
+App::$strings["plural_function_code"] = "(n==1 ? 0 : (n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2))";
+App::$strings["Can view my channel stream and posts"] = "Może wyświetlać strumień i posty z mojego kanału";
+App::$strings["Can send me their channel stream and posts"] = "Może przesyłać mi strumień swojego kanału i posty";
+App::$strings["Can view my default channel profile"] = "Może wyświetlać mój domyślny profil kanału";
+App::$strings["Can view my connections"] = "Może wyświetlać moje połączenia";
+App::$strings["Can view my file storage and photos"] = "Może wyświetlać moje przechowywane pliki i zdjęcia";
+App::$strings["Can upload/modify my file storage and photos"] = "Może przesyłać/modyfikować moje przechowywane pliki i zdjęcia";
+App::$strings["Can view my channel webpages"] = "Może wyświetlać strony internetowe mojego kanału";
+App::$strings["Can view my wiki pages"] = "Może przeglądać moje strony wiki";
+App::$strings["Can create/edit my channel webpages"] = "Może tworzyć/edytować strony internetowe mojego kanału";
+App::$strings["Can write to my wiki pages"] = "Może pisać na moich stronach wiki";
+App::$strings["Can post on my channel (wall) page"] = "Może publikować na stronie mojego kanału (tablicy)";
+App::$strings["Can comment on or like my posts"] = "Może komentować lub polubić moje posty";
+App::$strings["Can send me private mail messages"] = "Może wysyłać mi prywatne wiadomości e-mail";
+App::$strings["Can like/dislike profiles and profile things"] = "Może polubiać/dezaprobować profile i rzeczy w profilach";
+App::$strings["Can forward to all my channel connections via ! mentions in posts"] = "Może przekazywać informacje do wszystkich moich połączeń kanałowych za pośrednictwem !wzmianki w postach";
+App::$strings["Can chat with me"] = "Może ze mną rozmawiać";
+App::$strings["Can source my public posts in derived channels"] = "Może pozyskiwać moje publiczne posty w kanałach pochodnych";
+App::$strings["Can administer my channel"] = "Może zarządzać moim kanałem";
+App::$strings["Social Networking"] = "Sieć społecznościowa";
+App::$strings["Social - Federation"] = "Społecznościowy - federacyjny";
+App::$strings["Social - Mostly Public"] = "Społecznościowy - głównie publiczny";
+App::$strings["Social - Restricted"] = "Społecznościowy - ograniczony";
+App::$strings["Social - Private"] = "Społecznościowy - prywatny";
+App::$strings["Community Forum"] = "Forum społecznościowe";
+App::$strings["Forum - Mostly Public"] = "Forum - głównie publiczne";
+App::$strings["Forum - Restricted"] = "Forum - ograniczone";
+App::$strings["Forum - Private"] = "Forum - prywatne";
+App::$strings["Feed Republish"] = "Opublikuj ponownie kanał RSS";
+App::$strings["Feed - Mostly Public"] = "Kanał RSS - głównie publiczny";
+App::$strings["Feed - Restricted"] = "Kanał RSS - ograniczony";
+App::$strings["Special Purpose"] = "Specjalnego celu";
+App::$strings["Special - Celebrity/Soapbox"] = "Specjalne - celebryckie i mównice";
+App::$strings["Special - Group Repository"] = "Specjalne - repozytorium grupowe";
+App::$strings["Other"] = "Inny";
+App::$strings["Custom/Expert Mode"] = "Tryb niestandardowy/ekspercki";
+App::$strings["Permission denied."] = "Dostęp zabroniony.";
+App::$strings["Layout updated."] = "Zaktualizowano układ.";
+App::$strings["PDL Editor App"] = "Aplikacja PDL Editor";
+App::$strings["Not Installed"] = "Nie zainstalowano";
+App::$strings["Provides the ability to edit system page layouts"] = "Zapewnia możliwość edycji układów stron systemowych";
+App::$strings["Edit System Page Description"] = "Edytuj opis strony systemowej";
+App::$strings["(modified)"] = "(zmodyfikowany)";
+App::$strings["Reset"] = "Resetuj";
+App::$strings["Layout not found."] = "Nie znaleziono układu.";
+App::$strings["Module Name:"] = "Nazwa modułu:";
+App::$strings["Layout Help"] = "Pomoc dotycząca układu";
+App::$strings["Edit another layout"] = "Edytuj inny układ";
+App::$strings["System layout"] = "Układ systemowy";
+App::$strings["Submit"] = "Zatwierdź";
+App::$strings["Update to Hubzilla 5.0 step 2"] = "Zaktualizuj do Hubzilli 5.0 krok 2";
+App::$strings["To complete the update please run"] = "Uruchom, aby zakończyć aktualizację";
+App::$strings["php util/z6convert.php"] = "php util/z6convert.php";
+App::$strings["from the terminal."] = "z terminala.";
+App::$strings["Permission denied"] = "Dostęp zabroniony";
+App::$strings["Invalid message"] = "Nieprawidłowa wiadomość";
+App::$strings["no results"] = "brak wyników";
+App::$strings["channel sync processed"] = "synchronizacja kanałów została przetworzona";
+App::$strings["queued"] = "w kolejce";
+App::$strings["posted"] = "opublikowane";
+App::$strings["accepted for delivery"] = "przyjęty do dostawy";
+App::$strings["updated"] = "zaktualizowany";
+App::$strings["update ignored"] = "aktualizacja zignorowana";
+App::$strings["permission denied"] = "dostęp zabroniony";
+App::$strings["recipient not found"] = "nie znaleziono odbiorcy";
+App::$strings["mail recalled"] = "mail odwołany";
+App::$strings["duplicate mail received"] = "otrzymano powieloną wiadomość";
+App::$strings["mail delivered"] = "dostarczono pocztÄ™";
+App::$strings["Delivery report for %1\$s"] = "Raport dostarczenia dla %1\$s";
+App::$strings["Options"] = "Opcje";
+App::$strings["Redeliver"] = "Dostarcz ponownie";
+App::$strings["Invalid profile identifier."] = "Nieprawidłowy identyfikator profilu.";
+App::$strings["Profile Visibility Editor"] = "Edytor widoczności profilu";
+App::$strings["Profile"] = "Profil";
+App::$strings["Click on a contact to add or remove."] = "Kliknij kontakt, który chcesz dodać lub usunąć.";
+App::$strings["Visible To"] = "Widoczne dla";
+App::$strings["All Connections"] = "Wszystkie połączenia";
+App::$strings["Not found"] = "Nie znaleziono";
+App::$strings["Please refresh page"] = "Odśwież stronę";
+App::$strings["Unknown error"] = "Nieznany błąd";
+App::$strings["Unknown App"] = "Aplikacja nieznana";
+App::$strings["Authorize"] = "Autoryzuj";
+App::$strings["Do you authorize the app %s to access your channel data?"] = "Czy zezwalasz aplikacji %s na dostęp do danych Twojego kanału?";
+App::$strings["Allow"] = "Zezwól";
+App::$strings["Deny"] = "Zabroń";
+App::$strings["Calendar entries imported."] = "Zaimportowano wpisy kalendarza.";
+App::$strings["No calendar entries found."] = "Nie znaleziono wpisów kalendarza.";
+App::$strings["CardDAV App"] = "Aplikacja CardDAV";
+App::$strings["CalDAV capable addressbook"] = "Książka adresowa z obsługą CalDAV";
+App::$strings["Link to source"] = "Link do źródła";
+App::$strings["Event title"] = "Tytuł wydarzenia";
+App::$strings["Start date and time"] = "Data i godzina rozpoczęcia";
+App::$strings["End date and time"] = "Data i godzina zakończenia";
+App::$strings["Timezone:"] = "Strefa czasowa:";
+App::$strings["Description"] = "Opis";
+App::$strings["Location"] = "Lokalizacja";
+App::$strings["Previous"] = "Poprzedni";
+App::$strings["Next"] = "Nastęþny";
+App::$strings["Today"] = "Dzisiaj";
+App::$strings["Month"] = "MiesiÄ…c";
+App::$strings["Week"] = "Tydzień";
+App::$strings["Day"] = "Dzień";
+App::$strings["List month"] = "Wymień miesiąc";
+App::$strings["List week"] = "Wymień tydzień";
+App::$strings["List day"] = "Wymień dzień";
+App::$strings["More"] = "Więcej";
+App::$strings["Less"] = "Mniej";
+App::$strings["Update"] = "Zaktualizuj";
+App::$strings["Select calendar"] = "Wybierz kalendarz";
+App::$strings["Channel Calendars"] = "Kalendarze kanału";
+App::$strings["CalDAV Calendars"] = "Kalendarze CalDAV";
+App::$strings["Delete"] = "Usuń";
+App::$strings["Delete all"] = "Usuń wszystko";
+App::$strings["Cancel"] = "Anuluj";
+App::$strings["Create"] = "Utwórz";
+App::$strings["Sorry! Editing of recurrent events is not yet implemented."] = "Przepraszamy! Edycja powtarzających się wydarzeń nie została jeszcze zaimplementowana.";
+App::$strings["Categories"] = "Kategorie";
+App::$strings["Name"] = "Nazwa";
+App::$strings["Organisation"] = "Organizacja";
+App::$strings["Title"] = "Tytuł";
+App::$strings["Phone"] = "Numer telefonu";
+App::$strings["Email"] = "Adres e-mail";
+App::$strings["Instant messenger"] = "Komunikator internetowy";
+App::$strings["Website"] = "Strona internetowa";
+App::$strings["Address"] = "Adres";
+App::$strings["Note"] = "Uwagi";
+App::$strings["Mobile"] = "Komórka";
+App::$strings["Home"] = "Domowy";
+App::$strings["Work"] = "Praca";
+App::$strings["Add Contact"] = "Dodaj kontakt";
+App::$strings["Add Field"] = "Dodaj pole";
+App::$strings["P.O. Box"] = "Skrytka pocztowa";
+App::$strings["Additional"] = "Dodatkowe informacje";
+App::$strings["Street"] = "Ulica";
+App::$strings["Locality"] = "Miejscowość";
+App::$strings["Region"] = "Region";
+App::$strings["ZIP Code"] = "Kod pocztowy";
+App::$strings["Country"] = "Państwo";
+App::$strings["Default Calendar"] = "Domyślny kalendarz";
+App::$strings["Default Addressbook"] = "Domyślna książka adresowa";
+App::$strings["Authorize application connection"] = "Autoryzuj połączenie aplikacji";
+App::$strings["Return to your app and insert this Security Code:"] = "Wróć do aplikacji i wprowadź ten kod bezpieczeństwa:";
+App::$strings["Please login to continue."] = "Proszę się zalogować, aby kontynuować.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Czy chcesz zezwolić tej aplikacji na dostęp do Twoich postów i kontaktów albo tworzenie dla Ciebie nowych postów ?";
+App::$strings["Yes"] = "Tak";
+App::$strings["No"] = "Nie";
+App::$strings["This site is not a directory server"] = "Ta witryna nie jest serwerem katalogów";
+App::$strings["This directory server requires an access token"] = "Ten serwer katalogowy wymaga tokenu dostępu";
+App::$strings["Enter a folder name"] = "Wprowadź nazwę folderu";
+App::$strings["or select an existing folder (doubleclick)"] = "lub wybierz istniejÄ…cy folder (kliknij dwukrotnie)";
+App::$strings["Save"] = "Zapisz";
+App::$strings["Save to Folder"] = "Zapisz do folderu";
+App::$strings["Event can not end before it has started."] = "Wydarzenie nie może zakończyć się przed rozpoczęciem.";
+App::$strings["Unable to generate preview."] = "Nie można wygenerować podglądu.";
+App::$strings["Event title and start time are required."] = "Wymaga się wprowadzenie tytułu wydarzenia i godziny rozpoczęcia.";
+App::$strings["Event not found."] = "Nie znaleziono wydarzenia.";
+App::$strings["event"] = "wydarzenie";
+App::$strings["Edit event title"] = "Edytuj tytuł wydarzenia";
+App::$strings["Required"] = "Wymagane";
+App::$strings["Categories (comma-separated list)"] = "Kategorie (lista rozdzielana przecinkami)";
+App::$strings["Edit Category"] = "Edytuj kategoriÄ™";
+App::$strings["Category"] = "Kategoria";
+App::$strings["Edit start date and time"] = "Edytuj datę i godzinę rozpoczęcia";
+App::$strings["Finish date and time are not known or not relevant"] = "Data i godzina zakończenia nie są znane lub nie mają znaczenia";
+App::$strings["Edit finish date and time"] = "Edytuj datę i godzinę zakończenia";
+App::$strings["Finish date and time"] = "Data i godzina zakończenia";
+App::$strings["Adjust for viewer timezone"] = "Dostosuj do strefy czasowej widza";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Ważne dla wydarzeń, które mają miejsce w określonym miejscu. Niepraktyczne na globalne święta.";
+App::$strings["Edit Description"] = "Edytuj opis";
+App::$strings["Edit Location"] = "Edytuj lokalizacjÄ™";
+App::$strings["Preview"] = "PodglÄ…d";
+App::$strings["Permission settings"] = "Ustawienia dostępu";
+App::$strings["Advanced Options"] = "Zaawansowane opcje";
+App::$strings["l, F j"] = "l, F j";
+App::$strings["Edit event"] = "Edytuj wydarzenie";
+App::$strings["Delete event"] = "Usuń wydarzenie";
+App::$strings["Link to Source"] = "Link do źródła";
+App::$strings["calendar"] = "kalendarz";
+App::$strings["Edit Event"] = "Edytuj wydarzenie";
+App::$strings["Create Event"] = "Utwórz wydarzenie";
+App::$strings["Export"] = "Eksport";
+App::$strings["View"] = "Widok";
+App::$strings["Event removed"] = "Wydarzenie usunięte";
+App::$strings["Failed to remove event"] = "Nie udało się usunąć wydarzenia";
+App::$strings["Documentation Search"] = "Przeszukaj dokumentacjÄ™";
+App::$strings["About"] = "O platformie Hubzilla";
+App::$strings["Members"] = "Dla członków";
+App::$strings["Administrators"] = "Dla administratorów";
+App::$strings["Developers"] = "Dla deweloperów";
+App::$strings["Tutorials"] = "Poradniki";
+App::$strings["\$Projectname Documentation"] = "Dokumentacja \$Projectname";
+App::$strings["Contents"] = "Spis treści";
+App::$strings["Bookmark added"] = "Dodano zakładkę";
+App::$strings["Bookmarks App"] = "Aplikacja Bookmarks";
+App::$strings["Bookmark links from posts and manage them"] = "Dodaj do zakładek linki z postów i zarządzaj nimi";
+App::$strings["My Bookmarks"] = "Moje zakładki";
+App::$strings["My Connections Bookmarks"] = "Moje zakładki połączeń";
+App::$strings["Requested profile is not available."] = "Żądany profil nie jest dostępny.";
+App::$strings["Webpages App"] = "Aplikacja Webpages";
+App::$strings["Provide managed web pages on your channel"] = "Udostępnij zarządzane strony internetowe na swoim kanale";
+App::$strings["Import Webpage Elements"] = "Importuj elementy strony internetowej";
+App::$strings["Import selected"] = "Importuj wybrane";
+App::$strings["Export Webpage Elements"] = "Eksportuj elementy strony internetowej";
+App::$strings["Export selected"] = "Eksportuj wybrane";
+App::$strings["Webpages"] = "Witryny internetowe";
+App::$strings["Edit"] = "Edytuj";
+App::$strings["Share"] = "Udostępnij";
+App::$strings["Actions"] = "Akcje";
+App::$strings["Page Link"] = "Link do strony";
+App::$strings["Page Title"] = "Tytuł strony";
+App::$strings["Created"] = "Utworzono";
+App::$strings["Edited"] = "Edytowano";
+App::$strings["Invalid file type."] = "Zły typ pliku.";
+App::$strings["Error opening zip file"] = "Błąd podczas otwierania pliku zip";
+App::$strings["Invalid folder path."] = "Nieprawidłowa ścieżka folderu.";
+App::$strings["No webpage elements detected."] = "Nie wykryto żadnych elementów strony internetowej.";
+App::$strings["Import complete."] = "Import zakończony.";
+App::$strings["Profile not found."] = "Nie znaleziono profilu.";
+App::$strings["Profile deleted."] = "Profil usunięty.";
+App::$strings["Profile-"] = "Profil-";
+App::$strings["New profile created."] = "Utworzono nowy profil.";
+App::$strings["Profile unavailable to clone."] = "Profil niedostępny do sklonowania.";
+App::$strings["Profile unavailable to export."] = "Profil niedostępny do wyeksportowania.";
+App::$strings["Profile Name is required."] = "Wymaga siÄ™ podania nazwy profilu.";
+App::$strings["Marital Status"] = "Stan cywilny";
+App::$strings["Romantic Partner"] = "Partner romantyczny";
+App::$strings["Likes"] = "Polubienia";
+App::$strings["Dislikes"] = "Dezaprobaty";
+App::$strings["Work/Employment"] = "Praca/Zatrudnienie";
+App::$strings["Religion"] = "Religia";
+App::$strings["Political Views"] = "PoglÄ…dy polityczny";
+App::$strings["Gender"] = "Płeć";
+App::$strings["Sexual Preference"] = "Prefernecje seksualne";
+App::$strings["Homepage"] = "Strona domowa";
+App::$strings["Interests"] = "Zainteresowania";
+App::$strings["Profile updated."] = "Profil został zaktualizowany.";
+App::$strings["Hide your connections list from viewers of this profile"] = "Ukryj swoją listę kontaktów przed przeglądającymi ten profil";
+App::$strings["Edit Profile Details"] = "Edytuj szczegóły profilu";
+App::$strings["View this profile"] = "Zobacz ten profil";
+App::$strings["Edit visibility"] = "Edytuj dostępność";
+App::$strings["Profile Tools"] = "Narzędzia profili";
+App::$strings["Change cover photo"] = "Zmień zdjęcie okładkowe";
+App::$strings["Change profile photo"] = "Zmień zdjęcie profilowe";
+App::$strings["Create a new profile using these settings"] = "Utwórz nowy profil, korzystając z tych ustawień";
+App::$strings["Clone this profile"] = "Sklonuj ten profil";
+App::$strings["Delete this profile"] = "Usuń ten profil";
+App::$strings["Add profile things"] = "Dodaj elementy profilu";
+App::$strings["Personal"] = "Osobisty";
+App::$strings["Relationship"] = "Relacja";
+App::$strings["Miscellaneous"] = "Różne";
+App::$strings["Import profile from file"] = "Importuj profil z pliku";
+App::$strings["Export profile to file"] = "Eksportuj profil do pliku";
+App::$strings["Your gender"] = "Twoja płeć";
+App::$strings["Marital status"] = "Stan cywilny";
+App::$strings["Sexual preference"] = "Preferencje seksualne";
+App::$strings["Profile name"] = "Nazwa profilu";
+App::$strings["This is your default profile."] = "To jest Twój profil domyślny.";
+App::$strings["Your full name"] = "Twoje imię i nazwisko lub pełna nazwa";
+App::$strings["Short title/tescription"] = "Krótki tytuł/opis";
+App::$strings["Maximal 190 characters"] = "Maksymalnie 190 znaków";
+App::$strings["Street address"] = "Ulica";
+App::$strings["Locality/City"] = "Miejscowość";
+App::$strings["Region/State"] = "Region/Stan";
+App::$strings["Postal/Zip code"] = "Kod pocztowy";
+App::$strings["Who (if applicable)"] = "Kto (jeśli dotyczy)";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Przykłady: jan123, Jan Kowalski, jan@example.com";
+App::$strings["Since (date)"] = "Od (data)";
+App::$strings["Tell us about yourself"] = "Opowiedz nam o sobie";
+App::$strings["Homepage URL"] = "Adres URL strony domowej";
+App::$strings["Hometown"] = "Miejscowość zamieszkania";
+App::$strings["Political views"] = "PoglÄ…dy polityczne";
+App::$strings["Religious views"] = "PoglÄ…dy religijne";
+App::$strings["Keywords used in directory listings"] = "Słowa kluczowe używane w wykazach katalogów";
+App::$strings["Example: fishing photography software"] = "Przykład: oprogramowanie do fotografii wędkarskiej";
+App::$strings["Musical interests"] = "Zainteresowania muzyczne";
+App::$strings["Books, literature"] = "KsiÄ…zki, literatura";
+App::$strings["Television"] = "Telewizja";
+App::$strings["Film/Dance/Culture/Entertainment"] = "Film/Dance/Culture/Entertainment";
+App::$strings["Hobbies/Interests"] = "Zainteresowania";
+App::$strings["Love/Romance"] = "Miłość/romans";
+App::$strings["School/Education"] = "Edukacja szkolna";
+App::$strings["Contact information and social networks"] = "Informacje kontaktowe i sieci społecznościowe";
+App::$strings["My other channels"] = "Moje inne kanały";
+App::$strings["Communications"] = "Komunikacja";
+App::$strings["Profile Image"] = "Obraz profilowy";
+App::$strings["Edit Profiles"] = "Edytuj profile";
+App::$strings["Create New"] = "Utwórz nowy";
+App::$strings["Nothing to import."] = "Nie ma nic do zaimportowania.";
+App::$strings["Unable to download data from old server"] = "Nie można pobrać danych ze starego serwera";
+App::$strings["Imported file is empty."] = "Zaimportowany plik jest pusty.";
+App::$strings["Your service plan only allows %d channels."] = "Twój plan usług obejmuje tylko %d kanał(y)/kanałów.";
+App::$strings["No channel. Import failed."] = "Brak kanału. Import nieudany.";
+App::$strings["Import completed."] = "Import zakończony.";
+App::$strings["You must be logged in to use this feature."] = "Trzeba się zalogować, aby korzystać z tej funkcji.";
+App::$strings["Import Channel"] = "Importuj kanał";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Użyj tego formularza, aby zaimportować istniejący kanał z innego serwera/huba. Możesz pobrać tożsamość kanału ze starego serwera/huba przez sieć lub dostarczyć plik eksportu.";
+App::$strings["File to Upload"] = "Plik do przesłania";
+App::$strings["Or provide the old server/hub details"] = "Lub podaj szczegóły starego serwera/huba";
+App::$strings["Your old identity address (xyz@example.com)"] = "Twój stary adres tożsamości (xyz@example.com)";
+App::$strings["Your old login email address"] = "Twój stary adres e-mail logowania";
+App::$strings["Your old login password"] = "Twoje stare hasło logowania";
+App::$strings["Import a few months of posts if possible (limited by available memory"] = "Zaimportuj posty z kilku miesięcy, jeśli to możliwe (ograniczone dostępną pamięcią";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "W obu przypadkach wybierz, czy chcesz ustawić ten hub jako nowy adres podstawowy, czy też rolę tą powinna pełnić Twoja stara lokalizacja. Będziesz mógł/mogła publikować z dowolnej lokalizacji, ale tylko jedna z nich może być oznaczona jako główna lokalizacja plików, zdjęć i multimediów.";
+App::$strings["Make this hub my primary location"] = "Ustaw ten hub ako moją główną lokalizację";
+App::$strings["Move this channel (disable all previous locations)"] = "Przenieś ten kanał (wyłącz wszystkie poprzednie lokalizacje)";
+App::$strings["Use this channel nickname instead of the one provided"] = "Użyj tego pseudonimu kanału zamiast podanego";
+App::$strings["Leave blank to keep your existing channel nickname. You will be randomly assigned a similar nickname if either name is already allocated on this site."] = "Pozostaw puste, aby zachować istniejący pseudonim kanału. Otrzymasz losowo podobny pseudonim, jeśli któryś z nich jest już przydzielony na tej stronie.";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Ten proces może zająć kilka minut. Prześlij formularz tylko raz i pozostaw tę stronę otwartą do zakończenia procedury.";
+App::$strings["Like/Dislike"] = "Polub/Dezaprobuj";
+App::$strings["This action is restricted to members."] = "Ta akcja jest ograniczona do członków.";
+App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Aby kontynuować, <a href=\"rmagic\">zaloguj się za pomocą ID \$Projectname</a> lub <a href=\"register\">zarejestruj się jako nowy członek \$Projectname</a>.";
+App::$strings["Invalid request."] = "Nieprawidłowe żądanie.";
+App::$strings["channel"] = "kanał";
+App::$strings["thing"] = "rzecz";
+App::$strings["Channel unavailable."] = "Kanał niedostępny.";
+App::$strings["Previous action reversed."] = "Poprzednia czynność została cofnięta.";
+App::$strings["photo"] = "zdjecie";
+App::$strings["status"] = "stan";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s polubień %2\$s %3\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s sezaprobat %2\$s %3\$s";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s zgadza siÄ™ z %3\$s dla %2\$s";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s nie zgadza siÄ™ z %3\$s dla %2\$s";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s wstrzymuje siÄ™ od decyzji w sprawie %3\$s dla %2\$s";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s uczesticzy %2\$s %3\$s";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s nie uczestniczy %2\$s %3\$s";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s może uczestniczyć %2\$s %3\$s";
+App::$strings["Action completed."] = "Akcja zakończona.";
+App::$strings["Thank you."] = "Dziękujemy.";
+App::$strings["Could not access contact record."] = "Brak dostępu do rekordu kontaktu.";
+App::$strings["Settings updated."] = "Zaktualizowano ustawienia.";
+App::$strings["Default Permissions App"] = "Aplikacja Default Permissions";
+App::$strings["Set custom default permissions for new connections"] = "Ustaw niestandardowe uprawnienia domyślne dla nowych połączeń";
+App::$strings["Connection Default Permissions"] = "Domyślne uprawnienia połączenia";
+App::$strings["Apply these permissions automatically"] = "Zastosuj te uprawnienia automatycznie";
+App::$strings["If enabled, connection requests will be approved without your interaction"] = "Jeśli jest włączone, prośby o połączenie będą zatwierdzane bez Twojej interakcji";
+App::$strings["Permission role"] = "Rola uprawnień";
+App::$strings["Loading"] = "Åadowanie";
+App::$strings["Add permission role"] = "Dodaj rolę uprawnień";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Uprawnienia wskazane na tej stronie zostaną zastosowane do wszystkich nowych połączeń.";
+App::$strings["Automatic approval settings"] = "Ustawienia automatycznego zatwierdzania";
+App::$strings["inherited"] = "dziedziczone";
+App::$strings["My Settings"] = "Moje ustawienia";
+App::$strings["Individual Permissions"] = "Uprawnienia indywidualne";
+App::$strings["Some individual permissions may have been preset or locked based on your channel type and privacy settings."] = "Niektóre indywidualne uprawnienia mogły zostać wstępnie ustawione lub zablokowane w zależności od typu kanału i ustawień prywatności.";
+App::$strings["Layout Name"] = "Nazwa układu";
+App::$strings["Layout Description (Optional)"] = "Opis układu (opcjonalnie)";
+App::$strings["Layouts"] = "Układy";
+App::$strings["Help"] = "Pomoc";
+App::$strings["Comanche page description language help"] = "Pomoc w zakresie języka opisu strony Comanche";
+App::$strings["Layout Description"] = "Opis układu";
+App::$strings["Download PDL file"] = "Pobierz plik PDL";
+App::$strings["Public Stream App"] = "Aplikacja Public Stream";
+App::$strings["The unmoderated public stream of this hub"] = "Niemoderowany strumień publiczny tego huba";
+App::$strings["Reset form"] = "Resetuj formularz";
+App::$strings["Public Stream"] = "Strumień publiczny";
+App::$strings["Private forum"] = "Prywatne forum";
+App::$strings["Public forum"] = "Publiczne forum";
+App::$strings["Privacy group created."] = "Utworzono grupę prywatności.";
+App::$strings["Could not create privacy group."] = "Nie udało się utworzyć grupy prywatności.";
+App::$strings["Privacy group not found."] = "Nie znaleziono grupy prywatności.";
+App::$strings["Privacy group updated."] = "Grupa prywatności została zaktualizowana.";
+App::$strings["Privacy Groups App"] = "Aplikacja Privacy Groups";
+App::$strings["Management of privacy groups"] = "Zarządzanie grupami prywatności";
+App::$strings["Privacy Groups"] = "Grupy prywatności";
+App::$strings["Add Group"] = "Dodaj grupÄ™";
+App::$strings["Privacy group name"] = "Nazwa grupy prywatności";
+App::$strings["Members are visible to other channels"] = "Członkowie są widoczni dla innych kanałów";
+App::$strings["Privacy group removed."] = "Grupa prywatności została usunięta.";
+App::$strings["Unable to remove privacy group."] = "Nie można usunąć grupy prywatności.";
+App::$strings["Privacy Group: %s"] = "Grupa prywatności: %s";
+App::$strings["Privacy group name: "] = "Nazwa grupy prywatności: ";
+App::$strings["Delete Group"] = "Usuń grupę";
+App::$strings["Group members"] = "Członkowie grupy";
+App::$strings["Not in this group"] = "Nie w tej grupie";
+App::$strings["Click a channel to toggle membership"] = "Kliknij kanał, aby przełączyć członkostwo";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Usunięcie kanału nie jest dozwolone w ciągu 48 godzin od zmiany hasła do konta.";
+App::$strings["Remove This Channel"] = "Usuń ten kanał";
+App::$strings["WARNING: "] = "UWAGA: ";
+App::$strings["This channel will be completely removed from the network. "] = "Ten kanał zostanie całkowicie usunięty z sieci. ";
+App::$strings["This action is permanent and can not be undone!"] = "Ta akcja jest bezpowrotna i nie można jej cofnąć!";
+App::$strings["Please enter your password for verification:"] = "Wprowadź hasło do weryfikacji:";
+App::$strings["Remove Channel"] = "Usuń kanał";
+App::$strings["App installed."] = "Aplikacja została zainstalowana.";
+App::$strings["Malformed app."] = "Nieprawidłowa aplikacja.";
+App::$strings["Embed code"] = "Osadzony kod";
+App::$strings["Edit App"] = "Edutuj aplikacjÄ™";
+App::$strings["Create App"] = "Utwórz aplikację";
+App::$strings["Name of app"] = "Nazwa aplikacji";
+App::$strings["Location (URL) of app"] = "Lokalizacja (URL) aplikacji";
+App::$strings["Photo icon URL"] = "Adres URL ikony zdjęcia";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pikseli - opcjonalnie";
+App::$strings["Categories (optional, comma separated list)"] = "Kategorie (opcjonalne, lista rozdzielana przecinkami)";
+App::$strings["Version ID"] = "ID wesji";
+App::$strings["Price of app"] = "Cena aplikacji";
+App::$strings["Location (URL) to purchase app"] = "Lokalizacja (URL) do zakupu aplikacji";
+App::$strings["Channel name changes are not allowed within 48 hours of changing the account password."] = "Zmiana nazwy kanału jest niedozwolona w ciągu 48 godzin od zmiany hasła do konta.";
+App::$strings["Reserved nickname. Please choose another."] = "Zarezerwowany pseudonim. Proszę wybrać inny.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Pseudonim zawiera nieobsługiwane znaki lub jest już używany w tym serwisie.";
+App::$strings["Change channel nickname/address"] = "Zmień krótką nazwę/adres kanału";
+App::$strings["Any/all connections on other networks will be lost!"] = "Wszystkie połączenia w innych sieciach zostaną utracone!";
+App::$strings["New channel address"] = "Nowy adres kanału";
+App::$strings["Rename Channel"] = "Zmień nazwę kanału";
+App::$strings["Name is required"] = "Wymaga siÄ™ podania nazwy";
+App::$strings["Key and Secret are required"] = "Wymaga siÄ™ wprowadzenia klucza i sekretu";
+App::$strings["OAuth Apps Manager App"] = "Aplikacja OAuth Apps Manager";
+App::$strings["OAuth authentication tokens for mobile and remote apps"] = "Tokeny uwierzytelniania OAuth dla aplikacji mobilnych i zdalnych";
+App::$strings["Add application"] = "Dodaj aplikacjÄ™";
+App::$strings["Name of application"] = "Nazwa aplikacji";
+App::$strings["Consumer Key"] = "Klucz konsumenta";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "Wygenerowane automatycznie - w razie potrzeby zmień. Maksymalna długość 20";
+App::$strings["Consumer Secret"] = "Hasło konsumenta";
+App::$strings["Redirect"] = "Przekierowanie";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "Identyfikator URI przekierowania - pozostaw puste, chyba że aplikacja tego wymaga";
+App::$strings["Icon url"] = "URL ikony";
+App::$strings["Optional"] = "Opcjonalne";
+App::$strings["Application not found."] = "Aplikacji nie znaleziono.";
+App::$strings["Connected OAuth Apps"] = "Połączone aplikacje OAuth";
+App::$strings["Client key starts with"] = "Klucz klienta zaczyna siÄ™ od";
+App::$strings["No name"] = "Brak nazwy";
+App::$strings["Remove authorization"] = "Usuń autoryzację";
+App::$strings["Token verification failed."] = "Weryfikacja tokena nie powiodła się.";
+App::$strings["Email verification resent"] = "Weryfikacja adresu e-mail została wysłana ponownie";
+App::$strings["Unable to resend email verification message."] = "Nie można ponownie wysłać weryfikacyjną wiadomość e-mail.";
+App::$strings["Public access denied."] = "Odmowa dostępu publicznego.";
+App::$strings["Search"] = "Szukaj";
+App::$strings["Items tagged with: %s"] = "Elementy oznaczone tagiem: %s";
+App::$strings["Search results for: %s"] = "Wyniki wyszukiwania dla: %s";
+App::$strings["Comment approved"] = "Komentarz zatwierdzony";
+App::$strings["Comment deleted"] = "Komentarz usuniety";
+App::$strings["Edit post"] = "Edytuj post";
+App::$strings["Unable to find your hub."] = "Nie można znaleźć Twojego huba.";
+App::$strings["Post successful."] = "Opublikowanie powiodło się.";
+App::$strings["Channel not found."] = "Nie znaleziono kanału.";
+App::$strings["toggle full screen mode"] = "przełącz tryb pełnego ekranu";
+App::$strings["Post not found."] = "Nie znaleziono postu.";
+App::$strings["post"] = "post";
+App::$strings["comment"] = "komentarz";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s oznaczono tagiem %3\$s %2\$s w %4\$s";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "Ostrzeżenie: wersje baz danych różnią się o %1\$d aktualizacji.";
+App::$strings["Import completed"] = "Import zakończony";
+App::$strings["Import Items"] = "Importuj elementy";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Użyj tego formularza, aby zaimportować istniejące posty i treść z pliku eksportu.";
+App::$strings["Continue"] = "Kontynuj";
+App::$strings["Premium Channel Setup"] = "Konfiguracja kanału Premium";
+App::$strings["Enable premium channel connection restrictions"] = "Włącz ograniczenia połączeń z kanałem premium";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Podaj swoje ograniczenia lub warunki, takie jak pokwitowanie PayPal, wytyczne dotyczące użytkowania itp.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Ten kanał, przed podłączeniem, może wymagać dodatkowych kroków lub potwierdzenia następujących warunków:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Potencjalne połączenia zobaczą następujący tekst przed kontynuowaniem:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Kontynuując, oświadczam, że postępowałem zgodnie z instrukcjami podanymi na tej stronie.";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Właściciel kanału nie przekazał żadnych szczegółowych instrukcji.)";
+App::$strings["Restricted or Premium Channel"] = "Kanał z ograniczeniami lub premium";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Utworzno %1$ .0f z %2$.0f dozwolonych kanałów.";
+App::$strings["Your real name is recommended."] = "Zalecane jest podania prawdziwego imienia i nazwiska lub nazwy.";
+App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Przykłady: \"Bob Jameson\", \"Lisa i jej konie\", \"Piłka nożna\", \"Grupa lotnicza\"";
+App::$strings["This will be used to create a unique network address (like an email address)."] = "Zostanie to zastosowane do utworzenia unikalnego adresu sieciowego (podobnego do adresu e-mail).";
+App::$strings["Allowed characters are a-z 0-9, - and _"] = "Dozwolone znaki, to a-z 0-9, - oraz _";
+App::$strings["Channel name"] = "Nazwa kanału";
+App::$strings["Choose a short nickname"] = "Wybierz krótki pseudonim";
+App::$strings["Channel role and privacy"] = "Rola kanału i prywatność";
+App::$strings["Select a channel permission role compatible with your usage needs and privacy requirements."] = "Wybierz rolę uprawnień do kanału, zgodną z Twoimi potrzebami użytkowania i wymaganiami dotyczącymi prywatności.";
+App::$strings["Read more about channel permission roles"] = "Przeczytaj więcej o rolach uprawnień do kanału";
+App::$strings["Create a Channel"] = "Utwórz kanał";
+App::$strings["A channel is a unique network identity. It can represent a person (social network profile), a forum (group), a business or celebrity page, a newsfeed, and many other things."] = "Kanał to unikalna tożsamość sieciowa. Może reprezentować osobę (profil sieci społecznościowej), forum (grupę), stronę biznesową lub celebrycką, kanał informacyjny i wiele innych rzeczy.";
+App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "lub <a href=\"import\">zaimportuj istniejący kanał</a> z innej lokalizacji.";
+App::$strings["Validate"] = "Zalegalizuj";
+App::$strings["Available Apps"] = "Dostępne aplikacje";
+App::$strings["Installed Apps"] = "Zainstalowane aplikacje";
+App::$strings["Manage Apps"] = "ZarzÄ…dzaj aplikacjami";
+App::$strings["Create Custom App"] = "Utwórz własną aplikację";
+App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Usunięcie konta nie jest dozwolone w ciągu 48 godzin od zmiany hasła do konta.";
+App::$strings["Remove This Account"] = "Usuń to konto";
+App::$strings["This account and all its channels will be completely removed from the network. "] = "To konto i wszystkie jego kanały zostaną całkowicie usunięte z sieci. ";
+App::$strings["Remove Account"] = "Usuń konto";
+App::$strings["Deprecated!"] = "Przestarzałe!";
+App::$strings["Item not found."] = "Nie znaleziono elementu.";
+App::$strings["File not found."] = "Nie znaleziono pliku.";
+App::$strings["Permission Denied."] = "Odmowa dostępu.";
+App::$strings["Edit file permissions"] = "Edytuj uprawnienia do plików";
+App::$strings["Permissions"] = "Uprawnienia";
+App::$strings["Set/edit permissions"] = "Ustaw/edytuj uprawnienia";
+App::$strings["Include all files and sub folders"] = "Uwzględnij wszystkie pliki i podfoldery";
+App::$strings["Return to file list"] = "Wróć do listy plików";
+App::$strings["Copy/paste this code to attach file to a post"] = "Skopiuj/wklej ten kod, aby dołączyć plik do postu";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Skopiuj/wklej ten adres URL, aby zlinkować plik na stron internetowej";
+App::$strings["Share this file"] = "Udostępnij ten plik";
+App::$strings["Show URL to this file"] = "Pokaż adres URL do tego pliku";
+App::$strings["Show in your contacts shared folder"] = "Pokaż w folderze udostępnionym kontaktów";
+App::$strings["Item not found"] = "Nie znaleziono elementu";
+App::$strings["Insert web link"] = "Wstaw link internetowy";
+App::$strings["Title (optional)"] = "Tytuł (opcjonalnie)";
+App::$strings["Edit Card"] = "Edytuj kartÄ™";
+App::$strings["No connections."] = "Brak połączeń.";
+App::$strings["Accepts"] = "Akceptacje";
+App::$strings["Comments"] = "Komentarze";
+App::$strings["Stream items"] = "Elementy strumienia";
+App::$strings["Wall posts"] = "Ściana postów";
+App::$strings["Nothing"] = "Nic";
+App::$strings["Visit %s's profile [%s]"] = "Odwiedź profil %s [%s]";
+App::$strings["View Connections"] = "Pokaż połączenia";
+App::$strings["Name and Secret are required"] = "Wymagane jest ustawienie imienia i sekretu";
+App::$strings["OAuth2 Apps Manager App"] = "Aplikacja OAuth2 Apps Manager";
+App::$strings["OAuth2 authenticatication tokens for mobile and remote apps"] = "Tokeny uwierzytelniajÄ…ce OAuth2 dla aplikacji mobilnych i zdalnych";
+App::$strings["Add OAuth2 application"] = "Dodaj aplikacjÄ™ OAuth2";
+App::$strings["Grant Types"] = "Rodzaje dofinansowań";
+App::$strings["leave blank unless your application sepcifically requires this"] = "pozostaw puste, chyba że Twoja aplikacja wyraźnie tego wymaga";
+App::$strings["Authorization scope"] = "Zakres uprawnień";
+App::$strings["OAuth2 Application not found."] = "Nie znaleziono aplikacji OAuth2.";
+App::$strings["leave blank unless your application specifically requires this"] = "pozostaw puste, chyba że Twoja aplikacja wyraźnie tego wymaga";
+App::$strings["Connected OAuth2 Apps"] = "Aplikacje połączeń OAuth2";
+App::$strings["Profile Unavailable."] = "Profil niedostępny.";
+App::$strings["Wiki App"] = "Aplikacja Wiki";
+App::$strings["Provide a wiki for your channel"] = "Udostępnij wiki dla swojego kanału";
+App::$strings["Invalid channel"] = "Zły kanał";
+App::$strings["Error retrieving wiki"] = "Błąd podczas pobierania wiki";
+App::$strings["Error creating zip file export folder"] = "Błąd podczas tworzenia folderu eksportu pliku ZIP";
+App::$strings["Error downloading wiki: "] = "Błąd podczas pobierania wiki: ";
+App::$strings["Wikis"] = "Wiki";
+App::$strings["Download"] = "Pobierz";
+App::$strings["Wiki name"] = "Nazwa wiki";
+App::$strings["Content type"] = "Rodzaj treści";
+App::$strings["Markdown"] = "Markdown";
+App::$strings["BBcode"] = "BBcode";
+App::$strings["Text"] = "Text";
+App::$strings["Type"] = "Rodzaj";
+App::$strings["Any&nbsp;type"] = "Dwolny&nbsp;rodzaj";
+App::$strings["Lock content type"] = "Zablokuj rodzaj treści";
+App::$strings["Create a status post for this wiki"] = "Utwórz post statusu dla tego wiki";
+App::$strings["Edit Wiki Name"] = "Edytuj nazwÄ™ wiki";
+App::$strings["Wiki not found"] = "Nie znaleziono wiki";
+App::$strings["Rename page"] = "Zień nazwę strony";
+App::$strings["Error retrieving page content"] = "Błąd podczas pobierania treści strony";
+App::$strings["New page"] = "Nowa strona";
+App::$strings["Revision Comparison"] = "Porównanie wersji";
+App::$strings["Revert"] = "Odwróć";
+App::$strings["Short description of your changes (optional)"] = "Krótki opis zmian (opcjonalnie)";
+App::$strings["Source"] = "Źródło";
+App::$strings["New page name"] = "Nowa nazwa strony";
+App::$strings["Embed image from photo albums"] = "Osadź obraz z albumów fotograficznych";
+App::$strings["Embed an image from your albums"] = "Osadź obraz ze swoich albumów";
+App::$strings["OK"] = "Dobrze";
+App::$strings["Choose images to embed"] = "Wybierz zdjęcie do osadzenia";
+App::$strings["Choose an album"] = "Wybierz album";
+App::$strings["Choose a different album"] = "Wybierz inny album";
+App::$strings["Error getting album list"] = "Błąd podczas pobierania listy albumów";
+App::$strings["Error getting photo link"] = "Błąd podczas pobierania linku do zdjęcia";
+App::$strings["Error getting album"] = "Błąd podczas pobierania albumu";
+App::$strings["History"] = "Historia";
+App::$strings["Error creating wiki. Invalid name."] = "Błąd podczas tworzenia wiki. nieprawidłowa nazwa.";
+App::$strings["A wiki with this name already exists."] = "Wiki o tej nazwie już istnieje.";
+App::$strings["Wiki created, but error creating Home page."] = "Utworzono wiki, ale podczas tworzenia strony głównej wystąpił błąd.";
+App::$strings["Error creating wiki"] = "Błąd podczas tworzenia wiki";
+App::$strings["Error updating wiki. Invalid name."] = "Błąd podczas aktualizowania wiki. Błędna nazwa.";
+App::$strings["Error updating wiki"] = "Błąd podczas aktualizowania wiki";
+App::$strings["Wiki delete permission denied."] = "Odmowa pozwolenia na usunięcie Wiki.";
+App::$strings["Error deleting wiki"] = "Błąd podczas usuwania wiki";
+App::$strings["New page created"] = "Utworzono nowÄ… stronÄ™";
+App::$strings["Cannot delete Home"] = "Nie można usunąć strony głównej";
+App::$strings["Current Revision"] = "Bieżąca wersja";
+App::$strings["Selected Revision"] = "Wybrana wersja";
+App::$strings["You must be authenticated."] = "Trzeba być uwierzytelnionym.";
+App::$strings["Block Name"] = "Nazwa bloku";
+App::$strings["Blocks"] = "Bloki";
+App::$strings["Block Title"] = "Tytuł bloku";
+App::$strings["Entry censored"] = "Wpis ocenzurowany";
+App::$strings["Entry uncensored"] = "Wpis nieocenzurowany";
+App::$strings["Location not found."] = "Nie znaleziono lokalizacjid.";
+App::$strings["Location lookup failed."] = "Wyszukiwanie lokalizacji nie powiodło się.";
+App::$strings["Please select another location to become primary before removing the primary location."] = "Przed usunięciem lokalizacji podstawowej wybierz inną lokalizację jako główną.";
+App::$strings["Syncing locations"] = "SynchronizujÄ™ lokalizacje";
+App::$strings["No locations found."] = "Nie znaleziono żadnych lokalizacji.";
+App::$strings["Manage Channel Locations"] = "Zarządzaj lokalizacjami kanałów";
+App::$strings["Primary"] = "Podstawowy";
+App::$strings["Drop"] = "Upuść";
+App::$strings["Sync Now"] = "Synchronizuj teraz";
+App::$strings["Please wait several minutes between consecutive operations."] = "Poczekaj kilka minut między kolejnymi operacjami.";
+App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Jeśli to możliwe, upuść lokalizację, logując się do tego huba i usuwając swój kanał.";
+App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Użyj tego formularza, aby usunąć lokalizację, jeśli hub już nie działa.";
+App::$strings["Away"] = "Z dala";
+App::$strings["Online"] = "Na linii";
+App::$strings["Photos"] = "Zdjęcia";
+App::$strings["Files"] = "Pliki";
+App::$strings["Could not locate selected profile."] = "Nie udało się znaleźć wybranego profilu.";
+App::$strings["Connection updated."] = "Zaktualizowano połączenie.";
+App::$strings["Failed to update connection record."] = "Nie udało się zaktualizować rekordu połączenia.";
+App::$strings["is now connected to"] = "jest teraz połączony z";
+App::$strings["Could not access address book record."] = "Nie można uzyskać dostępu do rekordu książki adresowej.";
+App::$strings["Refresh failed - channel is currently unavailable."] = "Odświeżenie nie powiodło się - kanał jest obecnie niedostępny.";
+App::$strings["Unable to set address book parameters."] = "Nie można ustawić parametrów książki adresowej.";
+App::$strings["Connection has been removed."] = "Połączenie zostało usunięte.";
+App::$strings["View Profile"] = "Wyświetl profil";
+App::$strings["View %s's profile"] = "Wyświetl profil %s";
+App::$strings["Refresh Permissions"] = "Odśwież uprawnienia";
+App::$strings["Fetch updated permissions"] = "Pobierz zaktualizowane uprawnienia";
+App::$strings["Refresh Photo"] = "Odśwież zdjęcie";
+App::$strings["Fetch updated photo"] = "Pobierz zaktualizowane zdjęcie";
+App::$strings["Recent Activity"] = "Ostatnia aktywność";
+App::$strings["View recent posts and comments"] = "Wyświetl najnowsze posty i komentarze";
+App::$strings["Unblock"] = "Odblokuj";
+App::$strings["Block"] = "Zablokuj";
+App::$strings["Block (or Unblock) all communications with this connection"] = "Zablokuj (lub odblokuj) całą komunikację z tym połączeniem";
+App::$strings["This connection is blocked!"] = "To połączenie jest zablokowane!";
+App::$strings["Unignore"] = "Nie ignoruj";
+App::$strings["Ignore"] = "Ignoruj";
+App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignoruj (lub przywróć) całą komunikację przychodzącą z tego połączenia";
+App::$strings["This connection is ignored!"] = "To połączenie jest ignorowane!";
+App::$strings["Unarchive"] = "Przywróć z archiwum";
+App::$strings["Archive"] = "Archiwizuj";
+App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiwizuj (lub przywróć) to połączenie - zaznacz kanał jako martwy, ale zachowaj zawartość";
+App::$strings["This connection is archived!"] = "To połączenie zostało zarchiwizowane!";
+App::$strings["Unhide"] = "Odkryj";
+App::$strings["Hide"] = "Ukryj";
+App::$strings["Hide or Unhide this connection from your other connections"] = "Ukryj lub odkryj to połączenie przed innymi kontaktami";
+App::$strings["This connection is hidden!"] = "To połączenie jest ukryte!";
+App::$strings["Delete this connection"] = "Usuń to połączenie";
+App::$strings["Fetch Vcard"] = "Pobierz Vcard";
+App::$strings["Fetch electronic calling card for this connection"] = "Pobierz elektroniczną kartę telefoniczną dla tego połączenia";
+App::$strings["Open Individual Permissions section by default"] = "Otwórz domyślnie sekcję Uprawnienia indywidualne";
+App::$strings["Affinity"] = "Koligacja";
+App::$strings["Open Set Affinity section by default"] = "Otwieraj domyślnie sekcję Ustaw koligację";
+App::$strings["Me"] = "Ja";
+App::$strings["Family"] = "Rodzina";
+App::$strings["Friends"] = "Przyjaciele";
+App::$strings["Acquaintances"] = "Znajomi";
+App::$strings["All"] = "Wszyscy";
+App::$strings["Filter"] = "Filtr";
+App::$strings["Open Custom Filter section by default"] = "Otwieraj domyślnie sekcję Filtr niestandardowy";
+App::$strings["Approve this connection"] = "Zatwierdź to połączenie";
+App::$strings["Accept connection to allow communication"] = "Zaakceptuj połączenie, aby umożliwić komunikację";
+App::$strings["Set Affinity"] = "Ustaw skoligacenie";
+App::$strings["Set Profile"] = "Ustaw profil";
+App::$strings["Set Affinity & Profile"] = "Ustaw skoligacenie i profil";
+App::$strings["This connection is unreachable from this location."] = "To połączenie jest nieosiągalne z tej lokalizacji.";
+App::$strings["This connection may be unreachable from other channel locations."] = "To połączenie może być nieosiągalne z innych lokalizacji kanału.";
+App::$strings["Location independence is not supported by their network."] = "Niezależność lokalizacji nie jest obsługiwana przez ich sieć.";
+App::$strings["This connection is unreachable from this location. Location independence is not supported by their network."] = "To połączenie jest nieosiągalne z tej lokalizacji. Niezależność lokalizacji nie jest obsługiwana przez ich sieć.";
+App::$strings["Connection: %s"] = "Połączenie: %s";
+App::$strings["Connection requests will be approved without your interaction"] = "Prośby o połączenie zostaną zatwierdzone bez Twojej interakcji";
+App::$strings["This connection's primary address is"] = "Podstawowy adres tego połączenia to";
+App::$strings["Available locations:"] = "Dostępne lokalizacje:";
+App::$strings["Connection Tools"] = "Narzędzia połączeń";
+App::$strings["Slide to adjust your degree of friendship"] = "Przesuń, aby dostosować stopień przyjaźni";
+App::$strings["Rating"] = "Ocena";
+App::$strings["Slide to adjust your rating"] = "Przesuń, aby dostosować swoją ocenę";
+App::$strings["Optionally explain your rating"] = "Ewentualnie wyjaśnij swoją ocenę";
+App::$strings["Custom Filter"] = "Własny filtr";
+App::$strings["Only import posts with this text"] = "Importuj tylko posty z tym tekstem";
+App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "słowa po jednym w wierszu lub #tags lub /patterns/ lub lang=xx, pozostaw puste, aby zaimportować wszystkie posty";
+App::$strings["Do not import posts with this text"] = "Nie importuj postów z tym tekstem";
+App::$strings["This information is public!"] = "Ta informacja jest publiczna!";
+App::$strings["Connection Pending Approval"] = "Połączenie oczekujące na zatwierdzenie";
+App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Wybierz profil, który chcesz wyświetlić dla %s, podczas bezpiecznego przeglądania swojego profilu.";
+App::$strings["Their Settings"] = "Ich ustawienia";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Niektóre uprawnienia mogą być dziedziczone z <a href=\"settings\"><strong>ustawień prywatności</strong></a> Twojego kanału, które mają wyższy priorytet niż indywidualne ustawienia. <strong>Nie możesz</strong> tutaj zmienić tych ustawień.";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Niektóre uprawnienia mogą być dziedziczone z <a href=\"settings\"><strong>ustawień prywatności</strong></a> Twojego kanału, te które mają wyższy priorytet niż indywidualne ustawienia. Możesz zmienić te ustawienia tutaj, ale nie będą one miały żadnego wpływu, chyba że odziedziczone ustawienie ulegnie zmianie.";
+App::$strings["Last update:"] = "Ostatnia aktualizacja:";
+App::$strings["Details"] = "Szczegóły";
+App::$strings["Image uploaded but image cropping failed."] = "Obraz został przesłany, ale przycinanie obrazu nie powiodło się.";
+App::$strings["Profile Photos"] = "Zdjęcia profilowe";
+App::$strings["Image resize failed."] = "Zmiana rozmiaru obrazu nie powiodła się.";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-przeładuj stronę lub wyczyść pamięć podręczną przeglądarki, jeśli nowe zdjęcie nie zostanie wyświetlone od razu.";
+App::$strings["Unable to process image"] = "Nie można przetworzyć obrazu";
+App::$strings["Image upload failed."] = "Przesyłanie obrazu nie powiodło się.";
+App::$strings["Unable to process image."] = "Nie można przetworzyć obrazu.";
+App::$strings["Photo not available."] = "Zdjęcie nie jest dostępne.";
+App::$strings["Your default profile photo is visible to anybody on the internet. Profile photos for alternate profiles will inherit the permissions of the profile"] = "Twoje domyślne zdjęcie profilowe jest widoczne dla każdego w internecie. Zdjęcia profilowe dla profili alternatywnych odziedziczą uprawnienia profilu";
+App::$strings["Your profile photo is visible to anybody on the internet and may be distributed to other websites."] = "Twoje zdjęcie profilowe jest widoczne dla każdego w internecie i może być rozpowszechniane na innych stronach internetowych.";
+App::$strings["Upload File:"] = "Przesłanie pliku:";
+App::$strings["Select a profile:"] = "Wybierz profil:";
+App::$strings["Use Photo for Profile"] = "Użyj zdjęcia do profilu";
+App::$strings["Change Profile Photo"] = "Zmień zdjęcie profilowe";
+App::$strings["Use"] = "Użyj";
+App::$strings["Upload"] = "Prześlij";
+App::$strings["Remove"] = "Usuń";
+App::$strings["Use a photo from your albums"] = "Użyj zdjęcia ze swoich albumów";
+App::$strings["Select existing photo"] = "Wybierz istniejące zdjęcie";
+App::$strings["Crop Image"] = "Przytnij zdjęcie";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Dostosuj kadrowanie obrazu, aby uzyskać optymalne wyświetlanie.";
+App::$strings["Done Editing"] = "Zakończono edycję";
+App::$strings["Files: shared with me"] = "Pliki: udostępnione mi";
+App::$strings["NEW"] = "NOWY";
+App::$strings["Size"] = "Rozmiar";
+App::$strings["Last Modified"] = "Ostatnio zmodyfikowane";
+App::$strings["Remove all files"] = "Usuń wszystkie pliki";
+App::$strings["Remove this file"] = "Usuń ten plik";
+App::$strings["Edit Layout"] = "Edytuj układ";
+App::$strings["Create a new channel"] = "Utwórz nowy kanał";
+App::$strings["Channel Manager"] = "Menadżer kanałów";
+App::$strings["Current Channel"] = "Bieżący kanał";
+App::$strings["Switch to one of your channels by selecting it."] = "Przełącz się na jeden ze swoich kanałów, wybierając go.";
+App::$strings["Default Channel"] = "Domyślny kanał";
+App::$strings["Make Default"] = "Ustaw jako domyślny";
+App::$strings["%d new messages"] = "%d nowych wiadomości";
+App::$strings["%d new introductions"] = "%d nowych wprowadzeń";
+App::$strings["Delegated Channel"] = "Deleguj kanał";
+App::$strings["Connection added."] = "Dodano połączenie.";
+App::$strings["Unable to locate original post."] = "Nie można znaleźć oryginalnego postu.";
+App::$strings["Empty post discarded."] = "Pusty post został odrzucony.";
+App::$strings["Duplicate post suppressed."] = "Powielony post został wyłączony.";
+App::$strings["System error. Post not saved."] = "Błąd systemu. Post nie został zapisany.";
+App::$strings["Your comment is awaiting approval."] = "Twój komentarz oczekuje na zatwierdzenie.";
+App::$strings["Unable to obtain post information from database."] = "Nie można uzyskać z bazy danych informacji o tym poście.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Osiągnięty został limit %1$.0f postów najwyższego poziomu.";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Osiągnięty został limit %1$.0f stron internetowych.";
+App::$strings["Website:"] = "Serwis internetowy:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Kanał zdalny [% s] (jeszcze nieznany w tym serwisie)";
+App::$strings["Rating (this information is public)"] = "Ocena (ta informacja jest publiczna)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Ewentualnie wyjaśnij swoją ocenę (ta informacja jest publiczna)";
+App::$strings["Invalid item."] = "Nieprawidłowy element.";
+App::$strings["Page not found."] = "Nie znaleziono strony.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["Xchan Lookup"] = "Wyszukiwanie xchan";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Wyszukaj xchan (lub webbie) zaczynajÄ…c od: ";
+App::$strings["Not found."] = "Nie znaleziono.";
+App::$strings["Some blurb about what to do when you're new here"] = "Kilka uwag o tym, co robisz, gdy jesteÅ› tu nowy";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s obserwuje %3\$s %2\$s";
+App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s przestał obserwować %3\$s %2\$s";
+App::$strings["Please login."] = "Proszę się zalogować.";
+App::$strings["Edit Block"] = "Edytuj blok";
+App::$strings["webpage"] = "strona internetowa";
+App::$strings["block"] = "blok";
+App::$strings["layout"] = "układ";
+App::$strings["menu"] = "menu";
+App::$strings["%s element installed"] = "Element %s zainstalowany";
+App::$strings["%s element installation failed"] = "Instalacja elementu %s nie powiodła się";
+App::$strings["Public Hubs"] = "Huby publiczne";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Wymienione huby umożliwiają publiczną rejestrację w sieci \$Projectname. Wszystkie huby w sieci są ze sobą połączone, więc członkostwo w którymkolwiek z nich oznacza członkostwo w całej sieci. Niektóre huby mogą wymagać subskrypcji lub oferować warstwowe plany usług. Sam hub <strong> może </strong> podać dodatkowe szczegóły.";
+App::$strings["Hub URL"] = "Adres URL huba";
+App::$strings["Access Type"] = "Typ dostępu";
+App::$strings["Registration Policy"] = "Zasady rejestracji";
+App::$strings["Stats"] = "Statystyki";
+App::$strings["Software"] = "Oprogramowanie";
+App::$strings["Ratings"] = "Oceny";
+App::$strings["Rate"] = "Ocena";
+App::$strings["You must be logged in to see this page."] = "Musisz być zalogowany, aby zobaczyć tę stronę.";
+App::$strings["Chatrooms App"] = "Aplikacja Chatrooms";
+App::$strings["Access Controlled Chatrooms"] = "Dostęp do kontrolowanych czatów";
+App::$strings["Room not found"] = "Nie znaleziono pokoju";
+App::$strings["Leave Room"] = "Opuść pokój";
+App::$strings["Delete Room"] = "Usuń pokój";
+App::$strings["I am away right now"] = "Nie ma mnie teraz";
+App::$strings["I am online"] = "Jestem dostępny";
+App::$strings["Bookmark this room"] = "Zaznacz ten pokój";
+App::$strings["Please enter a link URL:"] = "Proszę wprowadzić adres URL linku:";
+App::$strings["Encrypt text"] = "Szyfruj tekst";
+App::$strings["New Chatroom"] = "Nowy czat";
+App::$strings["Chatroom name"] = "Nazwa czatu";
+App::$strings["Expiration of chats (minutes)"] = "Wygaśnięcie czatów (minuty)";
+App::$strings["%1\$s's Chatrooms"] = "Czaty %1\$s";
+App::$strings["No chatrooms available"] = "Brak dostępnych czatów";
+App::$strings["Expiration"] = "Wygaśnięcie";
+App::$strings["min"] = "min";
+App::$strings["Channel Export App"] = "Aplikacja Channel Export";
+App::$strings["Export your channel"] = "Wyeksportuj swój kanał";
+App::$strings["Export Channel"] = "Eksport kanału";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Wyeksportuj do pliku podstawowe informacje o kanale. Działa to jako kopia zapasowa połączeń, uprawnień, profilu i podstawowych danych, których można użyć do zaimportowania danych do nowego huba, ale nie zawiera treści.";
+App::$strings["Export Content"] = "Eksport treści";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Wyeksportuj informacje o kanale i najnowsze treści do kopii zapasowej JSON, którą można przywrócić lub zaimportować do innego huba. Tworzy to kopie zapasowe wszystkich połączeń, uprawnień, danych profilu i kilku miesięcy postów. Ten plik może być BARDZO duży. Prosimy o cierpliwość - rozpoczęcie pobierania może zająć kilka minut.";
+App::$strings["Export your posts from a given year."] = "Eksportuj swoje posty z danego roku.";
+App::$strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Można także wyeksportować swoje posty i rozmowy z określonego rok lub miesiąca. Dostosuj datę na pasku adresu przeglądarki, aby wybrać inne daty. Jeśli eksport się nie powiedzie (prawdopodobnie z powodu wyczerpania pamięci w serwera huba), spróbuj ponownie, wybierając bardziej ograniczony zakres dat.";
+App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Aby wybrać wszystkie posty z danego roku, na przykład tego roku, odwiedź <a href=\"%1\$s\">%2\$s</a>";
+App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Aby wybrać wszystkie posty z danego miesiąca, np. stycznia tego roku, odwiedź <a href=\"%1\$s\">%2\$s</a>";
+App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Te pliki treści można zaimportować lub przywrócić, odwiedzając stronę <a href=\"%1\$s\">%2\$s</a> w dowolnym serwisie zawierającym Twój kanał. Aby uzyskać najlepsze wyniki, zaimportuj lub przywróć je w kolejności (od najstarszych).";
+App::$strings["No valid account found."] = "Nie znaleziono prawidłowego konta.";
+App::$strings["Password reset request issued. Check your email."] = "Wysłano prośbę o zresetowanie hasła. Sprawdź swoją skrzynkę e-mail.";
+App::$strings["Site Member (%s)"] = "Członek serwisu (%s)";
+App::$strings["Password reset requested at %s"] = "Zresetowano hasło na %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Nie można zweryfikować żądania. (Możliwe, że zostało już przesłane). Resetowanie hasła nie powiodło się.";
+App::$strings["Password Reset"] = "Resetowanie hasła";
+App::$strings["Your password has been reset as requested."] = "Twoje hasło zostało zresetowane zgodnie z żądaniem.";
+App::$strings["Your new password is"] = "Twoje nowe hasło to";
+App::$strings["Save or copy your new password - and then"] = "Zapisz lub skopiuj nowe hasło - a następnie";
+App::$strings["click here to login"] = "kliknij tutaj aby się zalogować";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Twoje hasło może zostać zmienione na stronie <em>Ustawienia</em> po pomyślnym zalogowaniu.";
+App::$strings["Your password has changed at %s"] = "Twoje hasło zostało zmienione na %s";
+App::$strings["Forgot your Password?"] = "Zapomniałeś hasła?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Wpisz swój adres e-mail i prześlij, aby zresetować hasło. Następnie sprawdź swoja skrzynkę e-mail, aby uzyskać dalsze instrukcje.";
+App::$strings["Email Address"] = "Adres e-mail";
+App::$strings["Poll not found."] = "Nie znaleziono ankiety.";
+App::$strings["Invalid response."] = "Nieprawidłowa odpowiedź.";
+App::$strings["Response submitted. Updates may not appear instantly."] = "Odpowiedź przesłana. Aktualizacje mogą nie pojawiać się natychmiast.";
+App::$strings["sent you a private message"] = "wysłał Ci prywatną wiadomość";
+App::$strings["added your channel"] = "dodał Twój kanał";
+App::$strings["requires approval"] = "wymaga zatwierdzenia";
+App::$strings["g A l F d"] = "g A l F d";
+App::$strings["[today]"] = "[dzisiaj]";
+App::$strings["posted an event"] = "opublikował wydarzenie";
+App::$strings["shared a file with you"] = "udostępnił Ci plik";
+App::$strings["You must enable javascript for your browser to be able to view this content."] = "Aby przeglądać te treści, musisz włączyć obsługę JavaScript w swojej przeglądarce.";
+App::$strings["Article"] = "Artykuł";
+App::$strings["Item has been removed."] = "Element został usunięty.";
+App::$strings["Accounts"] = "Konta";
+App::$strings["Blocked accounts"] = "Zablokowane konta";
+App::$strings["Expired accounts"] = "Wygasłe konta";
+App::$strings["Expiring accounts"] = "WygasajÄ…ce konta";
+App::$strings["Channels"] = "Kanały";
+App::$strings["Message queues"] = "Kolejki wiadomości";
+App::$strings["Your software should be updated"] = "Twoje oprogramowanie powinno zostać zaktualizowane";
+App::$strings["Administration"] = "Administracja";
+App::$strings["Summary"] = "Posumowanie";
+App::$strings["Registered accounts"] = "Zarejestrowane konta";
+App::$strings["Pending registrations"] = "Rejestracja oczekujÄ…ca";
+App::$strings["Registered channels"] = "Zarejestrowane kanały";
+App::$strings["Active addons"] = "Aktywne dodatki";
+App::$strings["Version"] = "Wersja";
+App::$strings["Repository version (master)"] = "Wersja repozytorium (master)";
+App::$strings["Repository version (dev)"] = "Wersja repozytorium (dev)";
+App::$strings["Page owner information could not be retrieved."] = "Nie można pobrać informacji o właścicielu strony.";
+App::$strings["Album not found."] = "Nie znaleziono albumu.";
+App::$strings["Delete Album"] = "Usuń album";
+App::$strings["Delete Photo"] = "Usuń zdjęcie";
+App::$strings["No photos selected"] = "Nie wybrano zdjęć";
+App::$strings["Access to this item is restricted."] = "Dostęp do tego elementu jest ograniczony.";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Wykorzystane miejsce na zdjęcia: %1$.2f MB z %2$.2f MB.";
+App::$strings["%1$.2f MB photo storage used."] = "Wykorzystane miejsce na zdjęcia: %1$.2f MB.";
+App::$strings["Upload Photos"] = "Prześlij zdjęcia";
+App::$strings["Enter an album name"] = "Wpisz nazwÄ™ albumu";
+App::$strings["or select an existing album (doubleclick)"] = "lub wybierz istniejący album (podwójne kliknięcie)";
+App::$strings["Create a status post for this upload"] = "Utwórz post o stanie tego przesyłania";
+App::$strings["Description (optional)"] = "Opis (opcjonalnie)";
+App::$strings["Show Newest First"] = "Pokaż najpierw najnowsze";
+App::$strings["Show Oldest First"] = "Pokaż najpierw najstarsze";
+App::$strings["View Photo"] = "Zobacz zdjęcie";
+App::$strings["Unknown"] = "Nieznane";
+App::$strings["Edit Album"] = "Edytuj album";
+App::$strings["Add Photos"] = "Dodaj zdjęcia";
+App::$strings["Permission denied. Access to this item may be restricted."] = "Odmowa dostęþu. Dostęp do tej pozycji może być ograniczony.";
+App::$strings["Photo not available"] = "Zdjęcie niedostępne";
+App::$strings["Use as profile photo"] = "Użyj jako zdjęcie profilowe";
+App::$strings["Use as cover photo"] = "Użyj jako zdjęcia okładkowe";
+App::$strings["Private Photo"] = "Zdjęcie prywatne";
+App::$strings["View Full Size"] = "Zobacz pełny rozmiar";
+App::$strings["Edit photo"] = "Edutuj zdjęcie";
+App::$strings["Rotate CW (right)"] = "Obróć w prawo";
+App::$strings["Rotate CCW (left)"] = "Obróć w lewo";
+App::$strings["Move photo to album"] = "Przenieś zdjęcie do albumu";
+App::$strings["Enter a new album name"] = "Wpisz nowÄ… nazwÄ™ albumu";
+App::$strings["or select an existing one (doubleclick)"] = "lub wybierz istniejący (podwójne kliknięcie)";
+App::$strings["Add a Tag"] = "Dodaj tag";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Przykład: @bob, @Barbara_Jensen, @jim@example.com";
+App::$strings["Flag as adult in album view"] = "Oznacz jako \"dla dorosłych\" w widoku albumu";
+App::$strings["I like this (toggle)"] = "Lubię to (przełącz)";
+App::$strings["I don't like this (toggle)"] = "Nie podoba mi się to (przełącz)";
+App::$strings["Please wait"] = "Proszę czekać";
+App::$strings["This is you"] = "To jesteÅ› ty";
+App::$strings["Comment"] = "Komentarz";
+App::$strings["__ctx:title__ Likes"] = "Polubienia";
+App::$strings["__ctx:title__ Dislikes"] = "Dezaprobaty";
+App::$strings["__ctx:title__ Agree"] = "Zgoda";
+App::$strings["__ctx:title__ Disagree"] = "Sprzeciw";
+App::$strings["__ctx:title__ Abstain"] = "WstrzymujÄ™ siÄ™";
+App::$strings["__ctx:title__ Attending"] = "UczestniczÄ™";
+App::$strings["__ctx:title__ Not attending"] = "Nie uczestniczÄ™";
+App::$strings["__ctx:title__ Might attend"] = "Mogę uczestniczyć";
+App::$strings["View all"] = "Pokaż wszystkie";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "Lubi",
+ 1 => "LubiÄ…",
+ 2 => "Lubi",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "Nie lubi",
+ 1 => "Nie lubiÄ…",
+ 2 => "Nie lubi",
+);
+App::$strings["Photo Tools"] = "Narzędzia fotograficzne";
+App::$strings["In This Photo:"] = "Na tym zdjęciu:";
+App::$strings["Map"] = "Mapa";
+App::$strings["__ctx:noun__ Likes"] = "Polubienia";
+App::$strings["__ctx:noun__ Dislikes"] = "Dezaprobaty";
+App::$strings["Close"] = "Zamknięte";
+App::$strings["Recent Photos"] = "Najnowsze zdjęcia";
+App::$strings["Posts and comments"] = "Posty i komentarze";
+App::$strings["Only posts"] = "Tylko posty";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Niewystarczające uprawnienia. Żądanie zostało przekierowane na stronę profilu.";
+App::$strings["Search Results For:"] = "Wyniki wyszukiwania dla:";
+App::$strings["Cards App"] = "Aplikacja Cards";
+App::$strings["Create personal planning cards"] = "Twórz osobiste karty planowania";
+App::$strings["Add Card"] = "Dodaj kartÄ™";
+App::$strings["Cards"] = "Karty";
+App::$strings["This page is available only to site members"] = "Ta strona jest dostępna tylko dla członków serwisu";
+App::$strings["Welcome"] = "Witamy";
+App::$strings["What would you like to do?"] = "Co chciałbyś zrobić?";
+App::$strings["Please bookmark this page if you would like to return to it in the future"] = "Dodaj tę stronę do zakładek, jeśli chcesz wrócić do niej w przyszłości";
+App::$strings["Upload a profile photo"] = "Prześlij zdjęcie profilowe";
+App::$strings["Upload a cover photo"] = "Prześlij zdjęcie na okładkę";
+App::$strings["Edit your default profile"] = "Edytuj swój domyślny profil";
+App::$strings["View friend suggestions"] = "Zobacz propozycje znajomości";
+App::$strings["View the channel directory"] = "Wyświetl katalog kanałów";
+App::$strings["View/edit your channel settings"] = "Wyświetl/edytuj ustawienia swojego kanału";
+App::$strings["View the site or project documentation"] = "Wyświetl witrynę lub dokumentację projektu";
+App::$strings["Visit your channel homepage"] = "Odwiedź stronę główną swojego kanału";
+App::$strings["View your connections and/or add somebody whose address you already know"] = "Wyświetl swoje kontakty albo dodaj osobę, której adres już znasz";
+App::$strings["View your personal stream (this may be empty until you add some connections)"] = "Wyświetl swój osobisty strumień (może być pusty, dopóki nie dodasz niektórych połączeń)";
+App::$strings["View the public stream. Warning: this content is not moderated"] = "Wyświetl strumień publiczny. Ostrzeżenie: ta zawartość nie jest moderowana";
+App::$strings["Active"] = "Aktywny";
+App::$strings["Blocked"] = "Zablokowany";
+App::$strings["Ignored"] = "Ignorowany";
+App::$strings["Hidden"] = "Ukryty";
+App::$strings["Archived/Unreachable"] = "Zarchiwizowane/NieosiÄ…galne";
+App::$strings["New"] = "Nowy";
+App::$strings["Active Connections"] = "Aktywne połączenia";
+App::$strings["Show active connections"] = "Pokaż aktywne połączenia";
+App::$strings["New Connections"] = "Nowe połączenia";
+App::$strings["Show pending (new) connections"] = "Pokaż oczekujące (nowe) połączenia";
+App::$strings["Only show blocked connections"] = "Pokaż tylko zablokowane połączenia";
+App::$strings["Only show ignored connections"] = "Pokaż tylko ignorowane połączenia";
+App::$strings["Only show archived/unreachable connections"] = "Pokaż tylko zarchiwizowane/nieosiągalne połączenia";
+App::$strings["Only show hidden connections"] = "Pokaż tylko ukryte połączenia";
+App::$strings["Show all connections"] = "Pokaż wszystkie połączenia";
+App::$strings["Pending approval"] = "W oczekiwaniu na zatwierdzenie";
+App::$strings["Archived"] = "Zarchiwizowane";
+App::$strings["Not connected at this location"] = "Brak połączenia w tej lokalizacji";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Edytuj połączenie";
+App::$strings["Delete connection"] = "Usuń połączenie";
+App::$strings["Channel address"] = "Adres kanału";
+App::$strings["Network"] = "Sieć";
+App::$strings["Call"] = "Połączenie";
+App::$strings["Status"] = "Stan";
+App::$strings["Connected"] = "Połączene";
+App::$strings["Approve connection"] = "Zatwierdź połączenie";
+App::$strings["Approve"] = "Zatwierdź";
+App::$strings["Ignore connection"] = "Ignoruj połączenie";
+App::$strings["Recent activity"] = "Ostatnia aktywność";
+App::$strings["Connect"] = "Połączenie";
+App::$strings["Connect at this location"] = "Połącz w tej lokalizacji";
+App::$strings["Connections"] = "Połączenia";
+App::$strings["Search your connections"] = "Wyszukaj swoje połączenia";
+App::$strings["Connections search"] = "Wyszukiwanie połączeń";
+App::$strings["Find"] = "Znajdź";
+App::$strings["Item is not editable"] = "Elementu nie można edytować";
+App::$strings["Tag removed"] = "Tag został usunięty";
+App::$strings["Remove Item Tag"] = "Usuń tag elementy";
+App::$strings["Select a tag to remove: "] = "Wybierz tag do usunięcia: ";
+App::$strings["Affinity Tool settings updated."] = "Zaktualizowano ustawienia narzędzia Affinity.";
+App::$strings["This app presents a slider control in your connection editor and also on your network page. The slider represents your degree of friendship (affinity) with each connection. It allows you to zoom in or out and display conversations from only your closest friends or everybody in your stream."] = "Ta aplikacja przedstawia suwak w edytorze połączeń, a także na stronie internetowej. Suwak przedstawia stopień przyjaźni (koligacji) z każdym połączeniem. Umożliwia powiększanie i pomniejszanie oraz wyświetlanie rozmów tylko od najbliższych znajomych lub wszystkich w strumieniu.";
+App::$strings["Affinity Tool App"] = "Aplikacja Affinity Tool";
+App::$strings["The numbers below represent the minimum and maximum slider default positions for your network/stream page as a percentage."] = "Poniższe liczby przedstawiają minimalne i maksymalne domyślne pozycje suwaków na stronie sieci/strumienia w procentach.";
+App::$strings["Default maximum affinity level"] = "Domyślny maksymalny poziom więzi";
+App::$strings["0-99 default 99"] = "0-99, domyślnie 99";
+App::$strings["Default minimum affinity level"] = "Domyślny minimalny poziom więzi";
+App::$strings["0-99 - default 0"] = "0-99, domyślnie 0";
+App::$strings["Persistent affinity levels"] = "Trwałe poziomy więzi";
+App::$strings["If disabled the max and min levels will be reset to default after page reload"] = "Jeśli wyłączone, maksymalne i minimalne poziomy zostaną zresetowane do wartości domyślnych po ponownym załadowaniu strony";
+App::$strings["Affinity Tool Settings"] = "Ustawienia Affinity Tool";
+App::$strings["No channel."] = "Brak kanału.";
+App::$strings["No connections in common."] = "Brak wspólnych połączeń.";
+App::$strings["View Common Connections"] = "Wyświetl typowe połączenia";
+App::$strings["&#x1f501; Repeated %1\$s's %2\$s"] = "&#x1f501; Powtórzony %2\$s %1\$s";
+App::$strings["Post repeated"] = "Post powtórzony";
+App::$strings["Page link"] = "Link do strony";
+App::$strings["Edit Webpage"] = "Edytuj stronÄ™ internetowÄ…";
+App::$strings["vcard"] = "vcard";
+App::$strings["Edit Article"] = "Edutuj artykuł";
+App::$strings["Authentication failed."] = "Uwierzytelnianie nie powiodło się.";
+App::$strings["Remote Authentication"] = "Zdalne uwierzytelnianie";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Wpisz adres swojego kanału (np. kanał@example.com)";
+App::$strings["Authenticate"] = "Uwierzytelnianie";
+App::$strings["Item not available."] = "Element nie jest dostępny.";
+App::$strings["This setting requires special processing and editing has been blocked."] = "To ustawienie wymaga specjalnego przetwarzania, a edycja została zablokowana.";
+App::$strings["Configuration Editor"] = "Edytor konfiguracji";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Ostrzeżenie: zmiana niektórych ustawień może spowodować, że Twój kanał przestanie działać. Opuść tę stronę, chyba że czujesz się komfortowo i nie wiesz, jak prawidłowo korzystać z tej funkcji.";
+App::$strings["Random Channel App"] = "Aplikacja Random Channel";
+App::$strings["Visit a random channel in the \$Projectname network"] = "Odwiedź losowy kanał w sieci \$Projectname";
+App::$strings["Theme settings updated."] = "Zaktualizowano ustawienia motywu.";
+App::$strings["No themes found."] = "Nie znaleziono motywów.";
+App::$strings["Disable"] = "Wyłącz";
+App::$strings["Enable"] = "Włącz";
+App::$strings["Screenshot"] = "Zrzut ekranu";
+App::$strings["Themes"] = "Motywy";
+App::$strings["Toggle"] = "Przełącz";
+App::$strings["Settings"] = "Ustawienia";
+App::$strings["Author: "] = "Autor: ";
+App::$strings["Maintainer: "] = "Opiekun: ";
+App::$strings["[Experimental]"] = "[Eksperymentalne]";
+App::$strings["[Unsupported]"] = "[Nieobsługiwane]";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Domyślnie, w osadzonych mediach jest dozwolony niefiltrowany HTML. Jest to z natury niebezpieczne.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Zalecane ustawienie to zezwalanie na niefiltrowany kodu HTML tylko z następujących serwisów:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Wszystkie inne osadzone treści będą filtrowane, <strong>chyba że</strong> osadzone treści z tego serwisu są jawnie zablokowane.";
+App::$strings["Security"] = "Bezpieczeństwo";
+App::$strings["Block public"] = "Zablokuj publiczny dostęp";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Zaznacz, aby zablokować publiczny dostęp do wszystkich innych publicznych stron osobistych w tej witrynie, chyba że jesteś obecnie uwierzytelniony.";
+App::$strings["Provide a cloud root directory"] = "Podaj katalog główny w chmurze";
+App::$strings["The cloud root directory lists all channel names which provide public files"] = "Katalog główny w chmurze zawiera listę wszystkich nazw kanałów, które udostępniają pliki publiczne";
+App::$strings["Show total disk space available to cloud uploads"] = "Pokaż całkowitą przestrzeń dyskową dostępną do przesyłania plików do chmury";
+App::$strings["Set \"Transport Security\" HTTP header"] = "Ustaw nagłówek HTTP \"Transport Security\"";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "Ustaw nagłówek HTTP \"Content Security Policy\"";
+App::$strings["Allowed email domains"] = "Dozwolone domeny e-mail";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Rozdzielana przecinkami lista domen, które są dozwolone w adresach e-mail podczas rejestracji w tym serwisie. Akceptowane są symbole wieloznaczne. Puste pole oznacza zezwolenie na dowolne domeny";
+App::$strings["Not allowed email domains"] = "Niedozwolone domeny e-mail";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Rozdzielana przecinkami lista domen, które nie są dozwolone w adresach e-mail podczas rejestracji w tym serwisie. Akceptowane są symbole wieloznaczne. Puste pole oznacza zezwolenie na wszystkie domeny, chyba że zostały uprzednio zdefiniowane jakieś dozwolone domeny.";
+App::$strings["Allow communications only from these sites"] = "Zezwalaj na komunikację tylko z tych serwisów";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Jeden serwis w wierszu. Pozostaw puste, aby domyślnie zezwolić na komunikację z dowolnego miejsca";
+App::$strings["Block communications from these sites"] = "Blokuj komunikację z tych serwisów";
+App::$strings["Allow communications only from these channels"] = "Zezwalaj na komunikację tylko z tych kanałów";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Jeden kanał (hash) na linię. Pozostaw puste, aby domyślnie zezwolić z dowolnego kanału";
+App::$strings["Block communications from these channels"] = "Blokuj komunikację z tych kanałów";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Zezwalaj na osadzanie tylko z bezpiecznych (SSL) witryn i linków .";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Zezwalaj na niefiltrowanÄ… osadzony kod HTML tylko z tych domen";
+App::$strings["One site per line. By default embedded content is filtered."] = "Jedna witryna w wierszu. Domyślnie, treść osadzona jest filtrowana.";
+App::$strings["Block embedded HTML from these domains"] = "Zablokuj osadzony kod HTML z tych domen";
+App::$strings["Allow SVG thumbnails in file browser"] = "Zezwalaj na miniatury SVG w przeglądarce plików";
+App::$strings["WARNING: SVG images may contain malicious code."] = "OSTRZEŻENIE: obrazy SVG mogą zawierać złośliwy kod.";
+App::$strings["Allow embedded (inline) PDF files"] = "Zezwalaj na osadzone (międzywierszowe) pliki PDF";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "%s konto jest zablokowane/odblokowane",
+ 1 => "%s konto sÄ… zablokowane/odblokowane",
+ 2 => "%s kont jest zablokowanych/odblokowanych",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s konto jest usunięte",
+ 1 => "%s konta są usunięte",
+ 2 => "%s kont jest usuniętych",
+);
+App::$strings["Account not found"] = "Konto nie znalezione";
+App::$strings["Account '%s' deleted"] = "Usunieto konto '%s'";
+App::$strings["Account '%s' blocked"] = "Konto '%s' zostało zablokowane";
+App::$strings["Account '%s' unblocked"] = "Konto '%s' zostało odblokowane";
+App::$strings["select all"] = "wybierz wszystkie";
+App::$strings["Registrations waiting for confirm"] = "Rejestracje czekajÄ… na potwierdzenie";
+App::$strings["Request date"] = "Data wniosku";
+App::$strings["No registrations."] = "Brak rejestracji.";
+App::$strings["ID"] = "ID";
+App::$strings["All Channels"] = "Wszytskie kanały";
+App::$strings["Register date"] = "Data rejestracji";
+App::$strings["Last login"] = "Ostatnie logowanie";
+App::$strings["Expires"] = "Wygasa";
+App::$strings["Service Class"] = "Klasa usługi";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Wybrane konta zostaną usunięte!\\n\\nWszystko, co z tych kont zostało opublikowane na tym serwisie, zostanie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?";
+App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Konto {0} zostanie usuniete!\\n\\nWszystko co opublikowano z tego konta na tym serwisie zostanie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?";
+App::$strings["Off"] = "Off";
+App::$strings["On"] = "On";
+App::$strings["Lock feature %s"] = "Blokuj funkcjÄ™ %s";
+App::$strings["Manage Additional Features"] = "ZarzÄ…dzaj dodatkowymi funkcjami";
+App::$strings["Queue Statistics"] = "Statystyki kolejki";
+App::$strings["Total Entries"] = "Ogółem postów";
+App::$strings["Priority"] = "Priorytet";
+App::$strings["Destination URL"] = "Docelowy URL";
+App::$strings["Mark hub permanently offline"] = "Oznacz hub na stałe w trybie offline";
+App::$strings["Empty queue for this hub"] = "Pusta kolejka dla tego huba";
+App::$strings["Last known contact"] = "Ostatni znany kontakt";
+App::$strings["Update has been marked successful"] = "Aktualizacja została oznaczona jako pomyślna";
+App::$strings["Verification of update %s failed. Check system logs."] = "Weryfikacja aktualizacji %s nie zakończyła się pomyślnie. Sprawdź dzienniki systemowe.";
+App::$strings["Update %s was successfully applied."] = "Aktualizacja %s została pomyślnie zastosowana.";
+App::$strings["Verifying update %s did not return a status. Unknown if it succeeded."] = "Weryfikacja aktualizacji %s nie zwróciła stanu. Nie wiadomo, czy się udało.";
+App::$strings["Update %s does not contain a verification function."] = "Aktualizacja %s nie zawiera funkcji weryfikacji.";
+App::$strings["Update function %s could not be found."] = "Nie można znaleźć funkcji aktualizacji %s.";
+App::$strings["Executing update procedure %s failed. Check system logs."] = "Wykonanie procedury aktualizacji %s nie powiodło się. Sprawdź dzienniki systemowe.";
+App::$strings["Update %s did not return a status. It cannot be determined if it was successful."] = "Aktualizacja %s nie zwróciła stanu. Nie można ustalić, czy się udało.";
+App::$strings["Failed Updates"] = "Nieudane aktualizacje";
+App::$strings["Mark success (if update was manually applied)"] = "Oznacz sukces (jeśli aktualizacja została wykonana ręcznie)";
+App::$strings["Attempt to verify this update if a verification procedure exists"] = "Spróbuj zweryfikować tą aktualizację, jeśli istnieje procedura weryfikacji";
+App::$strings["Attempt to execute this update step automatically"] = "Spróbuj automatycznie wykonać ten krok aktualizacji";
+App::$strings["No failed updates."] = "Nie ma nieudanych aktualizacji.";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "%s kanał jest ocenzurowany/nieocenzurowany",
+ 1 => "%s kanały są ocenzurowane/nieocenzurowane",
+ 2 => "%s kanałów jest ocenzurowanych/nieocenzurowanych",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "Kod %s kanału jest dozwolony /niedozwolony",
+ 1 => "Kod %s kanałów jest dozwolony/niedozwolony",
+ 2 => "Kod %s kanałów jest dozwolony/niedozwolony",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s kanał został usunięty",
+ 1 => "%s kanały zostały usunięte",
+ 2 => "%s kanałów został usuniętych",
+);
+App::$strings["Channel not found"] = "Kanał nie został znaleziony";
+App::$strings["Channel '%s' deleted"] = "Kanał '%s' został usunięty";
+App::$strings["Channel '%s' censored"] = "Kanał '%s' został ocenzurowany";
+App::$strings["Channel '%s' uncensored"] = "Kanał '%s' jest nieocenzurowany";
+App::$strings["Channel '%s' code allowed"] = "Dozwolony kod kanału '%s'";
+App::$strings["Channel '%s' code disallowed"] = "Niedozwolony kod kanału '%s'";
+App::$strings["Censor"] = "Cezoruj";
+App::$strings["Uncensor"] = "Usuń cenzurę";
+App::$strings["Allow Code"] = "Zezwalaj na kod";
+App::$strings["Disallow Code"] = "Nie zezwalaj na kod";
+App::$strings["Channel"] = "Kanał";
+App::$strings["UID"] = "UID";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Wybrane kanały zostaną usunięte!\\n\\nWszystko co zostało w nich opublikowane będzie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanał {0} zostanie usunięty!\\n\\nWszystko co opublikowano na tym kanale będzie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?";
+App::$strings["Log settings updated."] = "Zaktualizowano ustawienia dziennika.";
+App::$strings["Logs"] = "Logi";
+App::$strings["Clear"] = "Wyczyść";
+App::$strings["Debugging"] = "Debugowanie";
+App::$strings["Log file"] = "Plik dziennika";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Musi mieć możliwość zapisu przez serwer WWW. Względnie do katalogu głównego serwera WWW.";
+App::$strings["Log level"] = "Poziom rejestrowania zdarzeń";
+App::$strings["Password changed for account %d."] = "Hasło zostało zmienione do konta%d.";
+App::$strings["Account settings updated."] = "Zaktualizowano ustawienia konta.";
+App::$strings["Account not found."] = "Konto nie zostało znalezione.";
+App::$strings["Account Edit"] = "Edycja konta";
+App::$strings["New Password"] = "Nowe hasło";
+App::$strings["New Password again"] = "Powtórz nowe hasło";
+App::$strings["Account language (for emails)"] = "Język konta (dla wiadomości e-mail)";
+App::$strings["Service class"] = "Klasa usługi";
+App::$strings["Plugin %s disabled."] = "Wtyczka %s jest wyłączona.";
+App::$strings["Plugin %s enabled."] = "Wtyczka %s jest włączona.";
+App::$strings["Addons"] = "Dodatki";
+App::$strings["Minimum project version: "] = "Minimalna wersja projektu: ";
+App::$strings["Maximum project version: "] = "Maksymalna wersja projektu: ";
+App::$strings["Minimum PHP version: "] = "Minimalna wersja PHP: ";
+App::$strings["Compatible Server Roles: "] = "Zgodne role serwera: ";
+App::$strings["Requires: "] = "Wymaga: ";
+App::$strings["Disabled - version incompatibility"] = "Wyłączone - niezgodność wersji";
+App::$strings["Enter the public git repository URL of the addon repo."] = "Wprowadź adres URL publicznego repozytorium Git dodatków.";
+App::$strings["Addon repo git URL"] = "Adres URL repozytorium Git dodatków";
+App::$strings["Custom repo name"] = "Własna nazwa repozytorium";
+App::$strings["(optional)"] = "(opcjonalnie)";
+App::$strings["Download Addon Repo"] = "Pobierz repozytorium dodatków";
+App::$strings["Install new repo"] = "Zainstaluj nowe repozytorium";
+App::$strings["Install"] = "Zainstaluj";
+App::$strings["Manage Repos"] = "ZarzÄ…dzaj repozytoriami";
+App::$strings["Installed Addon Repositories"] = "Zainstalowane repozytoria dodatków";
+App::$strings["Install a New Addon Repository"] = "Zainstaluj nowe repozytorium dodatków";
+App::$strings["Switch branch"] = "Przełącz gałąź";
+App::$strings["Site settings updated."] = "Zaktualizowano ustawienia serwisu.";
+App::$strings["Default"] = "Domyślnie";
+App::$strings["%s - (Incompatible)"] = "%s - (niekompatybilne)";
+App::$strings["mobile"] = "urządzenie przenośne";
+App::$strings["experimental"] = "eksperymentalne";
+App::$strings["unsupported"] = "nieobsługiwane";
+App::$strings["Yes - with approval"] = "Tak - za zgodÄ…";
+App::$strings["My site is not a public server"] = "Mój sewis nie jest serwerem publicznym";
+App::$strings["My site has paid access only"] = "Mój serwis ma tylko płatny dostęp";
+App::$strings["My site has free access only"] = "Mój serwis ma tylko bezpłatny dostęp";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "Mój serwis oferuje darmowe konta z opcjonalnymi płatnymi aktualizacjami";
+App::$strings["Default permission role for new accounts"] = "Domyślna rola uprawnień dla nowych kont";
+App::$strings["This role will be used for the first channel created after registration."] = "Ta rola będzie używana dla pierwszego kanału utworzonego po rejestracji.";
+App::$strings["Site"] = "Witryna";
+App::$strings["Registration"] = "Rejestracja";
+App::$strings["File upload"] = "Udostępnianie pliku";
+App::$strings["Policies"] = "Zasady";
+App::$strings["Advanced"] = "Zaawansowane";
+App::$strings["Site name"] = "Nazwa witryny internetowej";
+App::$strings["Banner/Logo"] = "Baner/Logo";
+App::$strings["Unfiltered HTML/CSS/JS is allowed"] = "Dozwolony jest niefiltrowany kodd HTML/CSS /JS";
+App::$strings["Administrator Information"] = "Informacje administratora";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Informacje kontaktowe dla administratorów serwisu. Wyświetlane na stronie informacji o serwisie. Tutaj można użyć BBCode";
+App::$strings["Site Information"] = "Informacje o serwisie";
+App::$strings["Publicly visible description of this site. Displayed on siteinfo page. BBCode can be used here"] = "Publicznie widoczny opis tego serwisu. Wyświetlane na stronie informacji o serwisie. Tutaj można użyć BBCode";
+App::$strings["System language"] = "Język systemu";
+App::$strings["System theme"] = "Motyw systemu";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Domyślny motyw systemu - może zostać zastąpiony przez profile użytkowników - <a href='#' id='cnftheme'>zmień ustawienia motywu</a>";
+App::$strings["Allow Feeds as Connections"] = "Zezwalaj na kanały jako połączenia";
+App::$strings["(Heavy system resource usage)"] = "(Duże zużycie zasobów systemowych)";
+App::$strings["Maximum image size"] = "Maksymalny rozmiar obrazu";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maksymalny rozmiar przesłanych obrazów w bajtach. Wartość domyślna to 0, co oznacza brak ograniczeń.";
+App::$strings["Does this site allow new member registration?"] = "Czy ta witryna umożliwia rejestrację nowych członków?";
+App::$strings["Invitation only"] = "Tylko z zaproszeniem";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Zezwalaj tylko na rejestracje nowych członków za pomocą kodu zaproszenia. Powyższe zasady rejestrów muszą być ustawione na Tak.";
+App::$strings["Minimum age"] = "Minimalny wiek";
+App::$strings["Minimum age (in years) for who may register on this site."] = "Minimalny wiek (w latach) dla osób, które mogą zarejestrować się na tej stronie.";
+App::$strings["Which best describes the types of account offered by this hub?"] = "Które z poniższych stwierdzeń najlepiej opisuje rodzaje kont oferowanych przez ten hub?";
+App::$strings["This is displayed on the public server site list."] = "Jest to wyświetlane na liście witryn publicznych serwerów.";
+App::$strings["Register text"] = "Tekst rejestracyjny";
+App::$strings["Will be displayed prominently on the registration page."] = "Zostanie on wyświetlony w widocznym miejscu na stronie rejestracji.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Strona główna serwisu do wyświetlania odwiedzającym (domyślnie: formularz logowania)";
+App::$strings["example: 'pubstream' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "przykład: 'pubstream', aby pokazać strumień publiczny, 'page/sys/home', aby wyświetlić systemową stronę internetową o nazwie 'home' lub 'include: home.html', aby dołączyć plik.";
+App::$strings["Preserve site homepage URL"] = "Zachowaj adres URL strony głównej serwisu";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Przedstaw stronę główną serwisu w ramce w oryginalnej lokalizacji zamiast przekierowywania";
+App::$strings["Accounts abandoned after x days"] = "Konta porzucone po x dniach";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Nie marnuje zasobów systemowych na odpytywanie zewnętrznych witryn w poszukiwaniu porzuconych kont. Wpisz 0, aby nie mieć limitu czasu.";
+App::$strings["Allowed friend domains"] = "Dozwolone domeny znajomych";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Rozdzielana przecinkami lista domen, które mogą zawierać przyjaźnie z tą witryną. Akceptowane są symbole wieloznaczne. Puste oznacza zezwolenie na dowolne domeny";
+App::$strings["Verify Email Addresses"] = "Zweryfikuj adresy e-mail";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Zaznacz, aby zweryfikować adresy e-mail użyte podczas rejestracji konta (zalecane).";
+App::$strings["Force publish"] = "WymuÅ› publikacjÄ™";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Zaznacz, aby wymusić wyświetlanie wszystkich profili w tym serwisie w katalogu witryn.";
+App::$strings["Import Public Streams"] = "Importuj strumienie publiczne";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importuj i zezwalaj na dostęp do treści publicznych pobranych z innych serwisów. Ostrzeżenie: ta zawartość jest niemoderowana.";
+App::$strings["Site only Public Streams"] = "W serwisie tylko strumienie publiczne";
+App::$strings["Allow access to public content originating only from this site if Imported Public Streams are disabled."] = "Zezwalaj na dostęp do treści publicznych pochodzących tylko z tego serwisu, jeśli importowane strumienie publiczne są wyłączone.";
+App::$strings["Allow anybody on the internet to access the Public streams"] = "Zezwól każdemu w internecie na dostęp do strumieni publicznych";
+App::$strings["Disable to require authentication before viewing. Warning: this content is unmoderated."] = "Wyłącz, aby wymagać uwierzytelnienia przed przeglądaniem. Ostrzeżenie: ta zawartość jest niemoderowana.";
+App::$strings["Only import Public stream posts with this text"] = "Importuj tylko posty ze strumienia publicznego z tym tekstem";
+App::$strings["Do not import Public stream posts with this text"] = "Nie importuj postów ze strumienia publicznego z tym tekstem";
+App::$strings["Login on Homepage"] = "Zaloguj się na stronie głównej";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Przedstaw formularz logowania odwiedzającym na stronie głównej, jeśli nie skonfigurowano żadnych innych treści.";
+App::$strings["Enable context help"] = "Włącz pomoc kontekstową";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Wyświetlanie pomocy kontekstowej dla bieżącej strony po naciśnięciu przycisku pomocy.";
+App::$strings["Reply-to email address for system generated email."] = "Zwrotny adres e-mail dla wiadomości wygenerowanych przez system.";
+App::$strings["Sender (From) email address for system generated email."] = "Adres e-mail nadawcy (Od) wiadomości e-mail wygenerowanej przez system.";
+App::$strings["Name of email sender for system generated email."] = "Nazwa nadawcy wiadomości e-mail wygenerowanej przez system.";
+App::$strings["Directory Server URL"] = "Adres URL serwera katalogowego";
+App::$strings["Default directory server"] = "Domyślny serwer katalogowy";
+App::$strings["Enable SSE Notifications"] = "Włącz powiadomienia SSE";
+App::$strings["If disabled, traditional polling will be used. Warning: this setting might not be suited for shared hosting"] = "Jeśli wyłączone, będzie używane tradycyjne odpytywanie. Ostrzeżenie: to ustawienie może nie być odpowiednie dla hostingu współdzielonego";
+App::$strings["Proxy user"] = "Użytkownik proxy";
+App::$strings["Proxy URL"] = "URL proxy";
+App::$strings["Network timeout"] = "Limit czasu sieci";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Wartość w sekundach. Ustaw na 0 dla nieograniczonej liczby (niezalecane).";
+App::$strings["Delivery interval"] = "Interwał dostaw";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Opóźnij procesy dostarczania w tle o kilka sekund, aby zmniejszyć obciążenie systemu. Zalecane: 4-5 dla hostów współdzielonych, 2-3 dla wirtualnych serwerów prywatnych. 0-1 dla dużych serwerów dedykowanych.";
+App::$strings["Deliveries per process"] = "Dostawy na proces";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Liczba dostaw do podjęcia w ramach jednego procesu systemu operacyjnego. W razie potrzeby dostosuj, aby dostroić wydajność systemu. Polecam: 1-5.";
+App::$strings["Queue Threshold"] = "Próg kolejki";
+App::$strings["Always defer immediate delivery if queue contains more than this number of entries."] = "Zawsze odraczaj natychmiastowe dostarczenie, jeśli kolejka zawiera więcej pozycji niż ta.";
+App::$strings["Poll interval"] = "Okres odpytywania";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Opóźnij procesy sondowania w tle o kilka sekund, aby zmniejszyć obciążenie systemu. Jeśli 0, użyty będzie interwał dostawy.";
+App::$strings["Path to ImageMagick convert program"] = "Ścieżka do programu konwertującego ImageMagick";
+App::$strings["If set, use this program to generate photo thumbnails for huge images ( > 4000 pixels in either dimension), otherwise memory exhaustion may occur. Example: /usr/bin/convert"] = "Jeśli jest ustawiona, użyj tego programu do generowania miniatur zdjęć dla dużych obrazów (> 4000 pikseli w każdym wymiarze), w przeciwnym razie może wystąpić wyczerpanie pamięci. Przykład: /usr/bin/convert";
+App::$strings["Maximum Load Average"] = "Maksymalne średnie obciążenie";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maksymalne obciążenie systemu przed odroczeniem procesów dostarczania i odpytywania - domyślnie 50.";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Okres ważności w dniach dla zaimportowanej treści (siatki/sieci)";
+App::$strings["0 for no expiration of imported content"] = "0 dla braku wygaśnięcia zaimportowanej treści";
+App::$strings["Do not expire any posts which have comments less than this many days ago"] = "Nie wygasaj żadnych postów, które mają komentarze z datami mniejszymi niż ta wartość dni temu";
+App::$strings["Public servers: Optional landing (marketing) webpage for new registrants"] = "Serwery publiczne: opcjonalna strona lÄ…dowania (marketingowa) dla nowych rejestrujÄ…cych";
+App::$strings["Create this page first. Default is %s/register"] = "Utwórz najpierw tą stronę. Domyślnie %s/ register";
+App::$strings["Page to display after creating a new channel"] = "Strona do wyświetlenia po utworzeniu nowego kanału";
+App::$strings["Default: profiles"] = "Domyślnie: profile";
+App::$strings["Optional: site location"] = "Opcjonalnie: lokalizacja serwisu";
+App::$strings["Region or country"] = "Region lub kraj";
+App::$strings["New Profile Field"] = "Nowe pole profilu";
+App::$strings["Field nickname"] = "Krótka nazwa pola";
+App::$strings["System name of field"] = "Systemowa nazwa pola";
+App::$strings["Input type"] = "Typ wejścia";
+App::$strings["Field Name"] = "Nazwa Pola";
+App::$strings["Label on profile pages"] = "Etykieta na stronach profilu";
+App::$strings["Help text"] = "Tekst pomocy";
+App::$strings["Additional info (optional)"] = "Dodatkowe informacje (opcjonalnie)";
+App::$strings["Field definition not found"] = "Nie znaleziono definicji pola";
+App::$strings["Edit Profile Field"] = "Edytuj pole profilu";
+App::$strings["Profile Fields"] = "Pola profilu";
+App::$strings["Basic Profile Fields"] = "Podstawowe pola profilu";
+App::$strings["Advanced Profile Fields"] = "Zaawansowane pola profilu";
+App::$strings["(In addition to basic fields)"] = "(Oprócz podstawowych pól)";
+App::$strings["All available fields"] = "Wszystkie dostępne pola";
+App::$strings["Custom Fields"] = "Pola niestandardowe";
+App::$strings["Create Custom Field"] = "Utwórz własne pole";
+App::$strings["No more system notifications."] = "Nigdy więcej powiadomień systemowych.";
+App::$strings["System Notifications"] = "Powiadomienia systemowe";
+App::$strings["Permissions denied."] = "Odmowa dostępu.";
+App::$strings["Thing updated"] = "Rzecz zaktualizowana";
+App::$strings["Object store: failed"] = "Magazyn obiektów: błąd";
+App::$strings["Thing added"] = "Rzecz dodana";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Wyświetl rzecz";
+App::$strings["item not found."] = "pozycja nie została znaleziona.";
+App::$strings["Edit Thing"] = "Edytuj rzecz";
+App::$strings["Select a profile"] = "Wybierz profile";
+App::$strings["Post an activity"] = "Opublikuj aktywność";
+App::$strings["Only sends to viewers of the applicable profile"] = "Wysyłane tylko do osób przeglądających odpowiedni profil";
+App::$strings["Name of thing e.g. something"] = "Nazwa rzeczy, np. coÅ›";
+App::$strings["URL of thing (optional)"] = "URL rzeczy (opcjonalnie)";
+App::$strings["URL for photo of thing (optional)"] = "URL do zdjęcia rzeczy (opcjonalnie)";
+App::$strings["Add Thing to your Profile"] = "Dodaj rzecz do swojego profilu";
+App::$strings["Suggest Channels App"] = "Aplikacja Suggest Channels";
+App::$strings["Suggestions for channels in the \$Projectname network you might be interested in"] = "Propozycje dotyczące kanałów w sieci \$Projectname, które mogą Cię zainteresować";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Brak dostępnych prpozycji. Jeśli to jest nowy serwis, spróbuj ponownie za 24 godziny.";
+App::$strings["Ignore/Hide"] = "Ignoruj/Ukryj";
+App::$strings["Channel Suggestions"] = "Sugerowane kanały";
+App::$strings["Email Verification Required"] = "Wymagana jest weryfikacja adresu e-mail";
+App::$strings["A verification token was sent to your email address [%s]. Enter that token here to complete the account verification step. Please allow a few minutes for delivery, and check your spam folder if you do not see the message."] = "Token weryfikacyjny został wysłany na Twój adres e-mail [% s]. Wprowadź tuta ten token, aby zakończyć etap weryfikacji konta. Poczekaj kilka minut na dostarczenie i jeśli nie widzisz wiadomości, sprawdź folder ze spamem.";
+App::$strings["Resend Email"] = "Wyślij ponownie wiadomość e-mail";
+App::$strings["Validation token"] = "Token walidacyjny";
+App::$strings["Notes App"] = "Aplikacja Notes";
+App::$strings["A simple notes app with a widget (note: notes are not encrypted)"] = "Prosta aplikacja do notatek z widżetem (uwaga: notatki nie są szyfrowane)";
+App::$strings["This channel is limited to %d tokens"] = "Ten kanał jest ograniczony do %d tokenów";
+App::$strings["Name and Password are required."] = "Wymagane są Imię i hasło.";
+App::$strings["Token saved."] = "Token został zapisany.";
+App::$strings["Guest Access App"] = "Aplikacja Guest Access";
+App::$strings["Create access tokens so that non-members can access private content"] = "Utwórz tokeny dostępu, aby osoby niebędące członkami mogły uzyskać dostęp do treści prywatnych";
+App::$strings["Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access private content."] = "Użyj tego formularza, aby utworzyć tymczasowe identyfikatory dostępu, aby udostępniać rzeczy osobom niebędącym członkami. Tożsamości te mogą być używane na listach kontroli dostępu, a odwiedzający mogą logować się przy użyciu tych poświadczeń, aby uzyskać dostęp do treści prywatnych.";
+App::$strings["You may also provide <em>dropbox</em> style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:"] = "Możesz także udostępnić znajomym i współpracownikom łącza dostępu w stylu <em>dropbox</em>, dodając hasło logowania do dowolnego adresu URL witryny, jak pokazano na ilustracji. Przykłady:";
+App::$strings["Guest Access Tokens"] = "Tokent Guest Access";
+App::$strings["Login Name"] = "Nazwa logowania";
+App::$strings["Login Password"] = "Hasło logowania";
+App::$strings["Expires (yyyy-mm-dd)"] = "Wygasa (rrrr-mm-dd)";
+App::$strings["Change Order of Pinned Navbar Apps"] = "Zmień kolejność aplikacji przypiętych do paska nawigacyjnego";
+App::$strings["Change Order of App Tray Apps"] = "Zmień kolejność aplikacji na pasku aplikacji";
+App::$strings["Use arrows to move the corresponding app left (top) or right (bottom) in the navbar"] = "Użyj strzałek, aby przesunąć odpowiednią aplikację w lewo (u góry) lub w prawo (u dołu) na pasku nawigacyjnym";
+App::$strings["Use arrows to move the corresponding app up or down in the app tray"] = "Użyj strzałek, aby przesunąć odpowiednią aplikację w górę lub w dół w zasobniku aplikacji";
+App::$strings["Mark all seen"] = "Oznacz wszystkie jako oglądnięte";
+App::$strings["\$Projectname"] = "Hubzilla";
+App::$strings["Welcome to %s"] = "Witamy w %s";
+App::$strings["Articles App"] = "Aplikacja Articles";
+App::$strings["Create interactive articles"] = "Twórz interaktywne artykuły";
+App::$strings["Add Article"] = "Dodaj artykuł";
+App::$strings["Articles"] = "Artykuły";
+App::$strings["\$Projectname Server - Setup"] = "Serwer \$Projectname - Konfiguracja";
+App::$strings["Could not connect to database."] = "Nie można połączyć się z bazą danych.";
+App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Nie można połączyć się z określonym adresem URL serwisu. Możliwy problem z certyfikatem SSL lub DNS.";
+App::$strings["Could not create table."] = "Nie udało się utworzyć tabeli.";
+App::$strings["Your site database has been installed."] = "Baza danych serwisu została zainstalowana.";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Może być konieczne ręczne zaimportowanie pliku „install/schema_xxx.sql†za pomocą klienta bazy danych.";
+App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Zobacz plik \"install/INSTALL.txt\".";
+App::$strings["System check"] = "Sprawdzanie systemu";
+App::$strings["Check again"] = "Sprawdź ponownie";
+App::$strings["Database connection"] = "Połączenie z bazą danych";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Aby zainstalować \$Projectname, musimy wiedzieć, jak połączyć się z twoją bazą danych.";
+App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Jeśli masz pytania dotyczące tych ustawień, skontaktuj się z dostawcą usług hostingowych lub administratorem serwisu.";
+App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Baza danych, którą określisz poniżej, powinna już istnieć. Jeśli tak się nie stało, utwórz ją przed kontynuowaniem.";
+App::$strings["Database Server Name"] = "Nazwa serwera bazy danych";
+App::$strings["Default is 127.0.0.1"] = "Domyślnie, 127.0.0.1";
+App::$strings["Database Port"] = "Port bazy danych";
+App::$strings["Communication port number - use 0 for default"] = "Numer portu komunikacyjnego - dla wartości domyślnej użyj 0";
+App::$strings["Database Login Name"] = "Nazwa logowania do bazy danych";
+App::$strings["Database Login Password"] = "Hasło logowania do bazy danych";
+App::$strings["Database Name"] = "Nazwa bazy danych";
+App::$strings["Database Type"] = "Typ bazy danych";
+App::$strings["Site administrator email address"] = "Adres e-mail administratora serwisu";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "Adres e-mail Twojego konta będzie musi być zgodny z tym adresem, aby móc korzystać z panelu administratora sieci.";
+App::$strings["Website URL"] = "Adres URL serwisu";
+App::$strings["Please use SSL (https) URL if available."] = "Użyj adresu URL z SSL (https), jeśli jest dostępny.";
+App::$strings["Please select a default timezone for your website"] = "Wybierz domyślną strefę czasową dla swojego serwisu";
+App::$strings["Site settings"] = "Ustawienia serwisu";
+App::$strings["PHP version 7.1 or greater is required."] = "Wymagany jest PHP w wersji 7.1 lub wyższej.";
+App::$strings["PHP version"] = "Wersja PHP";
+App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Nie można znaleźć wersji CLI PHP w zmiennej PATH serwerze WWW.";
+App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Jeśli nie masz wersji CLI PHP zainstalowanej na serwerze, nie będzie można uruchomić odpytywania w tle przez cron.";
+App::$strings["PHP executable path"] = "Ścieżka do pliku wykonywalnego PHP";
+App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Wpisz pełną ścieżkę do pliku wykonywalnego php. Możesz pozostawić to pole puste, aby kontynuować instalację.";
+App::$strings["Command line PHP"] = "PHP CLI";
+App::$strings["Unable to check command line PHP, as shell_exec() is disabled. This is required."] = "Nie można sprawdzić PHP CLI, ponieważ funkcja shell_exec() jest wyłączona. To jest wymagane.";
+App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "PHP CLI w Twoim systemie nie ma włączonego \"register_argc_argv\".";
+App::$strings["This is required for message delivery to work."] = "Jest to konieczne,, aby dostarczanie wiadomości działało.";
+App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+App::$strings["This is not sufficient to upload larger images or files. You should be able to upload at least 4 MB at once."] = "To nie wystarczy, aby przesłać większe obrazy lub pliki. Powinieneś móc przesłać co najmniej 4 MB na raz.";
+App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "Twój maksymalny dopuszczalny łączny rozmiar przesyłanych plików to %s. Maksymalny rozmiar jednego pliku do przesłania to %s. Możesz przesłać jednocześnie do %d plików.";
+App::$strings["You can adjust these settings in the server php.ini file."] = "Możesz dostosować te ustawienia w pliku php.ini na serwerze.";
+App::$strings["PHP upload limits"] = "Limity wysyłania PHP";
+App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Błąd: funkcja \"openssl_pkey_new\" w tym systemie nie jest w stanie wygenerować kluczy szyfrujących";
+App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Jeśli pracujesz w systemie Windows, przeczytaj \"http://www.php.net/manual/en/openssl.installation.php\".";
+App::$strings["Generate encryption keys"] = "Wygeneruj klucze szyfrowania";
+App::$strings["libCurl PHP module"] = "moduł PHP libCurl";
+App::$strings["GD graphics PHP module"] = "Moduł PHP GD graphics";
+App::$strings["OpenSSL PHP module"] = "Moduł PHP OpenSSL";
+App::$strings["PDO database PHP module"] = "Moduł PHP PDO";
+App::$strings["mb_string PHP module"] = "moduł PHP mb_string PHP";
+App::$strings["xml PHP module"] = "moduł PHP xml";
+App::$strings["zip PHP module"] = "moduł PHP zip";
+App::$strings["Apache mod_rewrite module"] = "Moduł Apache mod_rewrite";
+App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Błąd: wymagany jest moduł mod-rewrite serwera Apache, ale nie jest zainstalowany.";
+App::$strings["exec"] = "exec";
+App::$strings["Error: exec is required but is either not installed or has been disabled in php.ini"] = "Błąd: wymagany jest program exec ale nie jest on zainstalowany lub został wyłączony w php.ini";
+App::$strings["shell_exec"] = "shell_exec";
+App::$strings["Error: shell_exec is required but is either not installed or has been disabled in php.ini"] = "Błąd: wymagany jest shell_exec, ale nie jest zainstalowany lub został wyłączony w php.ini";
+App::$strings["Error: libCURL PHP module required but not installed."] = "Błąd: wymagany jest moduł PHP libCURL, ale nie jest zainstalowany.";
+App::$strings["Error: GD PHP module with JPEG support or ImageMagick graphics library required but not installed."] = "Błąd: wymagany jest moduł PHP GD z obsługą formatu JPEG lub biblioteką graficzną ImageMagick, ale nie jest on zainstalowany.";
+App::$strings["Error: openssl PHP module required but not installed."] = "Błąd: wymagany jest moduł PHP openssl, ale niezainstalowany.";
+App::$strings["Error: PDO database PHP module missing a driver for either mysql or pgsql."] = "Błąd: w module PHP PDO brakuje sterownika dla mysql lub pgsql.";
+App::$strings["Error: PDO database PHP module required but not installed."] = "Błąd: wymagany jest moduł PHP PDO, ale nie jest zainstalowany.";
+App::$strings["Error: mb_string PHP module required but not installed."] = "Błąd: wymagany, ale niezainstalowany moduł mb_string PHP.";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "Błąd: moduł XML PHP wymagany dla DAV, ale nie jest zainstalowany.";
+App::$strings["Error: zip PHP module required but not installed."] = "Błąd: wymagany jest moduł PHP zip, ale nie jest on zainstalowany.";
+App::$strings[".htconfig.php is writable"] = ".htconfig.php jest możliwy do zapisu";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "Instalator internetowy musi mieć możliwość utworzenia pliku o nazwie \".htconfig.php\" w głównym folderze serwera WWW a nie może tego zrobić.";
+App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Najczęściej jest to ustawienie uprawnień, ponieważ serwer WWW może nie być w stanie zapisywać plików w Twoim folderze - nawet jeśli możesz.";
+App::$strings["Please see install/INSTALL.txt for additional information."] = "Dodatkowe informacje można znaleźć w pliku install/INSTALL.txt.";
+App::$strings["This software uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "To oprogramowanie wykorzystuje silnik szablonów Smarty3 do renderowania widoków internetowych. Smarty3 kompiluje szablony do PHP, aby przyspieszyć renderowanie.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "Aby przechowywać te skompilowane szablony, serwer sieciowy musi mieć dostęp do zapisu w katalogu %s zlokalizowanym w folderze głównym serwera WWW.";
+App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Upewnij się, że właściciel procesu serwer WWW (np. www-data), ma prawo do zapisu w tym folderze.";
+App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Uwaga: ze względów bezpieczeństwa powinno się dać serwerowi WWW prawo zapisu tylko do %s - nie do plików szablonów (.tpl), które on zawiera.";
+App::$strings["%s is writable"] = "%s jest możliwy do zapisu";
+App::$strings["This software uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the top level web folder"] = "To oprogramowanie używa katalogu <i>store</i> do zapisywania przesyłanych plików. Serwer WWW musi mieć dostęp do zapisu w katalogu <i>store</i>, znajdującego się w folderze serwera WWW najwyższego poziomu";
+App::$strings["store is writable"] = "katalog store jest możliwy do zapisu";
+App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Nie można zweryfikować certyfikatu SSL. Napraw certyfikat lub wyłącz dostęp https do tej witryny.";
+App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Jeśli masz dostęp https do swojego serwisu internetowego lub zezwalasz na połączenia z portem TCP 443 (port https:), MUSISZ użyć certyfikatu akceptowanego przez przeglądarki. NIE WOLNO używać certyfikatów z podpisem własnym!";
+App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "To ograniczenie zostało wprowadzone, ponieważ Twoje publiczne posty mogą na przykład zawierać odniesienia do obrazów na Twoim hubie.";
+App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Jeśli Twój certyfikat nie zostanie rozpoznany, członkowie innych witryn (którzy sami mogą mieć ważne certyfikaty) otrzymają komunikat ostrzegawczy we własnej witrynie, ostrzegający o problemie z bezpieczeństwem.";
+App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Może to powodować problemy z użytecznością w innym serwisie (nie tylko na Twoim), więc musimy nalegać na to wymaganie.";
+App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Są dostępni dostawcy, którzy wydają bezpłatne certyfikaty akceptowane przez przeglądarki.";
+App::$strings["If you are confident that the certificate is valid and signed by a trusted authority, check to see if you have failed to install an intermediate cert. These are not normally required by browsers, but are required for server-to-server communications."] = "Jeśli masz pewność, że certyfikat jest ważny i podpisany przez zaufany urząd, sprawdź, czy nie udało się zainstalować certyfikatu pośredniego. Zwykle nie są one wymagane przez przeglądarki, ale są wymagane do komunikacji między serwerami.";
+App::$strings["SSL certificate validation"] = "Walidacja certyfikatu SSL";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Przepisywanie adresu URL w .htaccess nie działa. Sprawdź konfigurację serwera. Test: ";
+App::$strings["Url rewrite is working"] = "Przepisywanie adresu URL działa";
+App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Nie można zapisać pliku konfiguracyjnego bazy danych \".htconfig.php\". Użyj załączonego tekstu, aby utworzyć plik konfiguracyjny w katalogu głównym serwera WWW.";
+App::$strings["Errors encountered creating database tables."] = "Napotkano błędy podczas tworzenia tabel bazy danych.";
+App::$strings["<h1>What next?</h1>"] = "<h1>Co następnie?</h1>";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WAŻNE: Będziesz musiał [ręcznie] ustawić zaplanowane zadanie dla ankietera.";
+App::$strings["No default suggestions were found."] = "Nie znaleziono domyślnych prpozycji.";
+App::$strings["%d rating"] = array(
+ 0 => "%d ocen",
+ 1 => "%d oceny",
+ 2 => "%d ocen",
+);
+App::$strings["Gender: "] = "Płeć: ";
+App::$strings["Status: "] = "Status: ";
+App::$strings["Homepage: "] = "Strona główna: ";
+App::$strings["Age:"] = "Wiek:";
+App::$strings["Location:"] = "Lokalizacja:";
+App::$strings["Description:"] = "Opis:";
+App::$strings["Hometown:"] = "Miasto pobytu:";
+App::$strings["About:"] = "O mnie:";
+App::$strings["Public Forum:"] = "Forum publiczne:";
+App::$strings["Keywords: "] = "Słowa kluczowe: ";
+App::$strings["Don't suggest"] = "Nie sugeruj";
+App::$strings["Common connections (estimated):"] = "Popularne połączenia (oszacowanie):";
+App::$strings["Global Directory"] = "Katalog globalny";
+App::$strings["Local Directory"] = "Katalog lokalny";
+App::$strings["Finding:"] = "Odnaleziono:";
+App::$strings["next page"] = "następna strona";
+App::$strings["previous page"] = "poprzednia strona";
+App::$strings["Sort options"] = "Opcje sortowania";
+App::$strings["Alphabetic"] = "Alfabetycznie";
+App::$strings["Reverse Alphabetic"] = "Odwróć alfabetycznie";
+App::$strings["Newest to Oldest"] = "Od najnowszych do najstarszych";
+App::$strings["Oldest to Newest"] = "Od najstarszych do najnowszych";
+App::$strings["No entries (some entries may be hidden)."] = "Brak postów (niektóre posty mogą być ukryte).";
+App::$strings["Menu not found."] = "Nie znaleziono menu.";
+App::$strings["Unable to create element."] = "Nie można utworzyć elementu.";
+App::$strings["Unable to update menu element."] = "Nie można zaktualizować elementu menu.";
+App::$strings["Unable to add menu element."] = "Nie można dodać elementu menu.";
+App::$strings["Menu Item Permissions"] = "Uprawnienia do pozycji menu";
+App::$strings["(click to open/close)"] = "(kliknij, aby otworzyć/zamknąć)";
+App::$strings["Link Name"] = "Nazwa linku";
+App::$strings["Link or Submenu Target"] = "Link lub element docelowy podmenu";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Wprowadź adres URL linku lub wybierz nazwę menu, aby utworzyć podmenu";
+App::$strings["Use magic-auth if available"] = "Użyj magicznego uwierzytelniania, jeśli jest dostępne";
+App::$strings["Open link in new window"] = "Otwórz link w nowym oknie";
+App::$strings["Order in list"] = "PorzÄ…dek listy";
+App::$strings["Higher numbers will sink to bottom of listing"] = "Wyższe liczby spadną na koniec listy";
+App::$strings["Submit and finish"] = "Prześlij i zakończ";
+App::$strings["Submit and continue"] = "Prześlij i kontynuuj";
+App::$strings["Menu:"] = "Menu:";
+App::$strings["Link Target"] = "Cel linku";
+App::$strings["Edit menu"] = "Edytuj menu";
+App::$strings["Edit element"] = "Edytuj element";
+App::$strings["Drop element"] = "Upuść element";
+App::$strings["New element"] = "Nowy element";
+App::$strings["Edit this menu container"] = "Edytuj ten kontener menu";
+App::$strings["Add menu element"] = "Dodaj element menu";
+App::$strings["Delete this menu item"] = "Usuń tę pozycję menu";
+App::$strings["Edit this menu item"] = "Edytuj tÄ™ pozycjÄ™ menu";
+App::$strings["Menu item not found."] = "Nie znaleziono elementu menu.";
+App::$strings["Menu item deleted."] = "Usunieto element menu.";
+App::$strings["Menu item could not be deleted."] = "Nie można usunąć elementu menu.";
+App::$strings["Edit Menu Element"] = "Edytuj element menu";
+App::$strings["Link text"] = "Tekst linku";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s jest %2\$s";
+App::$strings["Mood App"] = "Aplikacja Mood";
+App::$strings["Set your current mood and tell your friends"] = "Ustaw swój aktualny nastrój i podziel się tym ze znajomymi";
+App::$strings["Mood"] = "Mood";
+App::$strings["Permission category name is required."] = "Wymaga się podania nazwy kategorii uprawnień.";
+App::$strings["Permission category saved."] = "Kategoria uprawnień została zapisana.";
+App::$strings["Permission Categories App"] = "Aplikacja Permission Categories";
+App::$strings["Create custom connection permission limits"] = "Utwórz własne limity uprawnień do połączeń";
+App::$strings["Use this form to create permission rules for various classes of people or connections."] = "Użyj tego formularza, aby utworzyć reguły uprawnień dla różnych klas osób lub połączeń.";
+App::$strings["Permission Categories"] = "Kategorie uprawnień";
+App::$strings["Permission category name"] = "Nazwa kategorii uprawnień";
+App::$strings["No ratings"] = "Brak ocen";
+App::$strings["Rating: "] = "Ocena: ";
+App::$strings["Website: "] = "Serwis: ";
+App::$strings["Description: "] = "Opis: ";
+App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Przekroczono maksymalną dzienną liczbę rejestracji witryn. Proszę spróbuj ponownie jutro.";
+App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Proszę zaznaczyć <strong>akceptację Warunków korzystania z usługi</strong>. Rejestracja nieudana.";
+App::$strings["Passwords do not match."] = "Hasła niezgodne.";
+App::$strings["Registration successful. Continue to create your first channel..."] = "Rejestracja pomyślna. Kontynuuj tworzenie swojego pierwszego kanału ...";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "Rejestracja oomyślna. Sprawdź pocztę e-mail, aby uzyskać instrukcje dotyczące weryfikacji.";
+App::$strings["Your registration is pending approval by the site owner."] = "Twoja rejestracja oczekuje na zatwierdzenie przez właściciela serwisu.";
+App::$strings["Your registration can not be processed."] = "Twoja rejestracja oczekuje na zatwierdzenie przez właściciela witryny.";
+App::$strings["Registration on this hub is disabled."] = "Rejestracja na tym hubie jest wyłączona.";
+App::$strings["Registration on this hub is by approval only."] = "Rejestracja na tym hubie wymaga zatwierdzenia.";
+App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Zarejestruj siÄ™ na innym stowarzyszonym hubie. </a>";
+App::$strings["Registration on this hub is by invitation only."] = "Rejestracja na tym hubie wumaga uprzedniego zaproszenia.";
+App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Na tym serwisie przekroczono dozwoloną liczbę dziennych rejestracji kont. Proszę spróbuj ponownie jutro.";
+App::$strings["Terms of Service"] = "Regulamin";
+App::$strings["I accept the %s for this website"] = "AkceptujÄ™ % s dla tego serwisu";
+App::$strings["I am over %s years of age and accept the %s for this website"] = "Mam ponad % s lat i akceptujÄ™ % s dla tego serwisu";
+App::$strings["Your email address"] = "Twój adres e-mail";
+App::$strings["Choose a password"] = "Wybierz hasło";
+App::$strings["Please re-enter your password"] = "Wprowadź ponownie swoje hasło";
+App::$strings["Please enter your invitation code"] = "Wprowadź kod zaproszenia";
+App::$strings["Your Name"] = "Twoja nazwa";
+App::$strings["Real names are preferred."] = "Preferowane sÄ… prawdziwe imiona.";
+App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Twój pseudonim posłuży do stworzenia łatwego do zapamiętania adresu kanału, np. pseudonim%s";
+App::$strings["Select a channel permission role for your usage needs and privacy requirements."] = "Wybierz rolę uprawnień do kanału zgodnie z potrzebami użytkowania i wymaganiami dotyczącymi prywatności.";
+App::$strings["no"] = "nie";
+App::$strings["yes"] = "tak";
+App::$strings["Register"] = "Zarejestruj siÄ™";
+App::$strings["This site requires email verification. After completing this form, please check your email for further instructions."] = "Ta witryna wymaga weryfikację adresu e-mail. Po wypełnieniu tego formularza sprawdź swoją pocztę e-mail, aby uzyskać dalsze instrukcje.";
+App::$strings["__ctx:acl__ Profile"] = "Profil";
+App::$strings["network"] = "sieć";
+App::$strings["No feature settings configured"] = "Brak skonfigurowanych ustawień funkcji";
+App::$strings["Addon Settings"] = "Ustawienia dodatków";
+App::$strings["Please save/submit changes to any panel before opening another."] = "Zapisz/prześlij zmiany do dowolnego panelu przed otwarciem kolejnego.";
+App::$strings["Not valid email."] = "Nieprawidłowy adres e-mail.";
+App::$strings["Protected email address. Cannot change to that email."] = "Chroniony adres e-mail. Nie można zmienić tego adresu e-mail.";
+App::$strings["System failure storing new email. Please try again."] = "Błąd systemu podczas zapisywania nowej wiadomości e-mail. Proszę spróbuj ponownie.";
+App::$strings["Password verification failed."] = "Weryfikacja hasła nie powiodła się.";
+App::$strings["Passwords do not match. Password unchanged."] = "Hasła nie pasują do siebie. Nie zmieniono hasła.";
+App::$strings["Empty passwords are not allowed. Password unchanged."] = "Puste hasła są niedozwolone. Nie zmieniono hasła.";
+App::$strings["Password changed."] = "Hasło zostało zmienione.";
+App::$strings["Password update failed. Please try again."] = "Aktualizacja hasła nie powiodła się. Proszę spróbuj ponownie.";
+App::$strings["Account Settings"] = "Ustawienia konta";
+App::$strings["Current Password"] = "Bieżące hasło";
+App::$strings["Enter New Password"] = "Wprowadź nowe hasło";
+App::$strings["Confirm New Password"] = "Potwierdź nowe hasło";
+App::$strings["Leave password fields blank unless changing"] = "Pozostaw pola hasła puste, chyba że je zmieniasz";
+App::$strings["Email Address:"] = "Adres e-mail:";
+App::$strings["Remove this account including all its channels"] = "Usuń to konto wraz ze wszystkimi jego kanałami";
+App::$strings["Events Settings"] = "Ustawienia wydarzeń";
+App::$strings["Profiles Settings"] = "Ustawienia profili";
+App::$strings["Editor Settings"] = "Editor Settings";
+App::$strings["Additional Features"] = "Dodatkowe funkcjonalności";
+App::$strings["Channel Manager Settings"] = "Ustawienia menadżera kanałów";
+App::$strings["%s - (Experimental)"] = "%s - (eksperymentalne)";
+App::$strings["Display Settings"] = "Ustawienia wyświetlania";
+App::$strings["Theme Settings"] = "Ustawienia motywu";
+App::$strings["Custom Theme Settings"] = "Ustawienia własnego motywu";
+App::$strings["Content Settings"] = "Ustawienia treści";
+App::$strings["Display Theme:"] = "Wyświetl motyw:";
+App::$strings["Select scheme"] = "Wybierz schemat";
+App::$strings["Preload images before rendering the page"] = "Przeładuj obrazy przed renderowaniem strony";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Subiektywny czas ładowania strony będzie dłuższy, ale strona będzie gotowa po wyświetleniu";
+App::$strings["Enable user zoom on mobile devices"] = "Włącz zoom użytkownika na urządzeniach mobilnych";
+App::$strings["Update browser every xx seconds"] = "Aktualizuj przeglÄ…darkÄ™ co xx sekund";
+App::$strings["Minimum of 10 seconds, no maximum"] = "Co najmniej 10 sekund, nie maksimum";
+App::$strings["Maximum number of conversations to load at any time:"] = "Maksymalna liczba rozmów do załadowania w dowolnym momencie:";
+App::$strings["Maximum of 30 items"] = "Maksymalnie 30 pozycji";
+App::$strings["Show emoticons (smilies) as images"] = "Pokaż emotikony (uśmieszki) jako obrazy";
+App::$strings["Provide channel menu in navigation bar"] = "Podaj menu kanału na pasku nawigacji";
+App::$strings["Default: channel menu located in app menu"] = "Domyślnie: menu kanału znajduje się w menu aplikacji";
+App::$strings["Link post titles to source"] = "Połącz tytuły postów ze źródłem";
+App::$strings["New Member Links"] = "Linki dla nowych członków";
+App::$strings["Display new member quick links menu"] = "Wyświetl menu szybkich łączy dla nowych członków";
+App::$strings["Photos Settings"] = "Ustawienia zdjęć";
+App::$strings["Nobody except yourself"] = "Nikt oprócz ciebie";
+App::$strings["Only those you specifically allow"] = "Tylko te, na które jawnie zezwalasz";
+App::$strings["Approved connections"] = "Zatwierdzone połączenia";
+App::$strings["Any connections"] = "Wszelkie połączenia";
+App::$strings["Anybody on this website"] = "Każdy w tym serwisie";
+App::$strings["Anybody in this network"] = "Każdy w tej sieci";
+App::$strings["Anybody authenticated"] = "Każda uwierzytelniona osoba";
+App::$strings["Anybody on the internet"] = "Każdy w internecie";
+App::$strings["Publish your default profile in the network directory"] = "Opublikuj swój domyślny profil w katalogu sieciowym";
+App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Czy pozwalasz nam sugerować Ciebie jako potencjalnego przyjaciela nowym członkom?";
+App::$strings["or"] = "lub";
+App::$strings["Your channel address is"] = "Twój adres kanału to";
+App::$strings["Your files/photos are accessible via WebDAV at"] = "Twoje pliki/zdjęcia są dostępne przez WebDAV pod adresem";
+App::$strings["Automatic membership approval"] = "Automatyczne zatwierdzanie członkostwa";
+App::$strings["Channel Settings"] = "Ustawienia kanału";
+App::$strings["Basic Settings"] = "Podstawowe ustawienia";
+App::$strings["Full Name:"] = "Pełna nazwa:";
+App::$strings["Your Timezone:"] = "Twoja strefa czasowa:";
+App::$strings["Default Post Location:"] = "Domyślna lokalizacja postu:";
+App::$strings["Geographical location to display on your posts"] = "Lokalizacja geograficzna do wyświetlania w Twoich postach";
+App::$strings["Use Browser Location:"] = "Użyj lokalizacji przeglądarki:";
+App::$strings["Adult Content"] = "Treść dla dorosłych";
+App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Ten kanał często lub regularnie publikuje treści dla dorosłych. (Oznacz wszelkie materiały dla dorosłych albo nagość tagiem #NSFW)";
+App::$strings["Security and Privacy Settings"] = "Ustawienia bezpieczeństwa i prywatności";
+App::$strings["Your permissions are already configured. Click to view/adjust"] = "Twoje uprawnienia są już skonfigurowane. Kliknij, aby wyświetlić/dostosować";
+App::$strings["Hide my online presence"] = "Ukryj moją obecność w Internecie";
+App::$strings["Prevents displaying in your profile that you are online"] = "Zapobiega wyświetlaniu w Twoim profilu, że jesteś online";
+App::$strings["Simple Privacy Settings:"] = "Proste ustawienia prywatności:";
+App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Bardzo publiczne - <em>wyjątkowo pobłażliwe (należy używać ostrożnie)</em>";
+App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Typowe - <em>domyślne publiczne, prywatność w razie potrzeby (podobne do uprawnień w popularnych sieciach społecznościowych, ale z podwyższoną prywatnością)</em>";
+App::$strings["Private - <em>default private, never open or public</em>"] = "Prywatne - <em>domyślnie prywatne, nigdy otwarte ani publiczne</em>";
+App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Zablokowane - <em>domyślnie zablokowane dla/od wszystkich</em>";
+App::$strings["Allow others to tag your posts"] = "Pozwól innym oznaczać Twoje posty";
+App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Często używany przez społeczność do oznaczania nieodpowiednich treści z mocą wsteczną";
+App::$strings["Channel Permission Limits"] = "Limity uprawnień kanału";
+App::$strings["Expire other channel content after this many days"] = "Po tej ilości dni wygasają inne treści w kanale";
+App::$strings["0 or blank to use the website limit."] = "0 lub puste, aby użyć limitu serwisu.";
+App::$strings["This website expires after %d days."] = "Ta strona wygasa po %d dniach.";
+App::$strings["This website does not expire imported content."] = "Na tym serwis internetowym importowanej zawartości nie jest wygaszana.";
+App::$strings["The website limit takes precedence if lower than your limit."] = "Limit serwisu ma pierwszeństwo, jeśli jest niższy niż Twój limit.";
+App::$strings["Maximum Friend Requests/Day:"] = "Maksymalna liczba zaproszeń do znajomych, dziennie:";
+App::$strings["May reduce spam activity"] = "Może zmniejszyć aktywność spamu";
+App::$strings["Default Privacy Group"] = "Domyślna grupa prywatności";
+App::$strings["Use my default audience setting for the type of object published"] = "Użyj mojego domyślnego ustawienia odbiorców dla typu publikowanego obiektu";
+App::$strings["Default permissions category"] = "Domyślna kategoria uprawnień";
+App::$strings["Maximum private messages per day from unknown people:"] = "Maksymalna liczba prywatnych wiadomości dziennie od nieznanych osób:";
+App::$strings["Useful to reduce spamming"] = "Przydatne do ograniczenia spamowania";
+App::$strings["Notification Settings"] = "Ustawienia powiadomień";
+App::$strings["By default post a status message when:"] = "Domyślnie publikuj komunikat o stanie, gdy:";
+App::$strings["accepting a friend request"] = "zaakceptowano zaproszenia do znajomych";
+App::$strings["joining a forum/community"] = "dołączoni do forum/społeczności";
+App::$strings["making an <em>interesting</em> profile change"] = "dokonano <em>interesujÄ…cej</em> zmiany profilu";
+App::$strings["Send a notification email when:"] = "Wyślij e-mail z powiadomieniem, gdy:";
+App::$strings["You receive a connection request"] = "Otrzymujesz żądanie połączenia";
+App::$strings["Your connections are confirmed"] = "Twoje połączenia są potwierdzone";
+App::$strings["Someone writes on your profile wall"] = "Ktoś pisze na Twojej ścianie profilu";
+App::$strings["Someone writes a followup comment"] = "Ktoś pisze komentarz uzupełniający";
+App::$strings["You receive a private message"] = "Otrzymujesz prywatną wiadomość";
+App::$strings["You receive a friend suggestion"] = "Otrzymasz propozycję znajomości";
+App::$strings["You are tagged in a post"] = "Oznaczono Ciebie tagiem w poście";
+App::$strings["You are poked/prodded/etc. in a post"] = "Szturchnięto Ciebie w poście";
+App::$strings["Someone likes your post/comment"] = "Ktoś polubił Twój post/komentarz";
+App::$strings["Show visual notifications including:"] = "Pokaż powiadomienia wizualne, w tym:";
+App::$strings["Unseen stream activity"] = "Niewidoczną aktywność na strumieniu";
+App::$strings["Unseen channel activity"] = "Niewidoczną aktywność w kanale";
+App::$strings["Unseen private messages"] = "Niewidoczną wiadomości prywatne";
+App::$strings["Recommended"] = "Zalecane";
+App::$strings["Upcoming events"] = "NadchodzÄ…ce wydarzenia";
+App::$strings["Events today"] = "Wydarzenia dzisiejsze";
+App::$strings["Upcoming birthdays"] = "NadchodzÄ…ce urodziny";
+App::$strings["Not available in all themes"] = "Niedostępne we wszystkich motywach";
+App::$strings["System (personal) notifications"] = "Powiadomienia systemowe (osobiste)";
+App::$strings["System info messages"] = "Systemowe komunikaty informacyjne";
+App::$strings["System critical alerts"] = "Systemowe alerty krytyczne";
+App::$strings["New connections"] = "Nowe połączenia";
+App::$strings["System Registrations"] = "Rejestracje systemowe";
+App::$strings["Unseen shared files"] = "Niewidoczne udostępnione pliki";
+App::$strings["Unseen public stream activity"] = "Niewidoczna aktywność na publicznym strumieniu";
+App::$strings["Unseen likes and dislikes"] = "Niewidoczne polubienia i dezaprobaty";
+App::$strings["Unseen forum posts"] = "Niewidoczne posty na forum";
+App::$strings["Email notification hub (hostname)"] = "Hub powiadomień e-mail (nazwa hosta)";
+App::$strings["If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s"] = "Jeśli twój kanał jest powielany na wielu hubach, ustaw to na preferowaną lokalizację. Zapobiegnie to powielaniu powiadomień e-mail. Przykład: % s";
+App::$strings["Show new wall posts, private messages and connections under Notices"] = "Pokaż w powiadomieniach nowe posty na ścianie, prywatne wiadomości i połączenia";
+App::$strings["Notify me of events this many days in advance"] = "Informuj mnie o wydarzeniach z tak wielodniowym wyprzedzeniem";
+App::$strings["Must be greater than 0"] = "Musi być większa od 0";
+App::$strings["Advanced Account/Page Type Settings"] = "Zaawansowane ustawienia konta/typu strony";
+App::$strings["Change the behaviour of this account for special situations"] = "Zmień zachowanie tego konta w szczególnych sytuacjach";
+App::$strings["Miscellaneous Settings"] = "Różne ustawienia";
+App::$strings["Default photo upload folder"] = "Domyślny folder przesyłania zdjęć";
+App::$strings["%Y - current year, %m - current month"] = "%Y - bieżący rok, %m - bieżący miesiąc";
+App::$strings["Default file upload folder"] = "Domyślny folder przesyłania plików";
+App::$strings["Remove this channel."] = "Usuń ten kanał.";
+App::$strings["Connections Settings"] = "Ustawienia połączeń";
+App::$strings["Calendar Settings"] = "Ustawienia kalendarza";
+App::$strings["Directory Settings"] = "Ustawienia katalogu";
+App::$strings["Max height of content (in pixels)"] = "Maksymalna wysokość pola treści (w pikselach)";
+App::$strings["Click to expand content exceeding this height"] = "Kliknij, aby rozwinąć treść przekraczającą tę wysokość";
+App::$strings["Personal menu to display in your channel pages"] = "Menu osobiste do wyświetlania na stronach Twojego kanał";
+App::$strings["Channel Home Settings"] = "Ustawienia strony głównej kanału";
+App::$strings["Stream Settings"] = "Ustawienia strumienia";
+App::$strings["Settings saved."] = "Ustawienia zapisane.";
+App::$strings["Settings saved. Reload page please."] = "Ustawienia zapisane. Proszę ponownie załadować stronę.";
+App::$strings["Conversation Settings"] = "Ustawienia rozmów";
+App::$strings["Remote Diagnostics App"] = "Aplikacja Remote Diagnostics";
+App::$strings["Perform diagnostics on remote channels"] = "Przeprowadź diagnostykę zdalnych kanałów";
+App::$strings["Total invitation limit exceeded."] = "Przekroczono łączny limit zaproszeń.";
+App::$strings["%s : Not a valid email address."] = "% s: nieprawidłowy adres e-mail.";
+App::$strings["Please join us on \$Projectname"] = "Dołącz do nas na \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Przekroczono limit zaproszeń. Skontaktuj się z administratorem serwisu.";
+App::$strings["%s : Message delivery failed."] = "%s: dostarczenie wiadomości nie powiodło się.";
+App::$strings["%d message sent."] = array(
+ 0 => "Wysłano %d wiadomość.",
+ 1 => "Wysłano %d wiadomości.",
+ 2 => "Wysłano %d wiadomości.",
+);
+App::$strings["Invite App"] = "Aplikacja Invite";
+App::$strings["Send email invitations to join this network"] = "Wyślij wiadomości e-mail z zaproszeniami do przyłączenia się do tej sieci";
+App::$strings["You have no more invitations available"] = "Nie masz więcej dostępnych zaproszeń";
+App::$strings["Send invitations"] = "Wysyłać zaproszenia";
+App::$strings["Enter email addresses, one per line:"] = "Wprowadź adresy e-mail, po jednym w każdym wierszu:";
+App::$strings["Your message:"] = "Twoja wiadomość:";
+App::$strings["Please join my community on \$Projectname."] = "Dołącz do mojej społeczności w \$Projectname.";
+App::$strings["You will need to supply this invitation code:"] = "Trzeba będzie podać ten kod zaproszenia:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Zarejestruj się w dowolnej lokalizacji \$Projectname (wszystkie są ze sobą połączone)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Wpisz mój adres sieciowy \$Projectname w pasku wyszukiwania serwisu.";
+App::$strings["or visit"] = "lub odwiedź";
+App::$strings["3. Click [Connect]"] = "3. Kliknij [Połącz]";
+App::$strings["About this site"] = "O tym serwisie";
+App::$strings["Site Name"] = "Nazwa witryny";
+App::$strings["Administrator"] = "Administrator";
+App::$strings["Software and Project information"] = "Informacje o oprogramowaniu i projekcie";
+App::$strings["This site is powered by \$Projectname"] = "Ta witryna jest oparta na \$Projectname";
+App::$strings["Federated and decentralised networking and identity services provided by Zot"] = "Sfederowane i zdecentralizowane usługi sieciowe i tożsamości wykorzystujące protokół Zot";
+App::$strings["Additional federated transport protocols:"] = "Dodatkowe protokoły transportu federacyjnego:";
+App::$strings["Version %s"] = "Wersja %s";
+App::$strings["Project homepage"] = "Strona główna projektu";
+App::$strings["Developer homepage"] = "Strona główna developerów";
+App::$strings["No service class restrictions found."] = "Nie znaleziono ograniczeń klasy usług.";
+App::$strings["Select a bookmark folder"] = "Wybierz folder zakładek";
+App::$strings["Save Bookmark"] = "Zapisz zakładkę";
+App::$strings["URL of bookmark"] = "URL zakładki";
+App::$strings["Or enter new bookmark folder name"] = "Lub wprowadź nową nazwę folderu zakładek";
+App::$strings["Language App"] = "Aplikacja Language";
+App::$strings["Change UI language"] = "Zmień język interfejsu użytkownika";
+App::$strings["Welcome to Hubzilla!"] = "Witamy w Hubzilla!";
+App::$strings["You have got no unseen posts..."] = "Nie masz żadnych nieoglądniętych postów...";
+App::$strings["Cover Photos"] = "Zdjęcia na okładkę";
+App::$strings["female"] = "kobieta";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s zaktualizował ją %2\$s";
+App::$strings["male"] = "mężczyzna";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s zaktualizował go %2\$s";
+App::$strings["%1\$s updated their %2\$s"] = "%1\$s zaktualizował ich %2\$s";
+App::$strings["cover photo"] = "zdjęcie okładkowe";
+App::$strings["Your cover photo may be visible to anybody on the internet"] = "Twoje zdjęcie okładkowe może być widoczne dla każdego w internecie";
+App::$strings["Change Cover Photo"] = "Zmień zdjęcie na okładkę";
+App::$strings["Unable to update menu."] = "Nie można zaktualizować menu.";
+App::$strings["Unable to create menu."] = "Nie można utworzyć menu.";
+App::$strings["Menu Name"] = "Nazwa menu";
+App::$strings["Unique name (not visible on webpage) - required"] = "Unikalna nazwa (niewidoczna na stronie) - wymagana";
+App::$strings["Menu Title"] = "Tytuł menu";
+App::$strings["Visible on webpage - leave empty for no title"] = "Widoczne na stronie - pozostaw puste bez tytułu";
+App::$strings["Allow Bookmarks"] = "Zezwalaj na zakładki";
+App::$strings["Menu may be used to store saved bookmarks"] = "Menu może służyć do przechowywania zapisanych zakładek";
+App::$strings["Submit and proceed"] = "Prześlij i kontynuuj";
+App::$strings["Menus"] = "Menu";
+App::$strings["Bookmarks allowed"] = "Zakładki są dozwolone";
+App::$strings["Delete this menu"] = "Usuń to menu";
+App::$strings["Edit menu contents"] = "Edytuj zawartość menu";
+App::$strings["Edit this menu"] = "Edytuj to menu";
+App::$strings["Menu could not be deleted."] = "Nie udało się usunąć menu.";
+App::$strings["Edit Menu"] = "Edytuj menu";
+App::$strings["Add or remove entries to this menu"] = "Dodaj lub usuń posty w tym menu";
+App::$strings["Menu name"] = "Nazwa menu";
+App::$strings["Must be unique, only seen by you"] = "Musi być wyjątkowy, widoczny tylko dla Ciebie";
+App::$strings["Menu title"] = "Tytuł menu";
+App::$strings["Menu title as seen by others"] = "Tytuł menu widziany przez innych";
+App::$strings["Allow bookmarks"] = "Zezwalaj na zakładki";
+App::$strings["Failed to create source. No channel selected."] = "Nie udało się utworzyć źródła. Nie wybrano kanału.";
+App::$strings["Source created."] = "Utworzono źródło.";
+App::$strings["Source updated."] = "Źródło zaktualizowane.";
+App::$strings["Sources App"] = "Aplikacja Sources";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Automatycznie importuj zawartość kanału z innych kanałów lub źródeł";
+App::$strings["*"] = "*";
+App::$strings["Channel Sources"] = "Źródła kanałów";
+App::$strings["Manage remote sources of content for your channel."] = "Zarządzaj zdalnymi źródłami treści na swoim kanale.";
+App::$strings["New Source"] = "Nowe źródło";
+App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Zaimportuj wszystkie lub wybrane treści z następującego kanału do tego kanału i rozpowszechniaj je zgodnie z ustawieniami kanału.";
+App::$strings["Only import content with these words (one per line)"] = "Importuj tylko zawartość z tymi słowami (po jednym w każdym wierszu)";
+App::$strings["Leave blank to import all public content"] = "Pozostaw puste, aby zaimportować całą zawartość publiczną";
+App::$strings["Channel Name"] = "Nazwa kanału";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Dodaj następujące kategorie do postów zaimportowanych z tego źródła (oddzielone przecinkami)";
+App::$strings["Resend posts with this channel as author"] = "Wyślij ponownie posty z tym kanałem jako autorem";
+App::$strings["Copyrights may apply"] = "Copyrights may apply";
+App::$strings["Source not found."] = "Nie znaleziono źródła.";
+App::$strings["Edit Source"] = "Edytuj źródło";
+App::$strings["Delete Source"] = "Usuń źródło";
+App::$strings["Source removed"] = "Źródło zostało usunięte";
+App::$strings["Unable to remove source."] = "Nie można usunąć źródła.";
+App::$strings["Poke App"] = "Aplikacja Poke";
+App::$strings["Poke somebody in your addressbook"] = "Szturchij kogoś w swojej książce adresowej";
+App::$strings["Poke"] = "Szturchnij";
+App::$strings["Poke somebody"] = "Szturchnij kogoÅ›";
+App::$strings["Poke/Prod"] = "Szturchnij";
+App::$strings["Poke, prod or do other things to somebody"] = "Szturchać, badać, testować lub robić z kimś podobne rzeczy";
+App::$strings["Recipient"] = "Odbiorca";
+App::$strings["Choose what you wish to do to recipient"] = "Wybierz, co chcesz zrobić odbiorcy";
+App::$strings["Make this post private"] = "Ustaw ten post jako prywatny";
+App::$strings["No such group"] = "Nie ma takiej grupy";
+App::$strings["No such channel"] = "Nie ma takiego kanału";
+App::$strings["Privacy group is empty"] = "Grupa prywatności jest pusta";
+App::$strings["Privacy group: "] = "Grupa prywatności: ";
+App::$strings["Invalid channel."] = "Zły kanał.";
+App::$strings["Can not copy folder into itself."] = "Nie można skopiować folderu do siebie.";
+App::$strings["Can not move folder \"%s\" into itself."] = "Nie można przenieść folderu \"%s\" do samego siebie.";
+App::$strings["item"] = "element";
+App::$strings["Remote privacy information not available."] = "Zdalne informacje o prywatności nie są dostępne.";
+App::$strings["Visible to:"] = "Widoczne dla:";
+App::$strings["Change filename to"] = "Zmień nazwę pliku na";
+App::$strings["Select a target location"] = "Wybierz lokalizacjÄ™ docelowÄ…";
+App::$strings["Copy to target location"] = "Skopiuj do lokalizacji docelowej";
+App::$strings["Set permissions for all files and sub folders"] = "Ustaw uprawnienia dla wszystkich plików i podfolderów";
+App::$strings["Notify your contacts about this file"] = "Powiadom swoje kontakty o tym pliku";
+App::$strings["File category"] = "Kategoria plików";
+App::$strings["Total"] = "Ogólnie";
+App::$strings["Shared"] = "Udostępnione";
+App::$strings["Add Files"] = "Dodaj pliki";
+App::$strings["Admin Delete"] = "Usuń przez administratora";
+App::$strings["parent"] = "rodzic";
+App::$strings["Select All"] = "Zaznacz wszystko";
+App::$strings["Bulk Actions"] = "Działania masowe";
+App::$strings["Adjust Permissions"] = "Dostosuj uprawnienia";
+App::$strings["Move or Copy"] = "PrzenieÅ› lub skopiuj";
+App::$strings["Info"] = "Informacje";
+App::$strings["Rename"] = "Zień nazwę";
+App::$strings["Post"] = "Post";
+App::$strings["Attachment BBcode"] = "Attachment BBcode";
+App::$strings["Embed BBcode"] = "Osadź BBcode";
+App::$strings["Link BBcode"] = "Połącz BBcode";
+App::$strings["You are using %1\$s of your available file storage."] = "Używasz %1\$s dostępnego miejsca na pliki.";
+App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)"] = "Używasz %1\$s z %2\$s dostępnego miejsca na pliki. (%3\$s &#37;)";
+App::$strings["WARNING:"] = "OSTRZEŻENIE:";
+App::$strings["Create new folder"] = "Stwórz nowy folder";
+App::$strings["Upload file"] = "Przesyłanie pliku";
+App::$strings["Drop files here to immediately upload"] = "Upuść pliki tutaj, aby natychmiast przesłać";
+App::$strings["You can select files via the upload button or drop them right here or into an existing folder."] = "Możesz wybrać pliki za pomocą przycisku przesyłania lub upuścić je tutaj lub do istniejącego folderu.";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Zdalne uwierzytelnianie zablokowane. Jesteś zalogowany lokalnie na tej stronie. Wyloguj się i spróbuj ponownie.";
+App::$strings["Welcome %s. Remote authentication successful."] = "Witaj %s. Zdalne uwierzytelnianie powiodło się.";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Przywrócono usuniętą grupę o tej nazwie. Istniejące uprawnienia dotyczące elementów <strong>mogą</strong> dotyczyć tej grupy i wszystkich przyszłych członków. Jeśli nie tego chciałeś, utwórz kolejną grupę o innej nazwie.";
+App::$strings["Add new connections to this privacy group"] = "Dodaj nowe połączenia do tej grupy prywatności";
+App::$strings["edit"] = "edutuj";
+App::$strings["Edit group"] = "Edytuj grupÄ™";
+App::$strings["Add privacy group"] = "Dodaj grupę prywatności";
+App::$strings["Channels not in any privacy group"] = "Kanały spoza jakiejkolwiek grupy prywatności";
+App::$strings["add"] = "dodaj";
+App::$strings["Channel is blocked on this site."] = "Kanał jest zablokowany na tej stronie.";
+App::$strings["Channel location missing."] = "Brak lokalizacji kanału.";
+App::$strings["Remote channel or protocol unavailable."] = "Zdalny kanał lub protokół jest niedostępny.";
+App::$strings["Channel discovery failed."] = "Wyszukanie kanału nie powiodło się.";
+App::$strings["Protocol disabled."] = "Protokół wyłączony.";
+App::$strings["Cannot connect to yourself."] = "Nie można połączyć się ze sobą.";
+App::$strings["error saving data"] = "błąd podczas zapisywania danych";
+App::$strings["Apps"] = "Aplikacje";
+App::$strings["Affinity Tool"] = "Narzędzie koligacji";
+App::$strings["Site Admin"] = "Administrator serwisu";
+App::$strings["Report Bug"] = "Raport błędów";
+App::$strings["Bookmarks"] = "Zakładki";
+App::$strings["Chatrooms"] = "Czaty";
+App::$strings["Content Filter"] = "Filtr treści";
+App::$strings["Content Import"] = "Import treści";
+App::$strings["Remote Diagnostics"] = "Zdalna diagnostyka";
+App::$strings["Suggest Channels"] = "Zaproponuj kanały";
+App::$strings["Login"] = "Zaloguj siÄ™";
+App::$strings["Stream"] = "Strumień";
+App::$strings["Wiki"] = "Wiki";
+App::$strings["Channel Home"] = "Strona główna kanału";
+App::$strings["Calendar"] = "Kalendarz";
+App::$strings["Directory"] = "Katalog";
+App::$strings["Mail"] = "Poczta";
+App::$strings["Chat"] = "Czat";
+App::$strings["Probe"] = "Sonda";
+App::$strings["Suggest"] = "Prpozycja";
+App::$strings["Random Channel"] = "Losowy kanał";
+App::$strings["Invite"] = "Zaproszenie";
+App::$strings["Features"] = "Funkcje";
+App::$strings["Language"] = "Język";
+App::$strings["Profile Photo"] = "Zdjęcie profilowe";
+App::$strings["Profiles"] = "Profile";
+App::$strings["Notifications"] = "Powiadomienie";
+App::$strings["Order Apps"] = "Kolejność aplikacji";
+App::$strings["CardDAV"] = "CardDAV";
+App::$strings["Guest Access"] = "Dostęp gościa";
+App::$strings["Notes"] = "Uwagi";
+App::$strings["OAuth Apps Manager"] = "Menadżer aplikacji OAuth";
+App::$strings["OAuth2 Apps Manager"] = "Menadżer aplikacji OAuth2";
+App::$strings["PDL Editor"] = "Edytor PDL";
+App::$strings["My Chatrooms"] = "Moje czaty";
+App::$strings["Channel Export"] = "Eksport kanału";
+App::$strings["Purchase"] = "Zakup";
+App::$strings["Undelete"] = "Cofnij usunięcie";
+App::$strings["Add to app-tray"] = "Dodaj do zasobnika aplikacji";
+App::$strings["Remove from app-tray"] = "Usuń z zasobnika aplikacji";
+App::$strings["Pin to navbar"] = "Przypnij do paska nawigacyjnego";
+App::$strings["Unpin from navbar"] = "Odepnij od paska nawigacyjnego";
+App::$strings["Source code of failed update: "] = "Kod źródłowy nieudanej aktualizacji: ";
+App::$strings["Update Error at %s"] = "Błąd aktualizacji na %s";
+App::$strings["Update %s failed. See error logs."] = "Aktualizacja %s nie powiodła się. Zobacz dzienniki błędów.";
+App::$strings["A deleted list with this name was revived. Existing item permissions <strong>may</strong> apply to this list and any future members. If this is not what you intended, please create another list with a different name."] = "Przywrócono usuniętą listę o tej nazwie. Istniejące uprawnienia dotyczące elementów <strong>mogą</strong> dotyczyć tej listy i wszystkich przyszłych członków. Jeśli nie tego chciałeś, utwórz kolejną listę z inną nazwą.";
+App::$strings["Add new connections to this access list"] = "Dodaj nowe połączenia do tej listy dostępu";
+App::$strings["Lists"] = "Listy";
+App::$strings["Edit list"] = "Edytuj listÄ™";
+App::$strings["Create new list"] = "Utwórz nową listę";
+App::$strings["Channels not in any access list"] = "Kanały, których nie ma na żadnej liście dostępu";
+App::$strings["Missing room name"] = "Brak nazwy pokoju";
+App::$strings["Duplicate room name"] = "Zduplikowana nazwa pokoju";
+App::$strings["Invalid room specifier."] = "Nieprawidłowy specyfikator sali.";
+App::$strings["Room not found."] = "Nie znaleziono pokoju.";
+App::$strings["Room is full"] = "Pokój jest pełny";
+App::$strings["0. Beginner/Basic"] = "0. PoczatkujÄ…cy/Podstawowy";
+App::$strings["1. Novice - not skilled but willing to learn"] = "1. Nowicjusz - nie ma umiejętności, ale chętnie się uczy";
+App::$strings["2. Intermediate - somewhat comfortable"] = "2. Średniozaawansowany - dość wygodne";
+App::$strings["3. Advanced - very comfortable"] = "3. Zaawansowany - bardzo wygodne";
+App::$strings["4. Expert - I can write computer code"] = "4. Ekspert - umiem pisać kod komputerowy";
+App::$strings["5. Wizard - I probably know more than you do"] = "5. Czarodziej - prawdopodobnie wiem więcej niż Ty";
+App::$strings["\$Projectname Notification"] = "Powiadomienie \$Projectname";
+App::$strings["\$projectname"] = "Hubzilla";
+App::$strings["Thank You,"] = "Dziękujemy,";
+App::$strings["%s Administrator"] = "Administrator %s";
+App::$strings["This email was sent by %1\$s at %2\$s."] = "Ta wiadomość e-mail została wysłana przez %1\$s na numer %2\$s.";
+App::$strings["To stop receiving these messages, please adjust your Notification Settings at %s"] = "Aby nie otrzymywać tych wiadomości, zmień ustawienia powiadomień na %s";
+App::$strings["To stop receiving these messages, please adjust your %s."] = "Aby nie otrzymywać tych wiadomości, zmień %s.";
+App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
+App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Notify] Otrzymano nowÄ… pocztÄ™ na %s";
+App::$strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s wysłał Ci nową prywatną wiadomość na %2\$s.";
+App::$strings["%1\$s sent you %2\$s."] = "%1\$s wysłał Ci %2\$s.";
+App::$strings["a private message"] = "prywatna wiadomość";
+App::$strings["Please visit %s to view and/or reply to your private messages."] = "Odwiedź %s, aby wyświetlić albo odpowiedzieć na swoje prywatne wiadomości.";
+App::$strings["commented on"] = "skomentował";
+App::$strings["liked"] = "polubił";
+App::$strings["disliked"] = "dezaprobował";
+App::$strings["voted on"] = "głosował";
+App::$strings["%1\$s %2\$s [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]%4\$s[/zrl]";
+App::$strings["%1\$s %2\$s [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]%5\$s %4\$s[/zrl]";
+App::$strings["%1\$s %2\$s [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]Twój %4\$s[/zrl]";
+App::$strings["[\$Projectname:Notify] Moderated Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Moderowany komentarz do rozmowy #%1\$d przez %2\$s";
+App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Komentarz do roz,owy #%1\$d przez %2\$s";
+App::$strings["%1\$s commented on an item/conversation you have been following."] = "%1\$s skomentował obserwowany element/rozmowę.";
+App::$strings["Please visit %s to view and/or reply to the conversation."] = "Odwiedź %s, aby wyświetlić rozmowę albo odpowiedzieć na nią.";
+App::$strings["Please visit %s to approve or reject this comment."] = "Odwiedź %s, aby zaakceptować lub odrzucić ten komentarz.";
+App::$strings["%1\$s liked [zrl=%2\$s]your %3\$s[/zrl]"] = "%1\$s polubił [zrl=%2\$s]Twój %3\$s[/zrl]";
+App::$strings["[\$Projectname:Notify] Like received to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Polubienie wysłane dla rozmowy #%1\$d przez %2\$s";
+App::$strings["%1\$s liked an item/conversation you created."] = "%1\$s polubił utworzony przez Ciebie element/rozmowę.";
+App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Notify]%s opublikowany na Twojej ścianie profilu";
+App::$strings["%1\$s posted to your profile wall at %2\$s"] = "%1\$s opublikowano na ścianie Twojego profilu pod adresem %2\$s";
+App::$strings["%1\$s posted to [zrl=%2\$s]your wall[/zrl]"] = "%1\$s opublikował na [zrl=%2\$s]Twojej ścianie[/zrl]";
+App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Notify]%s oznaczył Cię tagiem";
+App::$strings["%1\$s tagged you at %2\$s"] = "%1\$s oznaczył Cię tagiem %2\$s";
+App::$strings["%1\$s [zrl=%2\$s]tagged you[/zrl]."] = "%1\$s [zrl=%2\$s]oznaczył Cię tagiem[/zrl].";
+App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Notify] %1\$s szturchnÄ…Å‚ CiÄ™";
+App::$strings["%1\$s poked you at %2\$s"] = "%1\$s szturchnÄ…Å‚ CiÄ™ %2\$s";
+App::$strings["%1\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s [zrl=%2\$s]szturchnÄ…Å‚ CiÄ™[/zrl].";
+App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Notify] %s oznaczył tagiem Twój post";
+App::$strings["%1\$s tagged your post at %2\$s"] = "%1\$s oznaczył tagiem Twój post na %2\$s";
+App::$strings["%1\$s tagged [zrl=%2\$s]your post[/zrl]"] = "%1\$s tagged [zrl=%2\$s]Twój post[/zrl]";
+App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Notify] Otrzymano wprowadzenie";
+App::$strings["You've received an new connection request from '%1\$s' at %2\$s"] = "Otrzymałeś nowe żądanie połączenia od „%1\$s†na %2\$s";
+App::$strings["You've received [zrl=%1\$s]a new connection request[/zrl] from %2\$s."] = "Otrzymałeś [zrl=%1\$s]nowe żądanie połączenia [/zrl] od %2\$s.";
+App::$strings["You may visit their profile at %s"] = "Możesz odwiedzić ich profil na %s";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Odwiedź %s, aby zatwierdzić lub odrzucić prośbę o połączenie.";
+App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Notify] Otrzymano propozycję znajomości";
+App::$strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "Otrzymałeś propozycję znajomości od „%1\$s†na %2\$s";
+App::$strings["You've received [zrl=%1\$s]a friend suggestion[/zrl] for %2\$s from %3\$s."] = "Otrzymałeś [zrl=%1\$s] prpozycję znajomości[/ zrl] dla %2\$s od %3\$s.";
+App::$strings["Name:"] = "Nazwa:";
+App::$strings["Photo:"] = "Zdjęcie:";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Odwiedź %s, aby zaakceptować lub odrzucić popozycję.";
+App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Notify]";
+App::$strings["created a new poll"] = "utworzył nową ankietę";
+App::$strings["created a new post"] = "utworzył nowy post";
+App::$strings["voted on %s's poll"] = "głosował w ankiecie %s";
+App::$strings["commented on %s's post"] = "skomentował post %s";
+App::$strings["repeated %s's post"] = "powtórzony post %s";
+App::$strings["edited a post dated %s"] = "edytował post z dnia %s";
+App::$strings["edited a comment dated %s"] = "edytował komentarz z dnia %s";
+App::$strings["created an event"] = "utworzono wydarzenie";
+App::$strings["Unable to verify site signature for %s"] = "Nie można zweryfikować podpisu witryny dla %s";
+App::$strings["(No Title)"] = "(Brak tytułu)";
+App::$strings["Wiki page create failed."] = "Tworzenie strony Wiki nie powiodło się.";
+App::$strings["Wiki not found."] = "Nie znaleziono wiki.";
+App::$strings["Destination name already exists"] = "Nazwa celu już istnieje";
+App::$strings["Page not found"] = "Strona nie znaleziona";
+App::$strings["Error reading page content"] = "Błąd podczas odczytu zawartości strony";
+App::$strings["Error reading wiki"] = "Błąd podczas odczytu wiki";
+App::$strings["Page update failed."] = "Aktualizacja strony nie powiodła się.";
+App::$strings["Nothing deleted"] = "Nic nie zostało usunięte";
+App::$strings["Compare: object not found."] = "Porównaj: nie znaleziono obiektu.";
+App::$strings["Page updated"] = "Strona została zaktualizowana";
+App::$strings["Untitled"] = "Bez tytułu";
+App::$strings["Wiki resource_id required for git commit"] = "Identyfikator zasobu Wiki wymagany do zatwierdzenia przez Git";
+App::$strings["__ctx:wiki_history__ Message"] = "Wiadomość";
+App::$strings["Date"] = "Data";
+App::$strings["Compare"] = "Porównaj";
+App::$strings["Different viewers will see this text differently"] = "Różni widzowie będą inaczej widzieć ten tekst";
+App::$strings["Private Message"] = "Wiadomość prywatna";
+App::$strings["Privacy conflict. Discretion advised."] = "Konflikt prywatności. Zalecana dyskrecja.";
+App::$strings["Select"] = "Wybierz";
+App::$strings["I will attend"] = "Będę uczestniczył";
+App::$strings["I will not attend"] = "Nie będę uczestniczył";
+App::$strings["I might attend"] = "Mogę wziąć udział";
+App::$strings["I agree"] = "Zgadzam siÄ™";
+App::$strings["I disagree"] = "Nie zgadzam siÄ™";
+App::$strings["I abstain"] = "WstrzymujÄ™ siÄ™";
+App::$strings["Toggle Star Status"] = "Przełącz stan gwiazdki";
+App::$strings["Message signature validated"] = "Podpis wiadomości został zatwierdzony";
+App::$strings["Message signature incorrect"] = "Niepoprawny podpis wiadomości";
+App::$strings["Conversation Tools"] = "Narzędzia do konwersacji";
+App::$strings["like"] = "lubi";
+App::$strings["dislike"] = "nie lubi";
+App::$strings["Reply on this comment"] = "Odpowiedz na ten komentarz";
+App::$strings["reply"] = "odpowiedz";
+App::$strings["Reply to"] = "Odpowiedź dla";
+App::$strings["Share This"] = "Udostępnij to";
+App::$strings["share"] = "udostępnij";
+App::$strings["Delivery Report"] = "Raport dostawy";
+App::$strings["%d comment"] = array(
+ 0 => "%d komentarz",
+ 1 => "%d komentarze",
+ 2 => "%d komentarzy",
+);
+App::$strings["%d unseen"] = "%d niezobaczone";
+App::$strings["to"] = "do";
+App::$strings["via"] = "poprzez";
+App::$strings["Wall-to-Wall"] = "Wall-to-Wall";
+App::$strings["via Wall-To-Wall:"] = "poprzez Wall-To-Wall:";
+App::$strings["from %s"] = "od %s";
+App::$strings["last edited: %s"] = "ostatnio edytowane: %s";
+App::$strings["Expires: %s"] = "Wygasa: %s";
+App::$strings["Attend"] = "Uczestnicz";
+App::$strings["Attendance Options"] = "Opcje obecności";
+App::$strings["Vote"] = "Głosuj";
+App::$strings["Voting Options"] = "Opcje głosowania";
+App::$strings["Go to previous comment"] = "Przejdź do poprzedniego komentarza";
+App::$strings["Pinned post"] = "Posty przypięte";
+App::$strings["Unpin from the top"] = "Odepnij z góry";
+App::$strings["Pin to the top"] = "Przypnij u góry";
+App::$strings["Save Bookmarks"] = "Zapisz zakładki";
+App::$strings["Add to Calendar"] = "Dodaj do kalendarza";
+App::$strings["This is an unsaved preview"] = "Ten podgląd nie został zapisany";
+App::$strings["%s show all"] = "%s pokaż wszystko";
+App::$strings["Bold"] = "Gruby";
+App::$strings["Italic"] = "Pochyły";
+App::$strings["Underline"] = "Podkreślony";
+App::$strings["Quote"] = "Cytat";
+App::$strings["Code"] = "Kod";
+App::$strings["Image"] = "Obraz";
+App::$strings["Attach/Upload file"] = "Załącz / prześlij plik";
+App::$strings["Insert Link"] = "Wstaw link";
+App::$strings["Video"] = "Wideo";
+App::$strings["Your full name (required)"] = "Twoja imię i nazwisko lub pełna nazwa (wymagane)";
+App::$strings["Your email address (required)"] = "Twój adres email (wymagane)";
+App::$strings["Your website URL (optional)"] = "Adres URL Twojej witryny (opcjonalnie)";
+App::$strings["Likes %1\$s's %2\$s"] = "Polibień %2\$s %1\$s";
+App::$strings["Doesn't like %1\$s's %2\$s"] = "Dezaprobat %2\$s %1\$s";
+App::$strings["Will attend %s's event"] = "Weźmie udział w wydarzeniu %s";
+App::$strings["Will not attend %s's event"] = "Nie weźmie udziału w wydarzeniu %s";
+App::$strings["May attend %s's event"] = "Może uczestniczyć w wydarzeniu %s";
+App::$strings["May not attend %s's event"] = "Nie może uczestniczyć w wydarzeniu %s";
+App::$strings["ActivityPub"] = "ActivityPub";
+App::$strings["Wiki updated successfully"] = "Wiki zaktualizowane pomyślnie";
+App::$strings["Wiki files deleted successfully"] = "Pliki Wiki zostały pomyślnie usunięte";
+App::$strings["Directory Options"] = "Opcje katalogu";
+App::$strings["Safe Mode"] = "Tryb bezpieczny";
+App::$strings["Public Forums Only"] = "Tylko fora publiczne";
+App::$strings["This Website Only"] = "Tylko ten serwis";
+App::$strings["__ctx:permcat__ default"] = "domyślnie";
+App::$strings["__ctx:permcat__ follower"] = "obserwujÄ…cy";
+App::$strings["__ctx:permcat__ contributor"] = "współpracownik";
+App::$strings["__ctx:permcat__ publisher"] = "wydawca";
+App::$strings["Unable to verify channel signature"] = "Nie można zweryfikować podpisu kanału";
+App::$strings["Visible to your default audience"] = "Widoczne dla domyślnych odbiorców";
+App::$strings["Only me"] = "Tylko ja";
+App::$strings["Public"] = "Publiczny";
+App::$strings["Anybody in the \$Projectname network"] = "Każdy w sieci \$Projectname";
+App::$strings["Any account on %s"] = "Dowolne konto na %s";
+App::$strings["Any of my connections"] = "Wszystkie moje połączenia";
+App::$strings["Only connections I specifically allow"] = "Tylko połączenia, na które wyraźnie zezwalam";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Każdy uwierzytelniony (może obejmować odwiedzających z innych sieci)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Wszelkie połączenia, w tym te, które nie zostały jeszcze zatwierdzone";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "To jest domyślne ustawienie odbiorców Twojego normalnego strumienia i postów.";
+App::$strings["This is your default setting for who can view your default channel profile"] = "To jest domyślne ustawienie określające, kto może wyświetlać Twój domyślny profil kanału";
+App::$strings["This is your default setting for who can view your connections"] = "To jest domyślne ustawienie określające, kto może wyświetlać Twoje połączenia";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Jest to domyślne ustawienie określające, kto może wyświetlać miejsce na pliki i zdjęcia";
+App::$strings["This is your default setting for the audience of your webpages"] = "To jest domyślne ustawienie dotyczące odbiorców Twoich stron internetowych";
+App::$strings["Everything"] = "Wszystko";
+App::$strings["Select Channel"] = "Wybierz kanał";
+App::$strings["Read-write"] = "Czytanie i zapis";
+App::$strings["Read-only"] = "Tylko odczyt";
+App::$strings["Channel Calendar"] = "Kalendarz kanału";
+App::$strings["Shared CalDAV Calendars"] = "Udostępnione kalendarze CalDAV";
+App::$strings["Share this calendar"] = "Udostępnij ten kalendarz";
+App::$strings["Calendar name and color"] = "Nazwa kalendarza i kolor";
+App::$strings["Create new CalDAV calendar"] = "Utwórz nowy kalendarz CalDAV";
+App::$strings["Calendar Name"] = "Nazwa kalendarza";
+App::$strings["Calendar Tools"] = "Narzędzia kalendarza";
+App::$strings["Import calendar"] = "Importuj kalendarz";
+App::$strings["Select a calendar to import to"] = "Wybierz kalendarz do zaimportowania";
+App::$strings["Addressbooks"] = "Książki adresowe";
+App::$strings["Addressbook name"] = "Nazwa książki adresowej";
+App::$strings["Create new addressbook"] = "Utwórz nową książkę adresową";
+App::$strings["Addressbook Name"] = "Nazwa książki adresowej";
+App::$strings["Addressbook Tools"] = "Narzędzia książki adresowej";
+App::$strings["Import addressbook"] = "Importuj książkę adresową";
+App::$strings["Select an addressbook to import to"] = "Wybierz książkę adresową do zaimportowania";
+App::$strings["Saved Folders"] = "Zapisywanie foldery";
+App::$strings["Tags"] = "Tagi";
+App::$strings["Archives"] = "Archiwa";
+App::$strings["Chat Members"] = "Członkowie czatu";
+App::$strings["Rating Tools"] = "Narzędzia";
+App::$strings["Rate Me"] = "Oceń mnie";
+App::$strings["View Ratings"] = "Pokaż oceny";
+App::$strings["Add new page"] = "Dodaj nowÄ… stronÄ™";
+App::$strings["Wiki Pages"] = "Strony wiki";
+App::$strings["Page name"] = "Nazwa strony";
+App::$strings["Bookmarked Chatrooms"] = "Czaty dodane do zakładek";
+App::$strings["photo/image"] = "zdjęcie/obraz";
+App::$strings["Forums"] = "Fora";
+App::$strings["Remove term"] = "Usuń termin";
+App::$strings["Saved Searches"] = "Zapisywanie wyszukiwania";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Masz %1$.0f z %2$.0f dozwolonych połączeń.";
+App::$strings["Add New Connection"] = "Dodaj nowe połączenie";
+App::$strings["Enter channel address"] = "Wprowadź adres kanału";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Przykłady: bob@example.com, https://example.com/barbara";
+App::$strings["Suggestions"] = "Propozycje";
+App::$strings["See more..."] = "Zobacz więcej...";
+App::$strings["Tasks"] = "Zadania";
+App::$strings["Member registrations waiting for confirmation"] = "Rejestracja członków czeka na potwierdzenie";
+App::$strings["Inspect queue"] = "Sprawdź kolejkę";
+App::$strings["DB updates"] = "Aktualizacje bazy danych";
+App::$strings["Admin"] = "Admin";
+App::$strings["Addon Features"] = "Funkcje dodatków";
+App::$strings["Overview"] = "PrzeglÄ…d";
+App::$strings["App Collections"] = "Kolekcja aplikacji";
+App::$strings["Installed apps"] = "Zainstalowane aplikacje";
+App::$strings["Commented Date"] = "Data skomentowania";
+App::$strings["Order by last commented date"] = "Sortuj według najnowszej daty skomentowania";
+App::$strings["Posted Date"] = "Data opublikowania";
+App::$strings["Order by last posted date"] = "Sortuj według najnowszej daty publikacji";
+App::$strings["Date Unthreaded"] = "Data zakończenia wątku";
+App::$strings["Order unthreaded by date"] = "Sortuj według daty zakończenia wątku";
+App::$strings["Stream Order"] = "Kolejność strumienia";
+App::$strings["Private Mail Menu"] = "Menu prywatnej poczty";
+App::$strings["Combined View"] = "Widok łączony";
+App::$strings["Inbox"] = "Skrzynka odbiorcza";
+App::$strings["Outbox"] = "Skrzynka nadawcza";
+App::$strings["New Message"] = "Nowy komunikat";
+App::$strings["Refresh"] = "Odśwież";
+App::$strings["HQ Control Panel"] = "Panel kontrolny HQ";
+App::$strings["Create a new post"] = "Utwórz nowy post";
+App::$strings["Events Tools"] = "Narzędzia wydarzeń";
+App::$strings["Export Calendar"] = "Eksport kalendarza";
+App::$strings["Import Calendar"] = "Import kalendarza";
+App::$strings["Direct Messages"] = "Bezpośrednie wiadomości";
+App::$strings["Show direct (private) messages"] = "Pokaż bezpośrednie (prywatne) wiadomości";
+App::$strings["Events"] = "Wydarzenia";
+App::$strings["Show posts that include events"] = "Pokaż posty zawierające wydarzenia";
+App::$strings["Polls"] = "Ankiety";
+App::$strings["Show posts that include polls"] = "Pokaż posty zawierające ankiety";
+App::$strings["Show posts related to the %s privacy group"] = "Pokaż posty związane z grupą prywatności %s";
+App::$strings["Show my privacy groups"] = "Pokaż moje grupy prywatności";
+App::$strings["Show posts to this forum"] = "Pokaż posty na tym forum";
+App::$strings["Show forums"] = "Pokaż fora";
+App::$strings["Starred Posts"] = "Wyróżnione posty";
+App::$strings["Show posts that I have starred"] = "Pokaż posty, które oznaczyłem gwiazdką";
+App::$strings["Personal Posts"] = "Posty osobiste";
+App::$strings["Show posts that mention or involve me"] = "Pokaż posty, które wspominają o mnie lub mnie dotyczą";
+App::$strings["Show posts that I have filed to %s"] = "Pokaż posty przesłane przeze mnie do %s";
+App::$strings["Show filed post categories"] = "Pokaż wprowadzone kategorie postów";
+App::$strings["Panel search"] = "Przeszukiwanie panelu";
+App::$strings["Filter by name"] = "Filtruj wg nazwy";
+App::$strings["Remove active filter"] = "Usuń aktywny filtr";
+App::$strings["Stream Filters"] = "Filtry strumienia";
+App::$strings["__ctx:widget__ Activity"] = "Aktywność";
+App::$strings["New Network Activity"] = "Nowa aktywność sieciowa";
+App::$strings["New Network Activity Notifications"] = "Powiadomienia o nowej aktywności sieciowej";
+App::$strings["View your network activity"] = "Wyświetl swoją aktywność w sieci";
+App::$strings["Mark all notifications read"] = "Oznacz wszystkie powiadomienia jako przeczytane";
+App::$strings["Show new posts only"] = "Pokaż tylko nowe posty";
+App::$strings["Filter by name or address"] = "Filtruj według nazwy lub adresu";
+App::$strings["New Home Activity"] = "Nowa aktywność domowa";
+App::$strings["New Home Activity Notifications"] = "Powiadomienia o nowej aktywności domowej";
+App::$strings["View your home activity"] = "Wyświetl swoją aktywność domową";
+App::$strings["Mark all notifications seen"] = "Oznacz wszystkie powiadomienia jako oglądnięte";
+App::$strings["New Direct Messages"] = "Nowe bezpośrednie wiadomości";
+App::$strings["New Direct Messages Notifications"] = "Powiadomienia o nowych wiadomościach bezpośrednich";
+App::$strings["View your direct messages"] = "Wyświetl swoje bezpośrednie wiadomości";
+App::$strings["New Mails"] = "Nowe wiadomości e-mail";
+App::$strings["New Mails Notifications"] = "Powiadomienia o nowych wiadomościach e-mail";
+App::$strings["View your private mails"] = "Zobacz swoje prywatne wiadomości";
+App::$strings["Mark all messages seen"] = "Oznacz wszystkie wiadomości jako oglądnięte";
+App::$strings["New Events"] = "Nowe wydarzenia";
+App::$strings["New Events Notifications"] = "Powiadomienia o nowych wydarzeniach";
+App::$strings["View events"] = "Pokaż wydarzenia";
+App::$strings["Mark all events seen"] = "Oznacza wydarzenia jako oglądnięte";
+App::$strings["New Connections Notifications"] = "Powiadomienia o nowych połączeniach";
+App::$strings["View all connections"] = "Pokaż wszystkie połączenia";
+App::$strings["New Files"] = "Nowe pliki";
+App::$strings["New Files Notifications"] = "Powiadomienia o nowych plikach";
+App::$strings["Notices"] = "Powiadomienia";
+App::$strings["View all notices"] = "Pokaż wszystkie powiadomienia";
+App::$strings["Mark all notices seen"] = "Oznacza wszystkie powiadomienia jako oglądnięte";
+App::$strings["New Registrations"] = "Nowe rejestracje";
+App::$strings["New Registrations Notifications"] = "Powiadomienia o nowych rejestracjach";
+App::$strings["Public Stream Notifications"] = "Powiadomienia o strimieniu publicznym";
+App::$strings["View the public stream"] = "Pokaż strumień publiczny";
+App::$strings["Sorry, you have got no notifications at the moment"] = "W tej chwili nie masz żadnych powiadomień";
+App::$strings["View %s's profile - %s"] = "Pokaż profile %s - %s";
+App::$strings["Don't show"] = "Nie pokazuj";
+App::$strings["Account settings"] = "Ustawienia konta";
+App::$strings["Channel settings"] = "Ustawienia kanału";
+App::$strings["Display settings"] = "Ustawienia wyświetlania";
+App::$strings["Manage locations"] = "ZarzÄ…dzaj lokalizacjami";
+App::$strings["Suggested Chatrooms"] = "Sugerowane czaty";
+App::$strings["Received Messages"] = "Otrzymane wiadomości";
+App::$strings["Sent Messages"] = "Wysłane wiadomości";
+App::$strings["Conversations"] = "Rozmowy";
+App::$strings["No messages."] = "Brak wiadomości.";
+App::$strings["Delete conversation"] = "Usuń rozmowę";
+App::$strings["Profile Creation"] = "Tworzenie profilu";
+App::$strings["Upload profile photo"] = "Prześlij zdjęcie profilowe";
+App::$strings["Upload cover photo"] = "Prześlij zdjęcie okładkowe";
+App::$strings["Edit your profile"] = "Edytuj swój profil";
+App::$strings["Find and Connect with others"] = "Znajdź i połącz się z innymi";
+App::$strings["View the directory"] = "Pokaż katalog";
+App::$strings["Manage your connections"] = "Zarządzaj swoimi połączeniami";
+App::$strings["Communicate"] = "Komunikuj siÄ™";
+App::$strings["View your channel homepage"] = "Wyświetl stronę główną swojego kanału";
+App::$strings["View your network stream"] = "Wyświetl swój strumień sieciowy";
+App::$strings["Documentation"] = "Dokumentacja";
+App::$strings["Missing Features?"] = "Brakuje funkcji?";
+App::$strings["Pin apps to navigation bar"] = "Przypinaj aplikacje do paska nawigacji";
+App::$strings["Install more apps"] = "Zainstaluj więcej aplikacji";
+App::$strings["View public stream"] = "Pokaż publiczny strumień";
+App::$strings["Click to show more"] = "Kliknij, aby pokazać więcej";
+App::$strings["Source channel not found."] = "Nie znaleziono kanału źródłowego.";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d dostępne zaproszenie",
+ 1 => "%d dostępne zaproszenia",
+ 2 => "%d dostępnych zaproszeń",
+);
+App::$strings["Find Channels"] = "Znajdź kanały";
+App::$strings["Enter name or interest"] = "Wpisz nazwÄ™ lub zainteresowanie";
+App::$strings["Connect/Follow"] = "Połącz/Obserwuj";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Przykłady: Robert Morgenstein, łowienie ryb";
+App::$strings["Random Profile"] = "Losowy profil";
+App::$strings["Invite Friends"] = "Zaproś przyjaciół";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Zaawansowany przykład: name=fred i country=iceland";
+App::$strings["Common Connections"] = "Popularne połączenia";
+App::$strings["View all %d common connections"] = "Wyświetl wszystkie %d popularne połączenia";
+App::$strings["likes %1\$s's %2\$s"] = "polubień %1\$s %2\$s";
+App::$strings["doesn't like %1\$s's %2\$s"] = "dezaprobat %1\$s %2\$s";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s jest teraz połączony z %2\$s";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s szturchnÄ…Å‚ %2\$s";
+App::$strings["poked"] = "szturchnięty";
+App::$strings["View %s's profile @ %s"] = "Pokaż profil %s @ %s";
+App::$strings["Categories:"] = "Kategorie:";
+App::$strings["Filed under:"] = "Złożone pod:";
+App::$strings["View in context"] = "Zobacz w kontekście";
+App::$strings["remove"] = "usuń";
+App::$strings["Loading..."] = "Åadowanie ...";
+App::$strings["Delete Selected Items"] = "Usuń wybrane elementy";
+App::$strings["View Source"] = "Pokaż źródło";
+App::$strings["Follow Thread"] = "Obserwuj wÄ…tek";
+App::$strings["Unfollow Thread"] = "Przestań obserwować wątek";
+App::$strings["Edit Connection"] = "Edytuj połączenie";
+App::$strings["Message"] = "Wiadowmość";
+App::$strings["%s likes this."] = "%s lubi to.";
+App::$strings["%s doesn't like this."] = "%s nie lubi tego.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>%2\$d osoba</span> lubi to.",
+ 1 => "<span %1\$s>%2\$d osoby</span> lubiÄ… tego.",
+ 2 => "<span %1\$s>%2\$d osób</span> lubi tego.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>%2\$d osoba</span> nie lubi to.",
+ 1 => "<span %1\$s>%2\$d osoby</span> nie lubiÄ… tego.",
+ 2 => "<span %1\$s>%2\$d osób</span> nie lubią tego.",
+);
+App::$strings["and"] = "i";
+App::$strings[", and %d other people"] = array(
+ 0 => ", i %d inna osoba",
+ 1 => ", i %d inne osoby",
+ 2 => ", i %d innych osób",
+);
+App::$strings["%s like this."] = "%s lubi to.";
+App::$strings["%s don't like this."] = "%s nie lubi tego.";
+App::$strings["Set your location"] = "Ustaw swojÄ… lokalizacjÄ™";
+App::$strings["Clear browser location"] = "Wyczyść lokalizację przeglądarki";
+App::$strings["Embed (existing) photo from your photo albums"] = "Osadź (istniejące) zdjęcie z albumów ze zdjęciami";
+App::$strings["Tag term:"] = "Termin tagu:";
+App::$strings["Where are you right now?"] = "Gdzie teraz jesteÅ›?";
+App::$strings["Choose a different album..."] = "Wybierz inny album...";
+App::$strings["Comments enabled"] = "Włączone komentowanie";
+App::$strings["Comments disabled"] = "Wyłączone komentowanie";
+App::$strings["Page link name"] = "Nazwa linku do strony";
+App::$strings["Post as"] = "Opublikuj jako";
+App::$strings["Toggle voting"] = "Przełącz głosowanie";
+App::$strings["Toggle poll"] = "Przełącz ankietę";
+App::$strings["Option"] = "Opcja";
+App::$strings["Add option"] = "Dodaj opcjÄ™";
+App::$strings["Minutes"] = "Minuty";
+App::$strings["Hours"] = "Godziny";
+App::$strings["Days"] = "Dni";
+App::$strings["Allow multiple answers"] = "Zezwalaj na wiele odpowiedzi";
+App::$strings["Disable comments"] = "Wyłącz komentarze";
+App::$strings["Toggle comments"] = "Przełącz komentarze";
+App::$strings["Categories (optional, comma-separated list)"] = "Kategorie (opcjonalnie, lista rozdzielana przecinkami)";
+App::$strings["Other networks and post services"] = "Inne sieci i usługi społecznościowe";
+App::$strings["Set expiration date"] = "Ustaw datę wygaśnięcia";
+App::$strings["Set publish date"] = "Ustaw datÄ™ publikacji";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Uczestniczy",
+ 1 => "Uczestnictwa",
+ 2 => "Uczestnictw",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "Nie uczesticzy",
+ 1 => "Nie uczestniczÄ…",
+ 2 => "Nie uczestniczy",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Niezdecydowany",
+ 1 => "Niezdecydowane",
+ 2 => "Niezdecydowanych",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "Zgadza siÄ™",
+ 1 => "ZgadajÄ… siÄ™",
+ 2 => "Zgadza siÄ™",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "Nie zgadza siÄ™",
+ 1 => "Nie zgadzajÄ… siÄ™",
+ 2 => "Nie zgadza siÄ™",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "Wstrzymuje siÄ™",
+ 1 => "WstrzymujÄ… siÄ™",
+ 2 => "Wstrzymuje siÄ™",
+);
+App::$strings["Unable to obtain identity information from database"] = "Nie można uzyskać informacji z bazy danych o tożsamości";
+App::$strings["Empty name"] = "Pusta nazwa";
+App::$strings["Name too long"] = "Nazwa jest za długa";
+App::$strings["No account identifier"] = "Brak identyfikatora konta";
+App::$strings["Nickname is required."] = "Pseudonim jest wymagany.";
+App::$strings["Unable to retrieve created identity"] = "Nie można pobrać utworzonej tożsamości";
+App::$strings["Default Profile"] = "Domyślny profil";
+App::$strings["Unable to retrieve modified identity"] = "Nie można pobrać zmodyfikowanej tożsamości";
+App::$strings["Requested channel is not available."] = "Żądany kanał nie jest dostępny.";
+App::$strings["Create New Profile"] = "Utwórz nowy profil";
+App::$strings["Edit Profile"] = "Edytuj profil";
+App::$strings["Visible to everybody"] = "Widoczne dla każdego";
+App::$strings["Gender:"] = "Płeć:";
+App::$strings["Status:"] = "Status:";
+App::$strings["Homepage:"] = "Strona domowa:";
+App::$strings["Online Now"] = "Teraz online";
+App::$strings["Change your profile photo"] = "Zmień swoje zdjęcie profilowe";
+App::$strings["Female"] = "Kobieta";
+App::$strings["Male"] = "Mężczyzna";
+App::$strings["Trans"] = "Trans";
+App::$strings["Neuter"] = "Neutralne";
+App::$strings["Non-specific"] = "Nie określone";
+App::$strings["Like this channel"] = "Polub ten kanał";
+App::$strings["j F, Y"] = "d M, R";
+App::$strings["j F"] = "d M";
+App::$strings["Birthday:"] = "Urodziny:";
+App::$strings["for %1\$d %2\$s"] = "dla %1\$d %2\$s";
+App::$strings["Tags:"] = "Tagi:";
+App::$strings["Sexual Preference:"] = "Preferencje seksualne:";
+App::$strings["Political Views:"] = "PoglÄ…dy polityczne:";
+App::$strings["Religion:"] = "Religia:";
+App::$strings["Hobbies/Interests:"] = "Hobby/Zainteresowania:";
+App::$strings["Likes:"] = "Polubień:";
+App::$strings["Dislikes:"] = "Dezaprobat:";
+App::$strings["Contact information and Social Networks:"] = "Informacje kontaktowe i sieci społecznościowe:";
+App::$strings["My other channels:"] = "Moje inne kanały:";
+App::$strings["Musical interests:"] = "Zainteresowania muzyczne:";
+App::$strings["Books, literature:"] = "Książki, literatura:";
+App::$strings["Television:"] = "Telewizja:";
+App::$strings["Film/dance/culture/entertainment:"] = "Film/taniec/kultura/rozrywka:";
+App::$strings["Love/Romance:"] = "Miłość/Romans:";
+App::$strings["Work/employment:"] = "Praca/zatrudnienie:";
+App::$strings["School/education:"] = "Szkoła/edukacja:";
+App::$strings["Like this thing"] = "Jak ta rzecz";
+App::$strings["Start calendar week on Monday"] = "Rozpocznij tydzień kalendarzowy w poniedziałek";
+App::$strings["Default is Sunday"] = "Domyślnie jest to niedziela";
+App::$strings["Event Timezone Selection"] = "Wybór strefy czasowej wydarzenia";
+App::$strings["Allow event creation in timezones other than your own."] = "Zezwalaj na tworzenie wydarzeń w strefach czasowych innych niż Twoja.";
+App::$strings["Search by Date"] = "Wyszukaj po dacie";
+App::$strings["Ability to select posts by date ranges"] = "Możliwość wyboru postów według zakresów dat";
+App::$strings["Tag Cloud"] = "Chmura tagów";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Udostępnij osobistą chmurę tagów na stronie swojego kanału";
+App::$strings["Use blog/list mode"] = "Użyj trybu bloga/listy";
+App::$strings["Comments will be displayed separately"] = "Komentarze będą wyświetlane osobno";
+App::$strings["Connection Filtering"] = "Filtrowanie połączeń";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtruj przychodzące posty z połączeń, na podstawie słów kluczowych lub treści";
+App::$strings["Conversation"] = "Rozmowa";
+App::$strings["Emoji Reactions"] = "Reakcje emoji";
+App::$strings["Add emoji reaction ability to posts"] = "Dodaj możliwość reakcji emoji do postów";
+App::$strings["Dislike Posts"] = "Nielubienie postów";
+App::$strings["Ability to dislike posts/comments"] = "Możliwość postów i komentarzy jako nielubiane";
+App::$strings["Star Posts"] = "Wyróżnianie postów";
+App::$strings["Ability to mark special posts with a star indicator"] = "Możliwość oznaczania wyróżnionych postów wskaźnikiem gwiazdki";
+App::$strings["Reply on comment"] = "Odpowiedanie na komentarze";
+App::$strings["Ability to reply on selected comment"] = "Możliwość udzielenia odpowiedzi na wybrany komentarz";
+App::$strings["Advanced Directory Search"] = "Zaawansowane przeszukiwanie katalogu";
+App::$strings["Allows creation of complex directory search queries"] = "Umożliwia tworzenie złożonych zapytań wyszukiwania w katalogu";
+App::$strings["Editor"] = "Edytor";
+App::$strings["Post Categories"] = "Kategorie postów";
+App::$strings["Add categories to your posts"] = "Dodaj kategorie do swoich postów";
+App::$strings["Large Photos"] = "Duże zdjęcia";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Dołączaj duże miniatury zdjęć (1024px) do postów. Jeśli nie jest to włączone, będzie można używać małych miniatur (640 px)";
+App::$strings["Even More Encryption"] = "Jeszcze więcej szyfrowania";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Zezwalaj na opcjonalne szyfrowanie zawartości od końca do końca za pomocą wspólnego tajnego klucza";
+App::$strings["Disable Comments"] = "Wyłącz komentarze";
+App::$strings["Provide the option to disable comments for a post"] = "Zapewnia możliwość wyłączenia komentowania postu";
+App::$strings["Delayed Posting"] = "Opóźnione publikowanie";
+App::$strings["Allow posts to be published at a later date"] = "Pozwal na publikację postów w późniejszym terminie";
+App::$strings["Content Expiration"] = "Wygaśnięcie treści";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Usuwanie postów i komentarzy lub prywatnych wiadomości w przyszłości";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Pomiń zduplikowane posty i komentarze";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Zapobiegaj publikowaniu postów o identycznej treści, mających mniej niż dwie minuty między przesłaniami.";
+App::$strings["Auto-save drafts of posts and comments"] = "Automatyczne zapisywanie wersji roboczych postów i komentarzy";
+App::$strings["Automatically saves post and comment drafts in local browser storage to help prevent accidental loss of compositions"] = "Automatycznie zapisuje wersje robocze postów i komentarzy w lokalnej pamięci przeglądarki, aby zapobiec przypadkowej utracie kompozycji";
+App::$strings["Manage"] = "ZarzÄ…dzaj";
+App::$strings["Navigation Channel Select"] = "Wybór kanału przez nawigację";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Zmiana kanału bezpośrednio z rozwijanego menu nawigacji";
+App::$strings["Events Filter"] = "Filtr wydarzeń";
+App::$strings["Ability to display only events"] = "Możliwość wyświetlania tylko wydarzeń";
+App::$strings["Polls Filter"] = "Filtr ankiet";
+App::$strings["Ability to display only polls"] = "Możliwość wyświetlania tylko ankiet";
+App::$strings["Save search terms for re-use"] = "Zapisywanie wyszukiwanych haseł do ponownego wykorzystania";
+App::$strings["Ability to file posts under folders"] = "Możliwość umieszczania postów w folderach";
+App::$strings["Alternate Stream Order"] = "Alternatywna kolejność strumienia";
+App::$strings["Ability to order the stream by last post date, last comment date or unthreaded activities"] = "Możliwość uporządkowania strumienia według daty ostatniego postu, daty ostatniego komentarza lub nieprzeczytanych aktywności";
+App::$strings["Contact Filter"] = "Filtr kontaktów";
+App::$strings["Ability to display only posts of a selected contact"] = "Możliwość wyświetlania postów autorstwa tylko wybranego kontaktu";
+App::$strings["Forum Filter"] = "Filtr forów";
+App::$strings["Ability to display only posts of a specific forum"] = "Możliwość wyświetlania postów tylko z określonego forum";
+App::$strings["Personal Posts Filter"] = "Filtr postów osobistych";
+App::$strings["Ability to display only posts that you've interacted on"] = "Możliwość wyświetlania tylko tych postów, z którymi miało się interakcję";
+App::$strings["Photo Location"] = "Lokalizacja zdjęcia";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Jeśli dane lokalizacji są dostępne na przesłanych zdjęciach, połącz je z mapą.";
+App::$strings["Advanced Profiles"] = "Profile zaawansowane";
+App::$strings["Additional profile sections and selections"] = "Dodatkowe sekcje profilu i pól wyborów";
+App::$strings["Profile Import/Export"] = "Profile Import/Export";
+App::$strings["Save and load profile details across sites/channels"] = "Zapisz i wczytaj szczegóły profilu w różnych witrynach i kanałach";
+App::$strings["Multiple Profiles"] = "Wiele profili";
+App::$strings["Ability to create multiple profiles"] = "Możliwość tworzenia wielu profili";
+App::$strings["Delegation session ended."] = "Sesja delegacji zakończyła się.";
+App::$strings["Logged out."] = "Wylogowano.";
+App::$strings["Email validation is incomplete. Please check your email."] = "Weryfikacja adresu e-mail jest niekompletna. Proszę sprawdzić swój adres email.";
+App::$strings["Failed authentication"] = "Uwierzytelnianie nie powiodło się";
+App::$strings["Login failed."] = "Logowanie nie powiodło się.";
+App::$strings["prev"] = "poprzedni";
+App::$strings["first"] = "pierwszy";
+App::$strings["last"] = "ostatni";
+App::$strings["next"] = "następny";
+App::$strings["older"] = "starszy";
+App::$strings["newer"] = "nowszy";
+App::$strings["No connections"] = "Brak połączeń";
+App::$strings["View all %s connections"] = "Wyświetl wszystkie połączenia %s";
+App::$strings["Network: %s"] = "Sieć: %s";
+App::$strings["poke"] = "szturchać";
+App::$strings["ping"] = "ping";
+App::$strings["pinged"] = "spingowany";
+App::$strings["prod"] = "szturchać";
+App::$strings["prodded"] = "szturchać";
+App::$strings["slap"] = "spoliczkować";
+App::$strings["slapped"] = "spoliczkowany";
+App::$strings["finger"] = "dotknąć";
+App::$strings["fingered"] = "dotknięty";
+App::$strings["rebuff"] = "odprawiać";
+App::$strings["rebuffed"] = "odprawiony";
+App::$strings["happy"] = "szczęśliwy";
+App::$strings["sad"] = "smutny";
+App::$strings["mellow"] = "łagodny";
+App::$strings["tired"] = "zmęczony";
+App::$strings["perky"] = "dziarski";
+App::$strings["angry"] = "gniewny";
+App::$strings["stupefied"] = "oszołomiony";
+App::$strings["puzzled"] = "zdziwiony";
+App::$strings["interested"] = "zainteresowany";
+App::$strings["bitter"] = "gorzki";
+App::$strings["cheerful"] = "wesoły";
+App::$strings["alive"] = "żywy";
+App::$strings["annoyed"] = "zirytowany";
+App::$strings["anxious"] = "niespokojny";
+App::$strings["cranky"] = "zepsuty";
+App::$strings["disturbed"] = "zaniepokojony";
+App::$strings["frustrated"] = "sfrustrowany";
+App::$strings["depressed"] = "przygnębiony";
+App::$strings["motivated"] = "zmotywowany";
+App::$strings["relaxed"] = "z<relaksowany";
+App::$strings["surprised"] = "zaskoczony";
+App::$strings["Monday"] = "Poniedziałek";
+App::$strings["Tuesday"] = "Wtorek";
+App::$strings["Wednesday"] = "Åšroda";
+App::$strings["Thursday"] = "Czwartek";
+App::$strings["Friday"] = "PiÄ…tek";
+App::$strings["Saturday"] = "Sonota";
+App::$strings["Sunday"] = "Niedziela";
+App::$strings["January"] = "Styczeń";
+App::$strings["February"] = "Luty";
+App::$strings["March"] = "Marzec";
+App::$strings["April"] = "Kwiecień";
+App::$strings["May"] = "Maj";
+App::$strings["June"] = "Czerwiec";
+App::$strings["July"] = "Lipiec";
+App::$strings["August"] = "Sierpień";
+App::$strings["September"] = "Wrzesień";
+App::$strings["October"] = "Pażdziernik";
+App::$strings["November"] = "Listopad";
+App::$strings["December"] = "Grudzień";
+App::$strings["Unknown Attachment"] = "Nieznany załącznik";
+App::$strings["unknown"] = "nieznany";
+App::$strings["remove category"] = "usuń kataegorię";
+App::$strings["remove from file"] = "usuń z pliku";
+App::$strings["Download binary/encrypted content"] = "Pobierz zawartość binarną/zaszyfrowaną";
+App::$strings["Poll has ended."] = "Ankieta zakończyła się.";
+App::$strings["Poll ends: %s"] = "Ankieta kończy się : %s";
+App::$strings["default"] = "domyślnie";
+App::$strings["Page layout"] = "Układ strony";
+App::$strings["You can create your own with the layouts tool"] = "Możesz tworzyć własne za pomocą narzędzia układów";
+App::$strings["HTML"] = "HTML";
+App::$strings["Comanche Layout"] = "Układ Comanche";
+App::$strings["PHP"] = "PHP";
+App::$strings["Page content type"] = "Typ treści strony";
+App::$strings["activity"] = "aktywność";
+App::$strings["poll"] = "ankieta";
+App::$strings["a-z, 0-9, -, and _ only"] = "tylko a-z, 0-9, - i _";
+App::$strings["Design Tools"] = "Narzędzia projektowe";
+App::$strings["Pages"] = "Strony";
+App::$strings["Import"] = "Import";
+App::$strings["Import website..."] = "Import witryny...";
+App::$strings["Select folder to import"] = "Wybierz folder do zaimportowania";
+App::$strings["Import from a zipped folder:"] = "Import z pliku archiwum ZIP:";
+App::$strings["Import from cloud files:"] = "Import plków z chmury:";
+App::$strings["/cloud/channel/path/to/folder"] = "/chmura/kanał/ścieżka/do/folderu";
+App::$strings["Enter path to website files"] = "Wprowadź ścieżkę do plików witryny internetowej";
+App::$strings["Select folder"] = "Wybierz folder";
+App::$strings["Export website..."] = "Eksport witryny...";
+App::$strings["Export to a zip file"] = "Eksport do pliku ZIP";
+App::$strings["website.zip"] = "nazwa_witryny.zip";
+App::$strings["Enter a name for the zip file."] = "Wprowadź nazwę pliku zip.";
+App::$strings["Export to cloud files"] = "Elsport do plików w chmurze";
+App::$strings["/path/to/export/folder"] = "/ścieżka/do/eksportu/folder";
+App::$strings["Enter a path to a cloud files destination."] = "Wprowadź ścieżkę do miejsca docelowego plików w chmurze.";
+App::$strings["Specify folder"] = "Wybierz folder";
+App::$strings["Unable to determine sender."] = "Nie można określić nadawcy.";
+App::$strings["No recipient provided."] = "Nie podano odbiorcy.";
+App::$strings["[no subject]"] = "[brak tematu]";
+App::$strings["Stored post could not be verified."] = "Nie można zweryfikować zapisanego postu.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s napisał co następuje %2\$s %3\$s";
+App::$strings["spoiler"] = "spojler";
+App::$strings["Profile-Based Privacy Groups"] = "Grupy prywatności oparte na profilach";
+App::$strings["Private Forum"] = "Forum prywatne";
+App::$strings["Share with"] = "Udostępnij";
+App::$strings["Custom selection"] = "Własny wybór";
+App::$strings["Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and limit the scope of \"Allow\"."] = "Wybierz \"Zezwól\", aby zezwolić na przeglądanie. \"Nie zezwalaj\" umożliwia zastąpienie i ograniczenie zakresu \"Zezwalaj\".";
+App::$strings["Don't allow"] = "Nie pozwalaj";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Uprawnienia do publikowania %s nie mogą być zmieniane %s po udostępnieniu postu. </br /> Te uprawnienia określają, kto może oglądać post.";
+App::$strings["This is the home page of %s."] = "To jest strona główna %s.";
+App::$strings["Trending"] = "Trendy";
+App::$strings["Keywords"] = "Słowa kluczowe";
+App::$strings["have"] = "ma";
+App::$strings["has"] = "majÄ…";
+App::$strings["want"] = "chce";
+App::$strings["wants"] = "chcÄ…";
+App::$strings["likes"] = "lubiÄ…";
+App::$strings["dislikes"] = "nie lubiÄ…";
+App::$strings["Unable to import a removed channel."] = "Nie można zaimportować usuniętego kanału.";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Nie można utworzyć zduplikowanego identyfikatora kanału w tym systemie. Import nieudany.";
+App::$strings["Unable to create a unique channel address. Import failed."] = "Nie można utworzyć unikalnego adresu kanału. Import nieudany.";
+App::$strings["Cloned channel not found. Import failed."] = "Nie znaleziono sklonowanego kanału. Import nieudany.";
+App::$strings["Remote authentication"] = "Zdalne uwierzytelnianie";
+App::$strings["Click to authenticate to your home hub"] = "Kliknij, aby uwierzytelnić się na swoim głównym hubie";
+App::$strings["Manage your channels"] = "Zarządzaj swoimi kanałami";
+App::$strings["Manage your privacy groups"] = "Zarządzaj swoimi grupami prywatności";
+App::$strings["Account/Channel Settings"] = "Ustawienia kanału/konta";
+App::$strings["Logout"] = "Wyloguj siÄ™";
+App::$strings["End this session"] = "Zakończ tą sesję";
+App::$strings["Your profile page"] = "Strona Twojego profilu";
+App::$strings["Manage/Edit profiles"] = "ZarzÄ…dzaj/edytuj profile";
+App::$strings["Sign in"] = "Zaloguj siÄ™";
+App::$strings["Take me home"] = "Zabierz mnie do domu";
+App::$strings["Log me out of this site"] = "Wyloguj mnie z tej witryny";
+App::$strings["Create an account"] = "Utwórz konto";
+App::$strings["Help and documentation"] = "Pomoc i dokumentacja";
+App::$strings["Search site @name, !forum, #tag, ?docs, content"] = "Szukaj w witrynie @name, !forum, #tag, ?docs, content";
+App::$strings["Site Setup and Configuration"] = "Instalacja i konfiguracja witryny";
+App::$strings["@name, !forum, #tag, ?doc, content"] = "@name, !forum, #tag, ?doc, content";
+App::$strings["Please wait..."] = "Proszę czekać ...";
+App::$strings["Add Apps"] = "Dodaj aplikacje";
+App::$strings["Arrange Apps"] = "Rozmieść aplikacje";
+App::$strings["Toggle System Apps"] = "Przełącz aplikacje systemowe";
+App::$strings["Status Messages and Posts"] = "Komunikaty o stanie i posty";
+App::$strings["Profile Details"] = "Szczegóły profilu";
+App::$strings["Photo Albums"] = "Albumy zdjęć";
+App::$strings["Files and Storage"] = "Pliki i ich magazyn";
+App::$strings["Saved Bookmarks"] = "Zapisane zakładki";
+App::$strings["View Cards"] = "Wyświetl karty";
+App::$strings["View Articles"] = "Wyświetl artykuły";
+App::$strings["View Webpages"] = "Wyświetl witryny internetowe";
+App::$strings["Select an alternate language"] = "Wybierz alternatywny język";
+App::$strings["OpenWebAuth: %1\$s welcomes %2\$s"] = "OpenWebAuth: %1\$s wita %2\$s";
+App::$strings["%1\$s's bookmarks"] = "zakładki %1\$s";
+App::$strings[" and "] = " i ";
+App::$strings["public profile"] = "profil publiczny";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s zmienił %2\$s na &bdquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Odwiedzin %1\$s %2\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ma zaktualizowane %2\$s, zmieniajÄ…c %3\$s.";
+App::$strings["INVALID EVENT DISMISSED!"] = "ODRZUCONO NIEPRAWIDÅOWE WYDARZENIE!";
+App::$strings["Summary: "] = "Podsumowanie: ";
+App::$strings["Date: "] = "Data: ";
+App::$strings["Reason: "] = "Powód: ";
+App::$strings["INVALID CARD DISMISSED!"] = "ODRZUCONO NIEPRAWIDÅOWÄ„ KARTĘ!";
+App::$strings["Name: "] = "Nazwa: ";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "Obraz przekracza limit rozmiaru witryny wynoszący %lu bajtów";
+App::$strings["Image file is empty."] = "Plik obrazu jest pusty.";
+App::$strings["Photo storage failed."] = "Zapis zdjęcia nie powiódł się.";
+App::$strings["a new photo"] = "nowe zdjęcie";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s wysłał %2\$s do %3\$s";
+App::$strings["Upload New Photos"] = "Prześlij nowe zdjęcia";
+App::$strings["Delete this item?"] = "Usunąć tą pozycjęD?";
+App::$strings["%s show less"] = "%s pokaż mniej";
+App::$strings["%s expand"] = "%s rozwiń";
+App::$strings["%s collapse"] = "%s zwiń";
+App::$strings["Password too short"] = "Hasło jest za krótkie";
+App::$strings["Passwords do not match"] = "Hasła nie pasują do siebie";
+App::$strings["everybody"] = "wszyscy";
+App::$strings["Secret Passphrase"] = "Tajna hasło";
+App::$strings["Passphrase hint"] = "Wskazówka dotycząca hasła";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Uwaga: uprawnienia uległy zmianie, ale nie zostały jeszcze przesłane.";
+App::$strings["close all"] = "zamknij wszystko";
+App::$strings["Nothing new here"] = "Nic nowego tutaj";
+App::$strings["Rate This Channel (this is public)"] = "Oceń ten kanał (to jest publiczne)";
+App::$strings["Describe (optional)"] = "Opisz (opcjonalnie)";
+App::$strings["Please enter a link URL"] = "Proszę wprowadzić URL linku";
+App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Niezapisane zmiany. Czy na pewno chcesz opuścić tę stronę?";
+App::$strings["lovely"] = "śliczne";
+App::$strings["wonderful"] = "wspaniałe";
+App::$strings["fantastic"] = "fantastyczne";
+App::$strings["great"] = "świetne";
+App::$strings["Your chosen nickname was either already taken or not valid. Please use our suggestion ("] = "Twój wybrany pseudonim jest już zajęty lub nieważny. Skorzystaj z naszej prpozycji (";
+App::$strings[") or enter a new one."] = ") lub wprowadź nowy.";
+App::$strings["Thank you, this nickname is valid."] = "Dziękuję, ten pseudonim jest prawidłowy.";
+App::$strings["A channel name is required."] = "Wymagana jest nazwa kanału.";
+App::$strings["This is a "] = "To jest ";
+App::$strings[" channel name"] = " nazwa kanału";
+App::$strings["Back to reply"] = "Wróć do odpowiedzi";
+App::$strings["Pinned"] = "Przypięte";
+App::$strings["%d minutes"] = array(
+ 0 => "%d minuta",
+ 1 => "%d minuty",
+ 2 => "%d minut",
+);
+App::$strings["about %d hours"] = array(
+ 0 => "około %d godziny",
+ 1 => "około %d godzin",
+ 2 => "około %d godzin",
+);
+App::$strings["%d days"] = array(
+ 0 => "%d dzień",
+ 1 => "%d dni",
+ 2 => "%d dni",
+);
+App::$strings["%d months"] = array(
+ 0 => "%d miesiÄ…c",
+ 1 => "%d miesięcy",
+ 2 => "%d miesięcy",
+);
+App::$strings["%d years"] = array(
+ 0 => "%d rok",
+ 1 => "%d lata",
+ 2 => "%d lat",
+);
+App::$strings["timeago.prefixAgo"] = "temu";
+App::$strings["timeago.prefixFromNow"] = "od teraz";
+App::$strings["timeago.suffixAgo"] = "temu";
+App::$strings["timeago.suffixFromNow"] = "od teraz";
+App::$strings["less than a minute"] = "mniej niż minutę";
+App::$strings["about a minute"] = "około minuty";
+App::$strings["about an hour"] = "około godziny";
+App::$strings["a day"] = "dzień";
+App::$strings["about a month"] = "około miesiąca";
+App::$strings["about a year"] = "około roku";
+App::$strings[" "] = " ";
+App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["__ctx:long__ May"] = "Maj";
+App::$strings["Jan"] = "Sty";
+App::$strings["Feb"] = "Lut";
+App::$strings["Mar"] = "Mar";
+App::$strings["Apr"] = "Kwi";
+App::$strings["__ctx:short__ May"] = "Maj";
+App::$strings["Jun"] = "Cze";
+App::$strings["Jul"] = "Lop";
+App::$strings["Aug"] = "Sie";
+App::$strings["Sep"] = "Wrz";
+App::$strings["Oct"] = "Paź";
+App::$strings["Nov"] = "Lis";
+App::$strings["Dec"] = "Gru";
+App::$strings["Sun"] = "Nie";
+App::$strings["Mon"] = "Pon";
+App::$strings["Tue"] = "Wto";
+App::$strings["Wed"] = "Åšro";
+App::$strings["Thu"] = "Czw";
+App::$strings["Fri"] = "PiÄ…";
+App::$strings["Sat"] = "Sob";
+App::$strings["__ctx:calendar__ today"] = "dzisiaj";
+App::$strings["__ctx:calendar__ month"] = "miesiÄ…c";
+App::$strings["__ctx:calendar__ week"] = "tydzień";
+App::$strings["__ctx:calendar__ day"] = "dzień";
+App::$strings["__ctx:calendar__ All day"] = "Cały dzień";
+App::$strings["Please stand by while your download is being prepared."] = "Proszę czekać, aż pobieranie jest przygotowywane.";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Token bezpieczeństwa formularza był nieprawidłowy. Prawdopodobnie stało się tak, ponieważ formularz był otwarty zbyt długo (> 3 godziny) przed wysłaniem.";
+App::$strings["Profile to assign new connections"] = "Profil do przypisywania nowych połączeń";
+App::$strings["Frequently"] = "Często";
+App::$strings["Hourly"] = "Co godzinnÄ™";
+App::$strings["Twice daily"] = "Dwa razy dziennie";
+App::$strings["Daily"] = "Co dzień";
+App::$strings["Weekly"] = "Co tydzień";
+App::$strings["Monthly"] = "Co miesiÄ…c";
+App::$strings["Currently Male"] = "Obecnie mężczyzna";
+App::$strings["Currently Female"] = "Obecnie kobieta";
+App::$strings["Mostly Male"] = "Głównie mężczyźna";
+App::$strings["Mostly Female"] = "Głównie kobieta";
+App::$strings["Transgender"] = "Transgender";
+App::$strings["Intersex"] = "Interpłciowość";
+App::$strings["Transsexual"] = "Transseksualność";
+App::$strings["Hermaphrodite"] = "Hermafrodyta";
+App::$strings["Undecided"] = "Niezdecydowano";
+App::$strings["Males"] = "Mężczyżni";
+App::$strings["Females"] = "Kobiety";
+App::$strings["Gay"] = "Homoseksualista";
+App::$strings["Lesbian"] = "Lesbijka";
+App::$strings["No Preference"] = "Bez preferencji";
+App::$strings["Bisexual"] = "Biseksualne";
+App::$strings["Autosexual"] = "Autoseksualne";
+App::$strings["Abstinent"] = "Abstyncja";
+App::$strings["Virgin"] = "Dziewice";
+App::$strings["Deviant"] = "Dewiant";
+App::$strings["Fetish"] = "Fetysz";
+App::$strings["Oodles"] = "Oodles";
+App::$strings["Nonsexual"] = "Nonsexual";
+App::$strings["Single"] = "Singiel";
+App::$strings["Lonely"] = "Samotny/Samotna";
+App::$strings["Available"] = "Dostępny/Dostęnna";
+App::$strings["Unavailable"] = "Niedostępny/Niedostęþna";
+App::$strings["Has crush"] = "Zadużony/Zadużona";
+App::$strings["Infatuated"] = "Zakochany/Zakochana";
+App::$strings["Dating"] = "Randki";
+App::$strings["Unfaithful"] = "Niewierny";
+App::$strings["Sex Addict"] = "Uzależniony/Uzależniona od seksu";
+App::$strings["Friends/Benefits"] = "Przyjaciele/Korzyści";
+App::$strings["Casual"] = "Przygodnie";
+App::$strings["Engaged"] = "Zaręczony/Zaręczona";
+App::$strings["Married"] = "Zaślubiony/Zaślubiona";
+App::$strings["Imaginarily married"] = "Zaślubiony/Zaślubiona w myślach";
+App::$strings["Partners"] = "Patner/Partnerka";
+App::$strings["Cohabiting"] = "Konkubent/Konkubina";
+App::$strings["Common law"] = "Prawo zwyczajowe";
+App::$strings["Happy"] = "Szczęsliwy/Szczęśliwa";
+App::$strings["Not looking"] = "Nie szukajÄ…cy/Nie szukajÄ…ca";
+App::$strings["Swinger"] = "Swinger";
+App::$strings["Betrayed"] = "Zdradzony/Zdradzona";
+App::$strings["Separated"] = "W separacji";
+App::$strings["Unstable"] = "Niestabilny/Niestabilna";
+App::$strings["Divorced"] = "Rozwiedziony/Rozwiedziona";
+App::$strings["Imaginarily divorced"] = "Rozwiedziony/Rozwiedziona w myślach";
+App::$strings["Widowed"] = "Wdowiec/Wdowa";
+App::$strings["Uncertain"] = "Niezdecydowany/Niezdecydowana";
+App::$strings["It's complicated"] = "To skomplikowane";
+App::$strings["Don't care"] = "Nie obchodzi mnie to";
+App::$strings["Ask me"] = "Zapytaj mnie";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU-Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Not a valid email address"] = "Nieprawidłowy adres e-mail";
+App::$strings["Your email domain is not among those allowed on this site"] = "Twoja domena e-mail nie należy do domen dozwolonych w tym serwisie";
+App::$strings["Your email address is already registered at this site."] = "Twój adres e-mail jest już zarejestrowany w tym serwisie.";
+App::$strings["An invitation is required."] = "Wymagane jest zaproszenie.";
+App::$strings["Invitation could not be verified."] = "Nie udało się zweryfikować zaproszenia.";
+App::$strings["Please enter the required information."] = "Proszę wprowadzić wymagane informacje.";
+App::$strings["Failed to store account information."] = "Nie udało się zapisać informacji o koncie.";
+App::$strings["Registration confirmation for %s"] = "Potwierdzenie rejestracji dla %s";
+App::$strings["Registration request at %s"] = "Wniosek o rejestracjÄ™ na %s";
+App::$strings["your registration password"] = "hasło rejestracyjne";
+App::$strings["Registration details for %s"] = "Szczegóły rejestracji dla %s";
+App::$strings["Account approved."] = "Konto zostało zatwierdzone.";
+App::$strings["Registration revoked for %s"] = "Rejestracja cofnięta dla %s";
+App::$strings["Click here to upgrade."] = "Kliknij tutaj, aby zaktualizować.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Ta czynność wykracza poza limity określone w planie subskrypcji.";
+App::$strings["This action is not available under your subscription plan."] = "Ta czynność nie jest dostępna w ramach Twojego planu subskrypcji.";
+App::$strings["Help:"] = "Pomoc:";
+App::$strings["Not Found"] = "Nie znaleziono";
+App::$strings["Item was not found."] = "Nie znaleziono elementu.";
+App::$strings["Unknown error."] = "Nieznany błąd.";
+App::$strings["No source file."] = "Brak pliku źródłowego.";
+App::$strings["Cannot locate file to replace"] = "Nie można znaleźć pliku do zastąpienia";
+App::$strings["Cannot locate file to revise/update"] = "Nie można zlokalizować pliku do poprawienia/aktualizacji";
+App::$strings["File exceeds size limit of %d"] = "Plik przekracza limit rozmiaru %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Osiągnęty został limit %1$.0f MB miejsca na załączniki.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Przesyłanie pliku nie powiodło się. Możliwe ograniczenie systemowe lub działanie zakończone.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Nie można zweryfikować zapisanego pliku. Przesyłanie nie powiodło się.";
+App::$strings["Path not available."] = "Ścieżka niedostępna.";
+App::$strings["Empty pathname"] = "Pusta ścieżka";
+App::$strings["duplicate filename or path"] = "zduplikowana nazwa pliku lub ścieżka";
+App::$strings["Path not found."] = "Ścieżka nie znaleziona.";
+App::$strings["mkdir failed."] = "mkdir zakończył sie błędem.";
+App::$strings["database storage failed."] = "zapis w bazie danych nie powiódł się.";
+App::$strings["Empty path"] = "Pusta ścieżka";
+App::$strings["%s shared a %s with you"] = "%s udostępnił Ci %s";
+App::$strings["file"] = "plik";
+App::$strings["New window"] = "Nowe okno";
+App::$strings["Open the selected location in a different window or browser tab"] = "Otwórz wybraną lokalizację w innym oknie lub karcie przeglądarki";
+App::$strings["Home, Voice"] = "Dom, głosowy";
+App::$strings["Home, Fax"] = "Dom, fax";
+App::$strings["Work, Voice"] = "Praca, głosowy";
+App::$strings["Work, Fax"] = "Praca, fax";
+App::$strings["View PDF"] = "Wyświetl PDF";
+App::$strings[" by "] = " przez ";
+App::$strings[" on "] = " na ";
+App::$strings["Embedded content"] = "Osadzone treści";
+App::$strings["Embedding disabled"] = "Osadzanie wyłączone";
+App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+App::$strings["Starts:"] = "Rozpoczętych:";
+App::$strings["Finishes:"] = "Zakończonych:";
+App::$strings["l F d, Y"] = "l F d, Y";
+App::$strings["Start:"] = "Rozpoczęto:";
+App::$strings["End:"] = "Zakończono:";
+App::$strings["Timezone"] = "Strefa czasowa";
+App::$strings["This event has been added to your calendar."] = "To wydarzenie zostało dodane do Twojego kalendarza.";
+App::$strings["Not specified"] = "Nieokreślone";
+App::$strings["Needs Action"] = "Wymaga działania";
+App::$strings["Completed"] = "Zakończone";
+App::$strings["In Process"] = "W trakcie";
+App::$strings["Cancelled"] = "Usuniete";
+App::$strings["Birthday"] = "Urodziny";
+App::$strings["Age: "] = "Wiek: ";
+App::$strings["YYYY-MM-DD or MM-DD"] = "RRRR-MM-DD lub MM-DD";
+App::$strings["never"] = "nigdy";
+App::$strings["less than a second ago"] = "mniej niż sekundę temu";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s temu";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "rok",
+ 1 => "lata",
+ 2 => "lat",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "miesiÄ…c",
+ 1 => "miesiÄ…ce",
+ 2 => "miesięcy",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "tydzień",
+ 1 => "tygodnie",
+ 2 => "tygodni",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "dzień",
+ 1 => "dni",
+ 2 => "dni",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "godzina",
+ 1 => "godziny",
+ 2 => "godzin",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minuta",
+ 1 => "minuty",
+ 2 => "minut",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "sekunda",
+ 1 => "sekundy",
+ 2 => "sekund",
+);
+App::$strings["%1\$s's birthday"] = "urodziny %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "%1\$s, wszystkiego najlepszego z okazji urodzin";
+App::$strings["(Unknown)"] = "(Nieznane)";
+App::$strings["Visible to anybody on the internet."] = "Widoczne dla każdego w internecie.";
+App::$strings["Visible to you only."] = "Widoczne tylko dla Ciebie.";
+App::$strings["Visible to anybody in this network."] = "Widoczne dla każdego w tej sieci.";
+App::$strings["Visible to anybody authenticated."] = "Widoczne dla każdego uwierzytelnionego.";
+App::$strings["Visible to anybody on %s."] = "Widoczne dla wszystkich na %s.";
+App::$strings["Visible to all connections."] = "Widoczny dla wszystkich połączeń.";
+App::$strings["Visible to approved connections."] = "Widoczny dla zatwierdzonych połączeń.";
+App::$strings["Visible to specific connections."] = "Widoczny dla określonych połączeń.";
+App::$strings["Privacy group is empty."] = "Grupa prywatności jest pusta.";
+App::$strings["Privacy group: %s"] = "Grupa prywatności: %s";
+App::$strings["Connection not found."] = "Nie znaleziono połączenia.";
+App::$strings["profile photo"] = "zdjęcie profilowe";
+App::$strings["[Edited %s]"] = "[Edytowane %s]";
+App::$strings["__ctx:edit_activity__ Post"] = "Post";
+App::$strings["__ctx:edit_activity__ Comment"] = "Komentarz";
+App::$strings["Response from remote channel was incomplete."] = "Odpowiedź z kanału zdalnego była niekompletna.";
+App::$strings["Premium channel - please visit:"] = "Kanał premium - odwiedź:";
+App::$strings["Channel was deleted and no longer exists."] = "Kanał został usunięty i już nie istnieje.";
+App::$strings["Invalid data packet"] = "Nieprawidłowy pakiet danych";
+App::$strings["invalid target signature"] = "nieprawidłowy podpis docelowy";
+App::$strings["Image/photo"] = "Obraz/zdjęcie";
+App::$strings["Encrypted content"] = "Zaszyfrowana treść";
+App::$strings["Install %1\$s element %2\$s"] = "Zainstaluj element %1\$s %2\$s";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ten post zawiera możliwy do zainstalowania element %s, jednak nie masz uprawnień do zainstalowania go w tym serwisie.";
+App::$strings["card"] = "karta";
+App::$strings["article"] = "artykuł";
+App::$strings["Click to open/close"] = "Kliknij, any otworzyć/zamknąć";
+App::$strings["View article"] = "Wyświetl artykuł";
+App::$strings["View summary"] = "Wyświetl podsumowanie";
+App::$strings["$1 wrote:"] = "$1 napisał:";
+App::$strings["Follow"] = "Obserwuj";
+App::$strings["%1\$s is now following %2\$s"] = "%1\$s obserwujesz teraz %2\$s";
+App::$strings["The GNU-Social protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Protokół GNU-Social nie obsługuje niezależności od lokalizacji. Połączenia nawiązane w tej sieci mogą być niedostępne z innych lokalizacji kanałów.";
+App::$strings["GNU-Social Protocol App"] = "Aplikacja Protokół GNU-Social";
+App::$strings["GNU-Social Protocol"] = "GNU-Social Protocol";
+App::$strings["QR code"] = "Kod QR";
+App::$strings["QR Generator"] = "Generator QR";
+App::$strings["Enter some text"] = "Wprowadź jakiś tekst";
+App::$strings["Popular Channels"] = "Popularne kanały";
+App::$strings["Channels to auto connect"] = "Kanały do automatycznego podłączenia";
+App::$strings["Comma separated list"] = "Lista rozdzielana przecinkami";
+App::$strings["IRC Settings"] = "Ustawienia IRC";
+App::$strings["IRC settings saved."] = "Zapisano ustawienia IRC.";
+App::$strings["IRC Chatroom"] = "Pokój rozmów IRC";
+App::$strings["Send email to all members"] = "Wyślij e-mail do wszystkich członków";
+App::$strings["No recipients found."] = "Nie znaleziono adresatów.";
+App::$strings["%1\$d of %2\$d messages sent."] = "Wysłano %1\$d wiadomości z %2\$d zadysponowanych.";
+App::$strings["Send email to all hub members."] = "Wyślij wiadomość e-mail do wszystkich członków huba.";
+App::$strings["Message subject"] = "Temat wiadomości";
+App::$strings["Sender Email address"] = "Adres e-mail nadawcy";
+App::$strings["Test mode (only send to hub administrator)"] = "Tryb testowy (wysyłaj tylko do administratora huba)";
+App::$strings["Your Webbie:"] = "Twój Webbie:";
+App::$strings["Fontsize (px):"] = "Wielkość czcionki (px):";
+App::$strings["Link:"] = "Link:";
+App::$strings["Like us on Hubzilla"] = "Polub nas na Hubzilli";
+App::$strings["Embed:"] = "Osadzone:";
+App::$strings["Save Settings"] = "Zapisz ustawienia";
+App::$strings["text to include in all outgoing posts from this site"] = "tekst do umieszczania we wszystkich postach wychodzÄ…cych z tej witryny";
+App::$strings["lonely"] = "samotny";
+App::$strings["drunk"] = "pijany";
+App::$strings["horny"] = "seksualnie podniecony";
+App::$strings["stoned"] = "zjarany";
+App::$strings["fucked up"] = "spieprzone";
+App::$strings["clusterfucked"] = "klasterfucked";
+App::$strings["crazy"] = "zwariowany";
+App::$strings["hurt"] = "ból";
+App::$strings["sleepy"] = "senny";
+App::$strings["grumpy"] = "gderliwy";
+App::$strings["high"] = "wysoki";
+App::$strings["semi-conscious"] = "półprzytomny";
+App::$strings["in love"] = "zakochany";
+App::$strings["in lust"] = "w pożądaniu";
+App::$strings["naked"] = "nagi";
+App::$strings["stinky"] = "śmierdzący";
+App::$strings["sweaty"] = "spocony";
+App::$strings["bleeding out"] = "wykrwawiać się";
+App::$strings["victorious"] = "zwycięski";
+App::$strings["defeated"] = "pokonany";
+App::$strings["envious"] = "zazdrosny";
+App::$strings["jealous"] = "zazdrosny";
+App::$strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Ta witryna jest śledzona za pomocą narzędzia analitycznego <a href='http://www.piwik.org'>Piwik</a>.";
+App::$strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "Jeśli nie chcesz, aby Twoje wizyty były rejestrowane w ten sposób, <a href='%s'> możesz ustawić plik cookie, aby uniemożliwić Piwik śledzenie dalszych wizyt na stronie </a> (rezygnacja).";
+App::$strings["Piwik Base URL"] = "Bazowy adres URL Piwik";
+App::$strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "Absolutna ścieżka do instalacji Piwika. (bez protokołu (http/s), z końcowym ukośnikiem)";
+App::$strings["Site ID"] = "ID witryny";
+App::$strings["Show opt-out cookie link?"] = "Pokazać link do rezygnacji z pliku cookie?";
+App::$strings["Asynchronous tracking"] = "Åšledzenie asynchroniczne";
+App::$strings["Enable frontend JavaScript error tracking"] = "Włącz śledzenie błędów JavaScript w interfejsie użytkownika";
+App::$strings["This feature requires Piwik >= 2.2.0"] = "Ta funkcjonalność wymaga Piwik >= 2.2.0";
+App::$strings["Access Denied"] = "Dostęp zabroniony";
+App::$strings["Enable Community Moderation"] = "Włącz moderację społecznościową";
+App::$strings["Reputation automatically given to new members"] = "Reputacja przyznawana automatycznie nowym członkom";
+App::$strings["Reputation will never fall below this value"] = "Reputacja nigdy nie spadnie poniżej tej wartości";
+App::$strings["Minimum reputation before posting is allowed"] = "Dozwolona jest minimalna reputacja przed rozpoczęciem postów";
+App::$strings["Minimum reputation before commenting is allowed"] = "Dozwolona jest minimalna reputacja przed rozpoczęciem komentowania";
+App::$strings["Minimum reputation before a member is able to moderate other posts"] = "Minimalna reputacja, zanim członek będzie mógł moderować inne posty";
+App::$strings["Max ratio of moderator's reputation that can be added to/deducted from reputation of person being moderated"] = "Maksymalny współczynnik reputacji moderatora, który można dodać do reputacji moderowanej osoby lub od niej odjąć";
+App::$strings["Reputation \"cost\" to post"] = "\"Koszt\" reputacji dla postu";
+App::$strings["Reputation \"cost\" to comment"] = "\"Koszt\" reputacji dla komentarza";
+App::$strings["Reputation automatically recovers at this rate per hour until it reaches minimum_to_post"] = "Reputacja automatycznie odświeżana jest w tym tempie co godzinę, dopóki nie osiągnie minimum_to_post";
+App::$strings["When minimum_to_moderate > reputation > minimum_to_post reputation recovers at this rate per hour"] = "Kiedy minimum_to_moderate > reputation> minimum_to_post reputacja odświeża na jest z taką szybkością na godzinę";
+App::$strings["Community Moderation Settings"] = "Ustawienia moderowania społecznościowego";
+App::$strings["Channel Reputation"] = "Reputacja kanału";
+App::$strings["An Error has occurred."] = "Wystąpił błąd.";
+App::$strings["Upvote"] = "Głosuj za";
+App::$strings["Downvote"] = "Głosuj przeciw";
+App::$strings["Can moderate reputation on my channel."] = "Mogę moderować reputację na moim kanale.";
+App::$strings["Errors encountered deleting database table "] = "Napotkano błędy podczas usuwania tabeli bazy danych ";
+App::$strings["Submit Settings"] = "Prześlij ustawienia";
+App::$strings["Drop tables when uninstalling?"] = "Usunąć tabele podczas odinstalowywania?";
+App::$strings["If checked, the Rendezvous database tables will be deleted when the plugin is uninstalled."] = "Jeśli zaznaczone, po odinstalowaniu wtyczki zostaną usunięte wszystkie tabele z bazy danych Rendezvous.";
+App::$strings["Mapbox Access Token"] = "Token Mapbox Access";
+App::$strings["If you enter a Mapbox access token, it will be used to retrieve map tiles from Mapbox instead of the default OpenStreetMap tile server."] = "Jeśli wprowadzisz token dostępu Mapbox, będzie on używany do pobierania fragmentów mapy z Mapbox, zamiast z domyślnego serwera kafelków OpenStreetMap.";
+App::$strings["Rendezvous"] = "Rendezvous";
+App::$strings["This identity has been deleted by another member due to inactivity. Please press the \"New identity\" button or refresh the page to register a new identity. You may use the same name."] = "Ta tożsamość została usunięta przez innego członka z powodu braku aktywności. Proszę nacisnąć przycisk \"Nowa tożsamość\" lub odświeżyć stronę, aby zarejestrować nową tożsamość. Możesz użyć tej samej nazwy.";
+App::$strings["Welcome to Rendezvous!"] = "Witamy w Rendezvous!";
+App::$strings["Enter your name to join this rendezvous. To begin sharing your location with the other members, tap the GPS control. When your location is discovered, a red dot will appear and others will be able to see you on the map."] = "Wpisz swoje imię i nazwisko, aby dołączyć do tego spotkania. W celu rozpoczęcia udostępniania swojej lokalizacji innym członkom, dotknij elementu sterującego GPS. Gdy Twoja lokalizacja zostanie odkryta, pojawi się czerwona kropka i inni będą mogli Cię zobaczyć na mapie.";
+App::$strings["Let's meet here"] = "Spotkajmy siÄ™ tutaj";
+App::$strings["New marker"] = "Nowy znacznik";
+App::$strings["Edit marker"] = "Edytuj znacznik";
+App::$strings["New identity"] = "Nowa tożsamość";
+App::$strings["Delete marker"] = "Usuń znacznik";
+App::$strings["Delete member"] = "Usuń członka";
+App::$strings["Edit proximity alert"] = "Edytuj alert zbliżeniowy";
+App::$strings["A proximity alert will be issued when this member is within a certain radius of you.<br><br>Enter a radius in meters (0 to disable):"] = "Alert zbliżeniowy zostanie wygenerowany, gdy ten członek znajdzie się w określonym promieniu od Ciebie. <br> <br> Wprowadź promień w metrach (0, aby wyłączyć):";
+App::$strings["distance"] = "odległość";
+App::$strings["Proximity alert distance (meters)"] = "Odległość ostrzeżenia o bliskości (metry)";
+App::$strings["A proximity alert will be issued when you are within a certain radius of the marker location.<br><br>Enter a radius in meters (0 to disable):"] = "Alert zbliżeniowy zostanie wygenerowany, gdy znajdziesz się w określonym promieniu od lokalizacji znacznika. <br> <br> Wprowadź promień w metrach (0, aby wyłączyć):";
+App::$strings["Marker proximity alert"] = "Ostrzeżenie o bliskości znacznika";
+App::$strings["Reminder note"] = "Notatka przypominajÄ…ca";
+App::$strings["Enter a note to be displayed when you are within the specified proximity..."] = "Wprowadź notatkę, która będzie wyświetlana, gdy będziesz w określonej odległości ...";
+App::$strings["Add new rendezvous"] = "Dodaj nowe spotkanie";
+App::$strings["Create a new rendezvous and share the access link with those you wish to invite to the group. Those who open the link become members of the rendezvous. They can view other member locations, add markers to the map, or share their own locations with the group."] = "Utwórz nowe spotkanie i udostępnij łącze dostępu tym, których chcesz zaprosić do grupy. Osoby, które otworzą łącze, stają się członkami spotkania. Mogą wyświetlać lokalizacje innych członków, dodawać znaczniki do mapy lub udostępniać własne lokalizacje grupie.";
+App::$strings["You have no rendezvous. Press the button above to create a rendezvous!"] = "Nie masz spotkania. Naciśnij przycisk powyżej, aby utworzyć spotkanie!";
+App::$strings["Skeleton App"] = "Aplikacja Szkielet";
+App::$strings["A skeleton for addons, you can copy/paste"] = "Szkielet dodatków, który można skopiować i wkleić";
+App::$strings["Some setting"] = "JakieÅ› ustawienie";
+App::$strings["A setting"] = "Ustawienie";
+App::$strings["Skeleton Settings"] = "Ustawienia Skeleton";
+App::$strings["Post to Hubzilla"] = "Wyślij do Hubzilli";
+App::$strings["Channel is required."] = "Kanał jest wymagany.";
+App::$strings["Hubzilla Crosspost Connector Settings saved."] = "Ustawienia Hubzilla Crosspost Connector zostały zapisane.";
+App::$strings["Hubzilla Crosspost Connector App"] = "Aplikacja Hubzilla Crosspost Connector";
+App::$strings["Relay public postings to another Hubzilla channel"] = "Przekaż publiczne posty na inny kanał Hubzilla";
+App::$strings["Send public postings to Hubzilla channel by default"] = "Domyślnie wysyłaj publiczne posty na kanał Hubzilla";
+App::$strings["Hubzilla API Path"] = "Ścieżka API Hubzilla";
+App::$strings["https://{sitename}/api"] = "https://{sitename}/api";
+App::$strings["Hubzilla login name"] = "Nazwa logowania Hubzilla";
+App::$strings["Hubzilla channel name"] = "Nazwa kanału Hubzilla";
+App::$strings["Nickname"] = "Pseudonim";
+App::$strings["Hubzilla password"] = "Hasło Hubzilla";
+App::$strings["Hubzilla Crosspost Connector"] = "Hubzilla Crosspost Connector";
+App::$strings["TOTP Two-Step Verification"] = "Weryfikacja dwuetapowa TOTP";
+App::$strings["Enter the 2-step verification generated by your authenticator app:"] = "Wprowadź dwuetapową weryfikację wygenerowaną przez aplikację uwierzytelniającą:";
+App::$strings["Success!"] = "Powodzenie!";
+App::$strings["Invalid code, please try again."] = "Nieprawidłowy kod, proszę spróbować ponownie.";
+App::$strings["Too many invalid codes..."] = "Za dużo nieprawidłowych kodów ...";
+App::$strings["Verify"] = "Zweryfikuj";
+App::$strings["You haven't set a TOTP secret yet.\nPlease click the button below to generate one and register this site\nwith your preferred authenticator app."] = "Nie ustawiłeś jeszcze sekretu TOTP.\nKliknij przycisk poniżej, aby to wygenerować i zarejestrować witrynę\nw preferowanej aplikacji uwierzytelniającej.";
+App::$strings["Your TOTP secret is"] = "Twój sekret TOTP to";
+App::$strings["Be sure to save it somewhere in case you lose or replace your mobile device.\nUse your mobile device to scan the QR code below to register this site\nwith your preferred authenticator app."] = "Zapisz go gdzieś na wypadek zgubienia lub wymiany urządzenia mobilnego.\nUżyj urządzenia mobilnego, aby zeskanować poniższy kod QR i zarejestrować tą witrynę\nw preferowanej aplikacji uwierzytelniającej.";
+App::$strings["Test"] = "Test";
+App::$strings["Generate New Secret"] = "Generowanie nowego sekretu";
+App::$strings["Go"] = "Idź dalej";
+App::$strings["Enter your password"] = "Wprowadź swoje hasło";
+App::$strings["enter TOTP code from your device"] = "wprowadź kod TOTP z urządzenia";
+App::$strings["Pass!"] = "Przeszło!";
+App::$strings["Fail"] = "Błąd";
+App::$strings["Incorrect password, try again."] = "Nieprawidłowe hasło, spróbuj ponownie.";
+App::$strings["Record your new TOTP secret and rescan the QR code above."] = "Zapisz swój nowy sekret TOTP i ponownie przeskanuj powyższy kod QR.";
+App::$strings["TOTP Settings"] = "Ustawienia TOTP";
+App::$strings["Your account on %s will expire in a few days."] = "Twoje konto na %s wygaśnie za kilka dni.";
+App::$strings["Your $Productname test account is about to expire."] = "Twoje konto testowe $Productname wkrótce wygaśnie.";
+App::$strings["An account has been created for you."] = "Konto zostało dla Ciebie utworzone.";
+App::$strings["Authentication successful but rejected: account creation is disabled."] = "Uwierzytelnianie przebiegło pomyślne, ale zostało odrzucone: tworzenie konta jest wyłączone.";
+App::$strings["DB Cleanup Failure"] = "Błąd czyszczenia bazy danych";
+App::$strings["[cart] Item Added"] = "[koszyk] Dodano element";
+App::$strings["Order already checked out."] = "Zamówienie już jest wyrejestrowane.";
+App::$strings["Drop database tables when uninstalling."] = "Usuń tabele bazy danych podczas odinstalowywania.";
+App::$strings["Cart Settings"] = "Ustawienia koszyka";
+App::$strings["Shop"] = "Sklep";
+App::$strings["Order Not Found"] = "Nie znaleziono zamówienia";
+App::$strings["Cart utilities for orders and payments"] = "Narzędzia koszyka do zamówień i płatności";
+App::$strings["You must be logged into the Grid to shop."] = "Aby robić zakupy, musisz być zalogowany do Siatki.";
+App::$strings["Order not found."] = "Nie znaleziono zamówienia.";
+App::$strings["Access denied."] = "Dostęp zabroniony.";
+App::$strings["No Order Found"] = "Nie znaleziono zamówienia";
+App::$strings["An unknown error has occurred Please start again."] = "Wystąpił nieznany błąd. Zacznij od nowa.";
+App::$strings["Requirements not met."] = "Nie spełnia wymagań.";
+App::$strings["Review your order and complete any needed requirements."] = "Przejrzyj swoje zamówienie i spełnij wszystkie wymagania.";
+App::$strings["Invalid Payment Type. Please start again."] = "Nieprawidłowy typ płatności. Zacznij od nowa.";
+App::$strings["Order not found"] = "Nie znaleziono zamówienia";
+App::$strings["Enable Order/Item Options"] = "Włącz opcję Zamówienie/Element";
+App::$strings["Label"] = "Etykieta";
+App::$strings["Instructions"] = "Instukcje";
+App::$strings["Enable Hubzilla Services Module"] = "Włącz moduł usług Hubzilla";
+App::$strings["New Sku"] = "Nowy SKU";
+App::$strings["Cannot save edits to locked item."] = "Nie można zapisać zmian w zablokowanym elemencie.";
+App::$strings["SKU not found."] = "Nie znaleziono SKU.";
+App::$strings["Invalid Activation Directive."] = "Nieprawidłowa dyrektywa aktywacyjna.";
+App::$strings["Invalid Deactivation Directive."] = "Nieprawidłowa dyrektywa dezaktywacyjna.";
+App::$strings["Add to this privacy group"] = "Dodaj do tej grupy prywatności";
+App::$strings["Set user service class"] = "Ustaw klasę usług użytkownika";
+App::$strings["You must be using a local account to purchase this service."] = "Aby kupić tę usługę, musisz korzystać z konta lokalnego.";
+App::$strings["Changes Locked"] = "Zmiany zablokowane";
+App::$strings["Item available for purchase."] = "Element dostępny do zakupu.";
+App::$strings["Price"] = "Cena";
+App::$strings["Photo URL"] = "Adres URL zdjęcia";
+App::$strings["Add buyer to privacy group"] = "Dodaj kupującego do grupy prywatności";
+App::$strings["Add buyer as connection"] = "Dodaj kupującego jako połączenie";
+App::$strings["Set Service Class"] = "Ustaw klasę usługi";
+App::$strings["Enable Subscription Management Module"] = "Włącz moduł zarządzania subskrypcjami";
+App::$strings["Cannot include subscription items with different terms in the same order."] = "Nie może zawierać elementów subskrypcji z różnymi terminami w tej samej kolejności.";
+App::$strings["Select Subscription to Edit"] = "Wybierz subskrypcjÄ™ do edycji";
+App::$strings["Edit Subscriptions"] = "Edytuj subskrypcje";
+App::$strings["Subscription SKU"] = "Subskrypcja SKU";
+App::$strings["Catalog Description"] = "Opis katalogu";
+App::$strings["Subscription available for purchase."] = "Subskrypcja dostępna do zakupu.";
+App::$strings["Maximum active subscriptions to this item per account."] = "Maksymalna liczba aktywnych subskrypcji tego elementu na konto.";
+App::$strings["Subscription price."] = "Cena subskrypcji.";
+App::$strings["Quantity"] = "Ilość";
+App::$strings["Term"] = "Termin";
+App::$strings["Enable Paypal Button Module (API-v2)"] = "Włącz moduł przycisków Paypal (API-v2)";
+App::$strings["Use Production Key"] = "Użyj klucza produkcyjnego";
+App::$strings["Paypal Sandbox Client Key"] = "Klucz klienta Paypal Sandbox";
+App::$strings["Paypal Sandbox Secret Key"] = "Tajny klucz Paypal Sandbox";
+App::$strings["Paypal Production Client Key"] = "Klucz klienta produkcyjny Paypal";
+App::$strings["Paypal Production Secret Key"] = "Tajny klucz produkcyjny Paypal";
+App::$strings["Paypal button payments are not enabled."] = "Płatności za pomocą przycisku PayPal nie są włączone.";
+App::$strings["Paypal button payments are not properly configured. Please choose another payment option."] = "Płatności za pomocą przycisku PayPal nie są poprawnie skonfigurowane. Wybierz inną opcję płatności.";
+App::$strings["Enable Paypal Button Module"] = "Włącz moduł przycisku Paypal";
+App::$strings["Enable Manual Cart Module"] = "Włącz moduł ręcznego koszyka";
+App::$strings["Access Denied."] = "Dostęp zabroniony.";
+App::$strings["Invalid Item"] = "Zła pozycja";
+App::$strings["Error: order mismatch. Please try again."] = "Błąd: niezgodność zamówienia. Proszę spróbuj ponownie.";
+App::$strings["Manual payments are not enabled."] = "Płatności ręczne nie są włączone.";
+App::$strings["Finished"] = "Zakończone";
+App::$strings["Enable Test Catalog"] = "Włącz katalog testów";
+App::$strings["Enable Manual Payments"] = "Włącz płatności ręczne";
+App::$strings["Base Merchant Currency"] = "Podstawowa waluta sprzedawcy";
+App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Napotkaliśmy problem podczas logowania za pomocą podanego przez Ciebie identyfikatora OpenID. Sprawdź poprawną pisownię identyfikatora.";
+App::$strings["The error message was:"] = "Komunikat o błędzie brzmi:";
+App::$strings["First Name"] = "ImiÄ™";
+App::$strings["Last Name"] = "Nazwisko";
+App::$strings["Full Name"] = "Pełna nazwa";
+App::$strings["Profile Photo 16px"] = "Zdjęcie profilowe 16px";
+App::$strings["Profile Photo 32px"] = "Zdjęcie profilowe 32px";
+App::$strings["Profile Photo 48px"] = "Zdjęcie profilowe 48px";
+App::$strings["Profile Photo 64px"] = "Zdjęcie profilowe 64px";
+App::$strings["Profile Photo 80px"] = "Zdjęcie profilowe 80px";
+App::$strings["Profile Photo 128px"] = "Zdjęcie profilowe 128px";
+App::$strings["Birth Year"] = "Rok urodzenia";
+App::$strings["Birth Month"] = "MiesiÄ…c urodzenia";
+App::$strings["Birth Day"] = "Dzień urodzenia";
+App::$strings["Birthdate"] = "Data urodzenia";
+App::$strings["OpenID protocol error. No ID returned."] = "Błąd protokołu OpenID. Brak identyfikatora.";
+App::$strings["Hubzilla File Storage Import"] = "Import z magazynu plików Hubzilla";
+App::$strings["This will import all your cloud files from another server."] = "Spowoduje to zaimportowanie wszystkich plików w chmurze z innego huba Hubzilla.";
+App::$strings["Hubzilla Server base URL"] = "Bazowy adres URL serwera Hubzilla";
+App::$strings["Since modified date yyyy-mm-dd"] = "Od daty modyfikacji rrrr-mm-dd";
+App::$strings["Until modified date yyyy-mm-dd"] = "Do daty modyfikacji rrrr-mm-dd";
+App::$strings["Diaspora Protocol Settings updated."] = "Zaktualizowano ustawienia protokołu Diaspora.";
+App::$strings["The diaspora protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Protokół Diaspora nie obsługuje niezależności lokalizacji. Połączenia nawiązane w tej sieci mogą być niedostępne z innych lokalizacji kanałów.";
+App::$strings["Diaspora Protocol App"] = "Aplikacja Diaspora Protocol";
+App::$strings["Allow any Diaspora member to comment on your public posts"] = "Pozwól każdemu członkowi Diaspory komentować Twoje publiczne posty";
+App::$strings["Prevent your hashtags from being redirected to other sites"] = "Zapobiegaj przekierowywaniu hashtagów do innych witryn";
+App::$strings["Sign and forward posts and comments with no existing Diaspora signature"] = "Podpisuj i przesyłaj dalej posty i komentarze bez podpisu Diaspory";
+App::$strings["Followed hashtags (comma separated, do not include the #)"] = "Obserwowane hashtagi (oddzielone przecinkami, nie dodawaj #)";
+App::$strings["Diaspora Protocol"] = "Diaspora Protocol";
+App::$strings["No username found in import file."] = "W pliku importu nie znaleziono nazwy użytkownika.";
+App::$strings["%1\$s dislikes %2\$s's %3\$s"] = "%1\$s desaprobat %2\$s %3\$s";
+App::$strings["Please install the statistics addon to be able to configure a diaspora relay"] = "Zainstaluj dodatek do statystyk, aby móc skonfigurować przekaźnik Diaspory";
+App::$strings["Diaspora Relay Handle"] = "Uchwyt przekaźnika Diaspory";
+App::$strings["Address of a diaspora relay. Example: relay@diasporarelay.tld"] = "Adres przekaźnika diaspory. Przykład: relay@diasporarelay.tld";
+App::$strings["Diaspora relay could not be imported"] = "Nie można zaimportować przekaźnika diaspory";
+App::$strings["Hubzilla Directory Stats"] = "Statystyki katalogowe Hubzilla";
+App::$strings["Total Hubs"] = "Razem huby";
+App::$strings["Hubzilla Hubs"] = "Huby Hubzilla";
+App::$strings["Friendica Hubs"] = "Huby Friendica";
+App::$strings["Diaspora Pods"] = "Pody Diaspora";
+App::$strings["Hubzilla Channels"] = "Kanały Hubzilla";
+App::$strings["Friendica Channels"] = "Kanały Friendica";
+App::$strings["Diaspora Channels"] = "Kanały Diaspora";
+App::$strings["Aged 35 and above"] = "W wieku 35 lat i więcej";
+App::$strings["Aged 34 and under"] = "W wieku 34 lat i poniżej";
+App::$strings["Average Age"] = "Åšredni wiek";
+App::$strings["Known Chatrooms"] = "Znane czaty";
+App::$strings["Known Tags"] = "Znane tagi";
+App::$strings["Please note Diaspora and Friendica statistics are merely those **this directory** is aware of, and not all those known in the network. This also applies to chatrooms,"] = "Proszę mieć na uwadze, że statystyki Diaspory i Friendica to tylko te,które są widoczne dla **tego katalogu**, a nie wszystkie znane w sieci. Dotyczy to również czatów,";
+App::$strings["Show Upload Limits"] = "Pokaż limity przesyłania";
+App::$strings["Hubzilla configured maximum size: "] = "Maksymalny rozmiar skonfigurowany w Hubzilli: ";
+App::$strings["PHP upload_max_filesize: "] = "PHP upload_max_filesize: ";
+App::$strings["PHP post_max_size (must be larger than upload_max_filesize): "] = "PHP post_max_size (musi być większe od upload_max_filesize): ";
+App::$strings["Hide Aside App"] = "Aplikacja Hide Aside";
+App::$strings["Fade out aside areas after a while when using endless scroll"] = "Powoduje zanikanie obszaru po chwili, gdy używasz długiego przewijania";
+App::$strings["Installed"] = "Zainstalowane";
+App::$strings["You're welcome."] = "ProszÄ™ bardzo.";
+App::$strings["Ah shucks..."] = "O cholera ...";
+App::$strings["Don't mention it."] = "Nie wspominaj o tym.";
+App::$strings["&lt;blush&gt;"] = "&lt;rumieniec&gt;";
+App::$strings["View Larger"] = "Zobacz większe";
+App::$strings["Tile Server URL"] = "Adres URL serwera kafelków rastrowych";
+App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "Lista <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">publicznych serwerów kafelków</a>";
+App::$strings["Nominatim (reverse geocoding) Server URL"] = "Adres URL serwera Nominatim (odwrotne geokodowanie)";
+App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank\">Nominatim servers</a>"] = "Lista <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank\">serwerów Nominatim</a>";
+App::$strings["Default zoom"] = "Powiększenie domyślne";
+App::$strings["The default zoom level. (1:world, 18:highest, also depends on tile server)"] = "Domyślny poziom powiększenia. (1: świat, 18: najwyższy, zależy również od serwera kafelków)";
+App::$strings["Include marker on map"] = "Uwzględnij znacznik na mapie";
+App::$strings["Include a marker on the map."] = "Umieść znacznik na tej mapie.";
+App::$strings["Livejournal Crosspost Connector App"] = "Aplikacja Livejournal Crosspost Connector";
+App::$strings["Relay public posts to Livejournal"] = "Przekazuj publiczne posty do Livejournal";
+App::$strings["Livejournal username"] = "Nazwa użytkownika w Livejournal";
+App::$strings["Livejournal password"] = "Hasło do Livejournal";
+App::$strings["Post to Livejournal by default"] = "Domyślnie wysyłaj do Livejournal";
+App::$strings["Send wall-to-wall posts to Livejournal"] = "Wysyłaj posty \"wall-to-wall\" do Livejournal";
+App::$strings["Add link to original post"] = "Dodaj odnośnik do oryginalnego postu";
+App::$strings["Livejournal Crosspost Connector"] = "Livejournal Crosspost Connector";
+App::$strings["Post to Livejournal"] = "Publikuj w Livejournal";
+App::$strings["Posted by"] = "Wysłane przez";
+App::$strings["Workflow user."] = "Przepływ pracy użytkownika.";
+App::$strings["This channel"] = "Ten kanał";
+App::$strings["Workflow"] = "Przepływ pracy";
+App::$strings["No Workflows Available"] = "Żaden przepływ nie jest dostępny";
+App::$strings["Add item to which workflow"] = "Dodaj element do przepływu pracy";
+App::$strings["Create Workflow Item"] = "Utwórz element przepływu pracy";
+App::$strings["Link"] = "Link";
+App::$strings["Web link."] = "Link do strony internetowej.";
+App::$strings["Brief description or title"] = "Krótki opis lub tytuł";
+App::$strings["Notes and Info"] = "Uwagi i informacje";
+App::$strings["Body"] = "Ciało";
+App::$strings["Workflow Settings"] = "Ustawienia przepływu pracy";
+App::$strings["Jabber BOSH host"] = "Host Jabber BOSH";
+App::$strings["Use central userbase"] = "Użyj centralnej bazy użytkowników";
+App::$strings["If enabled, members will automatically login to an ejabberd server that has to be installed on this machine with synchronized credentials via the \"auth_ejabberd.php\" script."] = "JeÅ›li jest włączone, czÅ‚onkowie bÄ™dÄ… automatycznie logować siÄ™ do serwera ejabberd, który musi być zainstalowany na tym komputerze z zsynchronizowanymi danymi uwierzytelniajÄ…cymi za poÅ›rednictwem skryptu „auth_ejabberd.phpâ€.";
+App::$strings["XMPP settings updated."] = "Zaktualizowano ustawienia XMPP.";
+App::$strings["XMPP App"] = "Aplikacja XMPP";
+App::$strings["Embedded XMPP (Jabber) client"] = "Osadzony klient XMPP (Jabber)";
+App::$strings["Individual credentials"] = "Indywidualne poświadczenia";
+App::$strings["Jabber BOSH server"] = "Serwer Jabber BOSH";
+App::$strings["XMPP Settings"] = "Ustawienia XMPP";
+App::$strings["Superblock App"] = "Aplikacja Superblock";
+App::$strings["Block channels"] = "Blokuj kanał";
+App::$strings["superblock settings updated"] = "zaktualizowano ustawienia superbloku";
+App::$strings["Currently blocked"] = "Obecnie zablokowane";
+App::$strings["No channels currently blocked"] = "Obecnie żadne kanały nie są zablokowane";
+App::$strings["Block Completely"] = "Zablokuj całkowicie";
+App::$strings["Random Planet App"] = "Aplikacja Random Planet";
+App::$strings["Set a random planet from the Star Wars Empire as your location when posting"] = "Podczas wysyłania ustaw, jako lokalizację, losową planetę z Imperium Gwiezdnych Wojen";
+App::$strings["Possible adult content"] = "Możliwe treści dla dorosłych";
+App::$strings["%s - view"] = "%s - widok";
+App::$strings["NSFW Settings saved."] = "Zapisano ustawienia NSFW.";
+App::$strings["NSFW App"] = "Aplikacja NSFW";
+App::$strings["Collapse content that contains predefined words"] = "Zwiń zawartość zawierającą predefiniowane słowa";
+App::$strings["This app looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Ta aplikacja wyszukuje słowa lub tekst, określone poniżej i zwija wszelkie treści zawierające te słowa kluczowe, aby nie były wyświetlane w nieodpowiednich momentach, takich jak insynuacje seksualne, które mogą być niewłaściwe w miejscu pracy. Grzecznie jest i zaleca się, oznaczanie wszelkich treści zawierających nagość tagiem #NSFW. Ten filtr może również pasować do dowolnego innego określonego słowa lub tekstu, dzięki czemu może być używany jako filtr treści ogólnego przeznaczenia.";
+App::$strings["Comma separated list of keywords to hide"] = "Lista słów kluczowych rozdzielona przecinkami";
+App::$strings["Word, /regular-expression/, lang=xx, lang!=xx"] = "Słowo, /wyrażenie regularne/, lang=xx, lang!=xx";
+App::$strings["NSFW"] = "NSFW";
+App::$strings["Three Dimensional Tic-Tac-Toe"] = "Trójwymiarowy Tic-Tac-Toe";
+App::$strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe";
+App::$strings["New game"] = "Nowa gra";
+App::$strings["New game with handicap"] = "Nowa gra z handicapem";
+App::$strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Trójwymiarowa gra w kółko i krzyżyk jest podobna do tradycyjnej gry, z tym wyjątkiem, że gra się w nią na wielu poziomach jednocześnie. ";
+App::$strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "W tym przypadku są trzy poziomy. Wygrywasz, zdobywając trzy z rzędu na dowolnym poziomie, a także w górę, w dół i po przekątnej na różnych poziomach.";
+App::$strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "Gra z handicapem wyłącza środkową pozycję na środkowym poziomie, ponieważ gracz zajmujący to pole często ma nieuczciwą przewagę.";
+App::$strings["You go first..."] = "Ty pierwszy ...";
+App::$strings["I'm going first this time..."] = "Tym razem idÄ™ pierwszy ...";
+App::$strings["You won!"] = "Wygrałeś!";
+App::$strings["\"Cat\" game!"] = "Gra \"Kot\"!";
+App::$strings["I won!"] = "Wygrałem!";
+App::$strings["Photo Cache settings saved."] = "Zapisano ustawienia pamięci podręcznej zdjęć.";
+App::$strings["Photo Cache addon saves a copy of images from external sites locally to increase your anonymity in the web."] = "Dodatek Photo Cache zapisuje lokalnie kopie obrazów z zewnętrznych witryn, aby zwiększyć Twoją anonimowość w sieci.";
+App::$strings["Photo Cache App"] = "Aplikacja Photo Cache";
+App::$strings["Minimal photo size for caching"] = "Minimalny rozmiar zdjęcia do buforowania";
+App::$strings["In pixels. From 1 up to 1024, 0 will be replaced with system default."] = "W pikselach. Od 1 do 1024, 0 zostanie zastąpione domyślnymi ustawieniami systemowymi.";
+App::$strings["Photo Cache"] = "Photo Cache";
+App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Szukaj %1\$s (%2\$s)";
+App::$strings["__ctx:opensearch__ \$Projectname"] = "Hubzilla";
+App::$strings["Search \$Projectname"] = "Szukaj w Hubzilla";
+App::$strings["Libertree Crosspost Connector Settings saved."] = "Zapisano ustawienia Libertree Crosspost Connector.";
+App::$strings["Libertree Crosspost Connector App"] = "Aplikacja Libertree Crosspost Connector";
+App::$strings["Relay public posts to Libertree"] = "Przekazuj publiczne posty do Libertree";
+App::$strings["Libertree API token"] = "Token API Libertree";
+App::$strings["Libertree site URL"] = "Adres URL witrny Libertree";
+App::$strings["Post to Libertree by default"] = "Domyślnie publikuj w Libertree";
+App::$strings["Libertree Crosspost Connector"] = "Libertree Crosspost Connector";
+App::$strings["Post to Libertree"] = "Publikuj w Libertree";
+App::$strings["Flag Adult Photos"] = "Oznaczanie zdjęć dla dorosłych";
+App::$strings["Provide photo edit option to hide inappropriate photos from default album view"] = "Dostarcza opcję edycji zdjęć, umożliwiającą ukrywanie nieodpowiednich zdjęć w domyślnym widoku albumu";
+App::$strings["Post to GNU social"] = "Publikuj w serwisie społecznościowym GNU";
+App::$strings["API URL"] = "Adres URL API";
+App::$strings["Application name"] = "Nazwa aplikacji";
+App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Skontaktuj się z administratorem witryny. <br/> Podany adres URL interfejsu API jest nieprawidłowy.";
+App::$strings["We could not contact the GNU social API with the Path you entered."] = "Nie mogliśmy nawiązać połączenia ze społecznościowym API GNU o podanej ścieżce.";
+App::$strings["GNU social settings updated."] = "Ustawienia społecznościowe GNU zostały zaktualizowane.";
+App::$strings["Relay public postings to a connected GNU social account (formerly StatusNet)"] = "Przekazywanie publicznych postów na połączone konto społecznościowe GNU (dawniej StatusNet)";
+App::$strings["Globally Available GNU social OAuthKeys"] = "Globalnie dostępne klucze OAuthKey społecznościowe GNU";
+App::$strings["There are preconfigured OAuth key pairs for some GNU social servers available. If you are using one of them, please use these credentials.<br />If not feel free to connect to any other GNU social instance (see below)."] = "Dostępne są wstępnie skonfigurowane pary kluczy OAuth dla niektórych serwerów społecznościowych GNU. Jeśli używasz jednego z nich, użyj tych poświadczeń. <br /> Jeśli nie możesz połączyć się z inną instancją społecznościową GNU (patrz poniżej).";
+App::$strings["Provide your own OAuth Credentials"] = "Podaj własne dane logowania OAuth";
+App::$strings["No consumer key pair for GNU social found. Register your Hubzilla Account as an desktop client on your GNU social account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Hubzilla installation at your favourite GNU social installation."] = "Nie znaleziono pary kluczy konsumenckich dla społeczności GNU. Zarejestruj swoje konto Hubzilla jako klienta stacjonarnego na swoim koncie społecznościowym GNU, skopiuj tutaj parę kluczy klienta i wprowadź podstawowy katalog główny API. <br /> Przed zarejestrowaniem własnej pary kluczy OAuth zapytaj administratora, czy istnieje już para kluczy dla tej instalacji Hubzilli w Twojej ulubionej instalacji społecznościowej GNU.";
+App::$strings["OAuth Consumer Key"] = "Klucz klienta OAuth";
+App::$strings["OAuth Consumer Secret"] = "Tajny klucz klienta OAuth";
+App::$strings["Base API Path"] = "Podstawowa ścieżka API";
+App::$strings["Remember the trailing /"] = "Zapamiętaj końcowy ukośnik /";
+App::$strings["GNU social application name"] = "Nazwa aplikacji społecznościowej GNU";
+App::$strings["To connect to your GNU social account click the button below to get a security code from GNU social which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to GNU social."] = "W celu połączenia się ze swoim kontem społecznościowym GNU, kliknij poniższy przycisk, aby uzyskać kod zabezpieczający z serwisu społecznościowego GNU, który musisz skopiować do pola wprowadzania poniżej i przesłać formularz. Tylko twoje <strong>publiczne</strong> posty będą publikowane w społecznościach GNU.";
+App::$strings["Log in with GNU social"] = "Zaloguj się za pomocą serwisu społecznościowego GNU";
+App::$strings["Copy the security code from GNU social here"] = "Skopiuj tutaj kod bezpieczeństwa z GNU Social";
+App::$strings["Cancel Connection Process"] = "Anuluj proces łączenia";
+App::$strings["Current GNU social API is"] = "Obecne API społecznościowe GNU to";
+App::$strings["Cancel GNU social Connection"] = "Anuluj połączenie społecznościowe GNU";
+App::$strings["Currently connected to: "] = "Obecnie połączony z: ";
+App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to GNU social will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Uwaga</strong>: Ze względu na Twoje ustawienia prywatności, odnośnik (<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami? </em>), ewentualnie zawarty w publicznych postach przekazywanych do społeczności GNU, będzie kierował odwiedzającego na pustą stronę z informacją dla odwiedzającego, że dostęp do Twojego profilu został ograniczony.";
+App::$strings["Post to GNU social by default"] = "Wysyłaj domyślnie do społeczności GNU";
+App::$strings["If enabled your public postings will be posted to the associated GNU-social account by default"] = "Jeśli ta opcja jest włączona, twoje publiczne posty będą domyślnie wysyłane na powiązane konto społecznościowe GNU";
+App::$strings["Clear OAuth configuration"] = "Wyczyść konfigurację OAuth";
+App::$strings["GNU-Social Crosspost Connector"] = "GNU-Social Crosspost Connector";
+App::$strings["Who likes me?"] = "Kto mnie lubi?";
+App::$strings["ActivityPub Protocol Settings updated."] = "Zaktualizowano ustawienia ActivityPub Protocol.";
+App::$strings["The activitypub protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Protokół AactivityPub nie obsługuje niezależności od lokalizacji. Połączenia nawiązane w tej sieci mogą być niedostępne z innych lokalizacji kanałów.";
+App::$strings["Activitypub Protocol App"] = "Aplikacja Activitypub Protocol";
+App::$strings["Deliver to ActivityPub recipients in privacy groups"] = "Dostarcz do odbiorców ActivityPub w grupach prywatności";
+App::$strings["May result in a large number of mentions and expose all the members of your privacy group"] = "Może skutkować dużą liczbą wzmianek i ujawnieniem wszystkich członków Twojej grupy prywatności";
+App::$strings["Send multi-media HTML articles"] = "Wysyłaj multimedialne artykuły HTML";
+App::$strings["Not supported by some microblog services such as Mastodon"] = "Nieobsługiwane przez niektóre usługi mikroblogów, takie jak Mastodon";
+App::$strings["Activitypub Protocol"] = "Activitypub Protocol";
+App::$strings["Post to Insane Journal"] = "Publikuj w Insane Journal";
+App::$strings["Insane Journal Crosspost Connector Settings saved."] = "Zapisano ustawienia Insane Journal Crosspost Connector.";
+App::$strings["Insane Journal Crosspost Connector App"] = "Aplikacja Insane Journal Crosspost Connector";
+App::$strings["Relay public postings to Insane Journal"] = "Przekaż publiczne posty do Insane Journal";
+App::$strings["InsaneJournal username"] = "Nazwa użytkownika InsaneJournal";
+App::$strings["InsaneJournal password"] = "Hasło InsaneJournal";
+App::$strings["Post to InsaneJournal by default"] = "Domyślnie publikuj w InsaneJournal";
+App::$strings["Insane Journal Crosspost Connector"] = "Insane Journal Crosspost Connector";
+App::$strings["Max queueworker threads"] = "Maksymalna liczba wątków w kolejce";
+App::$strings["Assume workers dead after ___ seconds"] = "Załóż, że workery wygasają po ___ sekundach";
+App::$strings["Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)"] = "Wstrzymaj przed rozpoczęciem następnego zadania: (w mikrosekundach. Minimum 100 = .0001 sekund)";
+App::$strings["Queueworker Settings"] = "Ustawienia Queueworkera";
+App::$strings["Not allowed."] = "Niedozwolone.";
+App::$strings["generic profile image"] = "ogólne zdjęcie profilowe";
+App::$strings["random geometric pattern"] = "losowy wzór geometryczny";
+App::$strings["monster face"] = "twarz potwora";
+App::$strings["computer generated face"] = "wygenerowana komputerowo twarz";
+App::$strings["retro arcade style face"] = "twarz w stylu retro arcade";
+App::$strings["Hub default profile photo"] = "Domyślne zdjęcie profilowe huba";
+App::$strings["Information"] = "Informacje";
+App::$strings["Libravatar addon is installed, too. Please disable Libravatar addon or this Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar."] = "Dodatek Libravatar jest również zainstalowany. Proszę wyłączyć dodatek Libravatar lub ten dodatek Gravatar. <br> Dodatek Libravatar wykorzysta Gravatara, jeśli nic nie zostanie znalezione w bibliotece Libravatara.";
+App::$strings["Default avatar image"] = "Domyślny obraz awatara";
+App::$strings["Select default avatar image if none was found at Gravatar. See README"] = "Wybierz domyślny obraz awatara, jeśli nic nie zostało znaleziony w Gravatarze. Zobacz README";
+App::$strings["Rating of images"] = "Ocena zdjęć";
+App::$strings["Select the appropriate avatar rating for your site. See README"] = "Wybierz odpowiedniÄ… ocenÄ™ awatara dla swojej witryny. Zobacz README";
+App::$strings["Gravatar settings updated."] = "Zaktualizowano ustawienia Gravatara.";
+App::$strings["Network error"] = "Błąd sieci";
+App::$strings["API error"] = "Błąd API";
+App::$strings["Unknown issue"] = "Nieznany problem";
+App::$strings["Unable to login using email address "] = "Nie można zalogować się przy użyciu adresu e-mail ";
+App::$strings["Sign in to Hubzilla using a social account"] = "Zaloguj się do Hubzilli za pomocą konta społecznościowego";
+App::$strings["Social Authentication using your social media account"] = "Uwierzytelnianie społecznościowe za pomocą konta w mediach społecznościowych";
+App::$strings["This app enables one or more social provider sign-in buttons on the login page."] = "Ta aplikacja umożliwia korzystanie na stronie logowania z co najmniej jednego przycisku logowania dostawcy usług społecznościowych.";
+App::$strings["Add an identity provider"] = "Dodaj dostawcę tożsamości";
+App::$strings["Enable "] = "Włącz ";
+App::$strings["Key"] = "Klucz";
+App::$strings["Word"] = "Słowo";
+App::$strings["Secret"] = "Sekret";
+App::$strings["Add a custom provider"] = "Dodaj własnego dostawcę";
+App::$strings["Remove an identity provider"] = "Usuń dostawcę tożsamości";
+App::$strings["Social authentication"] = "Uwierzytelnianie społecznościowe";
+App::$strings["Error while saving provider settings"] = "Błąd podczas zapisywania ustawień dostawcy";
+App::$strings["Custom provider already exists"] = "Własny dostawca już istnieje";
+App::$strings["Social authentication settings saved."] = "Zapisano ustawienia uwierzytelniania społecznościowego.";
+App::$strings["Send your identity to all websites"] = "Wyślij swoją tożsamość do wszystkich witryn internetowych";
+App::$strings["Sendzid App"] = "Aplikacja Sendzid";
+App::$strings["Send ZID"] = "Wyślij ZID";
+App::$strings["Photos imported"] = "Zdjęcia zaimportowane";
+App::$strings["Redmatrix Photo Album Import"] = "Import albumu fotograficznego Redmatrix";
+App::$strings["This will import all your Redmatrix photo albums to this channel."] = "Spowoduje to zaimportowanie wszystkich albumów ze zdjęciami z Redmatrix do tego kanału.";
+App::$strings["Redmatrix Server base URL"] = "Podstawowy adres URL serwera Redmatrix";
+App::$strings["Redmatrix Login Username"] = "Nazwa użytkownika logowania w Redmatrix";
+App::$strings["Redmatrix Login Password"] = "Hasło logowania do Redmatrix";
+App::$strings["Import just this album"] = "Zaimportuj tylko ten album";
+App::$strings["Leave blank to import all albums"] = "Pozostaw puste, aby zaimportować wszystkie albumy";
+App::$strings["Maximum count to import"] = "Maksymalna liczba albumów do zaimportowania";
+App::$strings["0 or blank to import all available"] = "0 lub puste, aby zaimportować wszystkie dostępne";
+App::$strings["Twitter settings updated."] = "Zaktualizowano ustawienia Twittera.";
+App::$strings["Twitter Crosspost Connector App"] = "Aplikacja Twitter Crosspost Connector";
+App::$strings["Relay public posts to Twitter"] = "Przekazuj publiczne posty na Twitter";
+App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nie znaleziono pary kluczy klienta dla Twittera. Skontaktuj siÄ™ z administratorem witryny.";
+App::$strings["At this Hubzilla instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "W tej instancji Hubzilla wtyczka Twittera była włączona, ale nie połączyłeś jeszcze swojego konta z kontem na Twitterze. Aby to zrobić, kliknij poniższy przycisk, aby uzyskać kod PIN z Twittera, który należy skopiować do pola wprowadzania poniżej i przesłać formularz. Na Twitterze będą publikowane tylko Twoje <strong>publiczne</strong> posty.";
+App::$strings["Log in with Twitter"] = "Zaloguj siÄ™ za pomocÄ… Twittera";
+App::$strings["Copy the PIN from Twitter here"] = "Skopiuj tutaj PIN z Twittera";
+App::$strings["<strong>Note:</strong> Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong> Uwaga: </strong> Ze względu na Twoje ustawienia prywatności (<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami?</em>) ten link, potencjalnie zawarty w publicznych postach przekazywanych do Twittera, będzie prowadził odwiedzającego do pustej strony informującej gościa, że dostęp do Twojego profilu został ograniczony.";
+App::$strings["Twitter post length"] = "Długość postu na Twitterze";
+App::$strings["Maximum tweet length"] = "Maksymalna długość tweeta";
+App::$strings["Send public postings to Twitter by default"] = "Domyślnie wysyłaj publiczne posty na Twitter";
+App::$strings["If enabled your public postings will be posted to the associated Twitter account by default"] = "Jeśli ta opcja jest włączona, Twoje publiczne posty będą domyślnie publikowane na powiązanym koncie Twittera";
+App::$strings["Twitter Crosspost Connector"] = "Twitter Crosspost Connector";
+App::$strings["Post to Twitter"] = "Opublikuj na Twitterze";
+App::$strings["Project Servers and Resources"] = "Serwery projektów i zasoby";
+App::$strings["Project Creator and Tech Lead"] = "Twórca projektu i kierownik techniczny";
+App::$strings["And the hundreds of other people and organisations who helped make the Hubzilla possible."] = "Oraz setki innych osób i organizacji, które pomogły stworzyć Hubzillę.";
+App::$strings["The Redmatrix/Hubzilla projects are provided primarily by volunteers giving their time and expertise - and often paying out of pocket for services they share with others."] = "Projekty Redmatrix i Hubzilla są realizowane głównie przez wolontariuszy, którzy poświęcają swój czas i wiedzę i często płacą z własnej kieszeni za usługi, którymi dzielą się z innymi.";
+App::$strings["There is no corporate funding and no ads, and we do not collect and sell your personal information. (We don't control your personal information - <strong>you do</strong>.)"] = "Nie ma żadnych funduszy korporacyjnych ani reklam a my nie zbieramy i nie sprzedajemy Twoich danych osobowych. (Nie kontrolujemy Twoich danych osobowych - <strong> Ty tak </strong>).";
+App::$strings["Help support our ground-breaking work in decentralisation, web identity, and privacy."] = "Pomóż nam wspierać nasze przełomowe prace w zakresie decentralizacji, tożsamości internetowej i prywatności.";
+App::$strings["Your donations keep servers and services running and also helps us to provide innovative new features and continued development."] = "Twoje darowizny zapewniają nieprzerwane działanie serwerów i usług, a także pomagają nam w zapewnianiu innowacyjnych nowych funkcji i ciągłym rozwoju.";
+App::$strings["Donate"] = "Wspomóż";
+App::$strings["Choose a project, developer, or public hub to support with a one-time donation"] = "Wybierz projekt, dewelopera lub publiczny hub, aby wesprzeć jednorazową darowizną";
+App::$strings["Donate Now"] = "Wpłać teraz";
+App::$strings["<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"] = "<strong><em>lub</em> </strong> zostań sponsorem projektu (tylko Projekt Hubzilla)";
+App::$strings["Please indicate if you would like your first name or full name (or nothing) to appear in our sponsor listing"] = "Wskaż, czy chcesz, aby Twoje imię lub imię i nazwisko pojawiało się na naszej liście sponsorów";
+App::$strings["Sponsor"] = "Sponsor";
+App::$strings["Special thanks to: "] = "Specjalne podziękowania dla: ";
+App::$strings["Dreamwidth Crosspost Connector Settings saved."] = "Zapisano ustawienia Dreamwidth Crosspost Connector.";
+App::$strings["Dreamwidth Crosspost Connector App"] = "Aplikacja Dreamwidth Crosspost Connector";
+App::$strings["Relay public posts to Dreamwidth"] = "Przekazuj publiczne posty do Dreamwidth";
+App::$strings["Dreamwidth username"] = "Nazwa użytkownika Dreamwidth";
+App::$strings["Dreamwidth password"] = "Hasło Dreamwidth";
+App::$strings["Post to Dreamwidth by default"] = "Domyślnie publikuj na Dreamwidth";
+App::$strings["Link description (default:"] = "Opis odnośnika (domyślnie:";
+App::$strings["Dreamwidth Crosspost Connector"] = "Dreamwidth Crosspost Connector";
+App::$strings["Post to Dreamwidth"] = "Publikuj na Dreamwidth";
+App::$strings["nofed Settings saved."] = "nofed - zapisano ustawienie.";
+App::$strings["No Federation App"] = "Brak aplikacji Federation";
+App::$strings["Prevent posting from being federated to anybody. It will exist only on your channel page."] = "Zapobiegaj federowaniu wiadomości do kogokolwiek. Będzie istnieć tylko na stronie Twojego kanału.";
+App::$strings["Federate posts by default"] = "Domyślnie, posty Federate";
+App::$strings["No Federation"] = "Brak Federation";
+App::$strings["Federate"] = "Federate";
+App::$strings["WYSIWYG status editor"] = "Edytor aplikacji WYSIWYG Status";
+App::$strings["WYSIWYG Status App"] = "Aplikacja WYSIWYG Status";
+App::$strings["WYSIWYG Status"] = "WYSIWYG Status";
+App::$strings["No server specified"] = "Nie określono serwera";
+App::$strings["Posts imported"] = "Zaimportowano posty";
+App::$strings["Files imported"] = "Zaimportowano pliki";
+App::$strings["This addon app copies existing content and file storage to a cloned/copied channel. Once the app is installed, visit the newly installed app. This will allow you to set the location of your original channel and an optional date range of files/conversations to copy."] = "Ten dodatek kopiuje istniejące treści i magazyn plików do sklonowanego lub skopiowanego kanału. Po zainstalowaniu, odwiedź nowo zainstalowaną aplikację. Umożliwi Ci to ustawienie lokalizacji oryginalnego kanału i opcjonalnego zakresu dat plików lub konwersacji do skopiowania.";
+App::$strings["This will import all your conversations and cloud files from a cloned channel on another server. This may take a while if you have lots of posts and or files."] = "Spowoduje to zaimportowanie wszystkich rozmów i plików przechowywanych w chmurze ze sklonowanego kanału na innym serwerze. Może to chwilę potrwać, jeśli masz dużo postów lun plików.";
+App::$strings["Include posts"] = "Dołącz posty";
+App::$strings["Conversations, Articles, Cards, and other posted content"] = "Rozmowy, artykuły, karty i inne opublikowane treści";
+App::$strings["Include files"] = "Dołącz pliki";
+App::$strings["Files, Photos and other cloud storage"] = "Pliki, zdjęcia i inne przechowywane w chmurze rzeczy";
+App::$strings["Original Server base URL"] = "Oryginalny podstawowy adres URL serwera";
+App::$strings["Your channel has been upgraded to \$Projectname version"] = "Twój kanał został uaktualniony do wersji \$Projectname";
+App::$strings["Please have a look at the"] = "Proszę spojrzeć na";
+App::$strings["git history"] = "historia repozytorium Git";
+App::$strings["change log"] = "dziennik zmian";
+App::$strings["for further info."] = "po dalsze informacje.";
+App::$strings["Upgrade Info"] = "Informacja o aktualizacji";
+App::$strings["Do not show this again"] = "Nie pokazuj tego ponownie";
+App::$strings["pageheader Settings saved."] = "pageheader - zapisano ustawienie.";
+App::$strings["Page Header App"] = "Aplikacja Page Header";
+App::$strings["Inserts a page header"] = "Wstawia nagłówek strony";
+App::$strings["Message to display on every page on this server"] = "Wiadomość do wyświetlenia na każdej stronie na tym serwerze";
+App::$strings["Page Header"] = "Page Header";
+App::$strings["Who viewed my channel/profile"] = "Kto oglądał mój kanał lub profil";
+App::$strings["Recent Channel/Profile Viewers"] = "Ostatnio wyświetlający mój kanał lub profil";
+App::$strings["No entries."] = "Brak postów.";
+App::$strings["Messages"] = "Wiadomości";
+App::$strings["message"] = "wiadomość";
+App::$strings["Message recalled."] = "Wiadomość przywołana.";
+App::$strings["Conversation removed."] = "Rozmowa została usunięta.";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Wygasa YYYY-MM-DD HH:MM";
+App::$strings["Requested channel is not in this network"] = "Żądanego kanału nie ma w tej sieci";
+App::$strings["Send Private Message"] = "Wyślij prywatną wiadomość";
+App::$strings["To:"] = "Do:";
+App::$strings["Subject:"] = "Temat:";
+App::$strings["Attach file"] = "Dołącz plik";
+App::$strings["Send"] = "Wyślij";
+App::$strings["Delete message"] = "Usuń wiadomość";
+App::$strings["Delivery report"] = "Raport dostawy";
+App::$strings["Recall message"] = "Odwołaj wiadomość";
+App::$strings["Message has been recalled."] = "Wiadomość została odwołana.";
+App::$strings["Delete Conversation"] = "Usuń rozmowę";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Brak bezpiecznej komunikacji. <strong>Możesz</strong> odpowiedzieć ze strony profilu nadawcy.";
+App::$strings["Send Reply"] = "Wyślij odpowiedź";
+App::$strings["Your message for %s (%s):"] = "Twoja wiadomość dla %s (%s):";
+App::$strings["Unable to lookup recipient."] = "Nie można znaleźć adresata.";
+App::$strings["Unable to communicate with requested channel."] = "Nie można skomunikować się z żądanym kanałem.";
+App::$strings["Cannot verify requested channel."] = "Nie można zweryfikować żądanego kanału.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "Wybrany kanał ma ograniczenia dotyczące wiadomości prywatnych. Wysyłanie nie powiodło się.";
+App::$strings["System defaults:"] = "Domyślne wartości systemowe:";
+App::$strings["Preferred Clipart IDs"] = "Identyfikatory preferowanych clipartów";
+App::$strings["List of preferred clipart ids. These will be shown first."] = "Lista identyfikatorów preferowanych clipartów.";
+App::$strings["Default Search Term"] = "Domyślna fraza wyszukiwania";
+App::$strings["The default search term. These will be shown second."] = "Domyślna fraza wyszukiwania. Będzie ona wyświetlana jako druga.";
+App::$strings["Return After"] = "Wróć po";
+App::$strings["Page to load after image selection."] = "Strona do załadowania po wybraniu obrazu.";
+App::$strings["Profile List"] = "Lista profili";
+App::$strings["Order of Preferred"] = "Kolejność preferowanych";
+App::$strings["Sort order of preferred clipart ids."] = "Sortuj preferowane identyfikatory clipart.";
+App::$strings["Newest first"] = "Od najnowszych";
+App::$strings["As entered"] = "Jak wprowadzono";
+App::$strings["Order of other"] = "Kolejność innych";
+App::$strings["Sort order of other clipart ids."] = "Kolejność sortowania innych identyfikatorów clipartów.";
+App::$strings["Most downloaded first"] = "Najczęściej pobierane jako pierwsze";
+App::$strings["Most liked first"] = "Najbardziej lubiane jako pierwsze";
+App::$strings["Preferred IDs Message"] = "Komunikat o preferowanych identyfikatorach";
+App::$strings["Message to display above preferred results."] = "Wiadomość do wyświetlenia powyżej preferowanych wyników.";
+App::$strings["Uploaded by: "] = "Przesłane przez: ";
+App::$strings["Drawn by: "] = "Narysowane przez: ";
+App::$strings["Use this image"] = "Użyj tego obrazu";
+App::$strings["Or select from a free OpenClipart.org image:"] = "Lub wybierz bezpłatny obraz z OpenClipart.org:";
+App::$strings["Search Term"] = "Fraza wyszukiwania";
+App::$strings["Unknown error. Please try again later."] = "Nieznany błąd. Spróbuj ponownie później.";
+App::$strings["Profile photo updated successfully."] = "Zdjęcie profilowe zostało pomyślnie zaktualizowane.";
+App::$strings["Gallery"] = "Gallery";
+App::$strings["Photo Gallery"] = "Galeria zdjęć";
+App::$strings["Gallery App"] = "Aplikacja Gallery";
+App::$strings["A simple gallery for your photo albums"] = "Prosta galeria dla albumów ze zdjęciami";
+App::$strings["Smileybutton App"] = "Aplikacja Smileybutton";
+App::$strings["Adds a smileybutton to the jot editor"] = "Dodaje przycisk emotikonów do edytora jot";
+App::$strings["Hide the button and show the smilies directly."] = "Ukryj przycisk i bezpośrednio wyświetlaj emotikony.";
+App::$strings["Smileybutton Settings"] = "Ustawienia Smileybutton";
+App::$strings["Post to Friendica"] = "Opublikuj w sieci Hubzilla";
+App::$strings["Friendica Crosspost Connector Settings saved."] = "Zapisano ustawienia Friendica Crosspost Connector .";
+App::$strings["Friendica Crosspost Connector App"] = "Aplikacja Hubzilla Crosspost Connector";
+App::$strings["Relay public postings to a connected Friendica account"] = "Przekazywanie publicznych postów do połączonego konta Friendica";
+App::$strings["Send public postings to Friendica by default"] = "Domyślnie wysyłaj publiczne posty na kanał Hubzilla";
+App::$strings["Friendica API Path"] = "Ścieżka API Hubzilla";
+App::$strings["Friendica login name"] = "Nazwa logowania w Hubzilla";
+App::$strings["Friendica password"] = "Hasło Hubzilla";
+App::$strings["Friendica Crosspost Connector"] = "Friendica Crosspost Connector";
+App::$strings["Logfile archive directory"] = "Katalog archiwum plików dziennika zdarzeń";
+App::$strings["Directory to store rotated logs"] = "Katalog do przechowywania rotowanych dzienników zdarzeń";
+App::$strings["Logfile size in bytes before rotating"] = "Rozmiar pliku dziennika w bajtach przed dokonaniem odnowienia";
+App::$strings["Number of logfiles to retain"] = "Liczba plików dziennika do przechowania";
+App::$strings["Post to WordPress"] = "Opubikuj w WordPress";
+App::$strings["Wordpress Settings saved."] = "Zapisano ustawienia Wordpress.";
+App::$strings["Wordpress Post App"] = "Aplikacja Wordpress Post";
+App::$strings["Post to WordPress or anything else which uses the wordpress XMLRPC API"] = "Opublikuj na WordPress lub czymkolwiek innym, co używa API XMLRPC WordPress";
+App::$strings["WordPress username"] = "Nazwa użytkownika WordPress";
+App::$strings["WordPress password"] = "Hasło WordPress";
+App::$strings["WordPress API URL"] = "Adres URL API WordPress";
+App::$strings["Typically https://your-blog.tld/xmlrpc.php"] = "Zwykle https://your-blog.tld/xmlrpc.php";
+App::$strings["WordPress blogid"] = "Identyfikator blogu WordPress";
+App::$strings["For multi-user sites such as wordpress.com, otherwise leave blank"] = "Dla serwisów wielowitrynowych, takich jak wordpress.com, w przeciwnym razie pozostaw puste";
+App::$strings["Post to WordPress by default"] = "Domyślnie publikuj na WordPress";
+App::$strings["Forward comments (requires hubzilla_wp plugin)"] = "Przekazywanie komentarzy (wymaga wtyczki hubzilla_wp)";
+App::$strings["Wordpress Post"] = "Wordpress Post";
+App::$strings["Allow magic authentication only to websites of your immediate connections"] = "Zezwalaj na magiczne uwierzytelnianie tylko w witrynach internetowych Twoich bezpośrednich połączeń";
+App::$strings["Authchoose App"] = "APlikacja Authchoose";
+App::$strings["Authchoose"] = "Authchoose";
+App::$strings["bitchslap"] = "bitchslap";
+App::$strings["bitchslapped"] = "bitchslapped";
+App::$strings["shag"] = "shag";
+App::$strings["shagged"] = "shagged";
+App::$strings["patent"] = "patent";
+App::$strings["patented"] = "opatentowany";
+App::$strings["hug"] = "przytulić";
+App::$strings["hugged"] = "przytulony";
+App::$strings["murder"] = "zamordować";
+App::$strings["murdered"] = "zamordowany";
+App::$strings["worship"] = "uwielbiać";
+App::$strings["worshipped"] = "uwielbiany";
+App::$strings["kiss"] = "pocałować";
+App::$strings["kissed"] = "pocałowany";
+App::$strings["tempt"] = "kusić";
+App::$strings["tempted"] = "skuszony";
+App::$strings["raise eyebrows at"] = "unieść brwi";
+App::$strings["raised their eyebrows at"] = "podnieśli brwi";
+App::$strings["insult"] = "zniewaga";
+App::$strings["insulted"] = "znieważony";
+App::$strings["praise"] = "pochwała";
+App::$strings["praised"] = "pochwalony";
+App::$strings["be dubious of"] = "mieć wątpliwości";
+App::$strings["was dubious of"] = "zwÄ…tpiony";
+App::$strings["eat"] = "jeść";
+App::$strings["ate"] = "najedzony";
+App::$strings["giggle and fawn at"] = "chichotać i płakać";
+App::$strings["giggled and fawned at"] = "chichotał i łakał";
+App::$strings["doubt"] = "wątpić";
+App::$strings["doubted"] = "zwątpił";
+App::$strings["glare"] = "piorunujÄ…ce spojrzenie";
+App::$strings["glared at"] = "obrzucił spojrzeniem";
+App::$strings["fuck"] = "pierdolić";
+App::$strings["fucked"] = "przejebane";
+App::$strings["bonk"] = "rżnąć";
+App::$strings["bonked"] = "zerżnięty";
+App::$strings["declare undying love for"] = "deklaruj wieczną miłość";
+App::$strings["declared undying love for"] = "zadeklarował wieczną miłość";
+App::$strings["New registration"] = "Nowa rejestracja";
+App::$strings["Message sent to %s. New account registration: %s"] = "Wiadomość wysłana do%s. Rejestracja nowego konta: %s";
+App::$strings["Pump.io Settings saved."] = "Ustawienia Pump.io zostały zapisane.";
+App::$strings["Pump.io Crosspost Connector App"] = "Aplikacja Pump.io Crosspost Connector";
+App::$strings["Relay public posts to pump.io"] = "Przekazuj publiczne posty do Pump.io";
+App::$strings["Pump.io servername"] = "Nazwa serwera Pump.io";
+App::$strings["Without \"http://\" or \"https://\""] = "Bez \"http: //\" lub \"https: //\"";
+App::$strings["Pump.io username"] = "Nazwa użytkownika Pump.io";
+App::$strings["Without the servername"] = "Bez nazwy serwera";
+App::$strings["You are not authenticated to pumpio"] = "Nie jesteÅ› uwierzytelniony w pumpio";
+App::$strings["(Re-)Authenticate your pump.io connection"] = "(Ponownie) Uwierzytelnij swoje połączenie pump.io";
+App::$strings["Post to pump.io by default"] = "Piblikuj domyślnie w pump.io";
+App::$strings["Should posts be public"] = "Posty powinny być publiczne";
+App::$strings["Mirror all public posts"] = "Powielaj wszystkie posty publiczne";
+App::$strings["Pump.io Crosspost Connector"] = "Pump.io Crosspost Connector";
+App::$strings["You are now authenticated to pumpio."] = "JesteÅ› teraz uwierzytelniony w pumpio.";
+App::$strings["return to the featured settings page"] = "wróć do polecanej strony ustawień";
+App::$strings["Post to Pump.io"] = "Opublikuj na Pump.io";
+App::$strings["NSA Bait App"] = "Aplikacja NSA Bait";
+App::$strings["Make yourself a political target"] = "Stań się celem politycznym";
+App::$strings["Add some colour to tag clouds"] = "Dodaj jakiÅ› kolor do oznaczania chmur";
+App::$strings["Rainbow Tag App"] = "Aplikacja Rainbow Tag";
+App::$strings["Rainbow Tag"] = "Rainbow Tag";
+App::$strings["Send test email"] = "Wyślij testową wiadomość e-mail";
+App::$strings["Mail sent."] = "Mail wysłany.";
+App::$strings["Sending of mail failed."] = "Wysyłanie poczty nie powiodło się.";
+App::$strings["Mail Test"] = "Test poczty";
+App::$strings["Redmatrix File Storage Import"] = "Import magazyn plików Redmatrix";
+App::$strings["This will import all your Redmatrix cloud files to this channel."] = "Spowoduje to zaimportowanie wszystkich plików chmury Redmatrix do tego kanału.";
+App::$strings["Use markdown for editing posts"] = "Użyj markdown do edycji postów";
+App::$strings["Fuzzloc Settings updated."] = "Zaktualizowano ustawienia Fuzzloc.";
+App::$strings["Fuzzy Location App"] = "Aplikacja Fuzzy Location";
+App::$strings["Blur your precise location if your channel uses browser location mapping"] = "Zamaż swoją dokładną lokalizację, jeśli Twój kanał używa mapowania lokalizacji w przeglądarce";
+App::$strings["Minimum offset in meters"] = "Minimalne przesunięcie w metrach";
+App::$strings["Maximum offset in meters"] = "Maksymalne przesunięcie w metrach";
+App::$strings["Fuzzy Location"] = "Fuzzy Location";
+App::$strings["Startpage App"] = "Aplikacja Startpage";
+App::$strings["Set a preferred page to load on login from home page"] = "Ustaw preferowaną stronę do załadowania przy logowaniu ze strony głównej";
+App::$strings["Page to load after login"] = "Strona do załadowania po zalogowaniu";
+App::$strings["Examples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (privacy collection), &quot;channel&quot; or &quot;notifications/system&quot; (leave blank for default network page (grid)."] = "Przykłady: &quot;aplikacje&quot;, &quot;sieć?f=&gid=37&quot; (kolekcja prywatności), &quot;kanał&quot; lub &quot;powiadomienie/system&quot; (pozostaw puste dla domyślnej stony sieci (siatki).";
+App::$strings["Startpage"] = "Startpage";
+App::$strings["Focus (Hubzilla default)"] = "Fokus (domyślnie Hubzilla)";
+App::$strings["Theme settings"] = "Ustawienia motywu";
+App::$strings["Narrow navbar"] = "WÄ…ski pasek nawigacyjny";
+App::$strings["Navigation bar background color"] = "Kolor tła paska nawigacji";
+App::$strings["Navigation bar icon color "] = "Kolor ikony paska nawigacji ";
+App::$strings["Navigation bar active icon color "] = "Kolor ikony aktywnego paska nawigacji ";
+App::$strings["Link color"] = "Kolor odnośnika";
+App::$strings["Set font-color for banner"] = "Ustaw kolor czcionki na banerze";
+App::$strings["Set the background color"] = "Ustaw kolor tła";
+App::$strings["Set the background image"] = "Ustaw obraz tła";
+App::$strings["Set the background color of items"] = "Ustaw kolor tła elementów";
+App::$strings["Set the background color of comments"] = "Ustaw kolor tła komentarzy";
+App::$strings["Set font-size for the entire application"] = "Ustaw rozmiar czcionki dla całej aplikacji";
+App::$strings["Examples: 1rem, 100%, 16px"] = "Przykłady: 1rem, 100%, 16px";
+App::$strings["Set font-color for posts and comments"] = "Ustaw kolor czcionki dla postów i komentarzy";
+App::$strings["Set radius of corners"] = "Ustaw promień narożników";
+App::$strings["Example: 4px"] = "Przykład: 4px";
+App::$strings["Set shadow depth of photos"] = "Ustaw głębię cienia zdjęć";
+App::$strings["Set maximum width of content region in pixel"] = "Ustaw maksymalną szerokość obszaru treści w pikselach";
+App::$strings["Leave empty for default width"] = "Pozostaw puste dla domyślnej szerokości";
+App::$strings["Set size of conversation author photo"] = "Ustaw rozmiar zdjęcia autora rozmowy";
+App::$strings["Set size of followup author photos"] = "Ustaw rozmiar kolejnych zdjęć autora";
+App::$strings["Show advanced settings"] = "Pokaż ustawienia zaawansowane";
+App::$strings["Create an account to access services and applications"] = "Utwórz konto, aby uzyskać dostęp do usług i aplikacji";
+App::$strings["Login/Email"] = "Login/Email";
+App::$strings["Password"] = "Hasło";
+App::$strings["Remember me"] = "Zapamiętaj mnie";
+App::$strings["Forgot your password?"] = "Nie pamiętasz hasła?";
+App::$strings["[\$Projectname] Website SSL error for %s"] = "[\$Projectname] Błąd SSL witryny internetowej dla %s";
+App::$strings["Website SSL certificate is not valid. Please correct."] = "Certyfikat SSL witryny jest nieprawidłowy. Proszę popraw.";
+App::$strings["[\$Projectname] Cron tasks not running on %s"] = "[\$Projectname] Zadania Crona nie działają na %s";
+App::$strings["Cron/Scheduled tasks not running."] = "Zadania Crona (zaplanowane) nie działają.";
diff --git a/view/pl/htconfig.tpl b/view/pl/htconfig.tpl
new file mode 100644
index 000000000..ca8ad6375
--- /dev/null
+++ b/view/pl/htconfig.tpl
@@ -0,0 +1,111 @@
+<?php
+
+// Ustaw następujące parametry instalacji bazy danych
+// Skopiuj i lub zmień nazwę tego pliku na .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+$db_type = '{{$dbtype}}'; // liczba całkowita. 0 lub nieustawienie dla mysql, 1 dla postgres
+
+/*
+ * Uwaga: wiele z poniższych ustawień będzie dostępnych w panelu administracyjnym
+ * po pomyślnej instalacji serwisu. Po ustawieniu w panelu administracyjnym, opcje
+ * te są przechowywane w DB - a ustawienie DB zastępują wszelkie odpowiadające
+ * in ustawienie w tym pliku
+ *
+ * Narzędzie wiersza poleceń util/config może bezpośrednio wysyłać zapytania i
+ * ustawiać elementy bazy danych, jeśli z jakiegoś powodu panel administracyjny
+ * nie jest dostępny a ustawienia systemowe wymagają modyfikacji.
+ *
+ */
+
+// Wybierz legalnÄ… domyÅ›lnÄ… strefÄ™ czasowÄ…. Dla obszaru Polski jest to „Europe/Warsawâ€.
+// Można to zmienić później i ma to związek tylko z sygnaturami czasowymi dla
+// anonimowych przeglÄ…dajÄ…cych.
+
+App::$config['system']['timezone'] = '{{$timezone}}';
+
+// Jaki jest adres URL Twojego serwisu? NIE DODAWAJ KOŃCOWEGO UKOŚNIKA!
+
+App::$config['system']['baseurl'] = '{{$siteurl}}';
+App::$config['system']['sitename'] = "Hubzilla";
+App::$config['system']['location_hash'] = '{{$site_id}}';
+
+// Te wiersze ustawiają dodatkowe nagłówki bezpieczeństwa, które mają być
+// wysyłane ze wszystkimi odpowiedziami. Możesz ustawić transport_security_header
+// na 0, jeśli twój serwer już wysyła ten nagłówek. Może okazać się konieczne
+// wyłączenie content_security_policy, jeśłi chcesz uruchamiać wtyczkę Piwik
+// umieszczać na stronach inne zasoby zewnętrzne.
+
+App::$config['system']['transport_security_header'] = 1;
+App::$config['system']['content_security_policy'] = 1;
+App::$config['system']['ssl_cookie_protection'] = 1;
+
+// Masz do wyboru REGISTER_OPEN, REGISTER_APPROVE lub REGISTER_CLOSED.
+// Upewnij się, że utworzyłeś swoje własne konto osobiste przed ustawieniem
+// REGISTER_CLOSED. Tekst "register_text" (jeśli jest ustawiony) będzie widoczny
+// w widocznym miejscu na stronie rejestracji. REGISTER_APPROVE wymaga ustawienia
+// "admin_email" na adres e-mail już zarejestrowanej osoby, która może autoryzować
+// albo zatwierdź czy też odrzuć żądanie.
+
+App::$config['system']['register_policy'] = REGISTER_OPEN;
+App::$config['system']['register_text'] = '';
+App::$config['system']['admin_email'] = '{{$adminmail}}';
+
+// Zalecamy pozostawienie tego ustawienia na 1. Ustaw na 0, aby umożliwić osobom
+// rejestrowanie się bez udowadniania, że są właścicielami adresu e-mail, na który
+// siÄ™ rejestrujÄ….
+
+App::$config['system']['verify_email'] = 1;
+
+// Ograniczenia dostępu do serwisu. Domyślnie będziemy tworzyć witryny prywatne.
+// Masz do wyboru ACCESS_PRIVATE, ACCESS_PAID, ACCESS_TIERED i ACCESS_FREE.
+// Jeśli opuścisz ustawienie REGISTER_OPEN powyżej, każdy bedzie się mógł
+// zarejestrować na Twoim serwisiewitryna, jednak serwis ten nie będzie nigdzie
+// wyświetlany jako hub z otwartą resjestracją.
+// Używamy polityki dostępu do systemu (poniżej) aby określić, czy serwis ma być
+// umieszczony w katalogu jako otwarty hub, w którym każdy może tworzyć konta.
+// Twój wybór, to: paid, tiered lub free.
+
+App::$config['system']['access_policy'] = ACCESS_PRIVATE;
+
+// Jeśli prowadzisz witrynę publiczną, możesz zezwolić, aby ludzie byli kierowani
+// do "strony sprzedaży", na której można szczegółowo opisać funkcje, zasady lub
+// plany usług. To musi być bezwzględny adres URL zaczynający się od http:// lub
+// https: //.
+
+App::$config['system']['sellpage'] = '';
+
+// Maksymalny rozmiar importowanej wiadomości, 0 jest nieograniczony
+
+App::$config['system']['max_import_size'] = 200000;
+
+// Lokalizacja procesora wiersza poleceń PHP (CLI PHP)
+
+App::$config['system']['php_path'] = '{{$phpath}}';
+
+// Skonfiguruj sposób komunikacji z serwerami katalogowymi.
+// DIRECTORY_MODE_NORMAL = klient katalogu, znajdziemy katalog
+// DIRECTORY_MODE_SECONDARY = buforowanie katalogu lub kopii lustrzanej
+// DIRECTORY_MODE_PRIMARY = główny serwer katalogów - jeden na dziedzinę
+// DIRECTORY_MODE_STANDALONE = "poza siecią" lub prywatne usługi katalogowe
+
+App::$config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// domyślny moty systemowy
+
+App::$config['system']['theme'] = 'redbasic';
+
+// Konfiguracja rejstracji błędów PHP.
+// Zanim to zrobisz, upewnij się, że serwer WWW ma uprawnienia
+// tworzenie i zapisywanie php.out w katalogu WWW najwyższego poziomu,
+// lub zmień nazwę (poniżej) na plik lub ścieżkę, jeśli jest to dozwolone.
+
+// Odkomentuj te 4 linie, aby włączyć rejestrowanie błędów PHP.
+//error_reporting(E_ERROR | E_WARNING | E_PARSE );
+//ini_set('error_log','php.out');
+//ini_set('log_errors','1');
+//ini_set('display_errors', '0');
diff --git a/view/pl/lostpass_eml.tpl b/view/pl/lostpass_eml.tpl
new file mode 100644
index 000000000..b9f445548
--- /dev/null
+++ b/view/pl/lostpass_eml.tpl
@@ -0,0 +1,33 @@
+
+Drogi/Droga {{$username}},
+ Niedawno otrzymaliśmy prośbę o zresetowanie kasła do konta na {{$ sitename}}.
+Aby potwierdzić tę prośbę, wybierz link weryfikacyjny poniżej lub wklej go w pasku
+adresu przeglÄ…darki internetowej.
+
+Jeśli jest to pomyłka i nie chcesz zmieniać hasła, NIE klikaj podanego linku i
+zignoruj albo usuń tą wiadomość e-mail.
+
+Twoje hasło nie zostanie zmienione, chyba że potwierdzisz prawdziwość tego żądania.
+
+Kliknij ten link, aby zweryfikować swoją tożsamość i potwierdzić żądanie zmiany hasła:
+
+{{$reset_link}}
+
+Następnie otrzymasz wiadomość uzupełniającą zawierającą nowe hasło.
+
+Możesz zmienić to hasło na stronie ustawień konta, po zalogowaniu się.
+
+Dane logowania są następujące:
+
+Lokalizacja serwisu: {{$siteurl}}
+Nazwa logowania: {{$email}}
+
+
+
+Z poważaniem,
+ {{$sitename}} Administrator
+
+--
+Warunki świadczenia usług:
+{{$siteurl}}/help/TermsOfService
+
diff --git a/view/pl/passchanged_eml.tpl b/view/pl/passchanged_eml.tpl
new file mode 100644
index 000000000..0965f680a
--- /dev/null
+++ b/view/pl/passchanged_eml.tpl
@@ -0,0 +1,23 @@
+
+Drogi/Droga {{$username}},
+ Twoje hasło zostało zmienione zgodnie z żądaniem. Zachowaj te informacje
+w swojej dokumentacji (lub natychmiast zmień swoje hasło na coś, co zapamiętasz).
+
+Twoje dane logowania są następujące:
+
+Lokalizacja serwisu: {{$siteurl}}
+Nazwa logowania: {{$email}}
+Hasło: {{$new_password}}
+
+Możesz zmienić to hasło na stronie ustawień konta, po zalogowaniu się.
+
+
+Z poważaniem,
+ {{$sitename}} Administrator
+
+
+
+--
+Warunki świadczenia usług:
+{{$siteurl}}/help/TermsOfService
+
diff --git a/view/pl/register_open_eml.tpl b/view/pl/register_open_eml.tpl
new file mode 100644
index 000000000..e86cd33c3
--- /dev/null
+++ b/view/pl/register_open_eml.tpl
@@ -0,0 +1,18 @@
+
+Na serwisie {{$ sitename}} zostało utworzone konto dla tego adresu e-mail.
+Dane logowania są następujące:
+
+Lokalizacja serwisu: {{$siteurl}}
+Login: {{$email}}
+Password: (hasło, które zostało podane podczas rejestracji)
+
+Jeśli to konto zostało utworzone bez Twojej wiedzy i nie jest pożądane, możesz
+odwiedić nasz serwis i zresetować ustawione hasło. Umożliwi to usunięcie konta
+z linków na stronie "Ustawienia", a my przepraszamy za wszelkie niedogodności.
+
+Dziękujemy i witamu na serwisie {{$sitename}}.
+
+Z poważaniem,
+ {{$sitename}} Administrator
+
+
diff --git a/view/pl/register_verify_eml.tpl b/view/pl/register_verify_eml.tpl
new file mode 100644
index 000000000..58116b48a
--- /dev/null
+++ b/view/pl/register_verify_eml.tpl
@@ -0,0 +1,24 @@
+
+Otrzymaliśmy prośbę o rejestrację użytkownika na serwisie {{$ sitename}}, co
+wymaga Twojej zgody.
+
+Szczegóły logowania są następujące:
+
+Lokalizacja serwisu: {{$siteurl}}
+Nazwa logowania: {{$email}}
+Adres IP: {{$details}}
+
+Aby zatwierdzić tę prośbę, kliknij poniższy link:
+
+
+{{$siteurl}}/regmod/allow/{{$hash}}
+
+
+Aby odrzucić prośbę i usunąć konto, odwiedź:
+
+
+{{$siteurl}}/regmod/deny/{{$hash}}
+
+
+Dziękujemy.
+
diff --git a/view/pl/register_verify_member.tpl b/view/pl/register_verify_member.tpl
new file mode 100644
index 000000000..1efd5f1e6
--- /dev/null
+++ b/view/pl/register_verify_member.tpl
@@ -0,0 +1,33 @@
+
+Dziękujemy za zarejestrowanie się na serwisie {{$sitename}}.
+
+Szczegóły Twojego logowania są nastęþujące:
+
+Lokalizacja serwisu: {{$siteurl}}
+Nazwa logowania: {{$email}}
+
+Zaloguj się za pomocą hasła wybranego podczas rejestracji.
+
+Musimy zweryfikować Twój adres e-mail, aby zapewnić Ci pełny dostęp.
+
+Twój kod weryfikacyjny, to:
+
+{{$hash}}
+
+Jeśli zarejestrowałeś to konto, wprowadź kod weryfikacyjny do żądania lub odwiedź
+poniższy link:
+
+{{$siteurl}}/regver/allow/{{$hash}}
+
+Aby odrzucić rejestrację i usunąć konto, odwiedź:
+
+{{$siteurl}}/regver/deny/{{$hash}}
+
+
+Dziękjemy.
+
+
+--
+Warunki świadczenia usług:
+{{$siteurl}}/help/TermsOfService
+
diff --git a/view/pl/update_fail_eml.tpl b/view/pl/update_fail_eml.tpl
new file mode 100644
index 000000000..33bf9161c
--- /dev/null
+++ b/view/pl/update_fail_eml.tpl
@@ -0,0 +1,22 @@
+Przepraszamy, ale to może być ważne.
+
+Jest to komunika wygenerowany przez serwer WWW na {{$sitename}};
+
+Twórcy projektu opublikowali niedawno aktualizację {{$update}},
+ale podczas próby automatycznej instalacji coś poszło nie tak.
+Należy to szybko naprawić i wymaga interwencji człowieka.
+Skontaktuj się z deweloperem projektu, jeśli nie wiesz, jak samemu
+naprawić ten problem. Konfiguracja bazy danych serwera WWW może być nieprawidłowa.
+
+Komunikat błędu, to '{{$error}}'.
+
+Możesz spróbować ponownie zastosować tę aktualizację, odwiedzając stronę
+
+{{$baseurl}}/admin/dbsync
+
+po zalogowaniu siÄ™ na konto administratora.
+
+{{$source}}
+
+Przepraszam za utrudnienia,
+ Twój serwer WWW na {{$siteurl}}
diff --git a/view/ru/hmessages.po b/view/ru/hmessages.po
index 72d254c95..0cdc38ff3 100644
--- a/view/ru/hmessages.po
+++ b/view/ru/hmessages.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: hubzilla\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-15 11:39+0200\n"
-"PO-Revision-Date: 2020-11-15 11:46+0200\n"
+"POT-Creation-Date: 2021-01-03 17:35+0200\n"
+"PO-Revision-Date: 2021-01-03 17:42+0200\n"
"Last-Translator: Max Kostikov <max@kostikov.co>\n"
"Language-Team: Russian (http://www.transifex.com/Friendica/hubzilla/language/ru/)\n"
"MIME-Version: 1.0\n"
@@ -22,7 +22,7 @@ msgstr ""
msgid "Source channel not found."
msgstr "Канал-иÑточник не найден."
-#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3379
+#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3381
#: ../../Zotlabs/Module/Admin/Site.php:191
#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:335
#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:359
@@ -37,14 +37,15 @@ msgid "Focus (Hubzilla default)"
msgstr "Ð¤Ð¾ÐºÑƒÑ (по умолчанию Hubzilla)"
#: ../../view/theme/redbasic/php/config.php:94 ../../include/js_strings.php:22
-#: ../../Zotlabs/Module/Pconfig.php:116 ../../Zotlabs/Module/Defperms.php:266
-#: ../../Zotlabs/Module/Permcats.php:129 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Storage/Browser.php:375 ../../Zotlabs/Module/Pconfig.php:116
+#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Permcats.php:129
+#: ../../Zotlabs/Module/Xchan.php:15
#: ../../Zotlabs/Module/Email_validation.php:40
#: ../../Zotlabs/Module/Poke.php:217 ../../Zotlabs/Module/Appman.php:155
-#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Photos.php:1057
-#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
#: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Events.php:501
-#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Locs.php:125
+#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Locs.php:132
#: ../../Zotlabs/Module/Sources.php:125 ../../Zotlabs/Module/Sources.php:162
#: ../../Zotlabs/Module/Chat.php:209 ../../Zotlabs/Module/Chat.php:248
#: ../../Zotlabs/Module/Oauth2.php:116
@@ -53,7 +54,7 @@ msgstr "Ð¤Ð¾ÐºÑƒÑ (по умолчанию Hubzilla)"
#: ../../Zotlabs/Module/Settings/Account.php:103
#: ../../Zotlabs/Module/Settings/Conversation.php:49
#: ../../Zotlabs/Module/Settings/Editor.php:42
-#: ../../Zotlabs/Module/Settings/Display.php:190
+#: ../../Zotlabs/Module/Settings/Display.php:188
#: ../../Zotlabs/Module/Settings/Features.php:48
#: ../../Zotlabs/Module/Settings/Network.php:62
#: ../../Zotlabs/Module/Settings/Events.php:42
@@ -63,7 +64,7 @@ msgstr "Ð¤Ð¾ÐºÑƒÑ (по умолчанию Hubzilla)"
#: ../../Zotlabs/Module/Settings/Profiles.php:52
#: ../../Zotlabs/Module/Settings/Connections.php:42
#: ../../Zotlabs/Module/Settings/Channel.php:495
-#: ../../Zotlabs/Module/Filestorage.php:203 ../../Zotlabs/Module/Setup.php:304
+#: ../../Zotlabs/Module/Filestorage.php:208 ../../Zotlabs/Module/Setup.php:304
#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Mitem.php:259
#: ../../Zotlabs/Module/Admin/Features.php:66
#: ../../Zotlabs/Module/Admin/Logs.php:84
@@ -81,7 +82,7 @@ msgstr "Ð¤Ð¾ÐºÑƒÑ (по умолчанию Hubzilla)"
#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Mood.php:158
#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Connect.php:107
#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Affinity.php:87
-#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Import.php:649
+#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Import.php:645
#: ../../Zotlabs/Module/Import_items.php:129
#: ../../Zotlabs/Widget/Wiki_pages.php:42
#: ../../Zotlabs/Widget/Wiki_pages.php:99
@@ -153,24 +154,27 @@ msgstr "Ð£Ð·ÐºÐ°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ навигации"
#: ../../view/theme/redbasic/php/config.php:99
#: ../../view/theme/redbasic/php/config.php:116
-#: ../../include/conversation.php:1463 ../../include/dir_fns.php:142
+#: ../../include/conversation.php:1466 ../../include/dir_fns.php:142
#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../boot.php:1704 ../../Zotlabs/Storage/Browser.php:411
-#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Profiles.php:683
-#: ../../Zotlabs/Module/Photos.php:672 ../../Zotlabs/Module/Api.php:99
-#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Events.php:479
-#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
-#: ../../Zotlabs/Module/Settings/Display.php:90
+#: ../../boot.php:1704 ../../Zotlabs/Storage/Browser.php:303
+#: ../../Zotlabs/Storage/Browser.php:304 ../../Zotlabs/Storage/Browser.php:305
+#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Storage/Browser.php:384
+#: ../../Zotlabs/Storage/Browser.php:545 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Profiles.php:683 ../../Zotlabs/Module/Photos.php:673
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Sources.php:124
+#: ../../Zotlabs/Module/Sources.php:159
+#: ../../Zotlabs/Module/Settings/Display.php:88
#: ../../Zotlabs/Module/Settings/Channel.php:311
-#: ../../Zotlabs/Module/Filestorage.php:198
-#: ../../Zotlabs/Module/Filestorage.php:206 ../../Zotlabs/Module/Menu.php:163
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Menu.php:163
#: ../../Zotlabs/Module/Menu.php:222 ../../Zotlabs/Module/Mitem.php:176
#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
#: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Admin/Site.php:259
#: ../../Zotlabs/Module/Connedit.php:403 ../../Zotlabs/Module/Connedit.php:788
#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Wiki.php:228
-#: ../../Zotlabs/Module/Import.php:638 ../../Zotlabs/Module/Import.php:642
-#: ../../Zotlabs/Module/Import.php:643 ../../Zotlabs/Lib/Libzotdir.php:164
+#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Lib/Libzotdir.php:164
#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:167
#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98
@@ -224,23 +228,26 @@ msgstr "Ðет"
#: ../../view/theme/redbasic/php/config.php:99
#: ../../view/theme/redbasic/php/config.php:116
-#: ../../include/conversation.php:1463 ../../include/dir_fns.php:142
+#: ../../include/conversation.php:1466 ../../include/dir_fns.php:142
#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../boot.php:1704 ../../Zotlabs/Storage/Browser.php:411
-#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Profiles.php:683
-#: ../../Zotlabs/Module/Photos.php:672 ../../Zotlabs/Module/Api.php:98
-#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Events.php:479
-#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
-#: ../../Zotlabs/Module/Settings/Display.php:90
+#: ../../boot.php:1704 ../../Zotlabs/Storage/Browser.php:303
+#: ../../Zotlabs/Storage/Browser.php:304 ../../Zotlabs/Storage/Browser.php:305
+#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Storage/Browser.php:384
+#: ../../Zotlabs/Storage/Browser.php:545 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Profiles.php:683 ../../Zotlabs/Module/Photos.php:673
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Sources.php:124
+#: ../../Zotlabs/Module/Sources.php:159
+#: ../../Zotlabs/Module/Settings/Display.php:88
#: ../../Zotlabs/Module/Settings/Channel.php:311
-#: ../../Zotlabs/Module/Filestorage.php:198
-#: ../../Zotlabs/Module/Filestorage.php:206 ../../Zotlabs/Module/Menu.php:163
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Menu.php:163
#: ../../Zotlabs/Module/Menu.php:222 ../../Zotlabs/Module/Mitem.php:176
#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
#: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Admin/Site.php:261
#: ../../Zotlabs/Module/Connedit.php:403 ../../Zotlabs/Module/Wiki.php:227
-#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Import.php:638
-#: ../../Zotlabs/Module/Import.php:642 ../../Zotlabs/Module/Import.php:643
+#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Import.php:634
+#: ../../Zotlabs/Module/Import.php:638 ../../Zotlabs/Module/Import.php:639
#: ../../Zotlabs/Lib/Libzotdir.php:164 ../../Zotlabs/Lib/Libzotdir.php:165
#: ../../Zotlabs/Lib/Libzotdir.php:167
#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94
@@ -402,13 +409,13 @@ msgid "Monthly"
msgstr "ЕжемеÑÑчно"
#: ../../include/selectors.php:60 ../../include/selectors.php:77
-#: ../../include/channel.php:1708
+#: ../../include/channel.php:1722
#: ../../extend/addon/hzaddons/openid/Mod_Id.php:85
msgid "Male"
msgstr "Мужчина"
#: ../../include/selectors.php:60 ../../include/selectors.php:77
-#: ../../include/channel.php:1706
+#: ../../include/channel.php:1720
#: ../../extend/addon/hzaddons/openid/Mod_Id.php:87
msgid "Female"
msgstr "Женщина"
@@ -445,19 +452,19 @@ msgstr "ТранÑÑекÑуал"
msgid "Hermaphrodite"
msgstr "Гермафродит"
-#: ../../include/selectors.php:60 ../../include/channel.php:1712
+#: ../../include/selectors.php:60 ../../include/channel.php:1726
msgid "Neuter"
msgstr "Среднего рода"
-#: ../../include/selectors.php:60 ../../include/channel.php:1714
+#: ../../include/selectors.php:60 ../../include/channel.php:1728
msgid "Non-specific"
msgstr "ÐеÑпецифичеÑкий"
#: ../../include/selectors.php:60 ../../include/selectors.php:77
#: ../../include/selectors.php:115 ../../include/selectors.php:151
-#: ../../include/connections.php:740 ../../include/connections.php:747
+#: ../../include/connections.php:741 ../../include/connections.php:748
#: ../../include/event.php:1429 ../../include/event.php:1436
-#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:797
+#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797
#: ../../Zotlabs/Module/Connedit.php:927
#: ../../Zotlabs/Access/PermissionRoles.php:310
msgid "Other"
@@ -650,17 +657,21 @@ msgstr "Ð’ÑÑ‘ равно"
msgid "Ask me"
msgstr "СпроÑи менÑ"
-#: ../../include/photos.php:27 ../../include/items.php:3966
+#: ../../include/photos.php:27 ../../include/items.php:3977
#: ../../include/attach.php:156 ../../include/attach.php:205
-#: ../../include/attach.php:278 ../../include/attach.php:386
-#: ../../include/attach.php:400 ../../include/attach.php:407
-#: ../../include/attach.php:489 ../../include/attach.php:1055
-#: ../../include/attach.php:1129 ../../include/attach.php:1292
-#: ../../Zotlabs/Module/Defperms.php:182 ../../Zotlabs/Module/Network.php:19
-#: ../../Zotlabs/Module/Common.php:38 ../../Zotlabs/Module/Item.php:483
-#: ../../Zotlabs/Module/Item.php:502 ../../Zotlabs/Module/Item.php:512
-#: ../../Zotlabs/Module/Item.php:1428 ../../Zotlabs/Module/Achievements.php:34
-#: ../../Zotlabs/Module/Display.php:442 ../../Zotlabs/Module/Poke.php:157
+#: ../../include/attach.php:278 ../../include/attach.php:329
+#: ../../include/attach.php:424 ../../include/attach.php:438
+#: ../../include/attach.php:445 ../../include/attach.php:527
+#: ../../include/attach.php:1091 ../../include/attach.php:1164
+#: ../../include/attach.php:1327 ../../Zotlabs/Module/Defperms.php:182
+#: ../../Zotlabs/Module/Network.php:19 ../../Zotlabs/Module/Common.php:38
+#: ../../Zotlabs/Module/Item.php:485 ../../Zotlabs/Module/Item.php:504
+#: ../../Zotlabs/Module/Item.php:514 ../../Zotlabs/Module/Item.php:1442
+#: ../../Zotlabs/Module/Achievements.php:34
+#: ../../Zotlabs/Module/Attach_edit.php:90
+#: ../../Zotlabs/Module/Attach_edit.php:99
+#: ../../Zotlabs/Module/Attach_edit.php:106
+#: ../../Zotlabs/Module/Display.php:425 ../../Zotlabs/Module/Poke.php:157
#: ../../Zotlabs/Module/Profile.php:85 ../../Zotlabs/Module/Profile.php:101
#: ../../Zotlabs/Module/Appman.php:87 ../../Zotlabs/Module/Profiles.php:200
#: ../../Zotlabs/Module/Profiles.php:637 ../../Zotlabs/Module/Photos.php:71
@@ -676,21 +687,21 @@ msgstr "СпроÑи менÑ"
#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Regmod.php:20
-#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Locs.php:91
+#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Locs.php:100
#: ../../Zotlabs/Module/Sources.php:80 ../../Zotlabs/Module/Chat.php:113
#: ../../Zotlabs/Module/Chat.php:118 ../../Zotlabs/Module/Vote.php:19
#: ../../Zotlabs/Module/Editlayout.php:67
#: ../../Zotlabs/Module/Editlayout.php:90
-#: ../../Zotlabs/Module/Filestorage.php:17
-#: ../../Zotlabs/Module/Filestorage.php:72
-#: ../../Zotlabs/Module/Filestorage.php:90
-#: ../../Zotlabs/Module/Filestorage.php:113
-#: ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:20
+#: ../../Zotlabs/Module/Filestorage.php:78
+#: ../../Zotlabs/Module/Filestorage.php:96
+#: ../../Zotlabs/Module/Filestorage.php:119
+#: ../../Zotlabs/Module/Filestorage.php:165
#: ../../Zotlabs/Module/Editblock.php:67
#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Channel.php:181
-#: ../../Zotlabs/Module/Channel.php:348 ../../Zotlabs/Module/Channel.php:387
-#: ../../Zotlabs/Module/Like.php:193 ../../Zotlabs/Module/Bookmarks.php:70
+#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Channel.php:177
+#: ../../Zotlabs/Module/Channel.php:332 ../../Zotlabs/Module/Channel.php:371
+#: ../../Zotlabs/Module/Like.php:230 ../../Zotlabs/Module/Bookmarks.php:70
#: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Menu.php:130
#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Setup.php:206
#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Notifications.php:11
@@ -755,8 +766,8 @@ msgstr "%1$s опубликовал %2$s в %3$s"
msgid "Photo Albums"
msgstr "Фотоальбомы"
-#: ../../include/photos.php:667 ../../Zotlabs/Module/Photos.php:1347
-#: ../../Zotlabs/Module/Photos.php:1360 ../../Zotlabs/Module/Photos.php:1361
+#: ../../include/photos.php:667 ../../Zotlabs/Module/Photos.php:1348
+#: ../../Zotlabs/Module/Photos.php:1361 ../../Zotlabs/Module/Photos.php:1362
msgid "Recent Photos"
msgstr "ПоÑледние фотографии"
@@ -798,7 +809,7 @@ msgstr[0] "доÑтупно %d приглашение"
msgstr[1] "доÑтупны %d приглашениÑ"
msgstr[2] "доÑтупны %d приглашений"
-#: ../../include/contact_widgets.php:16 ../../include/acl_selectors.php:135
+#: ../../include/contact_widgets.php:16 ../../include/acl_selectors.php:144
#: ../../Zotlabs/Module/Admin/Site.php:297
msgid "Advanced"
msgstr "Дополнительно"
@@ -850,31 +861,33 @@ msgstr "Сохранённые каталоги"
#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:111
#: ../../include/contact_widgets.php:155 ../../include/contact_widgets.php:200
-#: ../../Zotlabs/Widget/Filer.php:31 ../../Zotlabs/Widget/Appcategories.php:46
+#: ../../include/contact_widgets.php:235 ../../Zotlabs/Widget/Filer.php:31
+#: ../../Zotlabs/Widget/Appcategories.php:46
msgid "Everything"
msgstr "Ð’ÑÑ‘"
#: ../../include/contact_widgets.php:108 ../../include/contact_widgets.php:152
-#: ../../include/contact_widgets.php:197 ../../include/taxonomy.php:418
-#: ../../include/taxonomy.php:500 ../../include/taxonomy.php:520
-#: ../../include/taxonomy.php:541 ../../Zotlabs/Module/Cdav.php:1066
+#: ../../include/contact_widgets.php:197 ../../include/contact_widgets.php:232
+#: ../../include/taxonomy.php:435 ../../include/taxonomy.php:517
+#: ../../include/taxonomy.php:537 ../../include/taxonomy.php:558
+#: ../../Zotlabs/Storage/Browser.php:293 ../../Zotlabs/Storage/Browser.php:381
+#: ../../Zotlabs/Storage/Browser.php:396 ../../Zotlabs/Module/Cdav.php:1070
#: ../../Zotlabs/Widget/Appcategories.php:43
msgid "Categories"
msgstr "Категории"
-#: ../../include/contact_widgets.php:231
+#: ../../include/contact_widgets.php:265
msgid "Common Connections"
msgstr "Общие контакты"
-#: ../../include/contact_widgets.php:235
+#: ../../include/contact_widgets.php:269
#, php-format
msgid "View all %d common connections"
msgstr "ПроÑмотреть вÑе %d общих контактов"
-#: ../../include/menu.php:120 ../../include/channel.php:1524
-#: ../../include/channel.php:1528 ../../Zotlabs/Storage/Browser.php:296
-#: ../../Zotlabs/Module/Oauth.php:173 ../../Zotlabs/Module/Oauth2.php:194
-#: ../../Zotlabs/Module/Editlayout.php:114
+#: ../../include/menu.php:120 ../../include/channel.php:1538
+#: ../../include/channel.php:1542 ../../Zotlabs/Module/Oauth.php:173
+#: ../../Zotlabs/Module/Oauth2.php:194 ../../Zotlabs/Module/Editlayout.php:114
#: ../../Zotlabs/Module/Editblock.php:114 ../../Zotlabs/Module/Menu.php:176
#: ../../Zotlabs/Module/Admin/Profs.php:175
#: ../../Zotlabs/Module/Editwebpage.php:142 ../../Zotlabs/Module/Thing.php:268
@@ -934,13 +947,13 @@ msgstr "Профиль по умолчанию"
msgid "Unable to retrieve modified identity"
msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ изменённый идентификатор"
-#: ../../include/channel.php:1371
+#: ../../include/channel.php:1385
msgid "Requested channel is not available."
msgstr "Запрошенный канал не доÑтупен."
-#: ../../include/channel.php:1425 ../../Zotlabs/Module/Achievements.php:15
+#: ../../include/channel.php:1439 ../../Zotlabs/Module/Achievements.php:15
#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Editlayout.php:31
-#: ../../Zotlabs/Module/Filestorage.php:53
+#: ../../Zotlabs/Module/Filestorage.php:59
#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Menu.php:92
#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Editwebpage.php:32
#: ../../Zotlabs/Module/Webpages.php:39 ../../Zotlabs/Module/Blocks.php:33
@@ -950,83 +963,83 @@ msgstr "Запрошенный канал не доÑтупен."
msgid "Requested profile is not available."
msgstr "Запрашиваемый профиль не доÑтупен."
-#: ../../include/channel.php:1517 ../../Zotlabs/Module/Profiles.php:730
+#: ../../include/channel.php:1531 ../../Zotlabs/Module/Profiles.php:730
msgid "Change profile photo"
msgstr "Изменить фотографию профилÑ"
-#: ../../include/channel.php:1524 ../../include/nav.php:115
+#: ../../include/channel.php:1538 ../../include/nav.php:115
#: ../../Zotlabs/Module/Profiles.php:832
msgid "Edit Profiles"
msgstr "Редактирование профилей"
-#: ../../include/channel.php:1525
+#: ../../include/channel.php:1539
msgid "Create New Profile"
msgstr "Создать новый профиль"
-#: ../../include/channel.php:1528 ../../include/nav.php:117
+#: ../../include/channel.php:1542 ../../include/nav.php:117
#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58
msgid "Edit Profile"
msgstr "Редактировать профиль"
-#: ../../include/channel.php:1543 ../../Zotlabs/Module/Profiles.php:822
+#: ../../include/channel.php:1557 ../../Zotlabs/Module/Profiles.php:822
msgid "Profile Image"
msgstr "Изображение профилÑ"
-#: ../../include/channel.php:1546
+#: ../../include/channel.php:1560
msgid "Visible to everybody"
msgstr "Видно вÑем"
-#: ../../include/channel.php:1547 ../../Zotlabs/Module/Profiles.php:727
+#: ../../include/channel.php:1561 ../../Zotlabs/Module/Profiles.php:727
#: ../../Zotlabs/Module/Profiles.php:826
msgid "Edit visibility"
msgstr "Редактировать видимоÑть"
-#: ../../include/channel.php:1604 ../../include/conversation.php:1097
+#: ../../include/channel.php:1618 ../../include/conversation.php:1100
#: ../../include/connections.php:110 ../../Zotlabs/Module/Directory.php:368
#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71
#: ../../Zotlabs/Widget/Suggestions.php:46 ../../Zotlabs/Widget/Follow.php:32
msgid "Connect"
msgstr "Подключить"
-#: ../../include/channel.php:1619 ../../include/event.php:63
+#: ../../include/channel.php:1633 ../../include/event.php:63
#: ../../include/event.php:134 ../../Zotlabs/Module/Directory.php:352
msgid "Location:"
msgstr "МеÑтоположение:"
-#: ../../include/channel.php:1623 ../../include/channel.php:1751
+#: ../../include/channel.php:1637 ../../include/channel.php:1765
msgid "Gender:"
msgstr "Пол:"
-#: ../../include/channel.php:1624 ../../include/channel.php:1795
+#: ../../include/channel.php:1638 ../../include/channel.php:1809
msgid "Status:"
msgstr "СтатуÑ:"
-#: ../../include/channel.php:1625 ../../include/channel.php:1819
+#: ../../include/channel.php:1639 ../../include/channel.php:1833
msgid "Homepage:"
msgstr "ДомашнÑÑ Ñтраница:"
-#: ../../include/channel.php:1626
+#: ../../include/channel.php:1640
msgid "Online Now"
msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð² Ñети"
-#: ../../include/channel.php:1679
+#: ../../include/channel.php:1693
msgid "Change your profile photo"
msgstr "Изменить фотографию вашего профилÑ"
-#: ../../include/channel.php:1710
+#: ../../include/channel.php:1724
msgid "Trans"
msgstr "ТранÑекÑуал"
-#: ../../include/channel.php:1749 ../../Zotlabs/Module/Settings/Channel.php:501
+#: ../../include/channel.php:1763 ../../Zotlabs/Module/Settings/Channel.php:501
msgid "Full Name:"
msgstr "Полное имÑ:"
-#: ../../include/channel.php:1756
+#: ../../include/channel.php:1770
msgid "Like this channel"
msgstr "нравитÑÑ Ñтот канал"
-#: ../../include/channel.php:1767 ../../include/conversation.php:1746
-#: ../../include/taxonomy.php:668 ../../Zotlabs/Module/Photos.php:1135
+#: ../../include/channel.php:1781 ../../include/conversation.php:1749
+#: ../../include/taxonomy.php:685 ../../Zotlabs/Module/Photos.php:1136
#: ../../Zotlabs/Lib/ThreadItem.php:242
msgctxt "noun"
msgid "Like"
@@ -1035,130 +1048,130 @@ msgstr[0] "ÐравитÑÑ"
msgstr[1] "ÐравитÑÑ"
msgstr[2] "ÐравитÑÑ"
-#: ../../include/channel.php:1780
+#: ../../include/channel.php:1794
msgid "j F, Y"
msgstr ""
-#: ../../include/channel.php:1781
+#: ../../include/channel.php:1795
msgid "j F"
msgstr ""
-#: ../../include/channel.php:1788
+#: ../../include/channel.php:1802
msgid "Birthday:"
msgstr "День рождениÑ:"
-#: ../../include/channel.php:1792 ../../Zotlabs/Module/Directory.php:347
+#: ../../include/channel.php:1806 ../../Zotlabs/Module/Directory.php:347
msgid "Age:"
msgstr "ВозраÑÑ‚:"
-#: ../../include/channel.php:1801
+#: ../../include/channel.php:1815
#, php-format
msgid "for %1$d %2$s"
msgstr "Ð´Ð»Ñ %1$d %2$s"
-#: ../../include/channel.php:1813
+#: ../../include/channel.php:1827
msgid "Tags:"
msgstr "Теги:"
-#: ../../include/channel.php:1817
+#: ../../include/channel.php:1831
msgid "Sexual Preference:"
msgstr "СекÑуальные предпочтениÑ:"
-#: ../../include/channel.php:1821 ../../Zotlabs/Module/Directory.php:365
+#: ../../include/channel.php:1835 ../../Zotlabs/Module/Directory.php:365
msgid "Hometown:"
msgstr "Родной город:"
-#: ../../include/channel.php:1823
+#: ../../include/channel.php:1837
msgid "Political Views:"
msgstr "ПолитичеÑкие взглÑды:"
-#: ../../include/channel.php:1825
+#: ../../include/channel.php:1839
msgid "Religion:"
msgstr "РелигиÑ:"
-#: ../../include/channel.php:1827 ../../Zotlabs/Module/Directory.php:367
+#: ../../include/channel.php:1841 ../../Zotlabs/Module/Directory.php:367
msgid "About:"
msgstr "О Ñебе:"
-#: ../../include/channel.php:1829
+#: ../../include/channel.php:1843
msgid "Hobbies/Interests:"
msgstr "Хобби / интереÑÑ‹:"
-#: ../../include/channel.php:1831
+#: ../../include/channel.php:1845
msgid "Likes:"
msgstr "Что вам нравитÑÑ:"
-#: ../../include/channel.php:1833
+#: ../../include/channel.php:1847
msgid "Dislikes:"
msgstr "Что вам не нравитÑÑ:"
-#: ../../include/channel.php:1835
+#: ../../include/channel.php:1849
msgid "Contact information and Social Networks:"
msgstr "ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети:"
-#: ../../include/channel.php:1837
+#: ../../include/channel.php:1851
msgid "My other channels:"
msgstr "Мои другие каналы:"
-#: ../../include/channel.php:1839
+#: ../../include/channel.php:1853
msgid "Musical interests:"
msgstr "Музыкальные интереÑÑ‹:"
-#: ../../include/channel.php:1841
+#: ../../include/channel.php:1855
msgid "Books, literature:"
msgstr "Книги, литература:"
-#: ../../include/channel.php:1843
+#: ../../include/channel.php:1857
msgid "Television:"
msgstr "Телевидение:"
-#: ../../include/channel.php:1845
+#: ../../include/channel.php:1859
msgid "Film/dance/culture/entertainment:"
msgstr "Кино / танцы / культура / развлечениÑ:"
-#: ../../include/channel.php:1847
+#: ../../include/channel.php:1861
msgid "Love/Romance:"
msgstr "Любовь / романтика:"
-#: ../../include/channel.php:1849
+#: ../../include/channel.php:1863
msgid "Work/employment:"
msgstr "Работа / занÑтоÑть:"
-#: ../../include/channel.php:1851
+#: ../../include/channel.php:1865
msgid "School/education:"
msgstr "Школа / образование:"
-#: ../../include/channel.php:1872 ../../Zotlabs/Module/Profperm.php:113
+#: ../../include/channel.php:1886 ../../Zotlabs/Module/Profperm.php:113
#: ../../Zotlabs/Lib/Apps.php:362
msgid "Profile"
msgstr "Профиль"
-#: ../../include/channel.php:1874
+#: ../../include/channel.php:1888
msgid "Like this thing"
msgstr "нравитÑÑ ÑÑ‚o"
-#: ../../include/channel.php:1875 ../../Zotlabs/Module/Events.php:699
+#: ../../include/channel.php:1889 ../../Zotlabs/Module/Events.php:699
msgid "Export"
msgstr "ЭкÑпорт"
-#: ../../include/channel.php:2314 ../../Zotlabs/Module/Cover_photo.php:304
+#: ../../include/channel.php:2328 ../../Zotlabs/Module/Cover_photo.php:304
msgid "cover photo"
msgstr "Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð¾Ð±Ð»Ð¾Ð¶ÐºÐ¸"
-#: ../../include/channel.php:2603 ../../boot.php:1700
+#: ../../include/channel.php:2597 ../../boot.php:1700
#: ../../Zotlabs/Module/Rmagic.php:96
msgid "Remote Authentication"
msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ"
-#: ../../include/channel.php:2604 ../../Zotlabs/Module/Rmagic.php:97
+#: ../../include/channel.php:2598 ../../Zotlabs/Module/Rmagic.php:97
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Введите Ð°Ð´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала (например: channel@example.com)"
-#: ../../include/channel.php:2605 ../../Zotlabs/Module/Rmagic.php:98
+#: ../../include/channel.php:2599 ../../Zotlabs/Module/Rmagic.php:98
msgid "Authenticate"
msgstr "Проверка подлинноÑти"
-#: ../../include/channel.php:2763 ../../Zotlabs/Module/Admin/Accounts.php:91
+#: ../../include/channel.php:2757 ../../Zotlabs/Module/Admin/Accounts.php:91
#, php-format
msgid "Account '%s' deleted"
msgstr "Ðккаунт '%s' удален"
@@ -1190,7 +1203,7 @@ msgstr "%1$s была Ñоздана %2$s %3$s"
#: ../../include/markdown.php:204 ../../include/text.php:2258
#: ../../include/bbcode.php:523 ../../include/conversation.php:158
-#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2967
+#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2971
msgid "post"
msgstr "публикациÑ"
@@ -1200,9 +1213,9 @@ msgstr "Ñпойлер"
#: ../../include/items.php:439 ../../Zotlabs/Module/Dreport.php:10
#: ../../Zotlabs/Module/Dreport.php:82 ../../Zotlabs/Module/Share.php:72
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Like.php:295
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Like.php:332
#: ../../Zotlabs/Module/Subthread.php:86 ../../Zotlabs/Module/Group.php:99
-#: ../../Zotlabs/Module/Cloud.php:119 ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Cloud.php:123 ../../Zotlabs/Module/Import_items.php:120
#: ../../Zotlabs/Web/WebServer.php:115
#: ../../extend/addon/hzaddons/redphotos/redphotos.php:119
#: ../../extend/addon/hzaddons/redfiles/redfiles.php:109
@@ -1247,9 +1260,9 @@ msgstr "Видно только одобренным контактам."
msgid "Visible to specific connections."
msgstr "Видно указанным контактам."
-#: ../../include/items.php:3889 ../../Zotlabs/Module/Display.php:45
-#: ../../Zotlabs/Module/Display.php:446 ../../Zotlabs/Module/Admin.php:62
-#: ../../Zotlabs/Module/Filestorage.php:26 ../../Zotlabs/Module/Viewsrc.php:25
+#: ../../include/items.php:3900 ../../Zotlabs/Module/Display.php:42
+#: ../../Zotlabs/Module/Display.php:429 ../../Zotlabs/Module/Admin.php:62
+#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Viewsrc.php:25
#: ../../Zotlabs/Module/Admin/Addons.php:260
#: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:96
#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:284
@@ -1257,67 +1270,67 @@ msgstr "Видно указанным контактам."
msgid "Item not found."
msgstr "Элемент не найден."
-#: ../../include/items.php:4466 ../../Zotlabs/Module/Group.php:62
+#: ../../include/items.php:4472 ../../Zotlabs/Module/Group.php:62
#: ../../Zotlabs/Module/Group.php:214
msgid "Privacy group not found."
msgstr "Группа конфиденциальноÑти не найдена."
-#: ../../include/items.php:4482
+#: ../../include/items.php:4488
msgid "Privacy group is empty."
msgstr "Группа конфиденциальноÑти пуÑта"
-#: ../../include/items.php:4489
+#: ../../include/items.php:4495
#, php-format
msgid "Privacy group: %s"
msgstr "Группа конфиденциальноÑти: %s"
-#: ../../include/items.php:4499 ../../Zotlabs/Module/Connedit.php:859
+#: ../../include/items.php:4505 ../../Zotlabs/Module/Connedit.php:859
#, php-format
msgid "Connection: %s"
msgstr "Контакт: %s"
-#: ../../include/items.php:4501
+#: ../../include/items.php:4507
msgid "Connection not found."
msgstr "Контакт не найден."
-#: ../../include/items.php:4835 ../../Zotlabs/Module/Cover_photo.php:297
+#: ../../include/items.php:4841 ../../Zotlabs/Module/Cover_photo.php:297
msgid "female"
msgstr "женщина"
-#: ../../include/items.php:4836 ../../Zotlabs/Module/Cover_photo.php:298
+#: ../../include/items.php:4842 ../../Zotlabs/Module/Cover_photo.php:298
#, php-format
msgid "%1$s updated her %2$s"
msgstr "%1$s обновила её %2$s"
-#: ../../include/items.php:4837 ../../Zotlabs/Module/Cover_photo.php:299
+#: ../../include/items.php:4843 ../../Zotlabs/Module/Cover_photo.php:299
msgid "male"
msgstr "мужчина"
-#: ../../include/items.php:4838 ../../Zotlabs/Module/Cover_photo.php:300
+#: ../../include/items.php:4844 ../../Zotlabs/Module/Cover_photo.php:300
#, php-format
msgid "%1$s updated his %2$s"
msgstr "%1$s обновил его %2$s"
-#: ../../include/items.php:4840 ../../Zotlabs/Module/Cover_photo.php:302
+#: ../../include/items.php:4846 ../../Zotlabs/Module/Cover_photo.php:302
#, php-format
msgid "%1$s updated their %2$s"
msgstr "%2$s %1$s обновлена"
-#: ../../include/items.php:4842
+#: ../../include/items.php:4848
msgid "profile photo"
msgstr "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ"
-#: ../../include/items.php:5034
+#: ../../include/items.php:5040
#, php-format
msgid "[Edited %s]"
msgstr "[Отредактировано %s]"
-#: ../../include/items.php:5034
+#: ../../include/items.php:5040
msgctxt "edit_activity"
msgid "Post"
msgstr "ПубликациÑ"
-#: ../../include/items.php:5034
+#: ../../include/items.php:5040
msgctxt "edit_activity"
msgid "Comment"
msgstr "Комментарий"
@@ -1358,8 +1371,7 @@ msgid "On"
msgstr "Вкл."
#: ../../include/features.php:82 ../../include/nav.php:463
-#: ../../include/nav.php:466 ../../Zotlabs/Storage/Browser.php:140
-#: ../../Zotlabs/Lib/Apps.php:346
+#: ../../include/nav.php:466 ../../Zotlabs/Lib/Apps.php:346
msgid "Calendar"
msgstr "Календарь"
@@ -1726,8 +1738,8 @@ msgid "Network: %s"
msgstr "Сеть: %s"
#: ../../include/text.php:1150 ../../include/text.php:1162
-#: ../../include/acl_selectors.php:139 ../../include/nav.php:188
-#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:378
+#: ../../include/acl_selectors.php:148 ../../include/nav.php:188
+#: ../../Zotlabs/Module/Search.php:41 ../../Zotlabs/Module/Connections.php:378
#: ../../Zotlabs/Widget/Sitesearch.php:31
#: ../../Zotlabs/Widget/Activity_filter.php:193 ../../Zotlabs/Lib/Apps.php:353
msgid "Search"
@@ -1736,7 +1748,7 @@ msgstr "ПоиÑк"
#: ../../include/text.php:1151 ../../include/text.php:1163
#: ../../Zotlabs/Module/Admin/Profs.php:94
#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:53
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:54
#: ../../Zotlabs/Widget/Notes.php:23
#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:119
msgid "Save"
@@ -1955,12 +1967,12 @@ msgstr "Декабрь"
msgid "Unknown Attachment"
msgstr "ÐеизвеÑтное вложение"
-#: ../../include/text.php:1562 ../../Zotlabs/Storage/Browser.php:293
+#: ../../include/text.php:1562 ../../Zotlabs/Storage/Browser.php:372
#: ../../Zotlabs/Module/Sharedwithme.php:108
msgid "Size"
msgstr "Размер"
-#: ../../include/text.php:1562 ../../include/feedutils.php:871
+#: ../../include/text.php:1562 ../../include/feedutils.php:873
msgid "unknown"
msgstr "неизвеÑтный"
@@ -2037,10 +2049,10 @@ msgid "Page content type"
msgstr "Тип Ñодержимого Ñтраницы"
#: ../../include/text.php:2252 ../../include/conversation.php:128
-#: ../../Zotlabs/Module/Tagger.php:71 ../../Zotlabs/Module/Like.php:386
-#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2967
+#: ../../Zotlabs/Module/Tagger.php:71 ../../Zotlabs/Module/Like.php:433
+#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2971
#: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71
-#: ../../extend/addon/hzaddons/pubcrawl/as.php:1881
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:2057
#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1601
msgid "photo"
msgstr "фото"
@@ -2049,7 +2061,7 @@ msgstr "фото"
#: ../../include/event.php:1259 ../../Zotlabs/Module/Tagger.php:75
#: ../../Zotlabs/Module/Events.php:266
#: ../../Zotlabs/Module/Channel_calendar.php:219
-#: ../../Zotlabs/Module/Like.php:388
+#: ../../Zotlabs/Module/Like.php:435
msgid "event"
msgstr "Ñобытие"
@@ -2154,10 +2166,6 @@ msgstr "Введите путь к раÑположению Ñетевых фаÐ
msgid "Specify folder"
msgstr "Указать каталог"
-#: ../../include/text.php:3101 ../../Zotlabs/Storage/Browser.php:131
-msgid "Collection"
-msgstr "КоллекциÑ"
-
#: ../../include/import.php:29
msgid "Unable to import a removed channel."
msgstr "Ðевозможно импортировать удалённый канал."
@@ -2192,7 +2200,7 @@ msgstr "Добавить новые контакты в группу конфиÐ
msgid "edit"
msgstr "редактировать"
-#: ../../include/group.php:321 ../../include/acl_selectors.php:87
+#: ../../include/group.php:321 ../../include/acl_selectors.php:86
#: ../../include/nav.php:101 ../../Zotlabs/Module/Group.php:142
#: ../../Zotlabs/Module/Group.php:154
#: ../../Zotlabs/Widget/Activity_filter.php:82 ../../Zotlabs/Lib/Group.php:324
@@ -2353,9 +2361,9 @@ msgstr "Помощь"
msgid "Not Found"
msgstr "Ðе найдено"
-#: ../../include/help.php:132 ../../Zotlabs/Module/Display.php:139
-#: ../../Zotlabs/Module/Display.php:156 ../../Zotlabs/Module/Display.php:176
-#: ../../Zotlabs/Module/Display.php:182 ../../Zotlabs/Module/Page.php:136
+#: ../../include/help.php:132 ../../Zotlabs/Module/Display.php:136
+#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173
+#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Page.php:136
#: ../../Zotlabs/Module/Block.php:77 ../../Zotlabs/Web/Router.php:185
#: ../../Zotlabs/Lib/NativeWikiPage.php:521
msgid "Page not found."
@@ -2432,21 +2440,21 @@ msgstr "Различные зрители увидÑÑ‚ Ñтот текÑÑ‚ по-
msgid "$1 wrote:"
msgstr "$1 пиÑал:"
-#: ../../include/conversation.php:135 ../../Zotlabs/Module/Like.php:129
+#: ../../include/conversation.php:135 ../../Zotlabs/Module/Like.php:166
msgid "channel"
msgstr "канал"
-#: ../../include/conversation.php:174 ../../Zotlabs/Module/Like.php:422
-#: ../../Zotlabs/Lib/Activity.php:3002
-#: ../../extend/addon/hzaddons/pubcrawl/as.php:1918
+#: ../../include/conversation.php:174 ../../Zotlabs/Module/Like.php:469
+#: ../../Zotlabs/Lib/Activity.php:3006
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:2094
#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr "%1$s нравитÑÑ %3$s %2$s"
-#: ../../include/conversation.php:177 ../../Zotlabs/Module/Like.php:424
-#: ../../Zotlabs/Lib/Activity.php:3004
-#: ../../extend/addon/hzaddons/pubcrawl/as.php:1920
+#: ../../include/conversation.php:177 ../../Zotlabs/Module/Like.php:471
+#: ../../Zotlabs/Lib/Activity.php:3008
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:2096
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "%1$s не нравитÑÑ %2$s %3$s"
@@ -2477,64 +2485,64 @@ msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s %2$s"
-#: ../../include/conversation.php:515 ../../Zotlabs/Lib/ThreadItem.php:500
+#: ../../include/conversation.php:516 ../../Zotlabs/Lib/ThreadItem.php:500
msgid "This is an unsaved preview"
msgstr "Это неÑохранённый проÑмотр"
-#: ../../include/conversation.php:651 ../../Zotlabs/Module/Photos.php:1112
+#: ../../include/conversation.php:652 ../../Zotlabs/Module/Photos.php:1113
msgctxt "title"
msgid "Likes"
msgstr "ÐравитÑÑ"
-#: ../../include/conversation.php:652 ../../Zotlabs/Module/Photos.php:1112
+#: ../../include/conversation.php:653 ../../Zotlabs/Module/Photos.php:1113
msgctxt "title"
msgid "Dislikes"
msgstr "Ðе нравитÑÑ"
-#: ../../include/conversation.php:653 ../../Zotlabs/Module/Photos.php:1113
+#: ../../include/conversation.php:654 ../../Zotlabs/Module/Photos.php:1114
#: ../../Zotlabs/Widget/Pinned.php:77
msgctxt "title"
msgid "Agree"
msgstr "СоглаÑен"
-#: ../../include/conversation.php:654 ../../Zotlabs/Module/Photos.php:1113
+#: ../../include/conversation.php:655 ../../Zotlabs/Module/Photos.php:1114
#: ../../Zotlabs/Widget/Pinned.php:78
msgctxt "title"
msgid "Disagree"
msgstr "Ðе ÑоглаÑен"
-#: ../../include/conversation.php:655 ../../Zotlabs/Module/Photos.php:1113
+#: ../../include/conversation.php:656 ../../Zotlabs/Module/Photos.php:1114
#: ../../Zotlabs/Widget/Pinned.php:79
msgctxt "title"
msgid "Abstain"
msgstr "ВоздержалÑÑ"
-#: ../../include/conversation.php:656 ../../Zotlabs/Module/Photos.php:1114
+#: ../../include/conversation.php:657 ../../Zotlabs/Module/Photos.php:1115
#: ../../Zotlabs/Widget/Pinned.php:66
msgctxt "title"
msgid "Attending"
msgstr "ПоÑещаю"
-#: ../../include/conversation.php:657 ../../Zotlabs/Module/Photos.php:1114
+#: ../../include/conversation.php:658 ../../Zotlabs/Module/Photos.php:1115
#: ../../Zotlabs/Widget/Pinned.php:67
msgctxt "title"
msgid "Not attending"
msgstr "Ðе поÑещаю"
-#: ../../include/conversation.php:658 ../../Zotlabs/Module/Photos.php:1114
+#: ../../include/conversation.php:659 ../../Zotlabs/Module/Photos.php:1115
#: ../../Zotlabs/Widget/Pinned.php:68
msgctxt "title"
msgid "Might attend"
msgstr "Возможно поÑещу"
-#: ../../include/conversation.php:728 ../../Zotlabs/Lib/ThreadItem.php:180
+#: ../../include/conversation.php:729 ../../Zotlabs/Lib/ThreadItem.php:180
msgid "Select"
msgstr "Выбрать"
-#: ../../include/conversation.php:729 ../../include/conversation.php:774
-#: ../../Zotlabs/Storage/Browser.php:297 ../../Zotlabs/Module/Cdav.php:1052
-#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:802
-#: ../../Zotlabs/Module/Photos.php:1178 ../../Zotlabs/Module/Oauth.php:174
+#: ../../include/conversation.php:730 ../../include/conversation.php:775
+#: ../../Zotlabs/Storage/Browser.php:377 ../../Zotlabs/Module/Cdav.php:1056
+#: ../../Zotlabs/Module/Cdav.php:1389 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Oauth.php:174
#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Editlayout.php:138
#: ../../Zotlabs/Module/Editblock.php:139
#: ../../Zotlabs/Module/Admin/Channels.php:149
@@ -2551,149 +2559,148 @@ msgstr "Выбрать"
msgid "Delete"
msgstr "Удалить"
-#: ../../include/conversation.php:733 ../../Zotlabs/Lib/ThreadItem.php:273
+#: ../../include/conversation.php:734 ../../Zotlabs/Lib/ThreadItem.php:273
msgid "Toggle Star Status"
msgstr "Переключить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ð¼ÐµÑ‚ÐºÐ¸"
-#: ../../include/conversation.php:738 ../../Zotlabs/Lib/ThreadItem.php:103
+#: ../../include/conversation.php:739 ../../Zotlabs/Lib/ThreadItem.php:103
msgid "Private Message"
msgstr "Личное Ñообщение"
-#: ../../include/conversation.php:745 ../../Zotlabs/Widget/Pinned.php:88
+#: ../../include/conversation.php:746 ../../Zotlabs/Widget/Pinned.php:88
#: ../../Zotlabs/Lib/ThreadItem.php:284
msgid "Message signature validated"
msgstr "ПодпиÑÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÐ½Ð°"
-#: ../../include/conversation.php:746 ../../Zotlabs/Widget/Pinned.php:89
+#: ../../include/conversation.php:747 ../../Zotlabs/Widget/Pinned.php:89
#: ../../Zotlabs/Lib/ThreadItem.php:285
msgid "Message signature incorrect"
msgstr "ПодпиÑÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ"
-#: ../../include/conversation.php:773
+#: ../../include/conversation.php:774
#: ../../Zotlabs/Module/Admin/Accounts.php:173
#: ../../Zotlabs/Module/Connections.php:342
msgid "Approve"
msgstr "Утвердить"
-#: ../../include/conversation.php:778
+#: ../../include/conversation.php:779
#, php-format
msgid "View %s's profile @ %s"
msgstr "ПроÑмотреть профиль %s @ %s"
-#: ../../include/conversation.php:798
+#: ../../include/conversation.php:799
msgid "Categories:"
msgstr "Категории:"
-#: ../../include/conversation.php:799
+#: ../../include/conversation.php:800
msgid "Filed under:"
msgstr "Хранить под:"
-#: ../../include/conversation.php:805 ../../Zotlabs/Widget/Pinned.php:133
+#: ../../include/conversation.php:806 ../../Zotlabs/Widget/Pinned.php:133
#: ../../Zotlabs/Lib/ThreadItem.php:429
#, php-format
msgid "from %s"
msgstr "от %s"
-#: ../../include/conversation.php:808 ../../Zotlabs/Widget/Pinned.php:136
+#: ../../include/conversation.php:809 ../../Zotlabs/Widget/Pinned.php:136
#: ../../Zotlabs/Lib/ThreadItem.php:432
#, php-format
msgid "last edited: %s"
msgstr "поÑледнее редактирование: %s"
-#: ../../include/conversation.php:809 ../../Zotlabs/Widget/Pinned.php:137
+#: ../../include/conversation.php:810 ../../Zotlabs/Widget/Pinned.php:137
#: ../../Zotlabs/Lib/ThreadItem.php:433
#, php-format
msgid "Expires: %s"
msgstr "Срок дейÑтвиÑ: %s"
-#: ../../include/conversation.php:824
+#: ../../include/conversation.php:825
msgid "View in context"
msgstr "Показать в контекÑте"
-#: ../../include/conversation.php:826 ../../Zotlabs/Module/Photos.php:1078
+#: ../../include/conversation.php:827 ../../Zotlabs/Module/Photos.php:1079
#: ../../Zotlabs/Lib/ThreadItem.php:501
msgid "Please wait"
msgstr "Подождите пожалуйÑта"
-#: ../../include/conversation.php:925
+#: ../../include/conversation.php:928
msgid "remove"
msgstr "удалить"
-#: ../../include/conversation.php:929
+#: ../../include/conversation.php:932
msgid "Loading..."
msgstr "Загрузка..."
-#: ../../include/conversation.php:930 ../../Zotlabs/Lib/ThreadItem.php:301
+#: ../../include/conversation.php:933 ../../Zotlabs/Lib/ThreadItem.php:301
msgid "Conversation Tools"
msgstr "ИнÑтрументы общениÑ"
-#: ../../include/conversation.php:931
+#: ../../include/conversation.php:934
msgid "Delete Selected Items"
msgstr "Удалить выбранные Ñлементы"
-#: ../../include/conversation.php:974
+#: ../../include/conversation.php:977
msgid "View Source"
msgstr "ПроÑмотреть иÑточник"
-#: ../../include/conversation.php:984
+#: ../../include/conversation.php:987
msgid "Follow Thread"
msgstr "Следить за темой"
-#: ../../include/conversation.php:993
+#: ../../include/conversation.php:996
msgid "Unfollow Thread"
msgstr "Прекратить отÑлеживать тему"
-#: ../../include/conversation.php:1077 ../../include/nav.php:112
+#: ../../include/conversation.php:1080 ../../include/nav.php:112
#: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:344
#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57
msgid "View Profile"
msgstr "ПроÑмотреть профиль"
-#: ../../include/conversation.php:1087 ../../Zotlabs/Module/Connedit.php:621
+#: ../../include/conversation.php:1090 ../../Zotlabs/Module/Connedit.php:621
msgid "Recent Activity"
msgstr "ПоÑледние дейÑтвиÑ"
-#: ../../include/conversation.php:1107
+#: ../../include/conversation.php:1110
msgid "Edit Connection"
msgstr "Редактировать контакт"
-#: ../../include/conversation.php:1117
+#: ../../include/conversation.php:1120
msgid "Message"
msgstr "Сообщение"
-#: ../../include/conversation.php:1127 ../../Zotlabs/Module/Ratings.php:97
+#: ../../include/conversation.php:1130 ../../Zotlabs/Module/Ratings.php:97
#: ../../Zotlabs/Module/Pubsites.php:35
msgid "Ratings"
msgstr "Оценки"
-#: ../../include/conversation.php:1137 ../../Zotlabs/Module/Poke.php:199
+#: ../../include/conversation.php:1140 ../../Zotlabs/Module/Poke.php:199
#: ../../Zotlabs/Lib/Apps.php:351
msgid "Poke"
msgstr "Ткнуть"
-#: ../../include/conversation.php:1208 ../../include/cdav.php:158
+#: ../../include/conversation.php:1211 ../../include/cdav.php:158
#: ../../include/cdav.php:159 ../../include/cdav.php:167
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:792
-#: ../../Zotlabs/Module/Photos.php:1254
+#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255
#: ../../Zotlabs/Module/Embedphotos.php:176
#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:270
#: ../../Zotlabs/Widget/Album.php:84 ../../Zotlabs/Lib/Apps.php:1112
#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1508
-#: ../../extend/addon/hzaddons/pubcrawl/as.php:1173
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1187
msgid "Unknown"
msgstr "ÐеизвеÑтный"
-#: ../../include/conversation.php:1259
+#: ../../include/conversation.php:1262
#, php-format
msgid "%s likes this."
msgstr "%s нравитÑÑ Ñто."
-#: ../../include/conversation.php:1259
+#: ../../include/conversation.php:1262
#, php-format
msgid "%s doesn't like this."
msgstr "%s не нравитÑÑ Ñто."
-#: ../../include/conversation.php:1263
+#: ../../include/conversation.php:1266
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgid_plural "<span %1$s>%2$d people</span> like this."
@@ -2701,7 +2708,7 @@ msgstr[0] "<span %1$s>%2$d человеку</span> Ñто нравитÑÑ."
msgstr[1] "<span %1$s>%2$d человекам</span> Ñто нравитÑÑ."
msgstr[2] "<span %1$s>%2$d человекам</span> Ñто нравитÑÑ."
-#: ../../include/conversation.php:1265
+#: ../../include/conversation.php:1268
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgid_plural "<span %1$s>%2$d people</span> don't like this."
@@ -2709,11 +2716,11 @@ msgstr[0] "<span %1$s>%2$d человеку</span> Ñто не нравитÑÑ
msgstr[1] "<span %1$s>%2$d человекам</span> Ñто не нравитÑÑ."
msgstr[2] "<span %1$s>%2$d человекам</span> Ñто не нравитÑÑ."
-#: ../../include/conversation.php:1271
+#: ../../include/conversation.php:1274
msgid "and"
msgstr "и"
-#: ../../include/conversation.php:1274
+#: ../../include/conversation.php:1277
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
@@ -2721,27 +2728,27 @@ msgstr[0] ", и ещё %d человеку"
msgstr[1] ", и ещё %d человекам"
msgstr[2] ", и ещё %d человекам"
-#: ../../include/conversation.php:1275
+#: ../../include/conversation.php:1278
#, php-format
msgid "%s like this."
msgstr "%s нравитÑÑ Ñто."
-#: ../../include/conversation.php:1275
+#: ../../include/conversation.php:1278
#, php-format
msgid "%s don't like this."
msgstr "%s не нравитÑÑ Ñто."
-#: ../../include/conversation.php:1325
+#: ../../include/conversation.php:1328
#: ../../extend/addon/hzaddons/hsse/hsse.php:82
msgid "Set your location"
msgstr "Задать Ñвоё меÑтоположение"
-#: ../../include/conversation.php:1326
+#: ../../include/conversation.php:1329
#: ../../extend/addon/hzaddons/hsse/hsse.php:83
msgid "Clear browser location"
msgstr "ОчиÑтить меÑтоположение из браузера"
-#: ../../include/conversation.php:1338 ../../Zotlabs/Module/Chat.php:220
+#: ../../include/conversation.php:1341 ../../Zotlabs/Module/Chat.php:220
#: ../../Zotlabs/Module/Editblock.php:116
#: ../../Zotlabs/Module/Editwebpage.php:143
#: ../../Zotlabs/Module/Card_edit.php:101
@@ -2752,81 +2759,81 @@ msgstr "ОчиÑтить меÑтоположение из браузера"
msgid "Insert web link"
msgstr "Ð’Ñтавить веб-ÑÑылку"
-#: ../../include/conversation.php:1342
+#: ../../include/conversation.php:1345
#: ../../extend/addon/hzaddons/hsse/hsse.php:99
msgid "Embed (existing) photo from your photo albums"
msgstr "Ð’Ñтроить (ÑущеÑтвующее) фото из вашего фотоальбома"
-#: ../../include/conversation.php:1377 ../../Zotlabs/Module/Chat.php:218
+#: ../../include/conversation.php:1380 ../../Zotlabs/Module/Chat.php:218
#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:119
#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:240
#: ../../extend/addon/hzaddons/hsse/hsse.php:134
msgid "Please enter a link URL:"
msgstr "ПожалуйÑта введите URL ÑÑылки:"
-#: ../../include/conversation.php:1378
+#: ../../include/conversation.php:1381
#: ../../extend/addon/hzaddons/hsse/hsse.php:135
msgid "Tag term:"
msgstr "Теги:"
-#: ../../include/conversation.php:1379
+#: ../../include/conversation.php:1382
#: ../../extend/addon/hzaddons/hsse/hsse.php:136
msgid "Where are you right now?"
msgstr "Где вы ÑейчаÑ?"
-#: ../../include/conversation.php:1382 ../../Zotlabs/Module/Cover_photo.php:430
+#: ../../include/conversation.php:1385 ../../Zotlabs/Module/Cover_photo.php:430
#: ../../Zotlabs/Module/Profile_photo.php:509 ../../Zotlabs/Module/Wiki.php:403
#: ../../extend/addon/hzaddons/hsse/hsse.php:139
msgid "Choose images to embed"
msgstr "Выбрать Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²ÑтраиваниÑ"
-#: ../../include/conversation.php:1383 ../../Zotlabs/Module/Cover_photo.php:431
+#: ../../include/conversation.php:1386 ../../Zotlabs/Module/Cover_photo.php:431
#: ../../Zotlabs/Module/Profile_photo.php:510 ../../Zotlabs/Module/Wiki.php:404
#: ../../extend/addon/hzaddons/hsse/hsse.php:140
msgid "Choose an album"
msgstr "Выбрать альбом"
-#: ../../include/conversation.php:1384
+#: ../../include/conversation.php:1387
#: ../../extend/addon/hzaddons/hsse/hsse.php:141
msgid "Choose a different album..."
msgstr "Выбрать другой альбом..."
-#: ../../include/conversation.php:1385 ../../Zotlabs/Module/Cover_photo.php:433
+#: ../../include/conversation.php:1388 ../../Zotlabs/Module/Cover_photo.php:433
#: ../../Zotlabs/Module/Profile_photo.php:512 ../../Zotlabs/Module/Wiki.php:406
#: ../../extend/addon/hzaddons/hsse/hsse.php:142
msgid "Error getting album list"
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑпиÑка альбомов"
-#: ../../include/conversation.php:1386 ../../Zotlabs/Module/Cover_photo.php:434
+#: ../../include/conversation.php:1389 ../../Zotlabs/Module/Cover_photo.php:434
#: ../../Zotlabs/Module/Profile_photo.php:513 ../../Zotlabs/Module/Wiki.php:407
#: ../../extend/addon/hzaddons/hsse/hsse.php:143
msgid "Error getting photo link"
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑÑылки на фотографию"
-#: ../../include/conversation.php:1387 ../../Zotlabs/Module/Cover_photo.php:435
+#: ../../include/conversation.php:1390 ../../Zotlabs/Module/Cover_photo.php:435
#: ../../Zotlabs/Module/Profile_photo.php:514 ../../Zotlabs/Module/Wiki.php:408
#: ../../extend/addon/hzaddons/hsse/hsse.php:144
msgid "Error getting album"
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ð»ÑŒÐ±Ð¾Ð¼Ð°"
-#: ../../include/conversation.php:1388
+#: ../../include/conversation.php:1391
#: ../../extend/addon/hzaddons/hsse/hsse.php:145
msgid "Comments enabled"
msgstr "Комментарии включены"
-#: ../../include/conversation.php:1389
+#: ../../include/conversation.php:1392
#: ../../extend/addon/hzaddons/hsse/hsse.php:146
msgid "Comments disabled"
msgstr "Комментарии отключены"
-#: ../../include/conversation.php:1399 ../../Zotlabs/Module/Photos.php:1098
+#: ../../include/conversation.php:1402 ../../Zotlabs/Module/Photos.php:1099
#: ../../Zotlabs/Module/Events.php:486 ../../Zotlabs/Module/Webpages.php:262
#: ../../Zotlabs/Lib/ThreadItem.php:835
#: ../../extend/addon/hzaddons/hsse/hsse.php:153
msgid "Preview"
msgstr "Предварительный проÑмотр"
-#: ../../include/conversation.php:1432 ../../Zotlabs/Module/Photos.php:1077
+#: ../../include/conversation.php:1435 ../../Zotlabs/Module/Photos.php:1078
#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Blocks.php:161
#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Layouts.php:194
#: ../../Zotlabs/Widget/Cdav.php:136
@@ -2834,58 +2841,58 @@ msgstr "Предварительный проÑмотр"
msgid "Share"
msgstr "ПоделитьÑÑ"
-#: ../../include/conversation.php:1441
+#: ../../include/conversation.php:1444
#: ../../extend/addon/hzaddons/hsse/hsse.php:195
msgid "Page link name"
msgstr "Ðазвание ÑÑылки на Ñтраницу "
-#: ../../include/conversation.php:1444
+#: ../../include/conversation.php:1447
#: ../../extend/addon/hzaddons/hsse/hsse.php:198
msgid "Post as"
msgstr "Опубликовать как"
-#: ../../include/conversation.php:1446 ../../Zotlabs/Lib/ThreadItem.php:826
+#: ../../include/conversation.php:1449 ../../Zotlabs/Lib/ThreadItem.php:826
#: ../../extend/addon/hzaddons/hsse/hsse.php:200
msgid "Bold"
msgstr "Жирный"
-#: ../../include/conversation.php:1447 ../../Zotlabs/Lib/ThreadItem.php:827
+#: ../../include/conversation.php:1450 ../../Zotlabs/Lib/ThreadItem.php:827
#: ../../extend/addon/hzaddons/hsse/hsse.php:201
msgid "Italic"
msgstr "КурÑив"
-#: ../../include/conversation.php:1448 ../../Zotlabs/Lib/ThreadItem.php:828
+#: ../../include/conversation.php:1451 ../../Zotlabs/Lib/ThreadItem.php:828
#: ../../extend/addon/hzaddons/hsse/hsse.php:202
msgid "Underline"
msgstr "Подчеркнутый"
-#: ../../include/conversation.php:1449 ../../Zotlabs/Lib/ThreadItem.php:829
+#: ../../include/conversation.php:1452 ../../Zotlabs/Lib/ThreadItem.php:829
#: ../../extend/addon/hzaddons/hsse/hsse.php:203
msgid "Quote"
msgstr "Цитата"
-#: ../../include/conversation.php:1450 ../../Zotlabs/Lib/ThreadItem.php:830
+#: ../../include/conversation.php:1453 ../../Zotlabs/Lib/ThreadItem.php:830
#: ../../extend/addon/hzaddons/hsse/hsse.php:204
msgid "Code"
msgstr "Код"
-#: ../../include/conversation.php:1451 ../../Zotlabs/Lib/ThreadItem.php:832
+#: ../../include/conversation.php:1454 ../../Zotlabs/Lib/ThreadItem.php:832
#: ../../extend/addon/hzaddons/hsse/hsse.php:205
msgid "Attach/Upload file"
msgstr "Прикрепить/загрузить файл"
-#: ../../include/conversation.php:1454 ../../Zotlabs/Module/Wiki.php:400
+#: ../../include/conversation.php:1457 ../../Zotlabs/Module/Wiki.php:400
#: ../../extend/addon/hzaddons/hsse/hsse.php:208
msgid "Embed an image from your albums"
msgstr "Ð’Ñтроить изображение из ваших альбомов"
-#: ../../include/conversation.php:1455 ../../include/conversation.php:1508
-#: ../../Zotlabs/Module/Cdav.php:1054 ../../Zotlabs/Module/Cdav.php:1386
-#: ../../Zotlabs/Module/Profiles.php:803 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../Zotlabs/Module/Oauth.php:112
-#: ../../Zotlabs/Module/Oauth.php:138 ../../Zotlabs/Module/Cover_photo.php:428
-#: ../../Zotlabs/Module/Oauth2.php:117 ../../Zotlabs/Module/Oauth2.php:145
-#: ../../Zotlabs/Module/Editlayout.php:140
+#: ../../include/conversation.php:1458 ../../include/conversation.php:1511
+#: ../../Zotlabs/Storage/Browser.php:376 ../../Zotlabs/Module/Cdav.php:1058
+#: ../../Zotlabs/Module/Cdav.php:1390 ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138
+#: ../../Zotlabs/Module/Cover_photo.php:428 ../../Zotlabs/Module/Oauth2.php:117
+#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Editlayout.php:140
#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Fbrowser.php:66
#: ../../Zotlabs/Module/Fbrowser.php:88
#: ../../Zotlabs/Module/Admin/Addons.php:427
@@ -2894,13 +2901,13 @@ msgstr "Ð’Ñтроить изображение из ваших альбомов
#: ../../Zotlabs/Module/Editpost.php:110 ../../Zotlabs/Module/Connedit.php:933
#: ../../Zotlabs/Module/Card_edit.php:131
#: ../../Zotlabs/Module/Article_edit.php:130 ../../Zotlabs/Module/Wiki.php:368
-#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Filer.php:55
+#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Filer.php:56
#: ../../extend/addon/hzaddons/hsse/hsse.php:209
#: ../../extend/addon/hzaddons/hsse/hsse.php:258
msgid "Cancel"
msgstr "Отменить"
-#: ../../include/conversation.php:1456 ../../include/conversation.php:1507
+#: ../../include/conversation.php:1459 ../../include/conversation.php:1510
#: ../../Zotlabs/Module/Cover_photo.php:429
#: ../../Zotlabs/Module/Profile_photo.php:508 ../../Zotlabs/Module/Wiki.php:402
#: ../../extend/addon/hzaddons/hsse/hsse.php:210
@@ -2908,85 +2915,85 @@ msgstr "Отменить"
msgid "OK"
msgstr ""
-#: ../../include/conversation.php:1458
+#: ../../include/conversation.php:1461
#: ../../extend/addon/hzaddons/hsse/hsse.php:212
msgid "Toggle voting"
msgstr "Переключить голоÑование"
-#: ../../include/conversation.php:1459
+#: ../../include/conversation.php:1462
msgid "Toggle poll"
msgstr "Переключить опроÑ"
-#: ../../include/conversation.php:1460
+#: ../../include/conversation.php:1463
msgid "Option"
msgstr "Вариант"
-#: ../../include/conversation.php:1461
+#: ../../include/conversation.php:1464
msgid "Add option"
msgstr "Добавить вариант"
-#: ../../include/conversation.php:1462
+#: ../../include/conversation.php:1465
msgid "Minutes"
msgstr "Минут"
-#: ../../include/conversation.php:1462
+#: ../../include/conversation.php:1465
msgid "Hours"
msgstr "ЧаÑов"
-#: ../../include/conversation.php:1462
+#: ../../include/conversation.php:1465
msgid "Days"
msgstr "Дней"
-#: ../../include/conversation.php:1463
+#: ../../include/conversation.php:1466
msgid "Allow multiple answers"
msgstr "Разрешить неÑколько ответов"
-#: ../../include/conversation.php:1465
+#: ../../include/conversation.php:1468
#: ../../extend/addon/hzaddons/hsse/hsse.php:215
msgid "Disable comments"
msgstr "Отключить комментарии"
-#: ../../include/conversation.php:1466
+#: ../../include/conversation.php:1469
#: ../../extend/addon/hzaddons/hsse/hsse.php:216
msgid "Toggle comments"
msgstr "Переключить комментарии"
-#: ../../include/conversation.php:1471 ../../Zotlabs/Module/Photos.php:673
-#: ../../Zotlabs/Module/Photos.php:1043 ../../Zotlabs/Module/Editblock.php:129
+#: ../../include/conversation.php:1474 ../../Zotlabs/Module/Photos.php:674
+#: ../../Zotlabs/Module/Photos.php:1044 ../../Zotlabs/Module/Editblock.php:129
#: ../../Zotlabs/Module/Card_edit.php:117
#: ../../Zotlabs/Module/Article_edit.php:116
#: ../../extend/addon/hzaddons/hsse/hsse.php:221
msgid "Title (optional)"
msgstr "Заголовок (необÑзательно)"
-#: ../../include/conversation.php:1474
+#: ../../include/conversation.php:1477
#: ../../extend/addon/hzaddons/hsse/hsse.php:224
msgid "Categories (optional, comma-separated list)"
msgstr "Категории (необÑзательно, ÑпиÑок через запÑтую)"
-#: ../../include/conversation.php:1475 ../../Zotlabs/Module/Events.php:487
+#: ../../include/conversation.php:1478 ../../Zotlabs/Module/Events.php:487
#: ../../extend/addon/hzaddons/hsse/hsse.php:225
msgid "Permission settings"
msgstr "ÐаÑтройки разрешений"
-#: ../../include/conversation.php:1497
+#: ../../include/conversation.php:1500
#: ../../extend/addon/hzaddons/hsse/hsse.php:247
msgid "Other networks and post services"
msgstr "Другие Ñети и Ñлужбы публикаций"
-#: ../../include/conversation.php:1500
+#: ../../include/conversation.php:1503
#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:170
#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:313
#: ../../extend/addon/hzaddons/hsse/hsse.php:250
msgid "Set expiration date"
msgstr "УÑтановить Ñрок дейÑтвиÑ"
-#: ../../include/conversation.php:1503
+#: ../../include/conversation.php:1506
#: ../../extend/addon/hzaddons/hsse/hsse.php:253
msgid "Set publish date"
msgstr "УÑтановить дату публикации"
-#: ../../include/conversation.php:1505 ../../Zotlabs/Module/Chat.php:219
+#: ../../include/conversation.php:1508 ../../Zotlabs/Module/Chat.php:219
#: ../../Zotlabs/Lib/ThreadItem.php:839
#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:172
#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:315
@@ -2994,7 +3001,7 @@ msgstr "УÑтановить дату публикации"
msgid "Encrypt text"
msgstr "Зашифровать текÑÑ‚"
-#: ../../include/conversation.php:1749 ../../Zotlabs/Module/Photos.php:1140
+#: ../../include/conversation.php:1752 ../../Zotlabs/Module/Photos.php:1141
#: ../../Zotlabs/Lib/ThreadItem.php:247
msgctxt "noun"
msgid "Dislike"
@@ -3003,7 +3010,7 @@ msgstr[0] "Ðе нравитÑÑ"
msgstr[1] "Ðе нравитÑÑ"
msgstr[2] "Ðе нравитÑÑ"
-#: ../../include/conversation.php:1752
+#: ../../include/conversation.php:1755
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
@@ -3011,7 +3018,7 @@ msgstr[0] "ПоÑетит"
msgstr[1] "ПоÑетÑÑ‚"
msgstr[2] "ПоÑетÑÑ‚"
-#: ../../include/conversation.php:1755
+#: ../../include/conversation.php:1758
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
@@ -3019,13 +3026,13 @@ msgstr[0] "Ðе поÑетит"
msgstr[1] "Ðе поÑетÑÑ‚"
msgstr[2] "Ðе поÑетÑÑ‚"
-#: ../../include/conversation.php:1758
+#: ../../include/conversation.php:1761
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr "Ðе решил"
-#: ../../include/conversation.php:1761
+#: ../../include/conversation.php:1764
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
@@ -3033,7 +3040,7 @@ msgstr[0] "СоглаÑен"
msgstr[1] "СоглаÑны"
msgstr[2] "СоглаÑны"
-#: ../../include/conversation.php:1764
+#: ../../include/conversation.php:1767
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
@@ -3041,7 +3048,7 @@ msgstr[0] "Ðе ÑоглаÑен"
msgstr[1] "Ðе ÑоглаÑны"
msgstr[2] "Ðе ÑоглаÑны"
-#: ../../include/conversation.php:1767
+#: ../../include/conversation.php:1770
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
@@ -3053,44 +3060,44 @@ msgstr[2] "ВоздержалиÑÑŒ"
msgid "Trending"
msgstr "В тренде"
-#: ../../include/taxonomy.php:323 ../../include/taxonomy.php:458
-#: ../../include/taxonomy.php:479 ../../Zotlabs/Widget/Tagcloud.php:22
+#: ../../include/taxonomy.php:323 ../../include/taxonomy.php:475
+#: ../../include/taxonomy.php:496 ../../Zotlabs/Widget/Tagcloud.php:22
msgid "Tags"
msgstr "Теги"
-#: ../../include/taxonomy.php:559
+#: ../../include/taxonomy.php:576
msgid "Keywords"
msgstr "Ключевые Ñлова"
-#: ../../include/taxonomy.php:580
+#: ../../include/taxonomy.php:597
msgid "have"
msgstr "иметь"
-#: ../../include/taxonomy.php:580
+#: ../../include/taxonomy.php:597
msgid "has"
msgstr "еÑть"
-#: ../../include/taxonomy.php:581
+#: ../../include/taxonomy.php:598
msgid "want"
msgstr "хотеть"
-#: ../../include/taxonomy.php:581
+#: ../../include/taxonomy.php:598
msgid "wants"
msgstr "хотеть"
-#: ../../include/taxonomy.php:582 ../../Zotlabs/Lib/ThreadItem.php:317
+#: ../../include/taxonomy.php:599 ../../Zotlabs/Lib/ThreadItem.php:317
msgid "like"
msgstr "нравитÑÑ"
-#: ../../include/taxonomy.php:582
+#: ../../include/taxonomy.php:599
msgid "likes"
msgstr "нравитÑÑ"
-#: ../../include/taxonomy.php:583 ../../Zotlabs/Lib/ThreadItem.php:318
+#: ../../include/taxonomy.php:600 ../../Zotlabs/Lib/ThreadItem.php:318
msgid "dislike"
msgstr "не нравитÑÑ"
-#: ../../include/taxonomy.php:583
+#: ../../include/taxonomy.php:600
msgid "dislikes"
msgstr "не нравитÑÑ"
@@ -3102,8 +3109,8 @@ msgstr "Выбор дополнительного Ñзыка"
msgid "Delete this item?"
msgstr "Удалить Ñтот Ñлемент?"
-#: ../../include/js_strings.php:6 ../../Zotlabs/Module/Photos.php:1096
-#: ../../Zotlabs/Module/Photos.php:1214 ../../Zotlabs/Lib/ThreadItem.php:824
+#: ../../include/js_strings.php:6 ../../Zotlabs/Module/Photos.php:1097
+#: ../../Zotlabs/Module/Photos.php:1215 ../../Zotlabs/Lib/ThreadItem.php:824
msgid "Comment"
msgstr "Комментарий"
@@ -3180,9 +3187,9 @@ msgstr "ПожалуйÑта, введите URL ÑÑылки"
msgid "Unsaved changes. Are you sure you wish to leave this page?"
msgstr "ЕÑть неÑохраненные изменениÑ. Ð’Ñ‹ уверены, что хотите покинуть Ñту Ñтраницу?"
-#: ../../include/js_strings.php:25 ../../Zotlabs/Module/Cdav.php:1011
+#: ../../include/js_strings.php:25 ../../Zotlabs/Module/Cdav.php:1015
#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736
-#: ../../Zotlabs/Module/Events.php:483 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Events.php:483 ../../Zotlabs/Module/Locs.php:128
#: ../../Zotlabs/Module/Pubsites.php:52
msgid "Location"
msgstr "МеÑто"
@@ -3441,6 +3448,10 @@ msgctxt "calendar"
msgid "All day"
msgstr "ВеÑÑŒ день"
+#: ../../include/js_strings.php:119
+msgid "Please stand by while your download is being prepared."
+msgstr "ПожалуйÑта, подождите, пока готовитÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°."
+
#: ../../include/dir_fns.php:140 ../../Zotlabs/Lib/Libzotdir.php:162
msgid "Directory Options"
msgstr "Параметры каталога"
@@ -3473,15 +3484,15 @@ msgstr ""
msgid "RSS/Atom"
msgstr ""
-#: ../../include/network.php:1736 ../../Zotlabs/Lib/Activity.php:2817
-#: ../../Zotlabs/Lib/Activity.php:3011
-#: ../../extend/addon/hzaddons/pubcrawl/as.php:1465
-#: ../../extend/addon/hzaddons/pubcrawl/as.php:1719
-#: ../../extend/addon/hzaddons/pubcrawl/as.php:1927
+#: ../../include/network.php:1736 ../../Zotlabs/Lib/Activity.php:2821
+#: ../../Zotlabs/Lib/Activity.php:3015
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1483
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:2103
msgid "ActivityPub"
msgstr ""
-#: ../../include/network.php:1737 ../../Zotlabs/Module/Cdav.php:1372
+#: ../../include/network.php:1737 ../../Zotlabs/Module/Cdav.php:1376
#: ../../Zotlabs/Module/Profiles.php:789
#: ../../Zotlabs/Module/Admin/Accounts.php:171
#: ../../Zotlabs/Module/Admin/Accounts.php:183
@@ -3630,113 +3641,114 @@ msgstr "С Днем Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ %1$s !"
msgid "Visible to your default audience"
msgstr "Видно вашей аудитории по умолчанию."
-#: ../../include/acl_selectors.php:100
+#: ../../include/acl_selectors.php:99
msgid "Profile-Based Privacy Groups"
msgstr "Группы конфиденциальноÑти оÑнованные на профиле"
-#: ../../include/acl_selectors.php:113 ../../Zotlabs/Widget/Forums.php:100
+#: ../../include/acl_selectors.php:118
+msgid "Private Forum"
+msgstr "ЧаÑтный форум"
+
+#: ../../include/acl_selectors.php:124 ../../Zotlabs/Widget/Forums.php:100
#: ../../Zotlabs/Widget/Notifications.php:139
#: ../../Zotlabs/Widget/Notifications.php:140
#: ../../Zotlabs/Widget/Activity_filter.php:115
msgid "Forums"
msgstr "Форумы"
-#: ../../include/acl_selectors.php:115
-msgid "Private Forum"
-msgstr "ЧаÑтный форум"
-
-#: ../../include/acl_selectors.php:126
+#: ../../include/acl_selectors.php:135
#: ../../Zotlabs/Lib/PermissionDescription.php:107
msgid "Only me"
msgstr "Только мне"
-#: ../../include/acl_selectors.php:133
+#: ../../include/acl_selectors.php:142
msgid "Share with"
msgstr "ПоделитьÑÑ Ñ"
-#: ../../include/acl_selectors.php:134
+#: ../../include/acl_selectors.php:143
msgid "Custom selection"
msgstr "ÐаÑтраиваемый выбор"
-#: ../../include/acl_selectors.php:136
+#: ../../include/acl_selectors.php:145
msgid ""
"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and "
"limit the scope of \"Allow\"."
msgstr "Выберите \"Разрешить\" Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñмотра. \"Ðе разрешать\" позволÑет вам переопределить и ограничить разрешениÑ."
-#: ../../include/acl_selectors.php:137 ../../Zotlabs/Module/Authorize.php:32
+#: ../../include/acl_selectors.php:146 ../../Zotlabs/Module/Authorize.php:32
msgid "Allow"
msgstr "Разрешить"
-#: ../../include/acl_selectors.php:138
+#: ../../include/acl_selectors.php:147
msgid "Don't allow"
msgstr "Ðе разрешать"
-#: ../../include/acl_selectors.php:144 ../../Zotlabs/Module/Photos.php:677
-#: ../../Zotlabs/Module/Photos.php:1046 ../../Zotlabs/Module/Chat.php:241
-#: ../../Zotlabs/Module/Filestorage.php:190 ../../Zotlabs/Module/Thing.php:321
+#: ../../include/acl_selectors.php:153 ../../Zotlabs/Module/Photos.php:678
+#: ../../Zotlabs/Module/Photos.php:1047 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Filestorage.php:195 ../../Zotlabs/Module/Thing.php:321
#: ../../Zotlabs/Module/Thing.php:374 ../../Zotlabs/Module/Connedit.php:682
#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:254
msgid "Permissions"
msgstr "РазрешениÑ"
-#: ../../include/acl_selectors.php:146 ../../Zotlabs/Module/Photos.php:1274
-#: ../../Zotlabs/Widget/Pinned.php:160 ../../Zotlabs/Lib/ThreadItem.php:495
+#: ../../include/acl_selectors.php:155 ../../Zotlabs/Storage/Browser.php:404
+#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Widget/Pinned.php:160
+#: ../../Zotlabs/Lib/ThreadItem.php:495
#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:233
msgid "Close"
msgstr "Закрыть"
-#: ../../include/acl_selectors.php:171
+#: ../../include/acl_selectors.php:180
#, php-format
msgid ""
"Post permissions %s cannot be changed %s after a post is shared.</br />These "
"permissions set who is allowed to view the post."
msgstr "Ð Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸ %s не могут быть изменены %s поÑле того, как ею поделилиÑÑŒ. Эти Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÑƒÑтанавливают кому разрешено проÑматривать Ñту публикацию."
-#: ../../include/zid.php:364
+#: ../../include/zid.php:360
#, php-format
msgid "OpenWebAuth: %1$s welcomes %2$s"
msgstr "OpenWebAuth: %1$s приветÑтвует %2$s"
-#: ../../include/connections.php:133
+#: ../../include/connections.php:134
msgid "New window"
msgstr "Ðовое окно"
-#: ../../include/connections.php:134
+#: ../../include/connections.php:135
msgid "Open the selected location in a different window or browser tab"
msgstr "Открыть выбранное меÑтоположение в другом окне или вкладке браузера"
-#: ../../include/connections.php:733 ../../include/event.php:1422
-#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:794
+#: ../../include/connections.php:734 ../../include/event.php:1422
+#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794
#: ../../Zotlabs/Module/Connedit.php:924
msgid "Mobile"
msgstr "Мобильный"
-#: ../../include/connections.php:734 ../../include/event.php:1423
-#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:795
+#: ../../include/connections.php:735 ../../include/event.php:1423
+#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795
#: ../../Zotlabs/Module/Connedit.php:925
msgid "Home"
msgstr "Домашний"
-#: ../../include/connections.php:735 ../../include/event.php:1424
+#: ../../include/connections.php:736 ../../include/event.php:1424
msgid "Home, Voice"
msgstr "Дом, голоÑ"
-#: ../../include/connections.php:736 ../../include/event.php:1425
+#: ../../include/connections.php:737 ../../include/event.php:1425
msgid "Home, Fax"
msgstr "Дом, факÑ"
-#: ../../include/connections.php:737 ../../include/event.php:1426
-#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:796
+#: ../../include/connections.php:738 ../../include/event.php:1426
+#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796
#: ../../Zotlabs/Module/Connedit.php:926
msgid "Work"
msgstr "Рабочий"
-#: ../../include/connections.php:738 ../../include/event.php:1427
+#: ../../include/connections.php:739 ../../include/event.php:1427
msgid "Work, Voice"
msgstr "Работа, голоÑ"
-#: ../../include/connections.php:739 ../../include/event.php:1428
+#: ../../include/connections.php:740 ../../include/event.php:1428
msgid "Work, Fax"
msgstr "Работа, факÑ"
@@ -3977,7 +3989,7 @@ msgstr "О Ñебе"
msgid "Profile Details"
msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ профиле"
-#: ../../include/nav.php:452 ../../Zotlabs/Storage/Browser.php:278
+#: ../../include/nav.php:452 ../../Zotlabs/Storage/Browser.php:344
#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:340
msgid "Files"
msgstr "Файлы"
@@ -4040,7 +4052,8 @@ msgstr ""
msgid "%1$s's bookmarks"
msgstr "Закладки Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %1$s"
-#: ../../include/attach.php:273 ../../include/attach.php:381
+#: ../../include/attach.php:273 ../../include/attach.php:324
+#: ../../include/attach.php:419
msgid "Item was not found."
msgstr "Элемент не найден."
@@ -4048,75 +4061,75 @@ msgstr "Элемент не найден."
msgid "Unknown error."
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°."
-#: ../../include/attach.php:574
+#: ../../include/attach.php:612
msgid "No source file."
msgstr "Ðет иÑходного файла."
-#: ../../include/attach.php:596
+#: ../../include/attach.php:634
msgid "Cannot locate file to replace"
msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ‹"
-#: ../../include/attach.php:615
+#: ../../include/attach.php:653
msgid "Cannot locate file to revise/update"
msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑмотра / обновлениÑ"
-#: ../../include/attach.php:759
+#: ../../include/attach.php:795
#, php-format
msgid "File exceeds size limit of %d"
msgstr "Файл превышает предельный размер %d"
-#: ../../include/attach.php:780
+#: ../../include/attach.php:816
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr "Ð’Ñ‹ доÑтигли предела %1$.0f Мбайт Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹."
-#: ../../include/attach.php:968
+#: ../../include/attach.php:1004
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Загрузка файла не удалаÑÑŒ. Возможно ÑиÑтема перегружена или попытка прекращена."
-#: ../../include/attach.php:997
+#: ../../include/attach.php:1033
msgid "Stored file could not be verified. Upload failed."
msgstr "Файл Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ может быть проверен. Загрузка не удалаÑÑŒ."
-#: ../../include/attach.php:1069 ../../include/attach.php:1085
+#: ../../include/attach.php:1105 ../../include/attach.php:1121
msgid "Path not available."
msgstr "Путь недоÑтупен."
-#: ../../include/attach.php:1134 ../../include/attach.php:1297
+#: ../../include/attach.php:1169 ../../include/attach.php:1332
msgid "Empty pathname"
msgstr "ПуÑтое Ð¸Ð¼Ñ Ð¿ÑƒÑ‚Ð¸"
-#: ../../include/attach.php:1160
+#: ../../include/attach.php:1195
msgid "duplicate filename or path"
msgstr "дублирующееÑÑ Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° или пути"
-#: ../../include/attach.php:1185
+#: ../../include/attach.php:1220
msgid "Path not found."
msgstr "Путь не найден."
-#: ../../include/attach.php:1253
+#: ../../include/attach.php:1288
msgid "mkdir failed."
msgstr "mkdir не удалÑÑ"
-#: ../../include/attach.php:1257
+#: ../../include/attach.php:1292
msgid "database storage failed."
msgstr "ошибка при запиÑи базы данных."
-#: ../../include/attach.php:1303
+#: ../../include/attach.php:1338
msgid "Empty path"
msgstr "ПуÑтое Ð¸Ð¼Ñ Ð¿ÑƒÑ‚Ð¸"
-#: ../../include/attach.php:2035
+#: ../../include/attach.php:2099
#, php-format
msgid "%s shared a %s with you"
msgstr "%s поделилÑÑ Ñ Ð²Ð°Ð¼Ð¸ %s"
-#: ../../include/attach.php:2035
+#: ../../include/attach.php:2099
#: ../../extend/addon/hzaddons/redfiles/redfilehelper.php:64
msgid "file"
msgstr "файл"
-#: ../../include/photo/photo_driver.php:413
+#: ../../include/photo/photo_driver.php:417
#: ../../Zotlabs/Module/Profile_photo.php:147
#: ../../Zotlabs/Module/Profile_photo.php:284
msgid "Profile Photos"
@@ -4164,36 +4177,40 @@ msgstr "[$Projectname] Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Cron не запущены на %s"
msgid "Cron/Scheduled tasks not running."
msgstr "Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Cron / планировщика не запущены."
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:295
-msgid "parent"
-msgstr "иÑточник"
+#: ../../Zotlabs/Storage/Browser.php:292
+msgid "Change filename to"
+msgstr "Переименовать файл в"
+
+#: ../../Zotlabs/Storage/Browser.php:302 ../../Zotlabs/Storage/Browser.php:383
+msgid "Select a target location"
+msgstr "Выбрать меÑто назначениÑ"
-#: ../../Zotlabs/Storage/Browser.php:134
-msgid "Principal"
-msgstr "Субъект"
+#: ../../Zotlabs/Storage/Browser.php:303 ../../Zotlabs/Storage/Browser.php:384
+msgid "Copy to target location"
+msgstr "Скопировать в меÑто назнаениÑ"
-#: ../../Zotlabs/Storage/Browser.php:137
-msgid "Addressbook"
-msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°"
+#: ../../Zotlabs/Storage/Browser.php:304 ../../Zotlabs/Storage/Browser.php:382
+msgid "Set permissions for all files and sub folders"
+msgstr "УÑтановить Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñех файлов и подкаталогов"
-#: ../../Zotlabs/Storage/Browser.php:143
-msgid "Schedule Inbox"
-msgstr "План занÑтий входÑщий"
+#: ../../Zotlabs/Storage/Browser.php:305
+msgid "Notify your contacts about this file"
+msgstr "Сообщить Ñвоим контактам об Ñтом файле"
-#: ../../Zotlabs/Storage/Browser.php:146
-msgid "Schedule Outbox"
-msgstr "План занÑтий иÑходÑщий"
+#: ../../Zotlabs/Storage/Browser.php:344
+msgid "File category"
+msgstr "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°"
-#: ../../Zotlabs/Storage/Browser.php:279
+#: ../../Zotlabs/Storage/Browser.php:355
msgid "Total"
msgstr "Ð’Ñего"
-#: ../../Zotlabs/Storage/Browser.php:281
+#: ../../Zotlabs/Storage/Browser.php:357
msgid "Shared"
msgstr "Общие"
-#: ../../Zotlabs/Storage/Browser.php:282 ../../Zotlabs/Storage/Browser.php:396
-#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Module/Cdav.php:1383
+#: ../../Zotlabs/Storage/Browser.php:358 ../../Zotlabs/Storage/Browser.php:531
+#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387
#: ../../Zotlabs/Module/Profiles.php:800
#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Menu.php:182
#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Connedit.php:930
@@ -4203,15 +4220,15 @@ msgstr "Общие"
msgid "Create"
msgstr "Создать"
-#: ../../Zotlabs/Storage/Browser.php:283
+#: ../../Zotlabs/Storage/Browser.php:359
msgid "Add Files"
msgstr "Добавить файлы"
-#: ../../Zotlabs/Storage/Browser.php:286 ../../Zotlabs/Lib/ThreadItem.php:174
+#: ../../Zotlabs/Storage/Browser.php:362 ../../Zotlabs/Lib/ThreadItem.php:174
msgid "Admin Delete"
msgstr "Удалено админиÑтратором"
-#: ../../Zotlabs/Storage/Browser.php:291 ../../Zotlabs/Module/Cdav.php:1368
+#: ../../Zotlabs/Storage/Browser.php:370 ../../Zotlabs/Module/Cdav.php:1372
#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth.php:139
#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257
#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146
@@ -4224,38 +4241,96 @@ msgstr "Удалено админиÑтратором"
msgid "Name"
msgstr "ИмÑ"
-#: ../../Zotlabs/Storage/Browser.php:292 ../../Zotlabs/Module/Wiki.php:219
+#: ../../Zotlabs/Storage/Browser.php:371 ../../Zotlabs/Module/Wiki.php:219
msgid "Type"
msgstr "Тип"
-#: ../../Zotlabs/Storage/Browser.php:294
+#: ../../Zotlabs/Storage/Browser.php:373
#: ../../Zotlabs/Module/Sharedwithme.php:109
msgid "Last Modified"
msgstr "ПоÑледнее изменение"
-#: ../../Zotlabs/Storage/Browser.php:367
+#: ../../Zotlabs/Storage/Browser.php:374
+msgid "parent"
+msgstr "иÑточник"
+
+#: ../../Zotlabs/Storage/Browser.php:379
+#: ../../Zotlabs/Module/Filestorage.php:206
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Копировать / вÑтавить Ñтот код Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° к публикации"
+
+#: ../../Zotlabs/Storage/Browser.php:380
+#: ../../Zotlabs/Module/Filestorage.php:207
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Копировать / вÑтавить Ñту URL Ð´Ð»Ñ ÑÑылки на файл Ñо Ñтраницы"
+
+#: ../../Zotlabs/Storage/Browser.php:392
+msgid "Select All"
+msgstr "Выбрать вÑÑ‘"
+
+#: ../../Zotlabs/Storage/Browser.php:393
+msgid "Bulk Actions"
+msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°"
+
+#: ../../Zotlabs/Storage/Browser.php:394
+msgid "Adjust Permissions"
+msgstr "ÐаÑтроить разрешениÑ"
+
+#: ../../Zotlabs/Storage/Browser.php:395
+msgid "Move or Copy"
+msgstr "ПеремеÑтить или копировать"
+
+#: ../../Zotlabs/Storage/Browser.php:397 ../../Zotlabs/Module/Wiki.php:212
+msgid "Download"
+msgstr "Загрузить"
+
+#: ../../Zotlabs/Storage/Browser.php:398
+msgid "Info"
+msgstr "ИнформациÑ"
+
+#: ../../Zotlabs/Storage/Browser.php:399
+msgid "Rename"
+msgstr "Переименовать"
+
+#: ../../Zotlabs/Storage/Browser.php:400 ../../Zotlabs/Lib/Apps.php:360
+msgid "Post"
+msgstr "ПубликациÑ"
+
+#: ../../Zotlabs/Storage/Browser.php:401
+msgid "Attachment BBcode"
+msgstr "Вложение BBcode"
+
+#: ../../Zotlabs/Storage/Browser.php:402
+msgid "Embed BBcode"
+msgstr "Ð’Ñтраивание BBcode"
+
+#: ../../Zotlabs/Storage/Browser.php:403
+msgid "Link BBcode"
+msgstr "СÑылка BBcode"
+
+#: ../../Zotlabs/Storage/Browser.php:473
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Ð’Ñ‹ иÑпользуете %1$s из доÑтупного вам хранилища файлов."
-#: ../../Zotlabs/Storage/Browser.php:372
+#: ../../Zotlabs/Storage/Browser.php:478
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Ð’Ñ‹ иÑпользуете %1$s из %2$s доÑтупного хранилища файлов (%3$s&#37;)."
-#: ../../Zotlabs/Storage/Browser.php:383
+#: ../../Zotlabs/Storage/Browser.php:489
msgid "WARNING:"
msgstr "Предупреждение:"
-#: ../../Zotlabs/Storage/Browser.php:395
+#: ../../Zotlabs/Storage/Browser.php:530
msgid "Create new folder"
msgstr "Создать новую папку"
-#: ../../Zotlabs/Storage/Browser.php:397
+#: ../../Zotlabs/Storage/Browser.php:532
msgid "Upload file"
msgstr "Загрузить файл"
-#: ../../Zotlabs/Storage/Browser.php:398 ../../Zotlabs/Module/Photos.php:687
+#: ../../Zotlabs/Storage/Browser.php:533 ../../Zotlabs/Module/Photos.php:688
#: ../../Zotlabs/Module/Cover_photo.php:423
#: ../../Zotlabs/Module/Embedphotos.php:188
#: ../../Zotlabs/Module/Profile_photo.php:500
@@ -4264,12 +4339,12 @@ msgstr "Загрузить файл"
msgid "Upload"
msgstr "Загрузка"
-#: ../../Zotlabs/Storage/Browser.php:410
+#: ../../Zotlabs/Storage/Browser.php:544
msgid "Drop files here to immediately upload"
msgstr "ПомеÑтите файлы Ñюда Ð´Ð»Ñ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾Ð¹ загрузки"
-#: ../../Zotlabs/Storage/Browser.php:411
-#: ../../Zotlabs/Module/Filestorage.php:206
+#: ../../Zotlabs/Storage/Browser.php:545
+#: ../../Zotlabs/Module/Filestorage.php:211
msgid "Show in your contacts shared folder"
msgstr "Показать общий каталог в ваших контактах"
@@ -4327,7 +4402,7 @@ msgid "Default Permissions App"
msgstr "Приложение \"Ð Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию\""
#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Permcats.php:63
-#: ../../Zotlabs/Module/Poke.php:165 ../../Zotlabs/Module/Cdav.php:872
+#: ../../Zotlabs/Module/Poke.php:165 ../../Zotlabs/Module/Cdav.php:876
#: ../../Zotlabs/Module/Oauth.php:100 ../../Zotlabs/Module/Pubstream.php:20
#: ../../Zotlabs/Module/Sources.php:88 ../../Zotlabs/Module/Chat.php:100
#: ../../Zotlabs/Module/Oauth2.php:106 ../../Zotlabs/Module/Uexport.php:61
@@ -4547,33 +4622,33 @@ msgstr "Параметры"
msgid "Redeliver"
msgstr "ДоÑтавить повторно"
-#: ../../Zotlabs/Module/Network.php:110
+#: ../../Zotlabs/Module/Network.php:105
msgid "No such group"
msgstr "Ðет такой группы"
-#: ../../Zotlabs/Module/Network.php:157
+#: ../../Zotlabs/Module/Network.php:152
msgid "No such channel"
msgstr "Ðет такого канала"
-#: ../../Zotlabs/Module/Network.php:169 ../../Zotlabs/Module/Channel.php:195
+#: ../../Zotlabs/Module/Network.php:164 ../../Zotlabs/Module/Channel.php:189
msgid "Search Results For:"
msgstr "Результаты поиÑка длÑ:"
-#: ../../Zotlabs/Module/Network.php:210 ../../Zotlabs/Module/Display.php:79
-#: ../../Zotlabs/Module/Pubstream.php:99 ../../Zotlabs/Module/Channel.php:230
-#: ../../Zotlabs/Module/Hq.php:134
+#: ../../Zotlabs/Module/Network.php:205 ../../Zotlabs/Module/Display.php:76
+#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Channel.php:224
+#: ../../Zotlabs/Module/Hq.php:125
msgid "Reset form"
msgstr "ОчиÑтить форму"
-#: ../../Zotlabs/Module/Network.php:246
+#: ../../Zotlabs/Module/Network.php:239
msgid "Privacy group is empty"
msgstr "Группа конфиденциальноÑти пуÑта"
-#: ../../Zotlabs/Module/Network.php:256
+#: ../../Zotlabs/Module/Network.php:249
msgid "Privacy group: "
msgstr "Группа конфиденциальноÑти: "
-#: ../../Zotlabs/Module/Network.php:329
+#: ../../Zotlabs/Module/Network.php:322
#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:29
msgid "Invalid channel."
msgstr "ÐедейÑтвительный канал."
@@ -4621,40 +4696,40 @@ msgctxt "acl"
msgid "Profile"
msgstr "Профиль"
-#: ../../Zotlabs/Module/Acl.php:361
+#: ../../Zotlabs/Module/Acl.php:368
msgid "network"
msgstr "Ñеть"
-#: ../../Zotlabs/Module/Item.php:448 ../../Zotlabs/Module/Pin.php:35
+#: ../../Zotlabs/Module/Item.php:450 ../../Zotlabs/Module/Pin.php:35
msgid "Unable to locate original post."
msgstr "Ðе удалоÑÑŒ найти оригинальную публикацию."
-#: ../../Zotlabs/Module/Item.php:734
+#: ../../Zotlabs/Module/Item.php:736
msgid "Empty post discarded."
msgstr "ПуÑÑ‚Ð°Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÐ»Ð¾Ð½ÐµÐ½Ð°."
-#: ../../Zotlabs/Module/Item.php:1186
+#: ../../Zotlabs/Module/Item.php:1187
msgid "Duplicate post suppressed."
msgstr "Подавлена дублирующаÑÑÑ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ."
-#: ../../Zotlabs/Module/Item.php:1331
+#: ../../Zotlabs/Module/Item.php:1332
msgid "System error. Post not saved."
msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ðµ Ñохранена."
-#: ../../Zotlabs/Module/Item.php:1365
+#: ../../Zotlabs/Module/Item.php:1366
msgid "Your comment is awaiting approval."
msgstr "Ваш комментарий ожидает одобрениÑ."
-#: ../../Zotlabs/Module/Item.php:1482
+#: ../../Zotlabs/Module/Item.php:1496
msgid "Unable to obtain post information from database."
msgstr "Ðевозможно получить информацию о публикации из базы данных"
-#: ../../Zotlabs/Module/Item.php:1489
+#: ../../Zotlabs/Module/Item.php:1503
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f публикаций выÑокого уровнÑ."
-#: ../../Zotlabs/Module/Item.php:1496
+#: ../../Zotlabs/Module/Item.php:1510
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f Ñтраниц."
@@ -4663,23 +4738,45 @@ msgstr "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f ÑÑ
msgid "Some blurb about what to do when you're new here"
msgstr "Ðекоторые Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ том, что делать, еÑли вы здеÑÑŒ новичок "
-#: ../../Zotlabs/Module/Display.php:29 ../../Zotlabs/Module/Directory.php:71
-#: ../../Zotlabs/Module/Directory.php:76 ../../Zotlabs/Module/Photos.php:518
+#: ../../Zotlabs/Module/Attach_edit.php:52 ../../Zotlabs/Module/Chanview.php:95
+#: ../../Zotlabs/Module/Page.php:75 ../../Zotlabs/Module/Wall_upload.php:31
+#: ../../Zotlabs/Module/Block.php:41 ../../Zotlabs/Module/Attach.php:21
+#: ../../Zotlabs/Module/Cal.php:31 ../../Zotlabs/Module/Card_edit.php:44
+#: ../../Zotlabs/Module/Article_edit.php:44
+msgid "Channel not found."
+msgstr "Канал не найден."
+
+#: ../../Zotlabs/Module/Attach_edit.php:69
+#: ../../Zotlabs/Module/Filestorage.php:109
+msgid "File not found."
+msgstr "Файл не найден."
+
+#: ../../Zotlabs/Module/Attach_edit.php:118
+msgid "Can not copy folder into itself."
+msgstr "Ðевозможно Ñкопировать каталог в Ñамого ÑебÑ."
+
+#: ../../Zotlabs/Module/Attach_edit.php:131
+#, php-format
+msgid "Can not move folder \"%s\" into itself."
+msgstr "Ðевозможно Ñкопировать каталог \"%s\" в Ñамого ÑебÑ."
+
+#: ../../Zotlabs/Module/Display.php:26 ../../Zotlabs/Module/Directory.php:71
+#: ../../Zotlabs/Module/Directory.php:76 ../../Zotlabs/Module/Photos.php:519
#: ../../Zotlabs/Module/Viewconnections.php:23
#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17
msgid "Public access denied."
msgstr "Публичный доÑтуп запрещен."
-#: ../../Zotlabs/Module/Display.php:376 ../../Zotlabs/Module/Channel.php:465
+#: ../../Zotlabs/Module/Display.php:359 ../../Zotlabs/Module/Channel.php:449
msgid ""
"You must enable javascript for your browser to be able to view this content."
msgstr "Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñмотра Ñтого Ñодержимого в вашем браузере должен быть включён JavaScript"
-#: ../../Zotlabs/Module/Display.php:394
+#: ../../Zotlabs/Module/Display.php:377
msgid "Article"
msgstr "СтатьÑ"
-#: ../../Zotlabs/Module/Display.php:439
+#: ../../Zotlabs/Module/Display.php:422
msgid "Item has been removed."
msgstr "Элемент был удалён."
@@ -4867,45 +4964,45 @@ msgstr "От Ñтарых к новым"
msgid "No entries (some entries may be hidden)."
msgstr "Ðет запиÑей (некоторые запиÑи могут быть Ñкрыты)."
-#: ../../Zotlabs/Module/Cdav.php:814 ../../Zotlabs/Module/Events.php:28
+#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28
msgid "Calendar entries imported."
msgstr "Ð¡Ð¾Ð±Ñ‹Ñ‚Ð¸Ñ ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€Ñ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ñ‹."
-#: ../../Zotlabs/Module/Cdav.php:816 ../../Zotlabs/Module/Events.php:30
+#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30
msgid "No calendar entries found."
msgstr "Ðе найдено Ñобытий в календаре."
-#: ../../Zotlabs/Module/Cdav.php:872
+#: ../../Zotlabs/Module/Cdav.php:876
msgid "CardDAV App"
msgstr "Приложение CardDAV"
-#: ../../Zotlabs/Module/Cdav.php:873
+#: ../../Zotlabs/Module/Cdav.php:877
msgid "CalDAV capable addressbook"
msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð° Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ CalDAV"
-#: ../../Zotlabs/Module/Cdav.php:939
+#: ../../Zotlabs/Module/Cdav.php:943
#: ../../Zotlabs/Module/Channel_calendar.php:393
#: ../../Zotlabs/Module/Cal.php:167
msgid "Link to source"
msgstr "СÑылка на иÑточник"
-#: ../../Zotlabs/Module/Cdav.php:1005 ../../Zotlabs/Module/Events.php:468
+#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468
msgid "Event title"
msgstr "Ðаименование ÑобытиÑ"
-#: ../../Zotlabs/Module/Cdav.php:1006 ../../Zotlabs/Module/Events.php:474
+#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474
msgid "Start date and time"
msgstr "Дата и Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ‡Ð°Ð»Ð°"
-#: ../../Zotlabs/Module/Cdav.php:1007
+#: ../../Zotlabs/Module/Cdav.php:1011
msgid "End date and time"
msgstr "Дата и Ð²Ñ€ÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ"
-#: ../../Zotlabs/Module/Cdav.php:1008 ../../Zotlabs/Module/Events.php:497
+#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497
msgid "Timezone:"
msgstr "ЧаÑовой поÑÑ:"
-#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Appman.php:145
+#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Appman.php:145
#: ../../Zotlabs/Module/Events.php:481 ../../Zotlabs/Module/Rbmark.php:101
#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:173
#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:260
@@ -4913,56 +5010,56 @@ msgstr "ЧаÑовой поÑÑ:"
msgid "Description"
msgstr "ОпиÑание"
-#: ../../Zotlabs/Module/Cdav.php:1031 ../../Zotlabs/Module/Photos.php:946
+#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Photos.php:947
#: ../../Zotlabs/Module/Events.php:697 ../../Zotlabs/Module/Events.php:706
#: ../../Zotlabs/Module/Cal.php:205
msgid "Previous"
msgstr "ПредыдущаÑ"
-#: ../../Zotlabs/Module/Cdav.php:1032 ../../Zotlabs/Module/Photos.php:955
+#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Photos.php:956
#: ../../Zotlabs/Module/Events.php:698 ../../Zotlabs/Module/Events.php:707
#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Setup.php:260
msgid "Next"
msgstr "СледующаÑ"
-#: ../../Zotlabs/Module/Cdav.php:1033 ../../Zotlabs/Module/Events.php:708
+#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708
#: ../../Zotlabs/Module/Cal.php:207
msgid "Today"
msgstr "СегоднÑ"
-#: ../../Zotlabs/Module/Cdav.php:1034 ../../Zotlabs/Module/Events.php:703
+#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703
msgid "Month"
msgstr "МеÑÑц"
-#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:704
+#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704
msgid "Week"
msgstr "ÐеделÑ"
-#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:705
+#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705
msgid "Day"
msgstr "День"
-#: ../../Zotlabs/Module/Cdav.php:1037
+#: ../../Zotlabs/Module/Cdav.php:1041
msgid "List month"
msgstr "ПроÑмотреть меÑÑц"
-#: ../../Zotlabs/Module/Cdav.php:1038
+#: ../../Zotlabs/Module/Cdav.php:1042
msgid "List week"
msgstr "ПроÑмотреть неделю"
-#: ../../Zotlabs/Module/Cdav.php:1039
+#: ../../Zotlabs/Module/Cdav.php:1043
msgid "List day"
msgstr "ПроÑмотреть день"
-#: ../../Zotlabs/Module/Cdav.php:1047
+#: ../../Zotlabs/Module/Cdav.php:1051
msgid "More"
msgstr "Больше"
-#: ../../Zotlabs/Module/Cdav.php:1048
+#: ../../Zotlabs/Module/Cdav.php:1052
msgid "Less"
msgstr "Меньше"
-#: ../../Zotlabs/Module/Cdav.php:1049 ../../Zotlabs/Module/Cdav.php:1384
+#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388
#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53
#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58
#: ../../Zotlabs/Module/Oauth2.php:144
@@ -4971,108 +5068,108 @@ msgstr "Меньше"
msgid "Update"
msgstr "Обновить"
-#: ../../Zotlabs/Module/Cdav.php:1050
+#: ../../Zotlabs/Module/Cdav.php:1054
msgid "Select calendar"
msgstr "Выбрать календарь"
-#: ../../Zotlabs/Module/Cdav.php:1051 ../../Zotlabs/Widget/Cdav.php:143
+#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:143
msgid "Channel Calendars"
msgstr "Календари канала"
-#: ../../Zotlabs/Module/Cdav.php:1051 ../../Zotlabs/Widget/Cdav.php:129
+#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:129
#: ../../Zotlabs/Widget/Cdav.php:143
msgid "CalDAV Calendars"
msgstr "Календари CalDAV"
-#: ../../Zotlabs/Module/Cdav.php:1053
+#: ../../Zotlabs/Module/Cdav.php:1057
msgid "Delete all"
msgstr "Удалить вÑÑ‘"
-#: ../../Zotlabs/Module/Cdav.php:1056
+#: ../../Zotlabs/Module/Cdav.php:1060
msgid "Sorry! Editing of recurrent events is not yet implemented."
msgstr "ПроÑтите, но редактирование повторÑющихÑÑ Ñобытий пока не реализовано."
-#: ../../Zotlabs/Module/Cdav.php:1369 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:916
msgid "Organisation"
msgstr "ОрганизациÑ"
-#: ../../Zotlabs/Module/Cdav.php:1370 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917
#: ../../extend/addon/hzaddons/workflow/workflow.php:2617
#: ../../extend/addon/hzaddons/workflow/workflow.php:2678
msgid "Title"
msgstr "Ðаименование"
-#: ../../Zotlabs/Module/Cdav.php:1371 ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788
#: ../../Zotlabs/Module/Connedit.php:918
msgid "Phone"
msgstr "Телефон"
-#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790
#: ../../Zotlabs/Module/Connedit.php:920
msgid "Instant messenger"
msgstr "МеÑÑенджер"
-#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Profiles.php:791
+#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791
#: ../../Zotlabs/Module/Connedit.php:921
msgid "Website"
msgstr "Веб-Ñайт"
-#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:504
-#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:122
+#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:504
+#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129
#: ../../Zotlabs/Module/Admin/Channels.php:160
#: ../../Zotlabs/Module/Connedit.php:922
msgid "Address"
msgstr "ÐдреÑ"
-#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793
#: ../../Zotlabs/Module/Connedit.php:923
msgid "Note"
msgstr "Заметка"
-#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798
#: ../../Zotlabs/Module/Connedit.php:928
msgid "Add Contact"
msgstr "Добавить контакт"
-#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:799
+#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799
#: ../../Zotlabs/Module/Connedit.php:929
msgid "Add Field"
msgstr "Добавить поле"
-#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Connedit.php:934
+#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:934
msgid "P.O. Box"
msgstr "абонентÑкий Ñщик"
-#: ../../Zotlabs/Module/Cdav.php:1388 ../../Zotlabs/Module/Connedit.php:935
+#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935
msgid "Additional"
msgstr "Дополнительно"
-#: ../../Zotlabs/Module/Cdav.php:1389 ../../Zotlabs/Module/Connedit.php:936
+#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936
msgid "Street"
msgstr "Улица"
-#: ../../Zotlabs/Module/Cdav.php:1390 ../../Zotlabs/Module/Connedit.php:937
+#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937
msgid "Locality"
msgstr "ÐаÑелённый пункт"
-#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:938
+#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938
msgid "Region"
msgstr "Регион"
-#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:939
+#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939
msgid "ZIP Code"
msgstr "ИндекÑ"
-#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Profiles.php:759
+#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759
#: ../../Zotlabs/Module/Connedit.php:940
msgid "Country"
msgstr "Страна"
-#: ../../Zotlabs/Module/Cdav.php:1452
+#: ../../Zotlabs/Module/Cdav.php:1456
msgid "Default Calendar"
msgstr "Календарь по умолчанию"
-#: ../../Zotlabs/Module/Cdav.php:1463
+#: ../../Zotlabs/Module/Cdav.php:1467
msgid "Default Addressbook"
msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð° по умолчанию"
@@ -5576,96 +5673,96 @@ msgstr "Ðльбом не найден."
msgid "Delete Album"
msgstr "Удалить альбом"
-#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1059
msgid "Delete Photo"
msgstr "Удалить фотографию"
-#: ../../Zotlabs/Module/Photos.php:529
+#: ../../Zotlabs/Module/Photos.php:530
msgid "No photos selected"
msgstr "Ðикакие фотографии не выбраны"
-#: ../../Zotlabs/Module/Photos.php:578
+#: ../../Zotlabs/Module/Photos.php:579
msgid "Access to this item is restricted."
msgstr "ДоÑтуп к Ñтому Ñлементу ограничен."
-#: ../../Zotlabs/Module/Photos.php:621
+#: ../../Zotlabs/Module/Photos.php:622
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "Ð’Ñ‹ иÑпользовали %1$.2f мегабайт из %2$.2f Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ‚Ð¾."
-#: ../../Zotlabs/Module/Photos.php:624
+#: ../../Zotlabs/Module/Photos.php:625
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "Ð’Ñ‹ иÑпользовали %1$.2f мегабайт Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ‚Ð¾."
-#: ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Photos.php:667
msgid "Upload Photos"
msgstr "Загрузить фотографии"
-#: ../../Zotlabs/Module/Photos.php:670
+#: ../../Zotlabs/Module/Photos.php:671
msgid "Enter an album name"
msgstr "Введите название альбома"
-#: ../../Zotlabs/Module/Photos.php:671
+#: ../../Zotlabs/Module/Photos.php:672
msgid "or select an existing album (doubleclick)"
msgstr "или выберите ÑущеÑтвующий альбом (двойной щелчок)"
-#: ../../Zotlabs/Module/Photos.php:672
+#: ../../Zotlabs/Module/Photos.php:673
msgid "Create a status post for this upload"
msgstr "Сделать публикацию о ÑтатуÑе Ð´Ð»Ñ Ñтой загрузки"
-#: ../../Zotlabs/Module/Photos.php:674
+#: ../../Zotlabs/Module/Photos.php:675
msgid "Description (optional)"
msgstr "ОпиÑание (необÑзательно)"
-#: ../../Zotlabs/Module/Photos.php:760
+#: ../../Zotlabs/Module/Photos.php:761
msgid "Show Newest First"
msgstr "Показать новые первыми"
-#: ../../Zotlabs/Module/Photos.php:762
+#: ../../Zotlabs/Module/Photos.php:763
msgid "Show Oldest First"
msgstr "Показать Ñтарые первыми"
-#: ../../Zotlabs/Module/Photos.php:786 ../../Zotlabs/Module/Photos.php:1332
+#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333
#: ../../Zotlabs/Module/Embedphotos.php:170
#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78
msgid "View Photo"
msgstr "ПоÑмотреть фотографию"
-#: ../../Zotlabs/Module/Photos.php:817 ../../Zotlabs/Module/Embedphotos.php:186
+#: ../../Zotlabs/Module/Photos.php:818 ../../Zotlabs/Module/Embedphotos.php:186
#: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95
msgid "Edit Album"
msgstr "Редактировать Фотоальбом"
-#: ../../Zotlabs/Module/Photos.php:819 ../../Zotlabs/Module/Photos.php:1363
+#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364
msgid "Add Photos"
msgstr "Добавить фотографии"
-#: ../../Zotlabs/Module/Photos.php:867
+#: ../../Zotlabs/Module/Photos.php:868
msgid "Permission denied. Access to this item may be restricted."
msgstr "ДоÑтуп запрещен. ДоÑтуп к Ñтому Ñлементу может быть ограничен."
-#: ../../Zotlabs/Module/Photos.php:869
+#: ../../Zotlabs/Module/Photos.php:870
msgid "Photo not available"
msgstr "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð½Ðµ доÑтупна"
-#: ../../Zotlabs/Module/Photos.php:927
+#: ../../Zotlabs/Module/Photos.php:928
msgid "Use as profile photo"
msgstr "ИÑпользовать в качеÑтве фотографии профилÑ"
-#: ../../Zotlabs/Module/Photos.php:928
+#: ../../Zotlabs/Module/Photos.php:929
msgid "Use as cover photo"
msgstr "ИÑпользовать в качеÑтве фотографии обложки"
-#: ../../Zotlabs/Module/Photos.php:935
+#: ../../Zotlabs/Module/Photos.php:936
msgid "Private Photo"
msgstr "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ"
-#: ../../Zotlabs/Module/Photos.php:950
+#: ../../Zotlabs/Module/Photos.php:951
msgid "View Full Size"
msgstr "ПоÑмотреть в полный размер"
-#: ../../Zotlabs/Module/Photos.php:995 ../../Zotlabs/Module/Tagrm.php:137
+#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Tagrm.php:137
#: ../../Zotlabs/Module/Cover_photo.php:424
#: ../../Zotlabs/Module/Admin/Addons.php:459
#: ../../Zotlabs/Module/Profile_photo.php:501
@@ -5673,78 +5770,78 @@ msgstr "ПоÑмотреть в полный размер"
msgid "Remove"
msgstr "Удалить"
-#: ../../Zotlabs/Module/Photos.php:1032
+#: ../../Zotlabs/Module/Photos.php:1033
msgid "Edit photo"
msgstr "Редактировать фотографию"
-#: ../../Zotlabs/Module/Photos.php:1034
+#: ../../Zotlabs/Module/Photos.php:1035
msgid "Rotate CW (right)"
msgstr "Повернуть CW (направо)"
-#: ../../Zotlabs/Module/Photos.php:1035
+#: ../../Zotlabs/Module/Photos.php:1036
msgid "Rotate CCW (left)"
msgstr "Повернуть CCW (налево)"
-#: ../../Zotlabs/Module/Photos.php:1038
+#: ../../Zotlabs/Module/Photos.php:1039
msgid "Move photo to album"
msgstr "ПеремеÑтить фотографию в альбом"
-#: ../../Zotlabs/Module/Photos.php:1039
+#: ../../Zotlabs/Module/Photos.php:1040
msgid "Enter a new album name"
msgstr "Введите новое название альбома"
-#: ../../Zotlabs/Module/Photos.php:1040
+#: ../../Zotlabs/Module/Photos.php:1041
msgid "or select an existing one (doubleclick)"
msgstr "или выбрать ÑущеÑтвующую (двойной щелчок)"
-#: ../../Zotlabs/Module/Photos.php:1045
+#: ../../Zotlabs/Module/Photos.php:1046
msgid "Add a Tag"
msgstr "Добавить тег"
-#: ../../Zotlabs/Module/Photos.php:1053
+#: ../../Zotlabs/Module/Photos.php:1054
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Пример: @bob, @Barbara_Jensen, @jim@example.com"
-#: ../../Zotlabs/Module/Photos.php:1056
+#: ../../Zotlabs/Module/Photos.php:1057
msgid "Flag as adult in album view"
msgstr "Пометить как альбом \"Ð´Ð»Ñ Ð²Ð·Ñ€Ð¾Ñлых\""
-#: ../../Zotlabs/Module/Photos.php:1075 ../../Zotlabs/Lib/ThreadItem.php:317
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:317
msgid "I like this (toggle)"
msgstr "мне Ñто нравитÑÑ (переключение)"
-#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:318
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:318
msgid "I don't like this (toggle)"
msgstr "мне Ñто не нравитÑÑ (переключение)"
-#: ../../Zotlabs/Module/Photos.php:1094 ../../Zotlabs/Module/Photos.php:1212
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
#: ../../Zotlabs/Lib/ThreadItem.php:822
msgid "This is you"
msgstr "Это вы"
-#: ../../Zotlabs/Module/Photos.php:1131 ../../Zotlabs/Module/Photos.php:1143
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250
msgid "View all"
msgstr "ПроÑмотреть вÑе"
-#: ../../Zotlabs/Module/Photos.php:1246
+#: ../../Zotlabs/Module/Photos.php:1247
msgid "Photo Tools"
msgstr "Фото-ИнÑтрументы"
-#: ../../Zotlabs/Module/Photos.php:1255
+#: ../../Zotlabs/Module/Photos.php:1256
msgid "In This Photo:"
msgstr "Ðа Ñтой фотографии:"
-#: ../../Zotlabs/Module/Photos.php:1260
+#: ../../Zotlabs/Module/Photos.php:1261
msgid "Map"
msgstr "Карта"
-#: ../../Zotlabs/Module/Photos.php:1268 ../../Zotlabs/Lib/ThreadItem.php:489
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:489
msgctxt "noun"
msgid "Likes"
msgstr "ÐравитÑÑ"
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:490
+#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:490
msgctxt "noun"
msgid "Dislikes"
msgstr "Ðе нравитÑÑ"
@@ -5761,13 +5858,6 @@ msgstr "Удалить тег Ñлемента"
msgid "Select a tag to remove: "
msgstr "Выбрать тег Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ:"
-#: ../../Zotlabs/Module/Chanview.php:95 ../../Zotlabs/Module/Page.php:75
-#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Block.php:41
-#: ../../Zotlabs/Module/Cal.php:31 ../../Zotlabs/Module/Card_edit.php:44
-#: ../../Zotlabs/Module/Article_edit.php:44
-msgid "Channel not found."
-msgstr "Канал не найден."
-
#: ../../Zotlabs/Module/Chanview.php:132
msgid "toggle full screen mode"
msgstr "переключение полноÑкранного режима"
@@ -6105,7 +6195,7 @@ msgstr "Приложение \"Публичный поток\""
msgid "The unmoderated public stream of this hub"
msgstr "Ðемодерируемый публичный поток Ñ Ñтого хаба"
-#: ../../Zotlabs/Module/Pubstream.php:114
+#: ../../Zotlabs/Module/Pubstream.php:105
#: ../../Zotlabs/Widget/Notifications.php:162 ../../Zotlabs/Lib/Apps.php:375
msgid "Public Stream"
msgstr "Публичный поток"
@@ -6480,56 +6570,56 @@ msgstr "ОбъÑÑните Ñвою оценку (необÑзательно; Ñ
msgid "Please login."
msgstr "ПожалуйÑта, войдите."
-#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:57
+#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66
msgid "Location not found."
msgstr "МеÑтоположение не найдено"
-#: ../../Zotlabs/Module/Locs.php:65
+#: ../../Zotlabs/Module/Locs.php:75
msgid "Location lookup failed."
msgstr "ПоиÑк меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ удалÑÑ"
-#: ../../Zotlabs/Module/Locs.php:69
+#: ../../Zotlabs/Module/Locs.php:79
msgid ""
"Please select another location to become primary before removing the primary "
"location."
msgstr "ПожалуйÑта, выберите другое меÑтоположение в качеÑтве оÑновного прежде чем удалить предыдущее"
-#: ../../Zotlabs/Module/Locs.php:99
+#: ../../Zotlabs/Module/Locs.php:108
msgid "Syncing locations"
msgstr "Синхронизировать меÑтоположение"
-#: ../../Zotlabs/Module/Locs.php:109
+#: ../../Zotlabs/Module/Locs.php:117
msgid "No locations found."
msgstr "МеÑтоположений не найдено"
-#: ../../Zotlabs/Module/Locs.php:120
+#: ../../Zotlabs/Module/Locs.php:127
msgid "Manage Channel Locations"
msgstr "Управление меÑтоположением канала"
-#: ../../Zotlabs/Module/Locs.php:123
+#: ../../Zotlabs/Module/Locs.php:130
#: ../../extend/addon/hzaddons/workflow/workflow.php:285
msgid "Primary"
msgstr "ОÑновной"
-#: ../../Zotlabs/Module/Locs.php:124 ../../Zotlabs/Module/Menu.php:177
+#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177
msgid "Drop"
msgstr "Удалить"
-#: ../../Zotlabs/Module/Locs.php:126
+#: ../../Zotlabs/Module/Locs.php:133
msgid "Sync Now"
msgstr "Синхронизировать"
-#: ../../Zotlabs/Module/Locs.php:127
+#: ../../Zotlabs/Module/Locs.php:134
msgid "Please wait several minutes between consecutive operations."
msgstr "ПожалуйÑта, подождите неÑколько минут между поÑледовательными операциÑми."
-#: ../../Zotlabs/Module/Locs.php:128
+#: ../../Zotlabs/Module/Locs.php:135
msgid ""
"When possible, drop a location by logging into that website/hub and removing "
"your channel."
msgstr "По возможноÑти, очиÑтите меÑтоположение, Ð²Ð¾Ð¹Ð´Ñ Ð½Ð° Ñтот веб-Ñайт / хаб и удалив Ñвой канал."
-#: ../../Zotlabs/Module/Locs.php:129
+#: ../../Zotlabs/Module/Locs.php:136
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "ИÑпользуйте Ñту форму, чтобы удалить меÑтоположение, еÑли хаб больше не функционирует."
@@ -6824,101 +6914,93 @@ msgstr "ÐаÑтройки беÑед"
msgid "Editor Settings"
msgstr "ÐаÑтройки редактора"
-#: ../../Zotlabs/Module/Settings/Display.php:120
+#: ../../Zotlabs/Module/Settings/Display.php:118
#: ../../Zotlabs/Module/Admin/Site.php:202
#, php-format
msgid "%s - (Incompatible)"
msgstr "%s - (неÑовмеÑтимо)"
-#: ../../Zotlabs/Module/Settings/Display.php:129
+#: ../../Zotlabs/Module/Settings/Display.php:127
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (ÑкÑпериментальный)"
-#: ../../Zotlabs/Module/Settings/Display.php:185
+#: ../../Zotlabs/Module/Settings/Display.php:183
msgid "Display Settings"
msgstr "ÐаÑтройки отображениÑ"
-#: ../../Zotlabs/Module/Settings/Display.php:186
+#: ../../Zotlabs/Module/Settings/Display.php:184
msgid "Theme Settings"
msgstr "ÐаÑтройки темы"
-#: ../../Zotlabs/Module/Settings/Display.php:187
+#: ../../Zotlabs/Module/Settings/Display.php:185
msgid "Custom Theme Settings"
msgstr "Дополнительные наÑтройки темы"
-#: ../../Zotlabs/Module/Settings/Display.php:188
+#: ../../Zotlabs/Module/Settings/Display.php:186
msgid "Content Settings"
msgstr "ÐаÑтройки Ñодержимого"
-#: ../../Zotlabs/Module/Settings/Display.php:194
+#: ../../Zotlabs/Module/Settings/Display.php:192
msgid "Display Theme:"
msgstr "Тема отображениÑ:"
-#: ../../Zotlabs/Module/Settings/Display.php:195
+#: ../../Zotlabs/Module/Settings/Display.php:193
msgid "Select scheme"
msgstr "Выбрать Ñхему"
-#: ../../Zotlabs/Module/Settings/Display.php:197
+#: ../../Zotlabs/Module/Settings/Display.php:195
msgid "Preload images before rendering the page"
msgstr "Предзагрузка изображений перед обработкой Ñтраницы"
-#: ../../Zotlabs/Module/Settings/Display.php:197
+#: ../../Zotlabs/Module/Settings/Display.php:195
msgid ""
"The subjective page load time will be longer but the page will be ready when "
"displayed"
msgstr "Субъективное Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ Ñтраницы будет длиннее, но Ñтраница будет готова при отображении"
-#: ../../Zotlabs/Module/Settings/Display.php:198
+#: ../../Zotlabs/Module/Settings/Display.php:196
msgid "Enable user zoom on mobile devices"
msgstr "Включить маÑштабирование на мобильных уÑтройÑтвах"
-#: ../../Zotlabs/Module/Settings/Display.php:199
+#: ../../Zotlabs/Module/Settings/Display.php:197
msgid "Update browser every xx seconds"
msgstr "Обновление браузера каждые N Ñекунд"
-#: ../../Zotlabs/Module/Settings/Display.php:199
+#: ../../Zotlabs/Module/Settings/Display.php:197
msgid "Minimum of 10 seconds, no maximum"
msgstr "Минимум 10 Ñекунд, без макÑимума"
-#: ../../Zotlabs/Module/Settings/Display.php:200
+#: ../../Zotlabs/Module/Settings/Display.php:198
msgid "Maximum number of conversations to load at any time:"
msgstr "МакÑимальное количеÑтво беÑед Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ одновременно:"
-#: ../../Zotlabs/Module/Settings/Display.php:200
+#: ../../Zotlabs/Module/Settings/Display.php:198
msgid "Maximum of 30 items"
msgstr "Ðе более 30 Ñлементов"
-#: ../../Zotlabs/Module/Settings/Display.php:201
+#: ../../Zotlabs/Module/Settings/Display.php:199
msgid "Show emoticons (smilies) as images"
msgstr "Показывать Ñмотиконы (Ñмайлики) как изображениÑ"
-#: ../../Zotlabs/Module/Settings/Display.php:202
+#: ../../Zotlabs/Module/Settings/Display.php:200
msgid "Provide channel menu in navigation bar"
msgstr "Показывать меню канала в панели навигации"
-#: ../../Zotlabs/Module/Settings/Display.php:202
+#: ../../Zotlabs/Module/Settings/Display.php:200
msgid "Default: channel menu located in app menu"
msgstr "По умолчанию каналы раÑположены в меню приложениÑ"
-#: ../../Zotlabs/Module/Settings/Display.php:203
-msgid "Manual conversation updates"
-msgstr "Обновление беÑед вручную"
-
-#: ../../Zotlabs/Module/Settings/Display.php:203
-msgid "Default is on, turning this off may increase screen jumping"
-msgstr "Включено по умолчанию, выключение может привеÑти к рывкам в отображении"
-
-#: ../../Zotlabs/Module/Settings/Display.php:204
+#: ../../Zotlabs/Module/Settings/Display.php:201
msgid "Link post titles to source"
msgstr "СÑылки на иÑточник заголовков публикаций"
-#: ../../Zotlabs/Module/Settings/Display.php:206
+#: ../../Zotlabs/Module/Settings/Display.php:203
#: ../../Zotlabs/Widget/Newmember.php:75
msgid "New Member Links"
msgstr "СÑылки Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ‡ÐºÐ¾Ð²"
-#: ../../Zotlabs/Module/Settings/Display.php:206
+#: ../../Zotlabs/Module/Settings/Display.php:203
msgid "Display new member quick links menu"
msgstr "Показать меню быÑтрых ÑÑылок Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… учаÑтников"
@@ -7411,44 +7493,37 @@ msgstr "Управление приложениÑми"
msgid "Create Custom App"
msgstr "Создать пользовательÑкое приложение"
-#: ../../Zotlabs/Module/Filestorage.php:103
-msgid "File not found."
-msgstr "Файл не найден."
+#: ../../Zotlabs/Module/Filestorage.php:14
+#: ../../Zotlabs/Module/Filestorage.php:53
+msgid "Deprecated!"
+msgstr "Ðе рекомендовано!"
-#: ../../Zotlabs/Module/Filestorage.php:152
+#: ../../Zotlabs/Module/Filestorage.php:157
msgid "Permission Denied."
msgstr "ДоÑтуп запрещен."
-#: ../../Zotlabs/Module/Filestorage.php:185
+#: ../../Zotlabs/Module/Filestorage.php:190
msgid "Edit file permissions"
msgstr "Редактировать Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°"
-#: ../../Zotlabs/Module/Filestorage.php:197
+#: ../../Zotlabs/Module/Filestorage.php:202
#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:261
msgid "Set/edit permissions"
msgstr "Редактировать разрешениÑ"
-#: ../../Zotlabs/Module/Filestorage.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
msgid "Include all files and sub folders"
msgstr "Включить вÑе файлы и подкаталоги"
-#: ../../Zotlabs/Module/Filestorage.php:199
+#: ../../Zotlabs/Module/Filestorage.php:204
msgid "Return to file list"
msgstr "ВернутÑÑ Ðº ÑпиÑку файлов"
-#: ../../Zotlabs/Module/Filestorage.php:201
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Копировать / вÑтавить Ñтот код Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° к публикации"
-
-#: ../../Zotlabs/Module/Filestorage.php:202
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Копировать / вÑтавить Ñту URL Ð´Ð»Ñ ÑÑылки на файл Ñо Ñтраницы"
-
-#: ../../Zotlabs/Module/Filestorage.php:204
+#: ../../Zotlabs/Module/Filestorage.php:209
msgid "Share this file"
msgstr "ПоделитьÑÑ Ñтим файлом"
-#: ../../Zotlabs/Module/Filestorage.php:205
+#: ../../Zotlabs/Module/Filestorage.php:210
msgid "Show URL to this file"
msgstr "Показать URL Ñтого файла"
@@ -7465,7 +7540,7 @@ msgstr "Редактировать блок"
msgid "No service class restrictions found."
msgstr "Ограничений клаÑÑа обÑлуживание не найдено."
-#: ../../Zotlabs/Module/Channel.php:178
+#: ../../Zotlabs/Module/Channel.php:174
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "ÐедоÑтаточно прав. Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½ на Ñтраницу профилÑ."
@@ -7543,81 +7618,81 @@ msgstr "Ðет на меÑте"
msgid "Online"
msgstr "Ð’ Ñети"
-#: ../../Zotlabs/Module/Like.php:57
+#: ../../Zotlabs/Module/Like.php:93
msgid "Like/Dislike"
msgstr "ÐравитÑÑ / не нравитÑÑ"
-#: ../../Zotlabs/Module/Like.php:62
+#: ../../Zotlabs/Module/Like.php:98
msgid "This action is restricted to members."
msgstr "Это дейÑтвие доÑтупно только учаÑтникам."
-#: ../../Zotlabs/Module/Like.php:63
+#: ../../Zotlabs/Module/Like.php:99
msgid ""
"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
"\"register\">register as a new $Projectname member</a> to continue."
msgstr "ПожалуйÑта, Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ <a href=\"rmagic\"> войдите Ñ Ð²Ð°ÑˆÐ¸Ð¼ $Projectname ID</a> или <a href=\"register\">зарегиÑтрируйтеÑÑŒ как новый учаÑтник $Projectname</a>."
-#: ../../Zotlabs/Module/Like.php:117 ../../Zotlabs/Module/Like.php:143
-#: ../../Zotlabs/Module/Like.php:181
+#: ../../Zotlabs/Module/Like.php:154 ../../Zotlabs/Module/Like.php:180
+#: ../../Zotlabs/Module/Like.php:218
msgid "Invalid request."
msgstr "Ðеверный запроÑ."
-#: ../../Zotlabs/Module/Like.php:158
+#: ../../Zotlabs/Module/Like.php:195
msgid "thing"
msgstr "предмет"
-#: ../../Zotlabs/Module/Like.php:204
+#: ../../Zotlabs/Module/Like.php:241
msgid "Channel unavailable."
msgstr "Канал недоÑтупен."
-#: ../../Zotlabs/Module/Like.php:240
+#: ../../Zotlabs/Module/Like.php:277
msgid "Previous action reversed."
msgstr "Предыдущее дейÑтвие отменено."
-#: ../../Zotlabs/Module/Like.php:386 ../../Zotlabs/Module/Subthread.php:112
-#: ../../extend/addon/hzaddons/pubcrawl/as.php:1881
+#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Subthread.php:112
+#: ../../extend/addon/hzaddons/pubcrawl/as.php:2057
#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1601
msgid "status"
msgstr "ÑтатуÑ"
-#: ../../Zotlabs/Module/Like.php:426
+#: ../../Zotlabs/Module/Like.php:473
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr "%1$s ÑоглаÑен Ñ %2$s %3$s"
-#: ../../Zotlabs/Module/Like.php:428
+#: ../../Zotlabs/Module/Like.php:475
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr "%1$s не ÑоглаÑен Ñ %2$s %3$s"
-#: ../../Zotlabs/Module/Like.php:430
+#: ../../Zotlabs/Module/Like.php:477
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr "%1$s воздерживаетÑÑ Ð¾Ñ‚ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ %2$s%3$s"
-#: ../../Zotlabs/Module/Like.php:432
+#: ../../Zotlabs/Module/Like.php:479
#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2188
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%1$s поÑещает %2$s%3$s"
-#: ../../Zotlabs/Module/Like.php:434
+#: ../../Zotlabs/Module/Like.php:481
#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2190
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%1$s не поÑещает %2$s%3$s"
-#: ../../Zotlabs/Module/Like.php:436
+#: ../../Zotlabs/Module/Like.php:483
#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2192
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%1$s может поÑетить %2$s%3$s"
-#: ../../Zotlabs/Module/Like.php:547
+#: ../../Zotlabs/Module/Like.php:592
msgid "Action completed."
msgstr "ДейÑтвие завершено."
-#: ../../Zotlabs/Module/Like.php:548
+#: ../../Zotlabs/Module/Like.php:593
msgid "Thank you."
msgstr "СпаÑибо."
@@ -7657,7 +7732,7 @@ msgstr ""
msgid "from the terminal."
msgstr "из терминала."
-#: ../../Zotlabs/Module/Attach.php:13
+#: ../../Zotlabs/Module/Attach.php:67
msgid "Item not available."
msgstr "Элемент недоÑтупен."
@@ -9597,7 +9672,7 @@ msgstr "%1$s отÑлеживает %2$s's %3$s"
msgid "%1$s stopped following %2$s's %3$s"
msgstr "%1$s прекратил отÑлеживать %2$s's %3$s"
-#: ../../Zotlabs/Module/Rpost.php:144 ../../Zotlabs/Module/Editpost.php:109
+#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:109
msgid "Edit post"
msgstr "Редактировать Ñообщение"
@@ -9666,20 +9741,20 @@ msgstr "URL Ð´Ð»Ñ Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ (необÑзательно)"
msgid "Add Thing to your Profile"
msgstr "Добавить к вашему профилю"
-#: ../../Zotlabs/Module/Hq.php:140
+#: ../../Zotlabs/Module/Hq.php:131
msgid "Welcome to Hubzilla!"
msgstr "Добро пожаловать в Hubzilla!"
-#: ../../Zotlabs/Module/Hq.php:140
+#: ../../Zotlabs/Module/Hq.php:131
msgid "You have got no unseen posts..."
msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ непроÑмотренных публикаций..."
-#: ../../Zotlabs/Module/Search.php:231
+#: ../../Zotlabs/Module/Search.php:222
#, php-format
msgid "Items tagged with: %s"
msgstr "Объекты помечены как: %s"
-#: ../../Zotlabs/Module/Search.php:233
+#: ../../Zotlabs/Module/Search.php:224
#, php-format
msgid "Search results for: %s"
msgstr "Результаты поиÑка длÑ: %s"
@@ -10470,15 +10545,15 @@ msgstr "(Владельцем канала не было предÑтавленÐ
msgid "Restricted or Premium Channel"
msgstr "Ограниченный или премиальный канал"
-#: ../../Zotlabs/Module/Cloud.php:116
+#: ../../Zotlabs/Module/Cloud.php:120
msgid "Not found"
msgstr "Ðе найдено."
-#: ../../Zotlabs/Module/Cloud.php:122
+#: ../../Zotlabs/Module/Cloud.php:126
msgid "Please refresh page"
msgstr "ПожалуйÑта обновите Ñтраницу"
-#: ../../Zotlabs/Module/Cloud.php:125
+#: ../../Zotlabs/Module/Cloud.php:129
msgid "Unknown error"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
@@ -10608,10 +10683,6 @@ msgstr "Ошибка при Ñоздании zip-файла при ÑкÑпорÑ
msgid "Error downloading wiki: "
msgstr "Ошибка загрузки Wiki:"
-#: ../../Zotlabs/Module/Wiki.php:212
-msgid "Download"
-msgstr "Загрузить"
-
#: ../../Zotlabs/Module/Wiki.php:216
msgid "Wiki name"
msgstr "Ðазвание Wiki"
@@ -10747,15 +10818,15 @@ msgstr "Сообщение Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ email отправлено п
msgid "Unable to resend email verification message."
msgstr "Ðевозможно повторно отправить Ñообщение Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ email"
-#: ../../Zotlabs/Module/Filer.php:52
+#: ../../Zotlabs/Module/Filer.php:53
msgid "Enter a folder name"
msgstr "Введите название каталога"
-#: ../../Zotlabs/Module/Filer.php:52
+#: ../../Zotlabs/Module/Filer.php:53
msgid "or select an existing folder (doubleclick)"
msgstr "или выберите ÑущеÑтвующий каталог (двойной щелчок)"
-#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Lib/ThreadItem.php:184
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Lib/ThreadItem.php:184
msgid "Save to Folder"
msgstr "Сохранить в каталог"
@@ -10835,52 +10906,52 @@ msgstr "Ваш клаÑÑ Ð¾Ð±ÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚ тольк
msgid "No channel. Import failed."
msgstr "Канала нет. Импорт невозможен."
-#: ../../Zotlabs/Module/Import.php:597
+#: ../../Zotlabs/Module/Import.php:593
#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:142
msgid "Import completed."
msgstr "Импорт завершен."
-#: ../../Zotlabs/Module/Import.php:625
+#: ../../Zotlabs/Module/Import.php:621
msgid "You must be logged in to use this feature."
msgstr "Ð’Ñ‹ должны войти в ÑиÑтему, чтобы иÑпользовать Ñту функцию."
-#: ../../Zotlabs/Module/Import.php:630
+#: ../../Zotlabs/Module/Import.php:626
msgid "Import Channel"
msgstr "Импортировать канал"
-#: ../../Zotlabs/Module/Import.php:631
+#: ../../Zotlabs/Module/Import.php:627
msgid ""
"Use this form to import an existing channel from a different server/hub. You "
"may retrieve the channel identity from the old server/hub via the network or "
"provide an export file."
msgstr "ИÑпользуйте Ñту форм Ð´Ð»Ñ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° ÑущеÑтвующего канала Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñервера / хаба. Ð’Ñ‹ можете получить идентификационные данные канала Ñо Ñтарого Ñервера / хаба через Ñеть или предоÑтавить файл ÑкÑпорта."
-#: ../../Zotlabs/Module/Import.php:632
+#: ../../Zotlabs/Module/Import.php:628
#: ../../Zotlabs/Module/Import_items.php:127
msgid "File to Upload"
msgstr "Файл Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸"
-#: ../../Zotlabs/Module/Import.php:633
+#: ../../Zotlabs/Module/Import.php:629
msgid "Or provide the old server/hub details"
msgstr "или предоÑтавьте данные Ñтарого Ñервера"
-#: ../../Zotlabs/Module/Import.php:635
+#: ../../Zotlabs/Module/Import.php:631
msgid "Your old identity address (xyz@example.com)"
msgstr "Ваш Ñтарый Ð°Ð´Ñ€ÐµÑ ÐºÐ°Ð½Ð°Ð»Ð° (xyz@example.com)"
-#: ../../Zotlabs/Module/Import.php:636
+#: ../../Zotlabs/Module/Import.php:632
msgid "Your old login email address"
msgstr "Ваш Ñтарый Ð°Ð´Ñ€ÐµÑ Ñлектронной почты"
-#: ../../Zotlabs/Module/Import.php:637
+#: ../../Zotlabs/Module/Import.php:633
msgid "Your old login password"
msgstr "Ваш Ñтарый пароль"
-#: ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:634
msgid "Import a few months of posts if possible (limited by available memory"
msgstr "Импортировать неÑколько меÑÑцев публикаций еÑли возможно (ограничено доÑтупной памÑтью)"
-#: ../../Zotlabs/Module/Import.php:640
+#: ../../Zotlabs/Module/Import.php:636
msgid ""
"For either option, please choose whether to make this hub your new primary "
"address, or whether your old location should continue this role. You will be "
@@ -10888,25 +10959,25 @@ msgid ""
"location for files, photos, and media."
msgstr "Ð”Ð»Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ варианта, пожалуйÑта, выберите, Ñледует ли Ñделать Ñтот хаб вашим новым оÑновным адреÑом, или ваше прежнее меÑтоположение должно продолжить выполнÑть Ñту роль. Ð’Ñ‹ Ñможете отправлÑть ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð· любого меÑтоположениÑ, но только одно может быть помечено как оÑновное меÑто Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², фотографий и мультимедиа."
-#: ../../Zotlabs/Module/Import.php:642
+#: ../../Zotlabs/Module/Import.php:638
msgid "Make this hub my primary location"
msgstr "Сделать Ñтот хаб главным"
-#: ../../Zotlabs/Module/Import.php:643
+#: ../../Zotlabs/Module/Import.php:639
msgid "Move this channel (disable all previous locations)"
msgstr "ПеремеÑтить Ñто канал (отключить вÑе предыдущие меÑтораÑположениÑ)"
-#: ../../Zotlabs/Module/Import.php:644
+#: ../../Zotlabs/Module/Import.php:640
msgid "Use this channel nickname instead of the one provided"
msgstr "ИÑпользовать пÑевдоним Ñтого канала вмеÑто предоÑтавленного"
-#: ../../Zotlabs/Module/Import.php:644
+#: ../../Zotlabs/Module/Import.php:640
msgid ""
"Leave blank to keep your existing channel nickname. You will be randomly "
"assigned a similar nickname if either name is already allocated on this site."
msgstr "ОÑтавьте пуÑтым Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑущеÑтвующего пÑевдонима канала. Вам будет Ñлучайным образом назначен похожий пÑевдоним еÑли такое Ð¸Ð¼Ñ ÑƒÐ¶Ðµ выделено на Ñтом Ñайте."
-#: ../../Zotlabs/Module/Import.php:646
+#: ../../Zotlabs/Module/Import.php:642
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
@@ -12333,10 +12404,6 @@ msgstr "ПриглаÑить"
msgid "Language"
msgstr "Язык"
-#: ../../Zotlabs/Lib/Apps.php:360
-msgid "Post"
-msgstr "ПубликациÑ"
-
#: ../../Zotlabs/Lib/Apps.php:361
#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:58
#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:59
@@ -15171,7 +15238,7 @@ msgstr "журнал изменений"
#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:54
msgid "change log"
-msgstr "в иÑтории git"
+msgstr "иÑторию git"
#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:55
msgid "for further info."
diff --git a/view/ru/hstrings.php b/view/ru/hstrings.php
index 9c312a89d..2251db42a 100644
--- a/view/ru/hstrings.php
+++ b/view/ru/hstrings.php
@@ -428,7 +428,6 @@ App::$strings["Export to cloud files"] = "ЭÑкпортировать в Ñет
App::$strings["/path/to/export/folder"] = "";
App::$strings["Enter a path to a cloud files destination."] = "Введите путь к раÑположению Ñетевых файлов.";
App::$strings["Specify folder"] = "Указать каталог";
-App::$strings["Collection"] = "КоллекциÑ";
App::$strings["Unable to import a removed channel."] = "Ðевозможно импортировать удалённый канал.";
App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Ðе удалоÑÑŒ Ñоздать дублирующийÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ канала. Импорт невозможен.";
App::$strings["Unable to create a unique channel address. Import failed."] = "Ðе удалоÑÑŒ Ñоздать уникальный Ð°Ð´Ñ€ÐµÑ ÐºÐ°Ð½Ð°Ð»Ð°. Импорт не завершен.";
@@ -740,6 +739,7 @@ App::$strings["__ctx:calendar__ month"] = "меÑÑц";
App::$strings["__ctx:calendar__ week"] = "неделÑ";
App::$strings["__ctx:calendar__ day"] = "день";
App::$strings["__ctx:calendar__ All day"] = "ВеÑÑŒ день";
+App::$strings["Please stand by while your download is being prepared."] = "ПожалуйÑта, подождите, пока готовитÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°.";
App::$strings["Directory Options"] = "Параметры каталога";
App::$strings["Safe Mode"] = "БезопаÑный режим";
App::$strings["Public Forums Only"] = "Только публичные форумы";
@@ -803,8 +803,8 @@ App::$strings["%1\$s's birthday"] = "День Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ %1\$s";
App::$strings["Happy Birthday %1\$s"] = "С Днем Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ %1\$s !";
App::$strings["Visible to your default audience"] = "Видно вашей аудитории по умолчанию.";
App::$strings["Profile-Based Privacy Groups"] = "Группы конфиденциальноÑти оÑнованные на профиле";
-App::$strings["Forums"] = "Форумы";
App::$strings["Private Forum"] = "ЧаÑтный форум";
+App::$strings["Forums"] = "Форумы";
App::$strings["Only me"] = "Только мне";
App::$strings["Share with"] = "ПоделитьÑÑ Ñ";
App::$strings["Custom selection"] = "ÐаÑтраиваемый выбор";
@@ -923,11 +923,12 @@ App::$strings["[\$Projectname] Website SSL error for %s"] = "[\$Projectname] ОÑ
App::$strings["Website SSL certificate is not valid. Please correct."] = "SSL/TLS Ñертификат веб-Ñайт недейÑтвителен. ИÑправьте Ñто.";
App::$strings["[\$Projectname] Cron tasks not running on %s"] = "[\$Projectname] Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Cron не запущены на %s";
App::$strings["Cron/Scheduled tasks not running."] = "Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Cron / планировщика не запущены.";
-App::$strings["parent"] = "иÑточник";
-App::$strings["Principal"] = "Субъект";
-App::$strings["Addressbook"] = "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°";
-App::$strings["Schedule Inbox"] = "План занÑтий входÑщий";
-App::$strings["Schedule Outbox"] = "План занÑтий иÑходÑщий";
+App::$strings["Change filename to"] = "Переименовать файл в";
+App::$strings["Select a target location"] = "Выбрать меÑто назначениÑ";
+App::$strings["Copy to target location"] = "Скопировать в меÑто назнаениÑ";
+App::$strings["Set permissions for all files and sub folders"] = "УÑтановить Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñех файлов и подкаталогов";
+App::$strings["Notify your contacts about this file"] = "Сообщить Ñвоим контактам об Ñтом файле";
+App::$strings["File category"] = "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°";
App::$strings["Total"] = "Ð’Ñего";
App::$strings["Shared"] = "Общие";
App::$strings["Create"] = "Создать";
@@ -936,6 +937,20 @@ App::$strings["Admin Delete"] = "Удалено админиÑтратором";
App::$strings["Name"] = "ИмÑ";
App::$strings["Type"] = "Тип";
App::$strings["Last Modified"] = "ПоÑледнее изменение";
+App::$strings["parent"] = "иÑточник";
+App::$strings["Copy/paste this code to attach file to a post"] = "Копировать / вÑтавить Ñтот код Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° к публикации";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Копировать / вÑтавить Ñту URL Ð´Ð»Ñ ÑÑылки на файл Ñо Ñтраницы";
+App::$strings["Select All"] = "Выбрать вÑÑ‘";
+App::$strings["Bulk Actions"] = "Ð“Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°";
+App::$strings["Adjust Permissions"] = "ÐаÑтроить разрешениÑ";
+App::$strings["Move or Copy"] = "ПеремеÑтить или копировать";
+App::$strings["Download"] = "Загрузить";
+App::$strings["Info"] = "ИнформациÑ";
+App::$strings["Rename"] = "Переименовать";
+App::$strings["Post"] = "ПубликациÑ";
+App::$strings["Attachment BBcode"] = "Вложение BBcode";
+App::$strings["Embed BBcode"] = "Ð’Ñтраивание BBcode";
+App::$strings["Link BBcode"] = "СÑылка BBcode";
App::$strings["You are using %1\$s of your available file storage."] = "Ð’Ñ‹ иÑпользуете %1\$s из доÑтупного вам хранилища файлов.";
App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)"] = "Ð’Ñ‹ иÑпользуете %1\$s из %2\$s доÑтупного хранилища файлов (%3\$s&#37;).";
App::$strings["WARNING:"] = "Предупреждение:";
@@ -1019,6 +1034,10 @@ App::$strings["Unable to obtain post information from database."] = "ÐевозÐ
App::$strings["You have reached your limit of %1$.0f top level posts."] = "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f публикаций выÑокого уровнÑ.";
App::$strings["You have reached your limit of %1$.0f webpages."] = "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f Ñтраниц.";
App::$strings["Some blurb about what to do when you're new here"] = "Ðекоторые Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ том, что делать, еÑли вы здеÑÑŒ новичок ";
+App::$strings["Channel not found."] = "Канал не найден.";
+App::$strings["File not found."] = "Файл не найден.";
+App::$strings["Can not copy folder into itself."] = "Ðевозможно Ñкопировать каталог в Ñамого ÑебÑ.";
+App::$strings["Can not move folder \"%s\" into itself."] = "Ðевозможно Ñкопировать каталог \"%s\" в Ñамого ÑебÑ.";
App::$strings["Public access denied."] = "Публичный доÑтуп запрещен.";
App::$strings["You must enable javascript for your browser to be able to view this content."] = "Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñмотра Ñтого Ñодержимого в вашем браузере должен быть включён JavaScript";
App::$strings["Article"] = "СтатьÑ";
@@ -1277,7 +1296,6 @@ App::$strings["__ctx:noun__ Dislikes"] = "Ðе нравитÑÑ";
App::$strings["Tag removed"] = "Тег удалён";
App::$strings["Remove Item Tag"] = "Удалить тег Ñлемента";
App::$strings["Select a tag to remove: "] = "Выбрать тег Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ:";
-App::$strings["Channel not found."] = "Канал не найден.";
App::$strings["toggle full screen mode"] = "переключение полноÑкранного режима";
App::$strings["Invalid item."] = "ÐедейÑтвительный Ñлемент.";
App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "";
@@ -1532,8 +1550,6 @@ App::$strings["Maximum of 30 items"] = "Ðе более 30 Ñлементов";
App::$strings["Show emoticons (smilies) as images"] = "Показывать Ñмотиконы (Ñмайлики) как изображениÑ";
App::$strings["Provide channel menu in navigation bar"] = "Показывать меню канала в панели навигации";
App::$strings["Default: channel menu located in app menu"] = "По умолчанию каналы раÑположены в меню приложениÑ";
-App::$strings["Manual conversation updates"] = "Обновление беÑед вручную";
-App::$strings["Default is on, turning this off may increase screen jumping"] = "Включено по умолчанию, выключение может привеÑти к рывкам в отображении";
App::$strings["Link post titles to source"] = "СÑылки на иÑточник заголовков публикаций";
App::$strings["New Member Links"] = "СÑылки Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ‡ÐºÐ¾Ð²";
App::$strings["Display new member quick links menu"] = "Показать меню быÑтрых ÑÑылок Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… учаÑтников";
@@ -1653,14 +1669,12 @@ App::$strings["Available Apps"] = "ДоÑтупные приложениÑ";
App::$strings["Installed Apps"] = "УÑтановленные приложениÑ";
App::$strings["Manage Apps"] = "Управление приложениÑми";
App::$strings["Create Custom App"] = "Создать пользовательÑкое приложение";
-App::$strings["File not found."] = "Файл не найден.";
+App::$strings["Deprecated!"] = "Ðе рекомендовано!";
App::$strings["Permission Denied."] = "ДоÑтуп запрещен.";
App::$strings["Edit file permissions"] = "Редактировать Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°";
App::$strings["Set/edit permissions"] = "Редактировать разрешениÑ";
App::$strings["Include all files and sub folders"] = "Включить вÑе файлы и подкаталоги";
App::$strings["Return to file list"] = "ВернутÑÑ Ðº ÑпиÑку файлов";
-App::$strings["Copy/paste this code to attach file to a post"] = "Копировать / вÑтавить Ñтот код Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° к публикации";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Копировать / вÑтавить Ñту URL Ð´Ð»Ñ ÑÑылки на файл Ñо Ñтраницы";
App::$strings["Share this file"] = "ПоделитьÑÑ Ñтим файлом";
App::$strings["Show URL to this file"] = "Показать URL Ñтого файла";
App::$strings["Block Name"] = "Ðазвание блока";
@@ -2387,7 +2401,6 @@ App::$strings["Invalid channel"] = "ÐедейÑтвительный канал"
App::$strings["Error retrieving wiki"] = "Ошибка при получении Wiki";
App::$strings["Error creating zip file export folder"] = "Ошибка при Ñоздании zip-файла при ÑкÑпорте каталога";
App::$strings["Error downloading wiki: "] = "Ошибка загрузки Wiki:";
-App::$strings["Download"] = "Загрузить";
App::$strings["Wiki name"] = "Ðазвание Wiki";
App::$strings["Content type"] = "Тип Ñодержимого";
App::$strings["Any&nbsp;type"] = "Любой&nbsp;тип";
@@ -2787,7 +2800,6 @@ App::$strings["Suggest"] = "Предложить";
App::$strings["Random Channel"] = "Случайный канал";
App::$strings["Invite"] = "ПриглаÑить";
App::$strings["Language"] = "Язык";
-App::$strings["Post"] = "ПубликациÑ";
App::$strings["Profile Photo"] = "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ";
App::$strings["Notifications"] = "ОповещениÑ";
App::$strings["Order Apps"] = "ПорÑдок приложений";
@@ -3436,7 +3448,7 @@ App::$strings["Rainbow Tag"] = "Радуга тегов";
App::$strings["Your channel has been upgraded to \$Projectname version"] = "Ваш канал был обновлён до верÑии \$Projectname";
App::$strings["Please have a look at the"] = "ПожалуйÑта, взглÑните на";
App::$strings["git history"] = "журнал изменений";
-App::$strings["change log"] = "в иÑтории git";
+App::$strings["change log"] = "иÑторию git";
App::$strings["for further info."] = "Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ñ… Ñведений.";
App::$strings["Upgrade Info"] = "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± обновлении";
App::$strings["Do not show this again"] = "Больше не показывать";
diff --git a/view/tpl/404.tpl b/view/tpl/404.tpl
index c9b51a63b..c9b51a63b 100755..100644
--- a/view/tpl/404.tpl
+++ b/view/tpl/404.tpl
diff --git a/view/tpl/abook_edit.tpl b/view/tpl/abook_edit.tpl
index 6ff7bffcd..6ff7bffcd 100755..100644
--- a/view/tpl/abook_edit.tpl
+++ b/view/tpl/abook_edit.tpl
diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl
index c58a345e5..c58a345e5 100755..100644
--- a/view/tpl/acl_selector.tpl
+++ b/view/tpl/acl_selector.tpl
diff --git a/view/tpl/admin_accounts.tpl b/view/tpl/admin_accounts.tpl
index 2dd56c8dc..2dd56c8dc 100755..100644
--- a/view/tpl/admin_accounts.tpl
+++ b/view/tpl/admin_accounts.tpl
diff --git a/view/tpl/admin_aside.tpl b/view/tpl/admin_aside.tpl
index 99f139e57..99f139e57 100755..100644
--- a/view/tpl/admin_aside.tpl
+++ b/view/tpl/admin_aside.tpl
diff --git a/view/tpl/admin_channels.tpl b/view/tpl/admin_channels.tpl
index f8584c84a..f8584c84a 100755..100644
--- a/view/tpl/admin_channels.tpl
+++ b/view/tpl/admin_channels.tpl
diff --git a/view/tpl/admin_logs.tpl b/view/tpl/admin_logs.tpl
index 5643bb42f..5643bb42f 100755..100644
--- a/view/tpl/admin_logs.tpl
+++ b/view/tpl/admin_logs.tpl
diff --git a/view/tpl/admin_plugins.tpl b/view/tpl/admin_plugins.tpl
index d8e1a6711..d8e1a6711 100755..100644
--- a/view/tpl/admin_plugins.tpl
+++ b/view/tpl/admin_plugins.tpl
diff --git a/view/tpl/admin_plugins_details.tpl b/view/tpl/admin_plugins_details.tpl
index 309fc9569..309fc9569 100755..100644
--- a/view/tpl/admin_plugins_details.tpl
+++ b/view/tpl/admin_plugins_details.tpl
diff --git a/view/tpl/admin_security.tpl b/view/tpl/admin_security.tpl
index 3cc23f5b2..3cc23f5b2 100755..100644
--- a/view/tpl/admin_security.tpl
+++ b/view/tpl/admin_security.tpl
diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl
index 8d32ba9a4..8d32ba9a4 100755..100644
--- a/view/tpl/admin_site.tpl
+++ b/view/tpl/admin_site.tpl
diff --git a/view/tpl/admin_summary.tpl b/view/tpl/admin_summary.tpl
index 8125703d7..8125703d7 100755..100644
--- a/view/tpl/admin_summary.tpl
+++ b/view/tpl/admin_summary.tpl
diff --git a/view/tpl/album_edit.tpl b/view/tpl/album_edit.tpl
index f5495f149..f5495f149 100755..100644
--- a/view/tpl/album_edit.tpl
+++ b/view/tpl/album_edit.tpl
diff --git a/view/tpl/atom_feed.tpl b/view/tpl/atom_feed.tpl
index 8dc145ae9..8dc145ae9 100755..100644
--- a/view/tpl/atom_feed.tpl
+++ b/view/tpl/atom_feed.tpl
diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl
index 83e756367..af70a9595 100755..100644
--- a/view/tpl/build_query.tpl
+++ b/view/tpl/build_query.tpl
@@ -1,4 +1,4 @@
-<script>
+<script>
var bParam_cmd = "{{$baseurl}}/update/{{$pgtype}}";
@@ -6,6 +6,10 @@
var conv_mode = '{{$conv_mode}}';
{{/if}}
+ {{if $page_mode}}
+ var page_mode = '{{$page_mode}}';
+ {{/if}}
+
var bParam_uid = {{$uid}};
var bParam_gid = {{$gid}};
var bParam_cid = {{$cid}};
diff --git a/view/tpl/cal_calendar.tpl b/view/tpl/cal_calendar.tpl
index 93ebaa235..93ebaa235 100755..100644
--- a/view/tpl/cal_calendar.tpl
+++ b/view/tpl/cal_calendar.tpl
diff --git a/view/tpl/cal_event.tpl b/view/tpl/cal_event.tpl
index d7662786b..d7662786b 100755..100644
--- a/view/tpl/cal_event.tpl
+++ b/view/tpl/cal_event.tpl
diff --git a/view/tpl/categories_widget.tpl b/view/tpl/categories_widget.tpl
index fd27dca44..fd27dca44 100755..100644
--- a/view/tpl/categories_widget.tpl
+++ b/view/tpl/categories_widget.tpl
diff --git a/view/tpl/channel.tpl b/view/tpl/channel.tpl
index 63e09ec05..63e09ec05 100755..100644
--- a/view/tpl/channel.tpl
+++ b/view/tpl/channel.tpl
diff --git a/view/tpl/channel_import.tpl b/view/tpl/channel_import.tpl
index c7cbb1742..c7cbb1742 100755..100644
--- a/view/tpl/channel_import.tpl
+++ b/view/tpl/channel_import.tpl
diff --git a/view/tpl/channel_rename.tpl b/view/tpl/channel_rename.tpl
index 9948dc647..9948dc647 100755..100644
--- a/view/tpl/channel_rename.tpl
+++ b/view/tpl/channel_rename.tpl
diff --git a/view/tpl/channels.tpl b/view/tpl/channels.tpl
index 695b3b30f..695b3b30f 100755..100644
--- a/view/tpl/channels.tpl
+++ b/view/tpl/channels.tpl
diff --git a/view/tpl/chanview.tpl b/view/tpl/chanview.tpl
index 39fafaf8e..39fafaf8e 100755..100644
--- a/view/tpl/chanview.tpl
+++ b/view/tpl/chanview.tpl
diff --git a/view/tpl/cloud_actionspanel.tpl b/view/tpl/cloud_actionspanel.tpl
index 039d19fac..8cab175ff 100644
--- a/view/tpl/cloud_actionspanel.tpl
+++ b/view/tpl/cloud_actionspanel.tpl
@@ -31,7 +31,7 @@
<input type="hidden" name="return_url" value="{{$return_url}}" />
{{include file="field_checkbox.tpl" field=$notify}}
<div class="cloud-index attach-drop attach-drop-zone text-center p-4 mb-3" data-folder="{{$folder}}">
- <span class="text-muted">You can select files via the upload button or drop them right here or into an existing folder.</span>
+ <span class="text-muted">{{$drop_area_label}}</span>
</div>
<div class="pull-right btn-group">
<div class="btn-group">
diff --git a/view/tpl/cloud_directory.tpl b/view/tpl/cloud_directory.tpl
index 5886391bb..ac8304b96 100644
--- a/view/tpl/cloud_directory.tpl
+++ b/view/tpl/cloud_directory.tpl
@@ -1,46 +1,42 @@
-<div class="section-content-wrapper-np">
+<div class="{{if $tiles}}section-content-wrapper{{else}}section-content-wrapper-np{{/if}}">
{{if $tiles}}
<table id="cloud-index">
<tr id="new-upload-progress-bar-1"></tr> {{* this is needed to append the upload files in the right order *}}
</table>
-
- {{if $parentpath}}
- <div class="cloud-container" >
- <div class="cloud-icon tiles">
- <a href="{{$parentpath}}">
- <div class="cloud-icon-container">
- <i class="fa fa-fw fa-level-up" ></i>
- </div>
- </a>
- </div>
- <div class="cloud-title">
- <a href="{{$parentpath}}">..</a>
- </div>
- </div>
- {{/if}}
-
- {{foreach $entries as $item}}
- <div class="cloud-container">
- <div class="cloud-icon tiles"><a href="{{$item.rel_path}}">
- {{if $item.photo_icon}}
- <img src="{{$item.photo_icon}}" title="{{$item.type}}" >
- {{else}}
- <div class="cloud-icon-container">
- <i class="fa fa-fw {{$item.icon_from_type}}" title="{{$item.type}}"></i>
+ <div class="row row-cols-2 row-cols-md-4">
+ {{if $parentpath}}
+ <div class="col mb-4">
+ <div class="card h-100">
+ <a href="{{$parentpath}}" class="text-decoration-none">
+ <div class="d-flex align-items-center justify-content-center m-1" style="height: 4.5rem;">
+ <i class="fa fa-fw fa-level-up fa-5x" style="font-size: 4rem"></i>
+ </div>
+ <div class="card-footer text-center">
+ <small class="text-muted text-truncate">..</small>
+ </div>
+ </a>
+ </div>
</div>
{{/if}}
+ {{foreach $entries as $item}}
+ <div class="col mb-4">
+ <div class="card h-100">
+ <a href="{{$item.rel_path}}" title="{{$item.name}}" class="text-decoration-none">
+ <div class="d-flex align-items-center justify-content-center m-1" style="height: 4.5rem;">
+ {{if $item.photo_icon}}
+ <img src="{{$item.photo_icon}}" class="rounded" alt="{{$item.photo_icon}}" title="{{$item.size_formatted}}" style="max-height: 4rem; width: auto; max-width: 100%;">
+ {{else}}
+ <i class="fa fa-fw {{$item.icon_from_type}}" title="{{$item.size_formatted}}" style="font-size: 4rem"></i>
+ {{/if}}
+ </div>
+ <div class="card-footer text-truncate text-center">
+ <small class="text-muted">{{$item.name}}</small>
+ </div>
+ </a>
+ </div>
</div>
- <div class="cloud-title">
- <a href="{{$item.rel_path}}">
- {{$item.name}}
- </a>
- </div>
- {{if $item.is_owner}}
- {{* add file tools here*}}
- {{/if}}
+ {{/foreach}}
</div>
- {{/foreach}}
- <div class="clear"></div>
{{else}}
<table id="cloud-index">
<tr>
@@ -67,37 +63,37 @@
<tr id="cloud-multi-actions">
<td colspan="2">
<div class="form-check form-check-inline">
- <input class="form-check-input" type="checkbox" id="cloud-multi-tool-select-all" value="" title="Select all">
+ <input class="form-check-input" type="checkbox" id="cloud-multi-tool-select-all" value="" title="{{$select_all_label}}">
</div>
</td>
<td colspan="3">
<div class="form-check form-check-inline">
- <label class="form-check-label" for="cloud-multi-tool-select-all">Select all</label>
+ <label class="form-check-label" for="cloud-multi-tool-select-all">{{$select_all_label}}</label>
</div>
</td>
<td colspan="3">
{{if $is_owner}}
<div class="dropdown">
<button class="btn btn-warning btn-sm" id="multi-dropdown-button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">Bulk Actions</span>
+ <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">{{$bulk_actions_label}}</span>
</button>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-button">
{{if $is_owner}}
- <a id="cloud-multi-tool-perms-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-lock"></i> Adjust permissions</a>
+ <a id="cloud-multi-tool-perms-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-lock"></i> {{$adjust_permissions_label}}</a>
{{/if}}
- <a id="cloud-multi-tool-move-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-copy"></i> Move or copy</a>
- <a id="cloud-multi-tool-categories-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-asterisk"></i> Categories</a>
- <a id="cloud-multi-tool-download-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-cloud-download"></i> Download</a>
- <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$delete}}</a>
+ <a id="cloud-multi-tool-move-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-copy"></i> {{$move_copy_label}}</a>
+ <a id="cloud-multi-tool-categories-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-asterisk"></i> {{$categories_label}}</a>
+ <a id="cloud-multi-tool-download-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a>
+ <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$delete_label}}</a>
</div>
</div>
{{else if $is_admin}}
<div class="dropdown">
<button class="btn btn-warning btn-sm" id="multi-dropdown-button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">Bulk Actions</span>
+ <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">{{$bulk_actions_label}}</span>
</button>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-button">
- <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete}}</a>
+ <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete_label}}</a>
</div>
</div>
{{/if}}
@@ -122,7 +118,7 @@
{{/if}}
<div id="attach-multi-submit" class="form-group">
<button id="cloud-multi-tool-cancel-btn" class="btn btn-outline-secondary btn-sm cloud-multi-tool-cancel-btn" type="button">
- Cancel
+ {{$cancel_label}}
</button>
<div id="attach-multi-edit-perms" class="btn-group float-right">
{{if $is_owner}}
@@ -131,7 +127,7 @@
</button>
{{/if}}
<button id="multi-dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="submit">
- {{$edit}}
+ {{$submit_label}}
</button>
</div>
</div>
@@ -160,28 +156,28 @@
{{/if}}
</td>
<td class="cloud-index-tool">
- {{if ($item.is_owner || $item.is_creator) && $item.attach_id}}
+ {{if ($is_owner || $item.is_creator) && $item.attach_id}}
<div class="dropdown">
<button class="btn btn-link btn-sm" id="dropdown-button-{{$item.attach_id}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-fw fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-button-{{$item.attach_id}}">
- <a id="cloud-tool-info-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-info-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-info"></i> Info</a>
- {{if $item.is_owner}}
- <a id="cloud-tool-perms-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-perms-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-{{$item.lockstate}}"></i> Adjust permissions</a>
- {{/if}}
- <a id="cloud-tool-rename-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-rename-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-pencil"></i> Rename</a>
- <a id="cloud-tool-move-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-move-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-copy"></i> Move or copy</a>
- <a id="cloud-tool-categories-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-categories-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-asterisk"></i> Categories</a>
- {{if $item.is_owner}}
- <a id="cloud-tool-share-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-share-btn" href="/rpost?attachment=[attachment]{{$item.resource}},{{$item.revision}}[/attachment]&acl[allow_cid]={{$item.raw_allow_cid}}&acl[allow_gid]={{$item.raw_allow_gid}}&acl[deny_cid]={{$item.raw_deny_cid}}&acl[deny_gid]={{$item.raw_deny_gid}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-share-square-o"></i> Post</a>
+ <a id="cloud-tool-info-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-info-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-info"></i> {{$info_label}}</a>
+ {{if $is_owner}}
+ <a id="cloud-tool-perms-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-perms-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-{{$item.lockstate}}"></i> {{$adjust_permissions_label}}</a>
{{/if}}
+ <a id="cloud-tool-rename-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-rename-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-pencil"></i> {{$rename_label}}</a>
+ <a id="cloud-tool-move-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-move-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-copy"></i> {{$move_copy_label}}</a>
+ <a id="cloud-tool-categories-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-categories-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-asterisk"></i> {{$categories_label}}</a>
{{if $item.collection}}
- <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> Download</a>
+ <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a>
{{else}}
- <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> Download</a>
+ {{if $is_owner}}
+ <a id="cloud-tool-share-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-share-btn" href="/rpost?attachment=[attachment]{{$item.resource}},{{$item.revision}}[/attachment]&acl[allow_cid]={{$item.raw_allow_cid}}&acl[allow_gid]={{$item.raw_allow_gid}}&acl[deny_cid]={{$item.raw_deny_cid}}&acl[deny_gid]={{$item.raw_deny_gid}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-share-square-o"></i> {{$post_label}}</a>
+ {{/if}}
+ <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a>
{{/if}}
- <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$delete}}</a>
+ <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$delete_label}}</a>
</div>
</div>
{{else}}
@@ -192,12 +188,12 @@
</button>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-button-{{$item.attach_id}}">
{{if $item.collection}}
- <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> Download</a>
+ <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a>
{{else}}
- <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> Download</a>
+ <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a>
{{/if}}
{{if $is_admin}}
- <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete}}</a>
+ <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete_label}}</a>
{{/if}}
</div>
</div>
@@ -219,23 +215,23 @@
<div id="cloud-tool-info-{{$item.attach_id}}" class="cloud-tool">
{{if ! $item.collection}}
<div class="form-group">
- <label for="attach-code-input-{{$item.attach_id}}">Attachment BBcode</label>
+ <label for="attach-code-input-{{$item.attach_id}}">{{$attach_bbcode_label}}</label>
<input type="text" class="form-control" id="attach-code-input-{{$item.attach_id}}" name="attach-code-input-{{$item.attach_id}}" value="{{$item.attach_bbcode}}" onclick="this.select();" />
</div>
{{if $item.embed_bbcode}}
<div class="form-group">
- <label for="embed-code-input-{{$item.attach_id}}">Embed BBcode</label>
+ <label for="embed-code-input-{{$item.attach_id}}">{{$embed_bbcode_label}}</label>
<input type="text" class="form-control" id="embed-code-input-{{$item.attach_id}}" name="embed-code-input-{{$item.attach_id}}" value="{{$item.embed_bbcode}}" onclick="this.select();" />
</div>
{{/if}}
{{/if}}
<div class="form-group">
- <label for="link-code-input-{{$item.attach_id}}">Link BBcode</label>
+ <label for="link-code-input-{{$item.attach_id}}">{{$link_bbcode_label}}</label>
<input type="text" class="form-control" id="link-code-input-{{$item.attach_id}}" name="link-code-input-{{$item.attach_id}}" value="{{$item.link_bbcode}}" onclick="this.select();" />
</div>
<div class="form-group">
<button id="cloud-tool-close-btn-{{$item.attach_id}}" class="btn btn-outline-secondary btn-sm cloud-tool-cancel-btn" type="button" data-id="{{$item.attach_id}}">
- Close
+ {{$close_label}}
</button>
</div>
</div>
@@ -247,22 +243,22 @@
{{include file="field_input.tpl" field=$item.categories}}
</div>
<div id="cloud-tool-submit-{{$item.attach_id}}" class="cloud-tool">
- {{if $item.is_owner}}
+ {{if $is_owner}}
{{if !$item.collection}}{{include file="field_checkbox.tpl" field=$item.notify}}{{/if}}
{{if $item.collection}}{{include file="field_checkbox.tpl" field=$item.recurse}}{{/if}}
{{/if}}
<div id="attach-submit-{{$item.attach_id}}" class="form-group">
<button id="cloud-tool-cancel-btn-{{$item.attach_id}}" class="btn btn-outline-secondary btn-sm cloud-tool-cancel-btn" type="button" data-id="{{$item.attach_id}}">
- Cancel
+ {{$cancel_label}}
</button>
<div id="attach-edit-perms-{{$item.attach_id}}" class="btn-group float-right">
- {{if $item.is_owner}}
+ {{if $is_owner}}
<button id="dbtn-acl-{{$item.attach_id}}" class="btn btn-outline-secondary btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button">
<i id="jot-perms-icon-{{$item.attach_id}}" class="fa fa-{{$item.lockstate}} jot-icons jot-perms-icon"></i>
</button>
{{/if}}
<button id="dbtn-submit-{{$item.attach_id}}" class="btn btn-primary btn-sm" type="submit" name="submit">
- {{$edit}}
+ {{$submit_label}}
</button>
</div>
</div>
diff --git a/view/tpl/cloud_header.tpl b/view/tpl/cloud_header.tpl
index 642fb1866..285363a12 100644
--- a/view/tpl/cloud_header.tpl
+++ b/view/tpl/cloud_header.tpl
@@ -1,6 +1,6 @@
<div class="section-title-wrapper">
<div class="pull-right">
- <a href="cloud_tiles/{{$cpath}}" class="btn btn-sm btn-outline-secondary"><i class="fa fa-fw {{if $tiles}}fa-list-ul{{else}}fa-table{{/if}}"></i></a>
+ <a href="cloud_tiles/{{$cpath}}" class="btn btn-sm btn-outline-secondary"><i class="fa fa-fw {{if $tiles}}fa-th-list{{else}}fa-th-large{{/if}}"></i></a>
{{if $actionspanel}}
{{if $is_owner}}
<a href="/sharedwithme" class="btn btn-sm btn-outline-secondary"><i class="fa fa-cloud-download"></i>&nbsp;{{$shared}}</a>
diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl
index 0b2ef1a1c..0b2ef1a1c 100755..100644
--- a/view/tpl/comment_item.tpl
+++ b/view/tpl/comment_item.tpl
diff --git a/view/tpl/common_friends.tpl b/view/tpl/common_friends.tpl
index b99075210..b99075210 100755..100644
--- a/view/tpl/common_friends.tpl
+++ b/view/tpl/common_friends.tpl
diff --git a/view/tpl/common_pills.tpl b/view/tpl/common_pills.tpl
index e2b018d26..e2b018d26 100755..100644
--- a/view/tpl/common_pills.tpl
+++ b/view/tpl/common_pills.tpl
diff --git a/view/tpl/common_tabs.tpl b/view/tpl/common_tabs.tpl
index 29c46369b..29c46369b 100755..100644
--- a/view/tpl/common_tabs.tpl
+++ b/view/tpl/common_tabs.tpl
diff --git a/view/tpl/connection_template.tpl b/view/tpl/connection_template.tpl
index 86a230c7f..86a230c7f 100755..100644
--- a/view/tpl/connection_template.tpl
+++ b/view/tpl/connection_template.tpl
diff --git a/view/tpl/connections.tpl b/view/tpl/connections.tpl
index fedcff1e3..fedcff1e3 100755..100644
--- a/view/tpl/connections.tpl
+++ b/view/tpl/connections.tpl
diff --git a/view/tpl/contact_block.tpl b/view/tpl/contact_block.tpl
index 580a8a41c..580a8a41c 100755..100644
--- a/view/tpl/contact_block.tpl
+++ b/view/tpl/contact_block.tpl
diff --git a/view/tpl/contact_slider.tpl b/view/tpl/contact_slider.tpl
index 0848df673..0848df673 100755..100644
--- a/view/tpl/contact_slider.tpl
+++ b/view/tpl/contact_slider.tpl
diff --git a/view/tpl/contact_template.tpl b/view/tpl/contact_template.tpl
index 7c8c02ea2..7c8c02ea2 100755..100644
--- a/view/tpl/contact_template.tpl
+++ b/view/tpl/contact_template.tpl
diff --git a/view/tpl/conv.tpl b/view/tpl/conv.tpl
index ddb959b84..ddb959b84 100755..100644
--- a/view/tpl/conv.tpl
+++ b/view/tpl/conv.tpl
diff --git a/view/tpl/conv_frame.tpl b/view/tpl/conv_frame.tpl
index be74dea39..be74dea39 100755..100644
--- a/view/tpl/conv_frame.tpl
+++ b/view/tpl/conv_frame.tpl
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index 78601c40d..b021509d3 100755..100644
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -48,7 +48,7 @@
</div>
{{if $item.lock}}
<div class="wall-item-lock dropdown">
- <i class="fa fa-lock lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i>&nbsp;
+ <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else}}fa-lock{{/if}} lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i>&nbsp;
<div id="panel-{{$item.id}}" class="dropdown-menu"></div>
</div>
{{/if}}
diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl
index 113cf2324..ee5dc9742 100755..100644
--- a/view/tpl/conv_list.tpl
+++ b/view/tpl/conv_list.tpl
@@ -43,7 +43,7 @@
</div>
{{if $item.lock}}
<div class="wall-item-lock dropdown">
- <i class="fa fa-lock lockview" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i>&nbsp;
+ <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else}}fa-lock{{/if}} lockview" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i>&nbsp;
<div id="panel-{{$item.id}}" class="dropdown-menu"></div>
</div>
{{/if}}
diff --git a/view/tpl/conversation.tpl b/view/tpl/conversation.tpl
index 82c7be922..82c7be922 100755..100644
--- a/view/tpl/conversation.tpl
+++ b/view/tpl/conversation.tpl
diff --git a/view/tpl/convobj.tpl b/view/tpl/convobj.tpl
index d5cee1170..d5cee1170 100755..100644
--- a/view/tpl/convobj.tpl
+++ b/view/tpl/convobj.tpl
diff --git a/view/tpl/cover_photo.tpl b/view/tpl/cover_photo.tpl
index a1c4a922d..a1c4a922d 100755..100644
--- a/view/tpl/cover_photo.tpl
+++ b/view/tpl/cover_photo.tpl
diff --git a/view/tpl/cover_photo_widget.tpl b/view/tpl/cover_photo_widget.tpl
index 7739d24b8..7739d24b8 100755..100644
--- a/view/tpl/cover_photo_widget.tpl
+++ b/view/tpl/cover_photo_widget.tpl
diff --git a/view/tpl/cropbody.tpl b/view/tpl/cropbody.tpl
index a8b8207cb..a8b8207cb 100755..100644
--- a/view/tpl/cropbody.tpl
+++ b/view/tpl/cropbody.tpl
diff --git a/view/tpl/cropcover.tpl b/view/tpl/cropcover.tpl
index ba91a2cce..ba91a2cce 100755..100644
--- a/view/tpl/cropcover.tpl
+++ b/view/tpl/cropcover.tpl
diff --git a/view/tpl/crophead.tpl b/view/tpl/crophead.tpl
index db1915d22..db1915d22 100755..100644
--- a/view/tpl/crophead.tpl
+++ b/view/tpl/crophead.tpl
diff --git a/view/tpl/defperms.tpl b/view/tpl/defperms.tpl
index 29f642cff..29f642cff 100755..100644
--- a/view/tpl/defperms.tpl
+++ b/view/tpl/defperms.tpl
diff --git a/view/tpl/directory_header.tpl b/view/tpl/directory_header.tpl
index 3ee9ee326..3ee9ee326 100755..100644
--- a/view/tpl/directory_header.tpl
+++ b/view/tpl/directory_header.tpl
diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl
index 015f1102d..015f1102d 100755..100644
--- a/view/tpl/direntry.tpl
+++ b/view/tpl/direntry.tpl
diff --git a/view/tpl/edpost_head.tpl b/view/tpl/edpost_head.tpl
index 4f39137ab..4f39137ab 100755..100644
--- a/view/tpl/edpost_head.tpl
+++ b/view/tpl/edpost_head.tpl
diff --git a/view/tpl/email_notify_html.tpl b/view/tpl/email_notify_html.tpl
index f4e12d793..f4e12d793 100755..100644
--- a/view/tpl/email_notify_html.tpl
+++ b/view/tpl/email_notify_html.tpl
diff --git a/view/tpl/email_notify_text.tpl b/view/tpl/email_notify_text.tpl
index 5f1984edb..5f1984edb 100755..100644
--- a/view/tpl/email_notify_text.tpl
+++ b/view/tpl/email_notify_text.tpl
diff --git a/view/tpl/event.tpl b/view/tpl/event.tpl
index cc0bfc1c7..cc0bfc1c7 100755..100644
--- a/view/tpl/event.tpl
+++ b/view/tpl/event.tpl
diff --git a/view/tpl/event_form.tpl b/view/tpl/event_form.tpl
index d07a06b67..d07a06b67 100755..100644
--- a/view/tpl/event_form.tpl
+++ b/view/tpl/event_form.tpl
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index 9d56b7fe4..9d56b7fe4 100755..100644
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
diff --git a/view/tpl/event_item_header.tpl b/view/tpl/event_item_header.tpl
index e81db48a1..e81db48a1 100755..100644
--- a/view/tpl/event_item_header.tpl
+++ b/view/tpl/event_item_header.tpl
diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl
index d3f3414ff..d3f3414ff 100755..100644
--- a/view/tpl/events-js.tpl
+++ b/view/tpl/events-js.tpl
diff --git a/view/tpl/events_cal-js.tpl b/view/tpl/events_cal-js.tpl
index 2c4d961f9..2c4d961f9 100755..100644
--- a/view/tpl/events_cal-js.tpl
+++ b/view/tpl/events_cal-js.tpl
diff --git a/view/tpl/events_tools_side.tpl b/view/tpl/events_tools_side.tpl
index e22f95c1e..e22f95c1e 100755..100644
--- a/view/tpl/events_tools_side.tpl
+++ b/view/tpl/events_tools_side.tpl
diff --git a/view/tpl/failed_updates.tpl b/view/tpl/failed_updates.tpl
index 598171b87..598171b87 100755..100644
--- a/view/tpl/failed_updates.tpl
+++ b/view/tpl/failed_updates.tpl
diff --git a/view/tpl/field.tpl b/view/tpl/field.tpl
index 942cfcef5..942cfcef5 100755..100644
--- a/view/tpl/field.tpl
+++ b/view/tpl/field.tpl
diff --git a/view/tpl/field_acheckbox.tpl b/view/tpl/field_acheckbox.tpl
index 4c8b62f36..4c8b62f36 100755..100644
--- a/view/tpl/field_acheckbox.tpl
+++ b/view/tpl/field_acheckbox.tpl
diff --git a/view/tpl/field_checkbox.tpl b/view/tpl/field_checkbox.tpl
index f779f937c..f779f937c 100755..100644
--- a/view/tpl/field_checkbox.tpl
+++ b/view/tpl/field_checkbox.tpl
diff --git a/view/tpl/field_combobox.tpl b/view/tpl/field_combobox.tpl
index 12d00a08d..12d00a08d 100755..100644
--- a/view/tpl/field_combobox.tpl
+++ b/view/tpl/field_combobox.tpl
diff --git a/view/tpl/field_custom.tpl b/view/tpl/field_custom.tpl
index 907b4c50e..907b4c50e 100755..100644
--- a/view/tpl/field_custom.tpl
+++ b/view/tpl/field_custom.tpl
diff --git a/view/tpl/field_input.tpl b/view/tpl/field_input.tpl
index 65a837e5f..65a837e5f 100755..100644
--- a/view/tpl/field_input.tpl
+++ b/view/tpl/field_input.tpl
diff --git a/view/tpl/field_intcheckbox.tpl b/view/tpl/field_intcheckbox.tpl
index abfe6e189..abfe6e189 100755..100644
--- a/view/tpl/field_intcheckbox.tpl
+++ b/view/tpl/field_intcheckbox.tpl
diff --git a/view/tpl/field_password.tpl b/view/tpl/field_password.tpl
index fa5e14582..fa5e14582 100755..100644
--- a/view/tpl/field_password.tpl
+++ b/view/tpl/field_password.tpl
diff --git a/view/tpl/field_radio.tpl b/view/tpl/field_radio.tpl
index 6b5f52de6..6b5f52de6 100755..100644
--- a/view/tpl/field_radio.tpl
+++ b/view/tpl/field_radio.tpl
diff --git a/view/tpl/field_richtext.tpl b/view/tpl/field_richtext.tpl
index 378e02a62..378e02a62 100755..100644
--- a/view/tpl/field_richtext.tpl
+++ b/view/tpl/field_richtext.tpl
diff --git a/view/tpl/field_select.tpl b/view/tpl/field_select.tpl
index 7cc624fab..7cc624fab 100755..100644
--- a/view/tpl/field_select.tpl
+++ b/view/tpl/field_select.tpl
diff --git a/view/tpl/field_select_raw.tpl b/view/tpl/field_select_raw.tpl
index 2780df58c..2780df58c 100755..100644
--- a/view/tpl/field_select_raw.tpl
+++ b/view/tpl/field_select_raw.tpl
diff --git a/view/tpl/field_textarea.tpl b/view/tpl/field_textarea.tpl
index 437dece93..437dece93 100755..100644
--- a/view/tpl/field_textarea.tpl
+++ b/view/tpl/field_textarea.tpl
diff --git a/view/tpl/field_themeselect.tpl b/view/tpl/field_themeselect.tpl
index 7a529774c..7a529774c 100755..100644
--- a/view/tpl/field_themeselect.tpl
+++ b/view/tpl/field_themeselect.tpl
diff --git a/view/tpl/field_yesno.tpl b/view/tpl/field_yesno.tpl
index 8a4cda55b..8a4cda55b 100755..100644
--- a/view/tpl/field_yesno.tpl
+++ b/view/tpl/field_yesno.tpl
diff --git a/view/tpl/fileas_widget.tpl b/view/tpl/fileas_widget.tpl
index a6a69b89c..a6a69b89c 100755..100644
--- a/view/tpl/fileas_widget.tpl
+++ b/view/tpl/fileas_widget.tpl
diff --git a/view/tpl/filebrowser.tpl b/view/tpl/filebrowser.tpl
index 787f7c0cd..787f7c0cd 100755..100644
--- a/view/tpl/filebrowser.tpl
+++ b/view/tpl/filebrowser.tpl
diff --git a/view/tpl/filer_dialog.tpl b/view/tpl/filer_dialog.tpl
index 61860d10f..61860d10f 100755..100644
--- a/view/tpl/filer_dialog.tpl
+++ b/view/tpl/filer_dialog.tpl
diff --git a/view/tpl/follow.tpl b/view/tpl/follow.tpl
index da472fa9b..da472fa9b 100755..100644
--- a/view/tpl/follow.tpl
+++ b/view/tpl/follow.tpl
diff --git a/view/tpl/generic_links_widget.tpl b/view/tpl/generic_links_widget.tpl
index 67801e666..67801e666 100755..100644
--- a/view/tpl/generic_links_widget.tpl
+++ b/view/tpl/generic_links_widget.tpl
diff --git a/view/tpl/group_edit.tpl b/view/tpl/group_edit.tpl
index 60038701e..60038701e 100755..100644
--- a/view/tpl/group_edit.tpl
+++ b/view/tpl/group_edit.tpl
diff --git a/view/tpl/group_selection.tpl b/view/tpl/group_selection.tpl
index 270d2aa79..270d2aa79 100755..100644
--- a/view/tpl/group_selection.tpl
+++ b/view/tpl/group_selection.tpl
diff --git a/view/tpl/group_side.tpl b/view/tpl/group_side.tpl
index 14f714ae9..14f714ae9 100755..100644
--- a/view/tpl/group_side.tpl
+++ b/view/tpl/group_side.tpl
diff --git a/view/tpl/groupeditor.tpl b/view/tpl/groupeditor.tpl
index 94c275c7e..94c275c7e 100755..100644
--- a/view/tpl/groupeditor.tpl
+++ b/view/tpl/groupeditor.tpl
diff --git a/view/tpl/head.tpl b/view/tpl/head.tpl
index ecb30afd3..ecb30afd3 100755..100644
--- a/view/tpl/head.tpl
+++ b/view/tpl/head.tpl
diff --git a/view/tpl/hq.tpl b/view/tpl/hq.tpl
index 099d892bb..099d892bb 100755..100644
--- a/view/tpl/hq.tpl
+++ b/view/tpl/hq.tpl
diff --git a/view/tpl/hq_controls.tpl b/view/tpl/hq_controls.tpl
index d7f6d436f..d7f6d436f 100755..100644
--- a/view/tpl/hq_controls.tpl
+++ b/view/tpl/hq_controls.tpl
diff --git a/view/tpl/install.tpl b/view/tpl/install.tpl
index 5ab722b12..5ab722b12 100755..100644
--- a/view/tpl/install.tpl
+++ b/view/tpl/install.tpl
diff --git a/view/tpl/install_checks.tpl b/view/tpl/install_checks.tpl
index 8bbb9f26d..8bbb9f26d 100755..100644
--- a/view/tpl/install_checks.tpl
+++ b/view/tpl/install_checks.tpl
diff --git a/view/tpl/install_db.tpl b/view/tpl/install_db.tpl
index 8b9023443..8b9023443 100755..100644
--- a/view/tpl/install_db.tpl
+++ b/view/tpl/install_db.tpl
diff --git a/view/tpl/install_settings.tpl b/view/tpl/install_settings.tpl
index b62f8508b..b62f8508b 100755..100644
--- a/view/tpl/install_settings.tpl
+++ b/view/tpl/install_settings.tpl
diff --git a/view/tpl/invite.tpl b/view/tpl/invite.tpl
index 440e1e02b..440e1e02b 100755..100644
--- a/view/tpl/invite.tpl
+++ b/view/tpl/invite.tpl
diff --git a/view/tpl/item_import.tpl b/view/tpl/item_import.tpl
index e976417e1..e976417e1 100755..100644
--- a/view/tpl/item_import.tpl
+++ b/view/tpl/item_import.tpl
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index 2539c1fdf..2539c1fdf 100755..100644
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl
index 36543ccfa..36e71223c 100755..100644
--- a/view/tpl/jot.tpl
+++ b/view/tpl/jot.tpl
@@ -41,6 +41,11 @@
<input class="w-100 border-0" name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" data-role="cat-tagsinput">
</div>
{{/if}}
+ {{if $customjotheaders}}
+ <div id="jot-customjotheaders-wrap" class="jothidden">
+ {{$customjotheaders}}
+ </div>
+ {{/if}}
<div id="jot-text-wrap">
<div id="profile-jot-tools" class="btn-group d-none">
{{if $is_owner}}
diff --git a/view/tpl/jot_geotag.tpl b/view/tpl/jot_geotag.tpl
index 60f128850..60f128850 100755..100644
--- a/view/tpl/jot_geotag.tpl
+++ b/view/tpl/jot_geotag.tpl
diff --git a/view/tpl/js_strings.tpl b/view/tpl/js_strings.tpl
index 58426e20c..291d78fb2 100755..100644
--- a/view/tpl/js_strings.tpl
+++ b/view/tpl/js_strings.tpl
@@ -66,8 +66,13 @@
'month' : "{{$month}}",
'week' : "{{$week}}",
'day' : "{{$day}}",
- 'allday' : "{{$allday}}"
+ 'allday' : "{{$allday}}",
+
+ // mod cloud
+
+ 'download_info' : "{{$download_info}}"
+
};
</script>
-
+
diff --git a/view/tpl/lang_selector.tpl b/view/tpl/lang_selector.tpl
index 1324442f3..1324442f3 100755..100644
--- a/view/tpl/lang_selector.tpl
+++ b/view/tpl/lang_selector.tpl
diff --git a/view/tpl/like_noshare.tpl b/view/tpl/like_noshare.tpl
index e83b885fe..e83b885fe 100755..100644
--- a/view/tpl/like_noshare.tpl
+++ b/view/tpl/like_noshare.tpl
diff --git a/view/tpl/login.tpl b/view/tpl/login.tpl
index 492149abb..492149abb 100755..100644
--- a/view/tpl/login.tpl
+++ b/view/tpl/login.tpl
diff --git a/view/tpl/logout.tpl b/view/tpl/logout.tpl
index 7548ed196..7548ed196 100755..100644
--- a/view/tpl/logout.tpl
+++ b/view/tpl/logout.tpl
diff --git a/view/tpl/lostpass.tpl b/view/tpl/lostpass.tpl
index 8ecfd215b..8ecfd215b 100755..100644
--- a/view/tpl/lostpass.tpl
+++ b/view/tpl/lostpass.tpl
diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl
index b0497fe99..b0497fe99 100755..100644
--- a/view/tpl/mail_conv.tpl
+++ b/view/tpl/mail_conv.tpl
diff --git a/view/tpl/mail_display.tpl b/view/tpl/mail_display.tpl
index e8549a49b..e8549a49b 100755..100644
--- a/view/tpl/mail_display.tpl
+++ b/view/tpl/mail_display.tpl
diff --git a/view/tpl/mail_head.tpl b/view/tpl/mail_head.tpl
index aac592a5f..aac592a5f 100755..100644
--- a/view/tpl/mail_head.tpl
+++ b/view/tpl/mail_head.tpl
diff --git a/view/tpl/mail_list.tpl b/view/tpl/mail_list.tpl
index a1784e1e6..a1784e1e6 100755..100644
--- a/view/tpl/mail_list.tpl
+++ b/view/tpl/mail_list.tpl
diff --git a/view/tpl/main_slider.tpl b/view/tpl/main_slider.tpl
index f5c573970..f5c573970 100755..100644
--- a/view/tpl/main_slider.tpl
+++ b/view/tpl/main_slider.tpl
diff --git a/view/tpl/message_side.tpl b/view/tpl/message_side.tpl
index 2ac61bf76..2ac61bf76 100755..100644
--- a/view/tpl/message_side.tpl
+++ b/view/tpl/message_side.tpl
diff --git a/view/tpl/micropro_img.tpl b/view/tpl/micropro_img.tpl
index 5bfca615f..5bfca615f 100755..100644
--- a/view/tpl/micropro_img.tpl
+++ b/view/tpl/micropro_img.tpl
diff --git a/view/tpl/micropro_txt.tpl b/view/tpl/micropro_txt.tpl
index 295e7940d..295e7940d 100755..100644
--- a/view/tpl/micropro_txt.tpl
+++ b/view/tpl/micropro_txt.tpl
diff --git a/view/tpl/mood_content.tpl b/view/tpl/mood_content.tpl
index 315ee4c8a..315ee4c8a 100755..100644
--- a/view/tpl/mood_content.tpl
+++ b/view/tpl/mood_content.tpl
diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl
index e8542b087..e8542b087 100755..100644
--- a/view/tpl/msg-header.tpl
+++ b/view/tpl/msg-header.tpl
diff --git a/view/tpl/myapps.tpl b/view/tpl/myapps.tpl
index 2cc747436..2cc747436 100755..100644
--- a/view/tpl/myapps.tpl
+++ b/view/tpl/myapps.tpl
diff --git a/view/tpl/navbar_default.tpl b/view/tpl/navbar_default.tpl
index 0c8be512d..0c8be512d 100755..100644
--- a/view/tpl/navbar_default.tpl
+++ b/view/tpl/navbar_default.tpl
diff --git a/view/tpl/navbar_tucson.tpl b/view/tpl/navbar_tucson.tpl
index 362b261c5..362b261c5 100755..100644
--- a/view/tpl/navbar_tucson.tpl
+++ b/view/tpl/navbar_tucson.tpl
diff --git a/view/tpl/new_channel.tpl b/view/tpl/new_channel.tpl
index 8d72df55b..8d72df55b 100755..100644
--- a/view/tpl/new_channel.tpl
+++ b/view/tpl/new_channel.tpl
diff --git a/view/tpl/notifications.tpl b/view/tpl/notifications.tpl
index 53ff8de52..53ff8de52 100755..100644
--- a/view/tpl/notifications.tpl
+++ b/view/tpl/notifications.tpl
diff --git a/view/tpl/notify.tpl b/view/tpl/notify.tpl
index b5bccc8a4..b5bccc8a4 100755..100644
--- a/view/tpl/notify.tpl
+++ b/view/tpl/notify.tpl
diff --git a/view/tpl/oauth.tpl b/view/tpl/oauth.tpl
index 881e22e99..881e22e99 100755..100644
--- a/view/tpl/oauth.tpl
+++ b/view/tpl/oauth.tpl
diff --git a/view/tpl/oauth2.tpl b/view/tpl/oauth2.tpl
index a5b48ffce..a5b48ffce 100755..100644
--- a/view/tpl/oauth2.tpl
+++ b/view/tpl/oauth2.tpl
diff --git a/view/tpl/oauth2_edit.tpl b/view/tpl/oauth2_edit.tpl
index 399c64977..399c64977 100755..100644
--- a/view/tpl/oauth2_edit.tpl
+++ b/view/tpl/oauth2_edit.tpl
diff --git a/view/tpl/oauth_authorize.tpl b/view/tpl/oauth_authorize.tpl
index 72701ce52..72701ce52 100755..100644
--- a/view/tpl/oauth_authorize.tpl
+++ b/view/tpl/oauth_authorize.tpl
diff --git a/view/tpl/oauth_authorize_done.tpl b/view/tpl/oauth_authorize_done.tpl
index 2e91e0125..2e91e0125 100755..100644
--- a/view/tpl/oauth_authorize_done.tpl
+++ b/view/tpl/oauth_authorize_done.tpl
diff --git a/view/tpl/oauth_edit.tpl b/view/tpl/oauth_edit.tpl
index e44b44723..e44b44723 100755..100644
--- a/view/tpl/oauth_edit.tpl
+++ b/view/tpl/oauth_edit.tpl
diff --git a/view/tpl/oembed_video.tpl b/view/tpl/oembed_video.tpl
index b0cfed2e5..b0cfed2e5 100755..100644
--- a/view/tpl/oembed_video.tpl
+++ b/view/tpl/oembed_video.tpl
diff --git a/view/tpl/oexchange_xrd.tpl b/view/tpl/oexchange_xrd.tpl
index e865e07d9..e865e07d9 100755..100644
--- a/view/tpl/oexchange_xrd.tpl
+++ b/view/tpl/oexchange_xrd.tpl
diff --git a/view/tpl/page_display.tpl b/view/tpl/page_display.tpl
index a320920c7..a320920c7 100755..100644
--- a/view/tpl/page_display.tpl
+++ b/view/tpl/page_display.tpl
diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl
index bbcc0b85b..bbcc0b85b 100755..100644
--- a/view/tpl/peoplefind.tpl
+++ b/view/tpl/peoplefind.tpl
diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl
index eb16bcc98..eb16bcc98 100755..100644
--- a/view/tpl/photo_album.tpl
+++ b/view/tpl/photo_album.tpl
diff --git a/view/tpl/photo_album_portfolio.tpl b/view/tpl/photo_album_portfolio.tpl
index 1635e0ae1..1635e0ae1 100755..100644
--- a/view/tpl/photo_album_portfolio.tpl
+++ b/view/tpl/photo_album_portfolio.tpl
diff --git a/view/tpl/photo_albums.tpl b/view/tpl/photo_albums.tpl
index 83bdd95e7..83bdd95e7 100755..100644
--- a/view/tpl/photo_albums.tpl
+++ b/view/tpl/photo_albums.tpl
diff --git a/view/tpl/photo_drop.tpl b/view/tpl/photo_drop.tpl
index 664e5338c..664e5338c 100755..100644
--- a/view/tpl/photo_drop.tpl
+++ b/view/tpl/photo_drop.tpl
diff --git a/view/tpl/photo_item.tpl b/view/tpl/photo_item.tpl
index b6ee4508b..b6ee4508b 100755..100644
--- a/view/tpl/photo_item.tpl
+++ b/view/tpl/photo_item.tpl
diff --git a/view/tpl/photo_portfolio.tpl b/view/tpl/photo_portfolio.tpl
index cbc8ea214..cbc8ea214 100755..100644
--- a/view/tpl/photo_portfolio.tpl
+++ b/view/tpl/photo_portfolio.tpl
diff --git a/view/tpl/photo_top.tpl b/view/tpl/photo_top.tpl
index 16862a8d6..16862a8d6 100755..100644
--- a/view/tpl/photo_top.tpl
+++ b/view/tpl/photo_top.tpl
diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl
index 6d566cab9..6d566cab9 100755..100644
--- a/view/tpl/photo_view.tpl
+++ b/view/tpl/photo_view.tpl
diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl
index 1e2f22e33..1e2f22e33 100755..100644
--- a/view/tpl/photos_recent.tpl
+++ b/view/tpl/photos_recent.tpl
diff --git a/view/tpl/photos_upload.tpl b/view/tpl/photos_upload.tpl
index ea173049b..ea173049b 100755..100644
--- a/view/tpl/photos_upload.tpl
+++ b/view/tpl/photos_upload.tpl
diff --git a/view/tpl/photosajax.tpl b/view/tpl/photosajax.tpl
index 45191db85..45191db85 100755..100644
--- a/view/tpl/photosajax.tpl
+++ b/view/tpl/photosajax.tpl
diff --git a/view/tpl/poco_entry_xml.tpl b/view/tpl/poco_entry_xml.tpl
index 30b6268dc..30b6268dc 100755..100644
--- a/view/tpl/poco_entry_xml.tpl
+++ b/view/tpl/poco_entry_xml.tpl
diff --git a/view/tpl/poco_xml.tpl b/view/tpl/poco_xml.tpl
index 0e38a692c..0e38a692c 100755..100644
--- a/view/tpl/poco_xml.tpl
+++ b/view/tpl/poco_xml.tpl
diff --git a/view/tpl/poke_content.tpl b/view/tpl/poke_content.tpl
index f368cb024..f368cb024 100755..100644
--- a/view/tpl/poke_content.tpl
+++ b/view/tpl/poke_content.tpl
diff --git a/view/tpl/posted_date_widget.tpl b/view/tpl/posted_date_widget.tpl
index fb43c744b..fb43c744b 100755..100644
--- a/view/tpl/posted_date_widget.tpl
+++ b/view/tpl/posted_date_widget.tpl
diff --git a/view/tpl/profed_head.tpl b/view/tpl/profed_head.tpl
index ce774052a..ce774052a 100755..100644
--- a/view/tpl/profed_head.tpl
+++ b/view/tpl/profed_head.tpl
diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl
index e6653c130..e6653c130 100755..100644
--- a/view/tpl/profile_advanced.tpl
+++ b/view/tpl/profile_advanced.tpl
diff --git a/view/tpl/profile_edit.tpl b/view/tpl/profile_edit.tpl
index 8add9bb9d..8add9bb9d 100755..100644
--- a/view/tpl/profile_edit.tpl
+++ b/view/tpl/profile_edit.tpl
diff --git a/view/tpl/profile_entry.tpl b/view/tpl/profile_entry.tpl
index 9ae870738..9ae870738 100755..100644
--- a/view/tpl/profile_entry.tpl
+++ b/view/tpl/profile_entry.tpl
diff --git a/view/tpl/profile_listing_header.tpl b/view/tpl/profile_listing_header.tpl
index 42abf2735..42abf2735 100755..100644
--- a/view/tpl/profile_listing_header.tpl
+++ b/view/tpl/profile_listing_header.tpl
diff --git a/view/tpl/profile_photo.tpl b/view/tpl/profile_photo.tpl
index 61d8f4254..61d8f4254 100755..100644
--- a/view/tpl/profile_photo.tpl
+++ b/view/tpl/profile_photo.tpl
diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl
index 262bf257f..262bf257f 100755..100644
--- a/view/tpl/profile_vcard.tpl
+++ b/view/tpl/profile_vcard.tpl
diff --git a/view/tpl/profile_vcard_short.tpl b/view/tpl/profile_vcard_short.tpl
index 5d87d52c6..5d87d52c6 100755..100644
--- a/view/tpl/profile_vcard_short.tpl
+++ b/view/tpl/profile_vcard_short.tpl
diff --git a/view/tpl/prv_message.tpl b/view/tpl/prv_message.tpl
index b8c81539d..b8c81539d 100755..100644
--- a/view/tpl/prv_message.tpl
+++ b/view/tpl/prv_message.tpl
diff --git a/view/tpl/pwdreset.tpl b/view/tpl/pwdreset.tpl
index dc17ed57a..dc17ed57a 100755..100644
--- a/view/tpl/pwdreset.tpl
+++ b/view/tpl/pwdreset.tpl
diff --git a/view/tpl/register.tpl b/view/tpl/register.tpl
index 1054c7567..1054c7567 100755..100644
--- a/view/tpl/register.tpl
+++ b/view/tpl/register.tpl
diff --git a/view/tpl/remote_friends_common.tpl b/view/tpl/remote_friends_common.tpl
index 6ef3a7dde..6ef3a7dde 100755..100644
--- a/view/tpl/remote_friends_common.tpl
+++ b/view/tpl/remote_friends_common.tpl
diff --git a/view/tpl/removeme.tpl b/view/tpl/removeme.tpl
index 814701fff..814701fff 100755..100644
--- a/view/tpl/removeme.tpl
+++ b/view/tpl/removeme.tpl
diff --git a/view/tpl/rmagic.tpl b/view/tpl/rmagic.tpl
index 9d84e4a36..9d84e4a36 100755..100644
--- a/view/tpl/rmagic.tpl
+++ b/view/tpl/rmagic.tpl
diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl
index 3e986ea21..f94aaf37d 100755..100644
--- a/view/tpl/search_item.tpl
+++ b/view/tpl/search_item.tpl
@@ -36,7 +36,7 @@
</div>
{{if $item.lock}}
<div class="wall-item-lock dropdown">
- <i class="fa fa-lock lockview" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
+ <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else}}fa-lock{{/if}} lockview" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
</div>
{{/if}}
<div class="wall-item-author">
diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl
index c0808272d..c0808272d 100755..100644
--- a/view/tpl/settings.tpl
+++ b/view/tpl/settings.tpl
diff --git a/view/tpl/settings_account.tpl b/view/tpl/settings_account.tpl
index 3eacf3f7a..3eacf3f7a 100755..100644
--- a/view/tpl/settings_account.tpl
+++ b/view/tpl/settings_account.tpl
diff --git a/view/tpl/settings_addons.tpl b/view/tpl/settings_addons.tpl
index 27cfa238a..27cfa238a 100755..100644
--- a/view/tpl/settings_addons.tpl
+++ b/view/tpl/settings_addons.tpl
diff --git a/view/tpl/settings_display.tpl b/view/tpl/settings_display.tpl
index c2dd94175..c2dd94175 100755..100644
--- a/view/tpl/settings_display.tpl
+++ b/view/tpl/settings_display.tpl
diff --git a/view/tpl/settings_features.tpl b/view/tpl/settings_features.tpl
index 12c4f44f3..12c4f44f3 100755..100644
--- a/view/tpl/settings_features.tpl
+++ b/view/tpl/settings_features.tpl
diff --git a/view/tpl/settings_module.tpl b/view/tpl/settings_module.tpl
index 03d16d1d7..03d16d1d7 100755..100644
--- a/view/tpl/settings_module.tpl
+++ b/view/tpl/settings_module.tpl
diff --git a/view/tpl/settings_nick_set.tpl b/view/tpl/settings_nick_set.tpl
index 4dbe58d82..4dbe58d82 100755..100644
--- a/view/tpl/settings_nick_set.tpl
+++ b/view/tpl/settings_nick_set.tpl
diff --git a/view/tpl/siteinfo.tpl b/view/tpl/siteinfo.tpl
index 4d9c53656..4d9c53656 100755..100644
--- a/view/tpl/siteinfo.tpl
+++ b/view/tpl/siteinfo.tpl
diff --git a/view/tpl/suggest_friends.tpl b/view/tpl/suggest_friends.tpl
index 95f24cd63..95f24cd63 100755..100644
--- a/view/tpl/suggest_friends.tpl
+++ b/view/tpl/suggest_friends.tpl
diff --git a/view/tpl/suggest_page.tpl b/view/tpl/suggest_page.tpl
index 97837c852..97837c852 100755..100644
--- a/view/tpl/suggest_page.tpl
+++ b/view/tpl/suggest_page.tpl
diff --git a/view/tpl/threaded_conversation.tpl b/view/tpl/threaded_conversation.tpl
index 5bc7d8386..5bc7d8386 100755..100644
--- a/view/tpl/threaded_conversation.tpl
+++ b/view/tpl/threaded_conversation.tpl
diff --git a/view/tpl/viewcontact_template.tpl b/view/tpl/viewcontact_template.tpl
index 005fe17ce..005fe17ce 100755..100644
--- a/view/tpl/viewcontact_template.tpl
+++ b/view/tpl/viewcontact_template.tpl
diff --git a/view/tpl/xchan_vcard.tpl b/view/tpl/xchan_vcard.tpl
index 447839167..447839167 100755..100644
--- a/view/tpl/xchan_vcard.tpl
+++ b/view/tpl/xchan_vcard.tpl
diff --git a/view/tpl/xrd_host.tpl b/view/tpl/xrd_host.tpl
index 2a40dcf47..2a40dcf47 100755..100644
--- a/view/tpl/xrd_host.tpl
+++ b/view/tpl/xrd_host.tpl
diff --git a/view/tpl/xrd_person.tpl b/view/tpl/xrd_person.tpl
index 52adb54e3..52adb54e3 100755..100644
--- a/view/tpl/xrd_person.tpl
+++ b/view/tpl/xrd_person.tpl