aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--CHANGELOG28
-rw-r--r--Zotlabs/Daemon/Cron.php5
-rw-r--r--Zotlabs/Daemon/Cron_daily.php2
-rw-r--r--Zotlabs/Daemon/Deliver.php4
-rw-r--r--Zotlabs/Daemon/Directory.php2
-rw-r--r--Zotlabs/Daemon/Expire.php1
-rw-r--r--Zotlabs/Daemon/Notifier.php600
-rw-r--r--Zotlabs/Daemon/Onedirsync.php12
-rw-r--r--Zotlabs/Daemon/Onepoll.php30
-rw-r--r--Zotlabs/Daemon/Poller.php11
-rw-r--r--Zotlabs/Daemon/Queue.php17
-rw-r--r--Zotlabs/Daemon/Ratenotif.php126
-rw-r--r--Zotlabs/Daemon/Thumbnail.php1
-rw-r--r--Zotlabs/Lib/Activity.php36
-rw-r--r--Zotlabs/Lib/Apps.php7
-rw-r--r--Zotlabs/Lib/Connect.php2
-rw-r--r--Zotlabs/Lib/DReport.php3
-rw-r--r--Zotlabs/Lib/Enotify.php20
-rw-r--r--Zotlabs/Lib/Libsync.php3
-rw-r--r--Zotlabs/Lib/Libzot.php103
-rw-r--r--Zotlabs/Lib/Libzotdir.php31
-rw-r--r--Zotlabs/Lib/MessageFilter.php2
-rw-r--r--Zotlabs/Lib/Queue.php92
-rw-r--r--Zotlabs/Lib/ThreadStream.php8
-rw-r--r--Zotlabs/Module/Acl.php5
-rw-r--r--Zotlabs/Module/Admin.php1
-rw-r--r--Zotlabs/Module/Admin/Queue.php28
-rw-r--r--Zotlabs/Module/Authtest.php31
-rw-r--r--Zotlabs/Module/Connedit.php14
-rw-r--r--Zotlabs/Module/Directory.php1
-rw-r--r--Zotlabs/Module/Dirsearch.php271
-rw-r--r--Zotlabs/Module/Dreport.php51
-rw-r--r--Zotlabs/Module/Events.php750
-rw-r--r--Zotlabs/Module/Fhublocs.php18
-rw-r--r--Zotlabs/Module/Home.php2
-rw-r--r--Zotlabs/Module/Hq.php47
-rw-r--r--Zotlabs/Module/Import.php71
-rw-r--r--Zotlabs/Module/Item.php2
-rw-r--r--Zotlabs/Module/Lang.php46
-rw-r--r--Zotlabs/Module/Locs.php10
-rw-r--r--Zotlabs/Module/Manage.php11
-rw-r--r--Zotlabs/Module/Message.php108
-rw-r--r--Zotlabs/Module/Network.php4
-rw-r--r--Zotlabs/Module/Notes.php1
-rw-r--r--Zotlabs/Module/Notifications.php50
-rw-r--r--Zotlabs/Module/Notify.php34
-rw-r--r--Zotlabs/Module/Photos.php2
-rw-r--r--Zotlabs/Module/Ping.php707
-rw-r--r--Zotlabs/Module/Post.php34
-rw-r--r--Zotlabs/Module/Prate.php107
-rw-r--r--Zotlabs/Module/Probe.php60
-rw-r--r--Zotlabs/Module/Profiles.php1
-rw-r--r--Zotlabs/Module/Pubsites.php1
-rw-r--r--Zotlabs/Module/Rate.php174
-rw-r--r--Zotlabs/Module/Ratings.php109
-rw-r--r--Zotlabs/Module/Ratingsearch.php78
-rw-r--r--Zotlabs/Module/Rbmark.php67
-rw-r--r--Zotlabs/Module/Rpost.php5
-rw-r--r--Zotlabs/Module/Settings.php45
-rw-r--r--Zotlabs/Module/Sse_bs.php43
-rw-r--r--Zotlabs/Module/Webpages.php197
-rw-r--r--Zotlabs/Module/Well_known.php36
-rw-r--r--Zotlabs/Module/Wfinger.php8
-rw-r--r--Zotlabs/Module/Wiki.php136
-rw-r--r--Zotlabs/Module/Zfinger.php43
-rw-r--r--Zotlabs/Module/Zping.php33
-rw-r--r--Zotlabs/Web/WebServer.php2
-rw-r--r--Zotlabs/Widget/Conversations.php175
-rw-r--r--Zotlabs/Widget/Dirtags.php2
-rw-r--r--Zotlabs/Widget/Hq_controls.php40
-rw-r--r--Zotlabs/Widget/Mailmenu.php4
-rw-r--r--Zotlabs/Widget/Messages.php181
-rw-r--r--Zotlabs/Widget/Notes.php3
-rw-r--r--Zotlabs/Widget/Notifications.php55
-rw-r--r--Zotlabs/Zot/Auth.php363
-rw-r--r--Zotlabs/Zot/Finger.php155
-rw-r--r--Zotlabs/Zot/IHandler.php24
-rw-r--r--Zotlabs/Zot/Receiver.php304
-rw-r--r--Zotlabs/Zot/ZotHandler.php39
-rw-r--r--Zotlabs/Zot6/Finger.php145
-rw-r--r--Zotlabs/Zot6/IHandler.php10
-rw-r--r--Zotlabs/Zot6/Receiver.php18
-rw-r--r--Zotlabs/Zot6/Zot6Handler.php97
-rw-r--r--app/hq.apd6
-rw-r--r--app/lang.apd2
-rw-r--r--boot.php21
-rw-r--r--composer.json4
-rw-r--r--composer.lock83
-rw-r--r--doc/context/pl/register/help.html54
-rw-r--r--doc/pl/.gitignore2
-rw-r--r--doc/pl/about/about.bb2
-rw-r--r--doc/pl/about/about_hub.bb6
-rw-r--r--doc/pl/comanche.md272
-rw-r--r--doc/pl/general.bb8
-rw-r--r--doc/pl/toc.html7
-rw-r--r--include/api_auth.php11
-rw-r--r--include/bbcode.php6
-rw-r--r--include/bookmarks.php2
-rw-r--r--include/channel.php101
-rw-r--r--include/connections.php2
-rw-r--r--include/conversation.php8
-rw-r--r--include/dir_fns.php25
-rw-r--r--include/feedutils.php2
-rw-r--r--include/follow.php325
-rw-r--r--include/help.php1
-rw-r--r--include/import.php86
-rw-r--r--include/items.php418
-rw-r--r--include/markdown.php75
-rw-r--r--include/message.php566
-rw-r--r--include/msglib.php28
-rw-r--r--include/network.php25
-rw-r--r--include/permissions.php4
-rw-r--r--include/security.php3
-rw-r--r--include/socgraph.php44
-rw-r--r--include/text.php92
-rw-r--r--include/xchan.php7
-rw-r--r--include/zid.php2
-rw-r--r--include/zot.php5400
-rw-r--r--tests/unit/includes/FeedutilsTest.php2
-rw-r--r--tests/unit/includes/LanguageTest.php2
-rwxr-xr-xutil/fresh29
-rw-r--r--util/hmessages.po1899
-rwxr-xr-xutil/pconfig3
-rw-r--r--vendor/commerceguys/intl/.travis.yml8
-rw-r--r--vendor/commerceguys/intl/README.md2
-rw-r--r--vendor/commerceguys/intl/composer.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/af.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/ar.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/as.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/ast.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/az.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/be.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/bg.json12
-rw-r--r--vendor/commerceguys/intl/resources/currency/bn.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/brx.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/bs-Cyrl.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/bs.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/ca.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/ce.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/cs.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/cy.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/da.json8
-rw-r--r--vendor/commerceguys/intl/resources/currency/de-CH.json14
-rw-r--r--vendor/commerceguys/intl/resources/currency/de.json14
-rw-r--r--vendor/commerceguys/intl/resources/currency/dz.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/el.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-001.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AU.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-JE.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-US.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/es.json17
-rw-r--r--vendor/commerceguys/intl/resources/currency/et.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/eu.json26
-rw-r--r--vendor/commerceguys/intl/resources/currency/fa-AF.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/fa.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/fi.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/fil.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/fr-CA.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/fr.json10
-rw-r--r--vendor/commerceguys/intl/resources/currency/ga.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/gd.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/gl.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/gsw.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/gu.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/he.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/hi.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/hr.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/hu.json8
-rw-r--r--vendor/commerceguys/intl/resources/currency/hy.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/id.json22
-rw-r--r--vendor/commerceguys/intl/resources/currency/is.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/it.json23
-rw-r--r--vendor/commerceguys/intl/resources/currency/ja.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/ka.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/kk.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/km.json8
-rw-r--r--vendor/commerceguys/intl/resources/currency/ko.json10
-rw-r--r--vendor/commerceguys/intl/resources/currency/kok.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/ks.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ky.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/lb.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/lo.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/lv.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/mg.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/mk.json18
-rw-r--r--vendor/commerceguys/intl/resources/currency/ml.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/mn.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/mr.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/ms.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/my.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/nb.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/ne.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/nl.json8
-rw-r--r--vendor/commerceguys/intl/resources/currency/nn.json24
-rw-r--r--vendor/commerceguys/intl/resources/currency/no.json480
-rw-r--r--vendor/commerceguys/intl/resources/currency/pa.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/pl.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/ps.json23
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-PT.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt.json8
-rw-r--r--vendor/commerceguys/intl/resources/currency/rn.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ro.json50
-rw-r--r--vendor/commerceguys/intl/resources/currency/ru.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/sd.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/sk.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/sl.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/so.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/sq.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/sr-Cyrl-BA.json493
-rw-r--r--vendor/commerceguys/intl/resources/currency/sr-Latn-BA.json493
-rw-r--r--vendor/commerceguys/intl/resources/currency/sr-Latn.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/sr.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/sv.json40
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw-CD.json82
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw-KE.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw.json88
-rw-r--r--vendor/commerceguys/intl/resources/currency/ta.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/te.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/th.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/tk.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/tr.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/uk.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/ur-IN.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/ur.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/uz-Cyrl.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/uz.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/vi.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/yue-Hans.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/yue.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh.json2
-rw-r--r--vendor/commerceguys/intl/resources/language/af.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-EG.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-LY.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-SA.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ar.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/as.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/ast.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/az-Cyrl.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/az.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/be.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/bg.json18
-rw-r--r--vendor/commerceguys/intl/resources/language/bn-IN.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/bn.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/brx.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/bs-Cyrl.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/bs.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ca.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/ce.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/cs.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/cy.json14
-rw-r--r--vendor/commerceguys/intl/resources/language/da.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/de-AT.json22
-rw-r--r--vendor/commerceguys/intl/resources/language/de-CH.json20
-rw-r--r--vendor/commerceguys/intl/resources/language/de-LU.json219
-rw-r--r--vendor/commerceguys/intl/resources/language/de.json22
-rw-r--r--vendor/commerceguys/intl/resources/language/dz.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/el.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/en-001.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/en-AU.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/en-CA.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/en-IN.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/en-NZ.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/en.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-419.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-AR.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-BO.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CL.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CO.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CR.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-DO.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-EC.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-GT.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-HN.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-MX.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/es-NI.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PA.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PE.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PR.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PY.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-SV.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es-US.json14
-rw-r--r--vendor/commerceguys/intl/resources/language/es-VE.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/es.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/et.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/eu.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/fa-AF.json20
-rw-r--r--vendor/commerceguys/intl/resources/language/fa.json24
-rw-r--r--vendor/commerceguys/intl/resources/language/fi.json14
-rw-r--r--vendor/commerceguys/intl/resources/language/fil.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-BE.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-CA.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-CH.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/fr.json18
-rw-r--r--vendor/commerceguys/intl/resources/language/ga.json48
-rw-r--r--vendor/commerceguys/intl/resources/language/gd.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/gl.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/gsw.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/gu.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/he.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/hi.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/hr.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/hu.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/hy.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/id.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/is.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/it.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/ja.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/ka.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/kk.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/km.json28
-rw-r--r--vendor/commerceguys/intl/resources/language/ko.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/kok.json14
-rw-r--r--vendor/commerceguys/intl/resources/language/ks.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ku.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ky.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/lb.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/lo.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/lt.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/lv.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/mg.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/mk.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/ml.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/mn.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/mr.json14
-rw-r--r--vendor/commerceguys/intl/resources/language/ms.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/mt.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/my.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/nb.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ne.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/nl.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/nn.json22
-rw-r--r--vendor/commerceguys/intl/resources/language/no.json227
-rw-r--r--vendor/commerceguys/intl/resources/language/pa.json14
-rw-r--r--vendor/commerceguys/intl/resources/language/pl.json26
-rw-r--r--vendor/commerceguys/intl/resources/language/ps-PK.json14
-rw-r--r--vendor/commerceguys/intl/resources/language/ps.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-PT.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/pt.json14
-rw-r--r--vendor/commerceguys/intl/resources/language/rn.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/ro-MD.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/ro.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/ru.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/rw.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/sd.json28
-rw-r--r--vendor/commerceguys/intl/resources/language/si.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/sk.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sl.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/so.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sq.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json22
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-BA.json22
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-ME.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-XK.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sr.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sv.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sw-CD.json16
-rw-r--r--vendor/commerceguys/intl/resources/language/sw-KE.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/sw.json18
-rw-r--r--vendor/commerceguys/intl/resources/language/ta.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/te.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/tg.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/th.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/tk.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/to.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/tr.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/uk.json38
-rw-r--r--vendor/commerceguys/intl/resources/language/ur-IN.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/ur.json12
-rw-r--r--vendor/commerceguys/intl/resources/language/uz-Cyrl.json10
-rw-r--r--vendor/commerceguys/intl/resources/language/uz.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/vi.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/yue-Hans.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/yue.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant-HK.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant.json8
-rw-r--r--vendor/commerceguys/intl/resources/language/zh.json12
-rwxr-xr-x[-rw-r--r--]vendor/commerceguys/intl/scripts/fetch_data.sh6
-rw-r--r--vendor/commerceguys/intl/scripts/generate_base.php10
-rw-r--r--vendor/commerceguys/intl/scripts/generate_locale_data.php2
-rw-r--r--vendor/commerceguys/intl/src/Currency/CurrencyRepository.php10
-rw-r--r--vendor/commerceguys/intl/src/Language/LanguageRepository.php20
-rw-r--r--vendor/commerceguys/intl/src/Locale.php2
-rw-r--r--vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php34
-rw-r--r--vendor/composer/InstalledVersions.php164
-rw-r--r--vendor/composer/autoload_classmap.php21
-rw-r--r--vendor/composer/autoload_real.php2
-rw-r--r--vendor/composer/autoload_static.php21
-rw-r--r--vendor/composer/installed.json96
-rw-r--r--vendor/composer/installed.php34
-rw-r--r--vendor/composer/platform_check.php26
-rw-r--r--vendor/league/html-to-markdown/.github/workflows/tests.yml104
-rw-r--r--vendor/league/html-to-markdown/CHANGELOG.md28
-rw-r--r--vendor/league/html-to-markdown/README.md36
-rw-r--r--vendor/league/html-to-markdown/composer.json13
-rw-r--r--vendor/league/html-to-markdown/phpcs.xml.dist27
-rw-r--r--vendor/league/html-to-markdown/phpstan.neon.dist4
-rw-r--r--vendor/league/html-to-markdown/psalm.xml16
-rw-r--r--vendor/league/html-to-markdown/src/Configuration.php40
-rw-r--r--vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php7
-rw-r--r--vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php22
-rw-r--r--vendor/league/html-to-markdown/src/Converter/CodeConverter.php45
-rw-r--r--vendor/league/html-to-markdown/src/Converter/CommentConverter.php39
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ConverterInterface.php11
-rw-r--r--vendor/league/html-to-markdown/src/Converter/DefaultConverter.php27
-rw-r--r--vendor/league/html-to-markdown/src/Converter/DivConverter.php24
-rw-r--r--vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php57
-rw-r--r--vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php30
-rw-r--r--vendor/league/html-to-markdown/src/Converter/HeaderConverter.php56
-rw-r--r--vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php13
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ImageConverter.php17
-rw-r--r--vendor/league/html-to-markdown/src/Converter/LinkConverter.php64
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php13
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ListItemConverter.php49
-rw-r--r--vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php85
-rw-r--r--vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php36
-rw-r--r--vendor/league/html-to-markdown/src/Converter/TableConverter.php113
-rw-r--r--vendor/league/html-to-markdown/src/Converter/TextConverter.php30
-rw-r--r--vendor/league/html-to-markdown/src/Element.php169
-rw-r--r--vendor/league/html-to-markdown/src/ElementInterface.php78
-rw-r--r--vendor/league/html-to-markdown/src/Environment.php38
-rw-r--r--vendor/league/html-to-markdown/src/HtmlConverter.php116
-rw-r--r--vendor/league/html-to-markdown/src/HtmlConverterInterface.php8
-rw-r--r--vendor/league/html-to-markdown/src/PreConverterInterface.php10
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php2
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php28
-rw-r--r--vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php124
-rw-r--r--vendor/psr/log/Psr/Log/AbstractLogger.php32
-rw-r--r--vendor/psr/log/Psr/Log/LoggerAwareTrait.php2
-rw-r--r--vendor/psr/log/composer.json2
-rw-r--r--vendor/smarty/smarty/CHANGELOG.md6
-rw-r--r--vendor/smarty/smarty/expectException0
-rw-r--r--vendor/smarty/smarty/libs/Smarty.class.php2
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_function.php5
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php4
-rw-r--r--vendor/symfony/polyfill-ctype/composer.json2
-rw-r--r--view/css/conversation.css3
-rw-r--r--view/css/mod_dm.css3
-rw-r--r--view/css/widgets.css16
-rw-r--r--view/es-es/hmessages.po2709
-rw-r--r--view/es-es/hstrings.php199
-rw-r--r--view/js/autocomplete.js15
-rw-r--r--view/js/main.js518
-rw-r--r--view/js/mod_hq.js17
-rw-r--r--view/js/mod_mail.js7
-rw-r--r--view/js/mod_register.js2
-rw-r--r--view/pdl/mod_hq.pdl15
-rw-r--r--view/pl/hmessages.mobin305109 -> 301043 bytes
-rw-r--r--view/pl/hmessages.po5175
-rw-r--r--view/pl/hmessages.pot1899
-rw-r--r--view/pl/hstrings.php426
-rw-r--r--view/tpl/channel.tpl4
-rw-r--r--view/tpl/head.tpl1
-rw-r--r--view/tpl/hq_controls.tpl13
-rw-r--r--view/tpl/login.tpl4
-rw-r--r--view/tpl/mail_conv.tpl6
-rw-r--r--view/tpl/message_side.tpl2
-rw-r--r--view/tpl/messages_widget.tpl121
-rw-r--r--view/tpl/msg-header.tpl5
-rw-r--r--view/tpl/notes.tpl12
-rw-r--r--view/tpl/notifications_widget.tpl458
-rw-r--r--view/tpl/prv_message.tpl3
471 files changed, 13619 insertions, 20367 deletions
diff --git a/.gitignore b/.gitignore
index fa09c4ee6..c77ee0466 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,8 +33,10 @@ apps/
home.html
# page header plugin
pageheader.html
-# Ignore site TOS
+# Ignore site TOS & gddpr
doc/SiteTOS.md
+doc/*/SiteTOS.md
+doc/*/gdpr.md
# themes except for redbasic
view/theme/*
!view/theme/redbasic
@@ -55,6 +57,7 @@ tests/results/
.buildpath
.externalToolBuilders
.settings/
+.pydevproject
# NetBeans project folder
nbproject/
# Kdevelop project files
@@ -75,3 +78,5 @@ composer.phar
vendor/**/tests/
vendor/**/Test/
vendor/sabre/*/examples/
+# /info is a directory containing site-specific HTML documents
+/info/
diff --git a/CHANGELOG b/CHANGELOG
index 31d23f0c7..1c4b6cdd6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,31 @@
+Hubzilla 5.6.1 (2021-06-04)
+ - Update spanish translations
+ - Fix login name label if register email verification is disabled
+ - Fix zotinfo issue with deleted channels
+ - Make pubstream ordering configurable
+ - Fix article summary duplicated when editing
+ - Update polish translations
+ - Fix admin setting for invitations not displayed correctly
+ - Fix registration in invite only mode
+ - Fix notifications not returning offset -1 when returning early
+ - Fix direct messages for items imported via sync
+ - Bring back the channel protocols hooks
+ - Fix security headers switching
+ - Fix magic auth for delegated channels
+ - Introduce drop_query_params() for secure query parameter removal
+ - PHP8 fixes (ongoing)
+ - Fix menu wrapping regression
+
+ Addons
+ - LDAPauth: fix regression creating an account
+ - Twitter: allow feeds crossposting
+ - Twitter: fix posting when post by default is disabled
+ - Pubcrawl: add litepub directMessage attribute
+ - Pubcrawl: allow xchan/hubloc upgrades from e.g. ostatus
+ - Diaspora: fix possible issue with missing hublocs
+ - Diaspora: refine dispatching of public of public items
+
+
Hubzilla 5.6 (2021-05-11)
- Improve postgres hubloc queries
- Implement automatic duplicate singleton hubloc removal
diff --git a/Zotlabs/Daemon/Cron.php b/Zotlabs/Daemon/Cron.php
index 5c0330806..29a8902b0 100644
--- a/Zotlabs/Daemon/Cron.php
+++ b/Zotlabs/Daemon/Cron.php
@@ -165,11 +165,6 @@ class Cron {
}
}
-
- // check if any connections transitioned to zot6 and upgrade the connections to zot6 at this hub if so.
- require_once('include/connections.php');
- z6trans_connections();
-
require_once('include/attach.php');
attach_upgrade();
diff --git a/Zotlabs/Daemon/Cron_daily.php b/Zotlabs/Daemon/Cron_daily.php
index bebccca9d..d1b74a032 100644
--- a/Zotlabs/Daemon/Cron_daily.php
+++ b/Zotlabs/Daemon/Cron_daily.php
@@ -95,8 +95,6 @@ class Cron_daily {
remove_obsolete_hublocs();
remove_duplicate_singleton_hublocs();
- z6_discover();
-
$date = datetime_convert();
call_hooks('cron_daily', $date);
diff --git a/Zotlabs/Daemon/Deliver.php b/Zotlabs/Daemon/Deliver.php
index f8149ee69..400ef697b 100644
--- a/Zotlabs/Daemon/Deliver.php
+++ b/Zotlabs/Daemon/Deliver.php
@@ -2,7 +2,7 @@
namespace Zotlabs\Daemon;
-require_once('include/queue_fn.php');
+use Zotlabs\Lib\Queue;
class Deliver {
@@ -23,7 +23,7 @@ class Deliver {
);
if ($r) {
- queue_deliver($r[0], true);
+ Queue::deliver($r[0], true);
}
}
diff --git a/Zotlabs/Daemon/Directory.php b/Zotlabs/Daemon/Directory.php
index 1f307b273..35d184206 100644
--- a/Zotlabs/Daemon/Directory.php
+++ b/Zotlabs/Daemon/Directory.php
@@ -74,7 +74,7 @@ class Directory {
* the directory packet. That means we'll try again on the next poll run.
*/
- $hash = random_string();
+ $hash = new_uuid();
Queue::insert(array(
'hash' => $hash,
diff --git a/Zotlabs/Daemon/Expire.php b/Zotlabs/Daemon/Expire.php
index c4ff8aec6..99fe68b6f 100644
--- a/Zotlabs/Daemon/Expire.php
+++ b/Zotlabs/Daemon/Expire.php
@@ -2,6 +2,7 @@
namespace Zotlabs\Daemon;
+require_once('include/items.php');
class Expire {
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php
index 741078422..0ae887932 100644
--- a/Zotlabs/Daemon/Notifier.php
+++ b/Zotlabs/Daemon/Notifier.php
@@ -6,23 +6,14 @@ use Zotlabs\Lib\Libzot;
use Zotlabs\Lib\Activity;
use Zotlabs\Lib\Queue;
-require_once('include/queue_fn.php');
require_once('include/html2plain.php');
require_once('include/conversation.php');
-require_once('include/zot.php');
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
- * hosting provider and nothing would get delivered.
- * It now only delivers one message under certain cases, and invokes a queued
- * delivery mechanism (include/deliver.php) to deliver individual contacts at
- * controlled intervals.
- * This has a much better chance of surviving random processes getting killed
- * by the hosting provider.
+ * Notifier - message dispatch and preparation for delivery
*
* The basic flow is:
* Identify the type of message
@@ -53,7 +44,6 @@ require_once('include/bbcode.php');
* event (in events.php)
* expire (in items.php)
* like (in like.php, poke.php)
- * mail (in message.php)
* tag (in photos.php, poke.php, tagger.php)
* tgroup (in items.php)
* wall-new (in photos.php, item.php)
@@ -63,7 +53,6 @@ require_once('include/bbcode.php');
* ZOT
* permission_create abook_id
* permission_accept abook_id
- * permission_reject abook_id
* permission_update abook_id
* refresh_all channel_id
* purge channel_id xchan_hash
@@ -71,7 +60,6 @@ require_once('include/bbcode.php');
* expire channel_id
* relay item_id (item was relayed to owner, we will deliver it as owner)
* single_activity item_id (deliver to a singleton network from the appropriate clone)
- * single_mail mail_id (deliver to a singleton network from the appropriate clone)
* location channel_id
* request channel_id xchan_hash message_id
* rating xlink_id
@@ -82,10 +70,20 @@ require_once('include/bbcode.php');
class Notifier {
+ static public $deliveries = [];
+ static public $recipients = [];
+ static public $env_recips = [];
+ static public $packet_type = 'activity';
+ static public $encoding = 'activitystreams';
+ static public $encoded_item = null;
+ static public $channel = null;
+ static public $private = false;
+
static public function run($argc, $argv) {
- if ($argc < 3)
+ if ($argc < 3) {
return;
+ }
logger('notifier: invoked: ' . print_r($argv, true), LOGGER_DEBUG);
@@ -93,153 +91,97 @@ class Notifier {
$item_id = $argv[2];
- if (!$item_id)
+ if (!$item_id) {
return;
-
- $sys = get_sys_channel();
-
- $deliveries = [];
-
- $request = false;
- $mail = false;
- $location = false;
- $recipients = [];
- $normal_mode = true;
- $packet_type = 'undefined';
-
- 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)
- );
- if (!$message) {
- return;
- }
- xchan_mail_query($message[0]);
- $uid = $message[0]['channel_id'];
- $recipients[] = $message[0]['from_xchan']; // include clones
- $recipients[] = $message[0]['to_xchan'];
- $item = $message[0];
- $encoded_item = encode_mail($item);
-
- $s = q("select * from channel where channel_id = %d limit 1",
- intval($uid)
- );
- if ($s)
- $channel = $s[0];
-
}
- 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)
- $channel = $s[0];
- $private = true;
- $recipients[] = $xchan;
- $packet_type = 'request';
- $normal_mode = false;
- }
- elseif ($cmd === 'keychange') {
- $channel = channelx_by_n($item_id);
+ self::$deliveries = [];
+ self::$recipients = [];
+ self::$env_recips = [];
+ self::$packet_type = 'activity';
+ self::$encoding = 'activitystreams';
+ self::$encoded_item = null;
+ self::$channel = null;
+ self::$private = false;
+
+ $sys = get_sys_channel();
+ $normal_mode = true;
- $r = q("select abook_xchan from abook where abook_channel = %d",
+ if ($cmd === 'keychange') {
+ self::$channel = channelx_by_n($item_id);
+ $r = q("select abook_xchan from abook where abook_channel = %d",
intval($item_id)
);
if ($r) {
foreach ($r as $rr) {
- $recipients[] = $rr['abook_xchan'];
+ self::$recipients[] = $rr['abook_xchan'];
}
}
- $private = false;
- $packet_type = 'keychange';
- $normal_mode = false;
+ self::$private = false;
+ self::$packet_type = 'keychange';
+ self::$encoded_item = get_pconfig(self::$channel['channel_id'], 'system', 'keychange');
+ self::$encoding = 'zot';
+ $normal_mode = false;
}
- elseif (in_array($cmd, ['permission_update', 'permission_reject', 'permission_accept', 'permission_create'])) {
+ elseif (in_array($cmd, ['permission_update', '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) {
- $uid = $r[0]['abook_channel'];
+ $recip = $r[0];
+
// Get the sender
- $channel = channelx_by_n($uid);
- 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);
+ self::$channel = channelx_by_n($recip['abook_channel']);
+ if (self::$channel) {
+ $perm_update = ['sender' => self::$channel, 'recipient' => $recip, 'success' => false, 'deliveries' => ''];
+
+ switch ($cmd) {
+ case 'permission_create':
+ call_hooks('permissions_create', $perm_update);
+ break;
+ case 'permission_accept':
+ call_hooks('permissions_accept', $perm_update);
+ break;
+ case 'permission_update':
+ call_hooks('permissions_update', $perm_update);
+ break;
+ default:
+ break;
+ }
if ($perm_update['success']) {
if ($perm_update['deliveries']) {
- $deliveries[] = $perm_update['deliveries'];
- do_delivery($deliveries);
+ self::$deliveries[] = $perm_update['deliveries'];
+ do_delivery(self::$deliveries);
}
return;
}
else {
- $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']]];
+ self::$recipients[] = $recip['abook_xchan'];
+ self::$private = false;
+ self::$packet_type = 'refresh';
+ self::$env_recips = [$recip['xchan_hash']];
}
}
}
}
elseif ($cmd === 'refresh_all') {
logger('notifier: refresh_all: ' . $item_id);
- $uid = $item_id;
- $channel = channelx_by_n($item_id);
- $r = q("select abook_xchan from abook where abook_channel = %d",
- intval($uid)
- );
- if ($r) {
- foreach ($r as $rr) {
- $recipients[] = $rr['abook_xchan'];
- }
- }
- $private = false;
- $packet_type = 'refresh';
- }
- elseif ($cmd === 'location') {
- logger('notifier: location: ' . $item_id);
- $s = q("select * from channel where channel_id = %d limit 1",
- intval($item_id)
- );
- if ($s)
- $channel = $s[0];
+ self::$channel = channelx_by_n($item_id);
- $uid = $item_id;
- $recipients = [];
-
- $r = q("select abook_xchan from abook where abook_channel = %d",
- intval($uid)
+ $r = q("select abook_xchan from abook where abook_channel = %d",
+ intval($item_id)
);
if ($r) {
foreach ($r as $rr) {
- $recipients[] = $rr['abook_xchan'];
+ self::$recipients[] = $rr['abook_xchan'];
}
}
-
- $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;
+ self::$private = false;
+ self::$packet_type = 'refresh';
}
elseif ($cmd === 'purge') {
$xchan = $argv[3];
@@ -248,33 +190,27 @@ class Notifier {
return;
}
- $channel = channelx_by_n($item_id);
- $recipients[] = $xchan;
- $private = true;
- $packet_type = 'purge';
- $packet_recips[] = ['hash' => $xchan];
+ self::$channel = channelx_by_n($item_id);
+ self::$recipients = [$xchan];
+ self::$private = true;
+ self::$packet_type = 'purge';
}
elseif ($cmd === 'purge_all') {
-
logger('notifier: purge_all: ' . $item_id);
- $channel = channelx_by_n($item_id);
+ self::$channel = channelx_by_n($item_id);
+ self::$recipients = [];
+ self::$private = false;
+ self::$packet_type = 'purge';
- $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) {
return;
}
foreach ($r as $rr) {
- $recipients[] = $rr['abook_xchan'];
- $packet_recips[] = ['hash' => $rr['abook_xchan']];
+ self::$recipients[] = $rr['abook_xchan'];
}
-
- $private = false;
- $packet_type = 'purge';
-
-
}
else {
@@ -282,15 +218,14 @@ class Notifier {
// Fetch the target item
- $r = q("SELECT * FROM item WHERE id = %d and parent != 0 LIMIT 1",
+ $r = q("SELECT * FROM item WHERE id = %d AND parent != 0",
intval($item_id)
);
-
- if (!$r)
+ if (!$r) {
return;
+ }
xchan_query($r);
-
$r = fetch_post_tags($r);
$target_item = $r[0];
@@ -345,11 +280,12 @@ 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)
- $channel = $s[0];
+ if ($s) {
+ self::$channel = $s[0];
+ }
- 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);
+ if (self::$channel['channel_hash'] !== $target_item['author_xchan'] && self::$channel['channel_hash'] !== $target_item['owner_xchan']) {
+ logger("notifier: Sending channel " . self::$channel['channel_hash'] . " is not owner {$target_item['owner_xchan']} or author {$target_item['author_xchan']}", LOGGER_NORMAL, LOG_WARNING);
return;
}
@@ -359,12 +295,13 @@ class Notifier {
}
else {
// fetch the parent item
- $r = q("SELECT * from item where id = %d order by id asc",
+ $r = q("SELECT * FROM item WHERE id = %d",
intval($target_item['parent'])
);
- if (!$r)
+ if (!$r) {
return;
+ }
if (strpos($r[0]['postopts'], 'nodeliver') !== false) {
logger('notifier: target item is undeliverable', LOGGER_DEBUG, LOG_NOTICE);
@@ -379,20 +316,17 @@ class Notifier {
}
// 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);
-
+ $m = get_iconfig($target_item, 'activitypub', 'signed_data');
// 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, 'activitypub', 'signed_data'));
-
- if ($m) {
- $activity = json_decode($m, true);
+ if ($m && (!intval($target_item['item_deleted']))) {
+ self::$encoded_item = json_decode($m, true);
}
else {
- $activity = array_merge(['@context' => [
+ self::$encoded_item = array_merge(['@context' => [
ACTIVITYSTREAMS_JSONLD_REV,
'https://w3id.org/security/v1',
z_root() . ZOT_APSCHEMA_REV
@@ -401,7 +335,7 @@ class Notifier {
}
logger('target_item: ' . print_r($target_item, true), LOGGER_DEBUG);
- logger('encoded: ' . print_r($activity, true), LOGGER_DEBUG);
+ logger('encoded: ' . print_r(self::$encoded_item, 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.
@@ -412,9 +346,9 @@ 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);
-
- $uplink = false;
+ $relay_to_owner = (!$top_level_post && intval($target_item['item_origin']) && comment_local_origin($target_item));
+ $uplink = false;
+ $upstream = false;
// $cmd === 'relay' indicates the owner is sending it to the original recipients
// don't allow the item in the relay command to relay to owner under any circumstances, it will loop
@@ -426,27 +360,34 @@ class Notifier {
if (($cmd === 'uplink') && intval($parent_item['item_uplink']) && (!$top_level_post)) {
logger('notifier: uplink');
- $uplink = true;
+ $uplink = true;
+ self::$packet_type = 'response';
}
if (($relay_to_owner || $uplink) && ($cmd !== 'relay')) {
logger('notifier: followup relay', LOGGER_DEBUG);
- $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;
+ $sendto = (($uplink) ? $parent_item['source_xchan'] : $parent_item['owner_xchan']);
+ self::$recipients = [$sendto];
+ self::$private = true;
+ $upstream = true;
+ self::$packet_type = 'response';
}
else {
- logger('notifier: normal distribution', LOGGER_DEBUG);
- if ($cmd === 'relay')
- logger('notifier: owner relay');
- $upstream = false;
+ if ($cmd === 'relay') {
+ logger('owner relay (downstream delivery)');
+ }
+ else {
+ logger('normal (downstream) distribution', LOGGER_DEBUG);
+ }
+
+ if ($parent_item && $parent_item['item_private'] !== $target_item['item_private']) {
+ logger('conversation privacy mismatch - downstream delivery prevented');
+ return;
+ }
+
// 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']) {
logger('notifier: uplinking this item');
@@ -454,98 +395,88 @@ class Notifier {
}
}
- $private = false;
- $recipients = collect_recipients($parent_item, $private);
+ self::$private = false;
+ self::$recipients = collect_recipients($parent_item, self::$private);
+
+ // FIXME add any additional recipients such as mentions, etc.
if ($top_level_post) {
// remove clones who will receive the post via sync
- $recipients = array_diff($recipients, [$target_item['owner_xchan']]);
+ self::$recipients = array_values(array_diff(self::$recipients, [$target_item['owner_xchan']]));
}
- // FIXME add any additional recipients such as mentions, etc.
-
+ // don't send deletions onward for other people's stuff
+ 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;
+ }
}
}
- $walltowall = (($top_level_post && $channel['xchan_hash'] === $target_item['author_xchan']) ? true : false);
-
// Generic delivery section, we have an encoded item and recipients
// Now start the delivery process
- $x = $encoded_item;
- $x['title'] = 'private';
- $x['body'] = 'private';
- logger('notifier: encoded item: ' . print_r($x, true), LOGGER_DATA, LOG_DEBUG);
+ logger('encoded item: ' . print_r(self::$encoded_item, true), LOGGER_DATA, LOG_DEBUG);
- //logger('notifier: encoded activity: ' . print_r($activity,true), LOGGER_DATA, LOG_DEBUG);
-
- stringify_array_elms($recipients);
- if (!$recipients) {
+ stringify_array_elms(self::$recipients);
+ if (!self::$recipients) {
logger('no recipients');
return;
}
- // logger('notifier: recipients: ' . print_r($recipients,true), LOGGER_NORMAL, LOG_DEBUG);
-
- $env_recips = (($private) ? [] : null);
+ // logger('recipients: ' . print_r(self::$recipients,true), LOGGER_NORMAL, LOG_DEBUG);
- $details = q("select xchan_hash, xchan_network, xchan_addr, xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . protect_sprintf(implode(',', $recipients)) . ")");
+ if (!count(self::$env_recips)) {
+ self::$env_recips = ((self::$private) ? [] : null);
+ }
$recip_list = [];
+ $details = dbq("select xchan_hash, xchan_network, xchan_addr, xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . protect_sprintf(implode(',', self::$recipients)) . ")");
+
if ($details) {
foreach ($details as $d) {
$recip_list[] = $d['xchan_addr'] . ' (' . $d['xchan_hash'] . ')';
- if ($private) {
- $env_recips[] = [
- 'guid' => $d['xchan_guid'],
- 'guid_sig' => $d['xchan_guid_sig'],
- 'hash' => $d['xchan_hash']
- ];
+ if (self::$private) {
+ self::$env_recips[] = $d['xchan_hash'];
}
}
}
$narr = [
- 'channel' => $channel,
+ 'channel' => self::$channel,
'upstream' => $upstream,
- 'env_recips' => $env_recips,
- 'packet_recips' => $packet_recips,
- 'recipients' => $recipients,
- 'item' => $item,
+ 'env_recips' => self::$env_recips,
+ 'recipients' => self::$recipients,
'target_item' => $target_item,
'parent_item' => $parent_item,
'top_level_post' => $top_level_post,
- 'private' => $private,
+ 'private' => self::$private,
'relay_to_owner' => $relay_to_owner,
'uplink' => $uplink,
'cmd' => $cmd,
- 'mail' => $mail,
- 'single' => (($cmd === 'single_mail' || $cmd === 'single_activity') ? true : false),
- 'location' => $location,
- 'request' => $request,
+ 'single' => ($cmd === 'single_activity'),
'normal_mode' => $normal_mode,
- 'packet_type' => $packet_type,
- 'walltowall' => $walltowall,
+ 'packet_type' => self::$packet_type,
'queued' => []
];
call_hooks('notifier_process', $narr);
if ($narr['queued']) {
foreach ($narr['queued'] as $pq)
- $deliveries[] = $pq;
+ self::$deliveries[] = $pq;
}
// notifier_process can alter the recipient list
- $recipients = $narr['recipients'];
- $env_recips = $narr['env_recips'];
- $packet_recips = $narr['packet_recips'];
+ self::$recipients = $narr['recipients'];
+ self::$env_recips = $narr['env_recips'];
- if (($private) && (!$env_recips)) {
+ if (self::$private && !self::$env_recips) {
// shouldn't happen
logger('notifier: private message with no envelope recipients.' . print_r($argv, true), LOGGER_NORMAL, LOG_NOTICE);
+ return;
}
logger('notifier: recipients (may be delivered to more if public): ' . print_r($recip_list, true), LOGGER_DEBUG);
@@ -554,15 +485,15 @@ class Notifier {
// 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)) . ")
+ $hubs = q("select hubloc.*, site.site_crypto, site.site_flags, site.site_dead from hubloc left join site on site_url = hubloc_url
+ where hubloc_hash in (" . protect_sprintf(implode(',', self::$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 (!self::$private) {
$found_localhost = false;
if ($hubs) {
foreach ($hubs as $h) {
@@ -573,12 +504,12 @@ class Notifier {
}
}
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",
+ $localhub = q("select hubloc.*, site.site_crypto, site.site_flags, 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')
);
if ($localhub) {
- $hubs = array_merge($hubs, $localhub);
+ $hubs = array_merge($localhub, $hubs);
}
}
}
@@ -603,33 +534,24 @@ class Notifier {
$dead = []; // known dead hubs - report them as undeliverable
foreach ($hubs as $hub) {
-
- if (intval($hub['site_dead'])) {
+ if (isset($hub['site_dead']) && 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)) {
- $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] = [];
+ if (self::$env_recips) {
+ foreach (self::$env_recips as $er) {
+ if ($hub['hubloc_hash'] === $er) {
+ if (!array_key_exists($hub['hubloc_site_id'], $hub_env)) {
+ $hub_env[$hub['hubloc_site_id']] = [];
}
- $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']][] = $er;
+ $hub_env[$hub['hubloc_site_id']][] = $er;
}
}
}
-
- if ($hub['hubloc_network'] == 'zot') {
+ if ($hub['hubloc_network'] === 'zot6') {
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()) {
//deliver to local hub first
array_unshift($hublist, $hub['hubloc_host'] . ' ' . $hub['hubloc_network']);
@@ -639,7 +561,14 @@ class Notifier {
$hublist[] = $hub['hubloc_host'] . ' ' . $hub['hubloc_network'];
$dhubs[] = $hub;
}
- $urls[] = $hub['hubloc_url'];
+ $keys[] = $hub['hubloc_sitekey'];
+ }
+ }
+ else {
+ if (!in_array($hub['hubloc_url'], $urls)) {
+ $hublist[] = $hub['hubloc_host'] . ' ' . $hub['hubloc_network'];
+ $dhubs[] = $hub;
+ $urls[] = $hub['hubloc_url'];
}
}
}
@@ -650,37 +579,30 @@ class Notifier {
logger('notifier_hub: ' . $hub['hubloc_url'], LOGGER_DEBUG);
- if (!in_array($hub['hubloc_network'], ['zot', 'zot6'])) {
+ if ($hub['hubloc_network'] !== 'zot6') {
$narr = [
- 'channel' => $channel,
+ 'channel' => self::$channel,
'upstream' => $upstream,
- 'env_recips' => $env_recips,
- 'packet_recips' => $packet_recips,
- 'recipients' => $recipients,
- 'item' => $item,
+ 'env_recips' => self::$env_recips,
+ 'recipients' => self::$recipients,
'target_item' => $target_item,
'parent_item' => $parent_item,
'hub' => $hub,
'top_level_post' => $top_level_post,
- 'private' => $private,
+ 'private' => self::$private,
'relay_to_owner' => $relay_to_owner,
'uplink' => $uplink,
'cmd' => $cmd,
- 'mail' => $mail,
- 'single' => (($cmd === 'single_mail' || $cmd === 'single_activity') ? true : false),
- 'location' => $location,
- 'request' => $request,
+ 'single' => $cmd === 'single_activity',
'normal_mode' => $normal_mode,
- 'packet_type' => $packet_type,
- 'walltowall' => $walltowall,
+ 'packet_type' => self::$packet_type,
'queued' => []
];
-
call_hooks('notifier_hub', $narr);
if ($narr['queued']) {
foreach ($narr['queued'] as $pq)
- $deliveries[] = $pq;
+ self::$deliveries[] = $pq;
}
continue;
@@ -695,153 +617,62 @@ class Notifier {
// will invoke a delivery to those connections which are connected to just that
// hub instance.
- if ($cmd === 'single_mail' || $cmd === 'single_activity') {
- continue;
- }
-
- if (!in_array($hub['hubloc_network'], ['zot', 'zot6'])) {
+ if ($cmd === 'single_activity') {
continue;
}
- // Do not change this to a uuid as long as we have traditional zot servers
- // in the loop. The signature verification step can't handle dashes in the
- // hashes.
+ // default: zot protocol
- $hash = random_string(48);
+ $hash = new_uuid();
- $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'));
- }
- else {
- $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, ['message_id' => $request_message_id]
- );
- }
-
- if ($packet) {
- Queue::insert(
- [
- 'hash' => $hash,
- 'account_id' => $channel['channel_account_id'],
- 'channel_id' => $channel['channel_id'],
- 'posturl' => $hub['hubloc_callback'],
- 'driver' => $hub['hubloc_network'],
- 'notify' => $packet,
- 'msg' => (($pmsg) ? json_encode($pmsg) : '')
- ]
- );
+ $env = (($hub_env && $hub_env[$hub['hubloc_site_id']]) ? $hub_env[$hub['hubloc_site_id']] : '');
+ if ((self::$private) && (!$env)) {
+ continue;
}
- 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') {
- $zenv = [];
- if ($env) {
- foreach ($env as $e) {
- $zenv[] = $e['hash'];
- }
- }
-
- $packet_type = (($upstream || $uplink) ? 'response' : 'activity');
-
- // block zot private reshares from zot6, as this could cause a number of privacy issues
- // due to parenting differences between the reshare implementations. In zot a reshare is
- // a standalone parent activity and in zot6 it is a followup/child of the original activity.
- // 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'])) {
- continue;
- }
-
- $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
- // Eventually we will do this for all deliveries, but for now ensure this is precisely what we are dealing
- // 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);
- }
- else {
- $packet = zot_build_packet($channel, 'notify', $env, (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'], $hash);
-
- }
- }
+ $packet = Libzot::build_packet(self::$channel, self::$packet_type, $env, self::$encoded_item, self::$encoding, ((self::$private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto']);
- // 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';
- $encoded_item['from']['guid_sig'] = str_replace('sha256.', '', $encoded_item['from']['guid_sig']);
- }
- else {
- $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';
- $encoded_item['author']['guid_sig'] = str_replace('sha256.', '', $encoded_item['author']['guid_sig']);
- }
- }
- }
+ Queue::insert(
+ [
+ 'hash' => $hash,
+ 'account_id' => self::$channel['channel_account_id'],
+ 'channel_id' => self::$channel['channel_id'],
+ 'posturl' => $hub['hubloc_callback'],
+ 'notify' => $packet,
+ 'msg' => EMPTY_STR
+ ]
+ );
- Queue::insert(
- [
- 'hash' => $hash,
- 'account_id' => $target_item['aid'],
- 'channel_id' => $target_item['uid'],
- 'posturl' => $hub['hubloc_callback'],
- 'driver' => $hub['hubloc_network'],
- 'notify' => $packet,
- 'msg' => json_encode($encoded_item)
- ]
+ // only create delivery reports for normal undeleted items
+ 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']),
+ dbesc($hub['hubloc_host']),
+ dbesc($hub['hubloc_host']),
+ dbesc($hub['hubloc_host']),
+ dbesc('queued'),
+ dbesc(datetime_convert()),
+ dbesc(self::$channel['channel_hash']),
+ dbesc($hash)
);
-
- // 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'))) {
- 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']),
- dbesc($hub['hubloc_host']),
- dbesc('queued'),
- dbesc(datetime_convert()),
- dbesc($channel['channel_hash']),
- dbesc($hash)
- );
- }
}
- $deliveries[] = $hash;
+ self::$deliveries[] = $hash;
+
}
if ($normal_mode) {
+ // This wastes a process if there are no delivery hooks configured, so check this before launching the new process
$x = q("select * from hook where hook = 'notifier_normal'");
if ($x) {
Master::Summon(['Deliver_hooks', $target_item['id']]);
}
}
- if ($deliveries)
- do_delivery($deliveries);
-
- logger('notifier: basic loop complete.', LOGGER_DEBUG);
+ if (self::$deliveries) {
+ do_delivery(self::$deliveries);
+ }
if ($dead) {
foreach ($dead as $deceased) {
@@ -854,8 +685,8 @@ class Notifier {
dbesc($deceased['hubloc_host']),
dbesc('undeliverable/unresponsive site'),
dbesc(datetime_convert()),
- dbesc($channel['channel_hash']),
- dbesc(random_string(48))
+ dbesc(self::$channel['channel_hash']),
+ dbesc(new_uuid())
);
}
}
@@ -864,6 +695,7 @@ class Notifier {
call_hooks('notifier_end', $target_item);
logger('notifer: complete.');
+
return;
}
diff --git a/Zotlabs/Daemon/Onedirsync.php b/Zotlabs/Daemon/Onedirsync.php
index 47904ea21..ea995be9e 100644
--- a/Zotlabs/Daemon/Onedirsync.php
+++ b/Zotlabs/Daemon/Onedirsync.php
@@ -5,10 +5,6 @@ namespace Zotlabs\Daemon;
use Zotlabs\Lib\Libzot;
use Zotlabs\Lib\Libzotdir;
-require_once('include/zot.php');
-require_once('include/dir_fns.php');
-
-
class Onedirsync {
static public function run($argc, $argv) {
@@ -55,14 +51,14 @@ class Onedirsync {
// ignore doing an update if this ud_addr refers to a known dead hubloc
$h = q("select * from hubloc where hubloc_addr = '%s'",
- dbesc($r[0]['ud_addr'])
+ dbesc($r[0]['ud_addr']),
);
$h = Libzot::zot_record_preferred($h);
- if (($h) && (($h['hubloc_status'] & HUBLOC_OFFLINE) || $h['hubloc_deleted'] || $h['hubloc_error']) ) {
+ if (($h) && (($h['hubloc_status'] & HUBLOC_OFFLINE) || $h['hubloc_deleted'] || $h['hubloc_error'])) {
q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 ",
- intval(UPDATE_FLAGS_UPDATED),
+ intval(UPDATE_FLAGS_DELETED),
dbesc($r[0]['ud_addr']),
intval(UPDATE_FLAGS_UPDATED)
);
@@ -72,7 +68,7 @@ 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 && $h['hubloc_network'] !== 'zot6')
return;
Libzotdir::update_directory_entry($r[0]);
diff --git a/Zotlabs/Daemon/Onepoll.php b/Zotlabs/Daemon/Onepoll.php
index d747e65f3..4aebf64b0 100644
--- a/Zotlabs/Daemon/Onepoll.php
+++ b/Zotlabs/Daemon/Onepoll.php
@@ -8,6 +8,7 @@ use Zotlabs\Lib\ASCollection;
use Zotlabs\Lib\Libzot;
require_once('include/socgraph.php');
+require_once('include/feedutils.php');
class Onepoll {
@@ -44,7 +45,7 @@ class Onepoll {
return;
}
- $contact = array_shift($contacts);
+ $contact = $contacts[0];
$importer_uid = $contact['abook_channel'];
$r = q("SELECT * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1",
@@ -75,16 +76,12 @@ class Onepoll {
return;
}
- if (!in_array($contact['xchan_network'], ['zot', 'zot6']))
+ if ($contact['xchan_network'] !== 'zot6')
return;
// update permissions
- if ($contact['xchan_network'] === 'zot6')
- $x = Libzot::refresh($contact, $importer);
-
- if ($contact['xchan_network'] === 'zot')
- $x = zot_refresh($contact, $importer);
+ $x = Libzot::refresh($contact, $importer);
$responded = false;
$updated = datetime_convert();
@@ -109,31 +106,30 @@ class Onepoll {
return;
$fetch_feed = true;
- $x = null;
// 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'));
- if (!$can_view_stream)
+ if (!$can_view_stream) {
$fetch_feed = false;
+ }
// 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)
+ if (!$can_send_stream) {
$fetch_feed = false;
+ }
- if ($fetch_feed && $contact['xchan_network'] !== 'zot') {
+ 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'] : '');
+ if (is_array($cl) && array_key_exists('outbox', $cl)) {
+ $url = $cl['outbox'];
}
else {
$url = str_replace('/poco/', '/zotfeed/', $contact['xchan_connurl']);
@@ -163,8 +159,10 @@ class Onepoll {
// 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')
+ db_utcnow(),
+ db_quoteinterval('1 DAY')
);
+
if (!$r) {
poco_load($contact['xchan_hash'], $contact['xchan_connurl']);
}
diff --git a/Zotlabs/Daemon/Poller.php b/Zotlabs/Daemon/Poller.php
index 762f1349c..88213a7c9 100644
--- a/Zotlabs/Daemon/Poller.php
+++ b/Zotlabs/Daemon/Poller.php
@@ -69,11 +69,11 @@ class Poller {
abook.abook_channel, abook.abook_id, abook.abook_archived, abook.abook_pending,
abook.abook_ignored, abook.abook_blocked,
xchan.xchan_network,
- account.account_lastlog, account.account_flags
- FROM abook LEFT JOIN xchan on abook_xchan = xchan_hash
+ account.account_lastlog, account.account_flags
+ FROM abook LEFT JOIN xchan on abook_xchan = xchan_hash
LEFT JOIN account on abook_account = account_id
where abook_self = 0
- $sql_extra
+ $sql_extra
AND (( account_flags = %d ) OR ( account_flags = %d )) $abandon_sql ORDER BY $randfunc",
intval(ACCOUNT_OK),
intval(ACCOUNT_UNVERIFIED) // FIXME
@@ -102,8 +102,7 @@ class Poller {
continue;
}
-
- if (!in_array($contact['xchan_network'], ['zot', 'zot6']))
+ if ($contact['xchan_network'] !== 'zot6')
continue;
if ($c == $t) {
@@ -191,7 +190,7 @@ class Poller {
set_config('system', 'lastpoll', datetime_convert());
- //All done - clear the lockfile
+ //All done - clear the lockfile
@unlink($lockfile);
diff --git a/Zotlabs/Daemon/Queue.php b/Zotlabs/Daemon/Queue.php
index e1f4b73de..41aaf45ed 100644
--- a/Zotlabs/Daemon/Queue.php
+++ b/Zotlabs/Daemon/Queue.php
@@ -2,8 +2,7 @@
namespace Zotlabs\Daemon;
-require_once('include/queue_fn.php');
-require_once('include/zot.php');
+use Zotlabs\Lib\Queue as LibQueue;
class Queue {
@@ -48,17 +47,17 @@ class Queue {
else {
// For the first 12 hours we'll try to deliver every 15 minutes
- // After that, we'll only attempt delivery once per hour.
- // This currently only handles the default queue drivers ('zot' or '') which we will group by posturl
+ // After that, we'll only attempt delivery once per hour.
+ // This currently only handles the default queue drivers ('zot' or '') which we will group by posturl
// 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
+ // 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
- // the site is permanently down, there's no reason to attempt delivery at all, or at most not more than once
- // or twice a day.
+ // the site is permanently down, there's no reason to attempt delivery at all, or at most not more than once
+ // or twice a day.
$sqlrandfunc = db_getfunc('rand');
@@ -67,7 +66,7 @@ class Queue {
);
while ($r) {
foreach ($r as $rv) {
- queue_deliver($rv);
+ LibQueue::deliver($rv);
}
$r = q("SELECT *,$sqlrandfunc as rn FROM outq WHERE outq_delivered = 0 and outq_scheduled < %s order by rn limit 1",
db_utcnow()
@@ -78,7 +77,7 @@ class Queue {
return;
foreach ($r as $rv) {
- queue_deliver($rv);
+ LibQueue::deliver($rv);
}
}
}
diff --git a/Zotlabs/Daemon/Ratenotif.php b/Zotlabs/Daemon/Ratenotif.php
deleted file mode 100644
index 8afde2c4c..000000000
--- a/Zotlabs/Daemon/Ratenotif.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-namespace Zotlabs\Daemon;
-
-require_once('include/zot.php');
-require_once('include/queue_fn.php');
-
-
-class Ratenotif {
-
- static public function run($argc,$argv) {
-
-
- // Deprecated
- return;
-
-
- require_once("datetime.php");
- require_once('include/items.php');
-
- if($argc < 3)
- return;
-
-
- logger('ratenotif: invoked: ' . print_r($argv,true), LOGGER_DEBUG);
-
- $cmd = $argv[1];
-
- $item_id = $argv[2];
-
-
- if($cmd === 'rating') {
- $r = q("select * from xlink where xlink_id = %d and xlink_static = 1 limit 1",
- intval($item_id)
- );
- if(! $r) {
- logger('rating not found');
- return;
- }
-
- $encoded_item = array(
- 'type' => 'rating',
- 'encoding' => 'zot',
- 'target' => $r[0]['xlink_link'],
- 'rating' => intval($r[0]['xlink_rating']),
- 'rating_text' => $r[0]['xlink_rating_text'],
- 'signature' => $r[0]['xlink_sig'],
- 'edited' => $r[0]['xlink_updated']
- );
- }
-
- $channel = channelx_by_hash($r[0]['xlink_xchan']);
- if(! $channel) {
- logger('no channel');
- return;
- }
-
-
- $primary = get_directory_primary();
-
- if(! $primary)
- return;
-
-
- $interval = ((get_config('system','delivery_interval') !== false)
- ? intval(get_config('system','delivery_interval')) : 2 );
-
- $deliveries_per_process = intval(get_config('system','delivery_batch_count'));
-
- if($deliveries_per_process <= 0)
- $deliveries_per_process = 1;
-
- $deliver = array();
-
- $x = z_fetch_url($primary . '/regdir');
- if($x['success']) {
- $j = json_decode($x['body'],true);
- if($j && $j['success'] && is_array($j['directories'])) {
-
- foreach($j['directories'] as $h) {
- if($h == z_root())
- continue;
-
- $hash = random_string();
- $n = zot_build_packet($channel,'notify',null,null,'',$hash);
-
- queue_insert(array(
- 'hash' => $hash,
- 'account_id' => $channel['channel_account_id'],
- 'channel_id' => $channel['channel_id'],
- 'posturl' => $h . '/post',
- 'notify' => $n,
- 'msg' => json_encode($encoded_item)
- ));
-
-
- $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',300))) {
- logger('immediate delivery deferred.', LOGGER_DEBUG, LOG_INFO);
- update_queue_item($hash);
- continue;
- }
-
- $deliver[] = $hash;
-
- if(count($deliver) >= $deliveries_per_process) {
- Master::Summon(array('Deliver',$deliver));
- $deliver = array();
- if($interval)
- @time_sleep_until(microtime(true) + (float) $interval);
- }
- }
-
- // catch any stragglers
-
- if(count($deliver)) {
- Master::Summon(array('Deliver',$deliver));
- }
- }
- }
-
- logger('ratenotif: complete.');
- return;
-
- }
-}
diff --git a/Zotlabs/Daemon/Thumbnail.php b/Zotlabs/Daemon/Thumbnail.php
index 72034b870..3688e8ae5 100644
--- a/Zotlabs/Daemon/Thumbnail.php
+++ b/Zotlabs/Daemon/Thumbnail.php
@@ -45,7 +45,6 @@ class Thumbnail {
return;
}
-
$default_controller = null;
$files = glob('Zotlabs/Thumbs/*.php');
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php
index 6e8344def..3c1b140a0 100644
--- a/Zotlabs/Lib/Activity.php
+++ b/Zotlabs/Lib/Activity.php
@@ -11,6 +11,7 @@ use Zotlabs\Web\HTTPSig;
require_once('include/event.php');
require_once('include/html2plain.php');
+require_once('include/items.php');
class Activity {
@@ -649,7 +650,7 @@ class Activity {
$atts = ((is_array($item['attach'])) ? $item['attach'] : json_decode($item['attach'], true));
if ($atts) {
foreach ($atts as $att) {
- if (strpos($att['type'], 'image')) {
+ if (isset($att['type']) && strpos($att['type'], 'image')) {
$ret[] = ['type' => 'Image', 'url' => $att['href']];
}
else {
@@ -1742,14 +1743,9 @@ class Activity {
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);
$is_sys_channel = is_sys_channel($channel['channel_id']);
-
$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",
@@ -1764,7 +1760,7 @@ class Activity {
}
if ($r[0]['owner_xchan'] === $channel['channel_hash']) {
- 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) {
logger('no comment permission.');
return;
}
@@ -1776,7 +1772,7 @@ class Activity {
}
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) {
logger('no permission');
return;
}
@@ -2545,12 +2541,6 @@ class Activity {
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);
-
// 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']) {
@@ -2611,7 +2601,7 @@ class Activity {
$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) {
+ if ($is_sys_channel && $item['owner_xchan'] !== $observer_hash && !$fetch_parents) {
$allowed = false;
}
}
@@ -2626,7 +2616,7 @@ class Activity {
// 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)) {
+ if (perm_is_allowed($channel['channel_id'], (($item['item_fetched']) ? $item['author_xchan'] : $observer_hash), 'send_stream') || $is_sys_channel) {
$allowed = true;
}
// TODO: not implemented
@@ -2764,7 +2754,7 @@ class Activity {
$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)) {
+ if (perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') || $is_sys_channel) {
$fetch = (($fetch_parents) ? self::fetch_and_store_parents($channel, $observer_hash, $item, $force) : false);
}
if ($fetch) {
@@ -3073,15 +3063,9 @@ class Activity {
static function announce_note($channel, $observer_hash, $act) {
$s = [];
-
$is_sys_channel = is_sys_channel($channel['channel_id']);
- // 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);
-
- 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) {
logger('no permission');
return;
}
@@ -3496,7 +3480,7 @@ class Activity {
static function find_best_identity($xchan) {
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",
+ $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' and hubloc_deleted = 0",
dbesc($xchan)
);
if ($r) {
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index 5ef4ecc8d..30c108cc1 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -76,7 +76,8 @@ class Apps {
'Directory',
'Search',
'Help',
- 'Profile Photo'
+ 'Profile Photo',
+ 'HQ'
]);
/**
@@ -374,7 +375,7 @@ class Apps {
'Permission Categories' => t('Permission Categories'),
'Public Stream' => t('Public Stream'),
'My Chatrooms' => t('My Chatrooms'),
- 'Channel Export' => t('Channel Export')
+ 'Channel Export' => t('Channel Export'),
);
if(array_key_exists('name',$arr)) {
@@ -524,7 +525,7 @@ class Apps {
}
elseif(remote_channel()) {
$observer = \App::get_observer();
- if($observer && in_array($observer['xchan_network'], ['zot6', 'zot'])) {
+ if($observer && $observer['xchan_network'] === 'zot6') {
// some folks might have xchan_url redirected offsite, use the connurl
$x = parse_url($observer['xchan_connurl']);
if($x) {
diff --git a/Zotlabs/Lib/Connect.php b/Zotlabs/Lib/Connect.php
index 21bec171b..38fe69995 100644
--- a/Zotlabs/Lib/Connect.php
+++ b/Zotlabs/Lib/Connect.php
@@ -146,7 +146,7 @@ class Connect {
}
- $allowed = ((in_array($xchan['xchan_network'],['rss','zot','zot6'])) ? 1 : 0);
+ $allowed = ((in_array($xchan['xchan_network'],['rss', 'zot6'])) ? 1 : 0);
$hookdata = ['channel_id' => $uid, 'follow_address' => $url, 'xchan' => $xchan, 'allowed' => $allowed, 'singleton' => 0];
call_hooks('follow_allow',$hookdata);
diff --git a/Zotlabs/Lib/DReport.php b/Zotlabs/Lib/DReport.php
index 7515d3292..2263529b2 100644
--- a/Zotlabs/Lib/DReport.php
+++ b/Zotlabs/Lib/DReport.php
@@ -87,8 +87,7 @@ class DReport {
// Is the sender one of our channels?
- $c = q("select channel_id from channel where channel_hash = '%s' or channel_portable_id = '%s' limit 1",
- dbesc($dr['sender']),
+ $c = q("select channel_id from channel where channel_hash = '%s' limit 1",
dbesc($dr['sender'])
);
diff --git a/Zotlabs/Lib/Enotify.php b/Zotlabs/Lib/Enotify.php
index 7e33f09b8..50b564bde 100644
--- a/Zotlabs/Lib/Enotify.php
+++ b/Zotlabs/Lib/Enotify.php
@@ -124,14 +124,14 @@ class Enotify {
if ($params['type'] == NOTIFY_MAIL) {
logger('notification: mail');
- $subject = sprintf( t('[$Projectname:Notify] New mail received at %s'),$sitename);
-
- $preamble = sprintf( t('%1$s sent you a new private message at %2$s.'), $sender['xchan_name'],$sitename);
- $epreamble = sprintf( t('%1$s sent you %2$s.'),'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', '[zrl=$itemlink]' . t('a private message') . '[/zrl]');
- $sitelink = t('Please visit %s to view and/or reply to your private messages.');
- $tsitelink = sprintf( $sitelink, $siteurl . '/mail/' . $params['item']['id'] );
- $hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '/mail/' . $params['item']['id'] . '">' . $sitename . '</a>');
- $itemlink = $siteurl . '/mail/' . $params['item']['id'];
+ $subject = sprintf( t('[$Projectname:Notify] New direct message received at %s'),$sitename);
+
+ $preamble = sprintf( t('%1$s sent you a new direct message at %2$s.'), $sender['xchan_name'],$sitename);
+ $epreamble = sprintf( t('%1$s sent you %2$s.'),'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', '[zrl=$itemlink]' . t('a direct message') . '[/zrl]');
+ $sitelink = t('Please visit %s to view and/or reply to your direct messages.');
+ $tsitelink = sprintf( $sitelink, $siteurl . '/hq/' . gen_link_id($params['item']['mid']));
+ $hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '/hq/' . gen_link_id($params['item']['mid']) . '">' . $sitename . '</a>');
+ $itemlink = $siteurl . '/hq/' . gen_link_id($params['item']['mid']);
}
if ($params['type'] == NOTIFY_COMMENT) {
@@ -886,7 +886,7 @@ class Enotify {
$b64mid = ((strpos($mid, 'b64.') === 0) ? $mid : 'b64.' . base64url_encode($mid));
$x = [
- 'notify_link' => z_root() . '/notify/view/' . $tt['id'],
+ 'notify_link' => (($tt['ntype'] === NOTIFY_MAIL) ? $tt['link'] : z_root() . '/notify/view/' . $tt['id']),
'name' => $tt['xname'],
'url' => $tt['url'],
'photo' => $tt['photo'],
@@ -945,7 +945,7 @@ class Enotify {
'photo' => $rr['xchan_photo_s'],
'when' => datetime_convert('UTC', date_default_timezone_get(), $rr['created']),
'hclass' => (intval($rr['mail_seen']) ? 'notify-seen' : 'notify-unseen'),
- 'message' => t('sent you a private message'),
+ 'message' => t('sent you a direct message'),
];
return $x;
diff --git a/Zotlabs/Lib/Libsync.php b/Zotlabs/Lib/Libsync.php
index 5455aa2ea..67603a0e3 100644
--- a/Zotlabs/Lib/Libsync.php
+++ b/Zotlabs/Lib/Libsync.php
@@ -255,9 +255,6 @@ class Libsync {
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('mail', $arr) && $arr['mail'])
sync_mail($channel, $arr['mail']);
diff --git a/Zotlabs/Lib/Libzot.php b/Zotlabs/Lib/Libzot.php
index c7d001d21..d5768cc84 100644
--- a/Zotlabs/Lib/Libzot.php
+++ b/Zotlabs/Lib/Libzot.php
@@ -1270,10 +1270,6 @@ class Libzot {
if ($AS->data['signed_data']) {
IConfig::Set($arr, 'activitypub', 'signed_data', $AS->data['signed_data'], false);
- $j = json_decode($AS->data['signed_data'], true);
- if ($j) {
- IConfig::Set($arr, 'activitypub', 'rawmsg', json_encode(JSalmon::unpack($j['data'])), true);
- }
}
logger('Activity received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG);
@@ -1377,8 +1373,6 @@ class Libzot {
$check_mentions = true;
}
}
- elseif ($msg['type'] === 'mail')
- $perm = 'post_mail';
$r = [];
@@ -2210,90 +2204,6 @@ class Libzot {
return $post_id;
}
- static function process_mail_delivery($sender, $arr, $deliveries) {
-
- $result = [];
-
- if ($sender != $arr['from_xchan']) {
- logger('process_mail_delivery: sender is not mail author');
- return;
- }
-
- foreach ($deliveries as $d) {
-
- $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) {
- $DR->update('recipient not found');
- $result[] = $DR->get();
- continue;
- }
-
- $channel = $r[0];
- $DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
-
-
- if (!perm_is_allowed($channel['channel_id'], $sender, 'post_mail')) {
-
- /*
- * Always allow somebody to reply if you initiated the conversation. It's anti-social
- * and a bit rude to send a private message to somebody and block their ability to respond.
- * If you are being harrassed and want to put an end to it, delete the conversation.
- */
-
- $return = false;
- 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) {
- logger("permission denied for mail delivery {$channel['channel_id']}");
- $DR->update('permission denied');
- $result[] = $DR->get();
- continue;
- }
- }
-
-
- $r = q("select id from mail where mid = '%s' and channel_id = %d limit 1",
- dbesc($arr['mid']),
- intval($channel['channel_id'])
- );
- 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'])
- );
- $DR->update('mail recalled');
- $result[] = $DR->get();
- logger('mail_recalled');
- }
- else {
- $DR->update('duplicate mail received');
- $result[] = $DR->get();
- logger('duplicate mail received');
- }
- continue;
- }
- else {
- $arr['account_id'] = $channel['channel_account_id'];
- $arr['channel_id'] = $channel['channel_id'];
- $item_id = mail_store($arr);
- $DR->update('mail delivered');
- $result[] = $DR->get();
- }
- }
-
- return $result;
- }
-
/**
* @brief Processes delivery of profile.
@@ -2664,9 +2574,9 @@ 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)) {
- //return import_author_activitypub($x);
- //}
+ if(!isset($x['id']) && !isset($x['key']) && !isset($x['id_sig'])) {
+ return false;
+ }
$hash = self::make_xchan_hash($x['id'], $x['key']);
@@ -2927,7 +2837,7 @@ class Libzot {
$hookinfo = [
'channel_id' => $id,
- 'protocols' => ['zot6', 'zot']
+ 'protocols' => ['zot6']
];
/**
* @hooks channel_protocols
@@ -3231,11 +3141,6 @@ class Libzot {
return $v;
}
}
- foreach ($arr as $v) {
- if ($v[$check] === 'zot') {
- return $v;
- }
- }
return $arr[0];
diff --git a/Zotlabs/Lib/Libzotdir.php b/Zotlabs/Lib/Libzotdir.php
index 41c0a54e9..507ddb674 100644
--- a/Zotlabs/Lib/Libzotdir.php
+++ b/Zotlabs/Lib/Libzotdir.php
@@ -207,8 +207,6 @@ class Libzotdir {
);
}
-
-
// If there are no directory servers, setup the fallback master
/** @FIXME What to do if we're in a different realm? */
@@ -249,11 +247,12 @@ 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;
$j = json_decode($x['body'],true);
- if (!($j['transactions']) || ($j['ratings']))
+ if (!$j['transactions'])
continue;
q("update site set site_sync = '%s' where site_url = '%s'",
@@ -319,6 +318,14 @@ class Libzotdir {
}
if(array_path_exists('signature/signer',$zf) && $zf['signature']['signer'] === $href && intval($zf['signature']['header_valid'])) {
$xc = Libzot::import_xchan($zf['data'], 0, $ud);
+ // This is a workaround for a missing xchan_updated column
+ // TODO: implement xchan_updated in the xchan table and update this column instead
+ if($zf['data']['primary_location']['address'] && $zf['data']['primary_location']['url']) {
+ q("UPDATE hubloc SET hubloc_updated = '%s' WHERE hubloc_id_url = '%s' AND hubloc_primary = 1",
+ dbesc(datetime_convert()),
+ dbesc($zf['data']['primary_location']['url'])
+ );
+ }
}
else {
q("update updates set ud_last = '%s' where ud_addr = '%s'",
@@ -345,7 +352,7 @@ class Libzotdir {
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",
+ $p = q("select channel.channel_hash, channel_address, channel_timezone, profile.* from profile left join channel on channel_id = uid where uid = %d and is_default = 1",
intval($uid)
);
@@ -354,7 +361,6 @@ class Libzotdir {
if ($p) {
$hash = $p[0]['channel_hash'];
- $legacy_hash = $p[0]['channel_portable_id'];
$profile['description'] = $p[0]['pdesc'];
$profile['birthday'] = $p[0]['dob'];
@@ -393,10 +399,9 @@ class Libzotdir {
);
if(intval($r[0]['xchan_hidden']) != $hidden) {
- $r = q("update xchan set xchan_hidden = %d where xchan_hash in ('%s', '%s')",
+ $r = q("update xchan set xchan_hidden = %d where xchan_hash = '%s'",
intval($hidden),
- dbesc($hash),
- dbesc($legacy_hash)
+ dbesc($hash)
);
}
@@ -410,13 +415,11 @@ class Libzotdir {
}
else {
// they may have made it private
- q("delete from xprof where xprof_hash in ('%s', '%s')",
- dbesc($hash),
- dbesc($legacy_hash)
+ q("delete from xprof where xprof_hash = '%s'",
+ dbesc($hash)
);
- q("delete from xtag where xtag_hash in ('%s', '%s')",
- dbesc($hash),
- dbesc($legacy_hash)
+ q("delete from xtag where xtag_hash = '%s'",
+ dbesc($hash)
);
}
diff --git a/Zotlabs/Lib/MessageFilter.php b/Zotlabs/Lib/MessageFilter.php
index 750d6d424..21e6ca26a 100644
--- a/Zotlabs/Lib/MessageFilter.php
+++ b/Zotlabs/Lib/MessageFilter.php
@@ -11,8 +11,6 @@ class MessageFilter {
require_once('include/html2plain.php');
- unobscure($item);
-
$text = prepare_text($item['body'],$item['mimetype']);
$text = html2plain(($item['title']) ? $item['title'] . ' ' . $text : $text);
diff --git a/Zotlabs/Lib/Queue.php b/Zotlabs/Lib/Queue.php
index 373a7d304..35eb1e264 100644
--- a/Zotlabs/Lib/Queue.php
+++ b/Zotlabs/Lib/Queue.php
@@ -2,6 +2,9 @@
namespace Zotlabs\Lib;
+use Zotlabs\Zot6\Receiver;
+use Zotlabs\Zot6\Zot6Handler;
+
class Queue {
static function update($id, $add_priority = 0) {
@@ -28,19 +31,19 @@ class Queue {
$might_be_down = ((datetime_convert('UTC','UTC',$y[0]['earliest']) < datetime_convert('UTC','UTC','now - 2 days')) ? true : false);
- // Set all other records for this destination way into the future.
+ // Set all other records for this destination way into the future.
// The queue delivers by destination. We'll keep one queue item for
// this destination (this one) with a shorter delivery. If we succeed
// once, we'll try to deliver everything for that destination.
- // The delivery will be set to at most once per hour, and if the
+ // The delivery will be set to at most once per hour, and if the
// queue item is less than 12 hours old, we'll schedule for fifteen
- // minutes.
+ // minutes.
q("UPDATE outq SET outq_scheduled = '%s' WHERE outq_posturl = '%s'",
dbesc(datetime_convert('UTC','UTC','now + 5 days')),
dbesc($x[0]['outq_posturl'])
);
-
+
$since = datetime_convert('UTC','UTC',$x[0]['outq_created']);
if(($might_be_down) || ($since < datetime_convert('UTC','UTC','now - 12 hour'))) {
@@ -50,9 +53,9 @@ class Queue {
$next = datetime_convert('UTC','UTC','now + ' . intval($add_priority) . ' minutes');
}
- q("UPDATE outq SET outq_updated = '%s',
- outq_priority = outq_priority + %d,
- outq_scheduled = '%s'
+ q("UPDATE outq SET outq_updated = '%s',
+ outq_priority = outq_priority + %d,
+ outq_scheduled = '%s'
WHERE outq_hash = '%s'",
dbesc(datetime_convert()),
@@ -66,7 +69,7 @@ class Queue {
static function remove($id,$channel_id = 0) {
logger('queue: remove queue item ' . $id,LOGGER_DEBUG);
$sql_extra = (($channel_id) ? " and outq_channel = " . intval($channel_id) . " " : '');
-
+
q("DELETE FROM outq WHERE outq_hash = '%s' $sql_extra",
dbesc($id)
);
@@ -75,7 +78,7 @@ class Queue {
static function remove_by_posturl($posturl) {
logger('queue: remove queue posturl ' . $posturl,LOGGER_DEBUG);
-
+
q("DELETE FROM outq WHERE outq_posturl = '%s' ",
dbesc($posturl)
);
@@ -88,7 +91,7 @@ class Queue {
$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.
+ // long before it ever makes it back into the delivery chain.
q("update outq set outq_delivered = 1, outq_updated = '%s', outq_scheduled = '%s' where outq_hash = '%s' $sql_extra ",
dbesc(datetime_convert()),
@@ -108,7 +111,7 @@ class Queue {
}
$x = q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_priority,
- outq_created, outq_updated, outq_scheduled, outq_notify, outq_msg )
+ outq_created, outq_updated, outq_scheduled, outq_notify, outq_msg )
values ( '%s', %d, %d, '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s' )",
dbesc($arr['hash']),
intval($arr['account_id']),
@@ -133,7 +136,7 @@ class Queue {
$base = null;
$h = parse_url($outq['outq_posturl']);
- if($h !== false)
+ if($h !== false)
$base = $h['scheme'] . '://' . $h['host'] . (isset($h['port']) ? ':' . $h['port'] : '');
if(($base) && ($base !== z_root()) && ($immediate)) {
@@ -147,7 +150,7 @@ class Queue {
return;
}
if($y[0]['site_update'] < datetime_convert('UTC','UTC','now - 1 month')) {
- self::update($outq['outq_hash'],10);
+ self::update($outq['outq_hash'], 10);
logger('immediate delivery deferred for site ' . $base);
return;
}
@@ -158,12 +161,12 @@ class Queue {
// your site has existed. Since we don't know for sure what these sites are,
// call them unknown
- site_store_lowlevel(
+ site_store_lowlevel(
[
'site_url' => $base,
'site_update' => datetime_convert(),
'site_dead' => 0,
- 'site_type' => intval(($outq['outq_driver'] === 'post') ? SITE_TYPE_NOTZOT : SITE_TYPE_UNKNOWN),
+ 'site_type' => SITE_TYPE_UNKNOWN,
'site_crypto' => ''
]
);
@@ -171,65 +174,17 @@ class Queue {
}
$arr = array('outq' => $outq, 'base' => $base, 'handled' => false, 'immediate' => $immediate);
- call_hooks('queue_deliver',$arr);
+ call_hooks('queue_deliver', $arr);
if($arr['handled'])
return;
- // "post" queue driver - used for diaspora and friendica-over-diaspora communications.
-
- if($outq['outq_driver'] === 'post') {
- $result = z_post_url($outq['outq_posturl'],$outq['outq_msg']);
- if($result['success'] && $result['return_code'] < 300) {
- logger('deliver: queue post success to ' . $outq['outq_posturl'], LOGGER_DEBUG);
- if($base) {
- q("update site set site_update = '%s', site_dead = 0 where site_url = '%s' ",
- dbesc(datetime_convert()),
- dbesc($base)
- );
- }
- q("update dreport set dreport_result = '%s', dreport_time = '%s' where dreport_queue = '%s'",
- dbesc('accepted for delivery'),
- dbesc(datetime_convert()),
- dbesc($outq['outq_hash'])
- );
- self::remove($outq['outq_hash']);
-
- // server is responding - see if anything else is going to this destination and is piled up
- // and try to send some more. We're relying on the fact that do_delivery() results in an
- // immediate delivery otherwise we could get into a queue loop.
-
- if(! $immediate) {
- $x = q("select outq_hash from outq where outq_posturl = '%s' and outq_delivered = 0",
- dbesc($outq['outq_posturl'])
- );
-
- $piled_up = array();
- if($x) {
- foreach($x as $xx) {
- $piled_up[] = $xx['outq_hash'];
- }
- }
- if($piled_up) {
- // call do_delivery() with the force flag
- do_delivery($piled_up, true);
- }
- }
- }
- else {
- logger('deliver: queue post returned ' . $result['return_code']
- . ' from ' . $outq['outq_posturl'],LOGGER_DEBUG);
- self::update($outq['outq_hash'],10);
- }
- return;
- }
-
// normal zot delivery
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']);
+ $zot = new Receiver(new Zot6Handler(), $outq['outq_notify']);
$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']);
@@ -246,7 +201,8 @@ class Queue {
$host_crypto = null;
if($channel && $base) {
- $h = q("select hubloc_sitekey, site_crypto from hubloc left join site on hubloc_url = site_url where site_url = '%s' and hubloc_sitekey != '' order by hubloc_id desc limit 1",
+ $h = q("SELECT hubloc_sitekey, site_crypto FROM hubloc LEFT JOIN site ON hubloc_url = site_url
+ WHERE site_url = '%s' AND hubloc_network = 'zot6' ORDER BY hubloc_id DESC LIMIT 1",
dbesc($base)
);
if($h) {
@@ -256,7 +212,7 @@ class Queue {
$msg = $outq['outq_notify'];
- $result = Libzot::zot($outq['outq_posturl'],$msg,$channel,$host_crypto);
+ $result = Libzot::zot($outq['outq_posturl'], $msg, $channel, $host_crypto);
if($result['success']) {
logger('deliver: remote zot delivery succeeded to ' . $outq['outq_posturl']);
@@ -265,7 +221,7 @@ class Queue {
else {
logger('deliver: remote zot delivery failed to ' . $outq['outq_posturl']);
logger('deliver: remote zot delivery fail data: ' . print_r($result,true), LOGGER_DATA);
- self::update($outq['outq_hash'],10);
+ self::update($outq['outq_hash'], 10);
}
}
return;
diff --git a/Zotlabs/Lib/ThreadStream.php b/Zotlabs/Lib/ThreadStream.php
index 68b2c70dd..7fe8fcc2e 100644
--- a/Zotlabs/Lib/ThreadStream.php
+++ b/Zotlabs/Lib/ThreadStream.php
@@ -77,7 +77,7 @@ class ThreadStream {
$this->reload = $_SESSION['return_url'];
break;
case 'display':
- // in this mode we set profile_owner after initialisation (from conversation()) and then
+ // in this mode we set profile_owner after initialisation (from conversation()) and then
// pull some trickery which allows us to re-invoke this function afterward
// it's an ugly hack so @FIXME
$this->writable = perm_is_allowed($this->profile_owner,$ob_hash,'post_comments');
@@ -170,14 +170,14 @@ class ThreadStream {
* Only add things that will be displayed
*/
-
+
if(($item->get_data_value('id') != $item->get_data_value('parent')) && (activity_match($item->get_data_value('verb'),ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'),ACTIVITY_DISLIKE))) {
return false;
}
$item->set_commentable(false);
$ob_hash = (($this->observer) ? $this->observer['xchan_hash'] : '');
-
+
if(! comments_are_now_closed($item->get_data())) {
if(($item->get_data_value('author_xchan') === $ob_hash) || ($item->get_data_value('owner_xchan') === $ob_hash))
$item->set_commentable(true);
@@ -194,7 +194,7 @@ class ThreadStream {
}
if($this->mode === 'pubstream' && (! local_channel())) {
$item->set_commentable(false);
- }
+ }
$item->set_conversation($this);
diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php
index fb95b0504..7373de899 100644
--- a/Zotlabs/Module/Acl.php
+++ b/Zotlabs/Module/Acl.php
@@ -222,6 +222,7 @@ class Acl extends \Zotlabs\Web\Controller {
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())
);
+
if($r2)
$r = array_merge($r2,$r);
@@ -282,13 +283,12 @@ class Acl extends \Zotlabs\Web\Controller {
}
}
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
FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d
and xchan_deleted = 0
- and xchan_network IN ('zot', 'diaspora', 'friendica-over-diaspora')
+ and not xchan_network IN ('rss', 'anon', 'unknown')
$sql_extra3
ORDER BY xchan_name ASC ",
intval(local_channel())
@@ -438,7 +438,6 @@ class Acl extends \Zotlabs\Web\Controller {
}
if(! $url) {
- require_once("include/dir_fns.php");
$directory = Libzotdir::find_upstream_directory($dirmode);
$url = $directory['url'] . '/dirsearch';
}
diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php
index 44c10b339..59a9e22b2 100644
--- a/Zotlabs/Module/Admin.php
+++ b/Zotlabs/Module/Admin.php
@@ -8,7 +8,6 @@
namespace Zotlabs\Module;
-require_once('include/queue_fn.php');
require_once('include/account.php');
/**
diff --git a/Zotlabs/Module/Admin/Queue.php b/Zotlabs/Module/Admin/Queue.php
index 5a47413ee..baa50591f 100644
--- a/Zotlabs/Module/Admin/Queue.php
+++ b/Zotlabs/Module/Admin/Queue.php
@@ -2,35 +2,35 @@
namespace Zotlabs\Module\Admin;
-
+use Zotlabs\Lib\Queue as LibQueue;
class Queue {
-
+
function get() {
$o = '';
-
+
$expert = ((array_key_exists('expert',$_REQUEST)) ? intval($_REQUEST['expert']) : 0);
-
+
if($_REQUEST['drophub']) {
hubloc_mark_as_down($_REQUEST['drophub']);
- remove_queue_by_posturl($_REQUEST['drophub']);
+ LibQueue::remove_by_posturl($_REQUEST['drophub']);
}
-
+
if($_REQUEST['emptyhub']) {
- remove_queue_by_posturl($_REQUEST['emptyhub']);
+ LibQueue::remove_by_posturl($_REQUEST['emptyhub']);
}
-
- $r = q("select count(outq_posturl) as total, max(outq_priority) as priority, outq_posturl from outq
+
+ $r = q("select count(outq_posturl) as total, max(outq_priority) as priority, outq_posturl from outq
where outq_delivered = 0 group by outq_posturl order by total desc");
-
+
for($x = 0; $x < count($r); $x ++) {
$r[$x]['eurl'] = urlencode($r[$x]['outq_posturl']);
$r[$x]['connected'] = datetime_convert('UTC',date_default_timezone_get(),$r[$x]['connected'],'Y-m-d');
}
-
+
$o = replace_macros(get_markup_template('admin_queue.tpl'), array(
'$banner' => t('Queue Statistics'),
'$numentries' => t('Total Entries'),
@@ -43,11 +43,11 @@ class Queue {
'$entries' => $r,
'$expert' => $expert
));
-
+
return $o;
}
-
-} \ No newline at end of file
+
+}
diff --git a/Zotlabs/Module/Authtest.php b/Zotlabs/Module/Authtest.php
index 239ae3bdb..d85af09dc 100644
--- a/Zotlabs/Module/Authtest.php
+++ b/Zotlabs/Module/Authtest.php
@@ -1,41 +1,38 @@
<?php
namespace Zotlabs\Module;
-require_once('include/zot.php');
-
-
class Authtest extends \Zotlabs\Web\Controller {
function get() {
-
-
+
+
$auth_success = false;
$o .= '<h3>Magic-Auth Diagnostic</h3>';
-
+
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
return $o;
}
-
+
$o .= '<form action="authtest" method="get">';
$o .= 'Target URL: <input type="text" style="width: 250px;" name="dest" value="' . $_GET['dest'] .'" />';
- $o .= '<input type="submit" name="submit" value="Submit" /></form>';
-
+ $o .= '<input type="submit" name="submit" value="Submit" /></form>';
+
$o .= '<br /><br />';
-
+
if(x($_GET,'dest')) {
if(strpos($_GET['dest'],'@')) {
$_GET['dest'] = $_REQUEST['dest'] = 'https://' . substr($_GET['dest'],strpos($_GET['dest'],'@')+1) . '/channel/' . substr($_GET['dest'],0,strpos($_GET['dest'],'@'));
}
-
+
$_REQUEST['test'] = 1;
$mod = new Magic();
$x = $mod->init($a);
$o .= 'Local Setup returns: ' . print_r($x,true);
-
-
-
+
+
+
if($x['url']) {
$z = z_fetch_url($x['url'] . '&test=1');
if($z['success']) {
@@ -50,12 +47,12 @@ class Authtest extends \Zotlabs\Web\Controller {
$o .= 'fetch url failure.' . print_r($z,true);
}
}
-
+
if(! $auth_success)
$o .= 'Authentication Failed!' . EOL;
}
-
+
return str_replace("\n",'<br />',$o);
}
-
+
}
diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php
index 44211c8b9..8910adfa8 100644
--- a/Zotlabs/Module/Connedit.php
+++ b/Zotlabs/Module/Connedit.php
@@ -220,9 +220,6 @@ class Connedit extends Controller {
if($z)
$record = $z[0]['xlink_id'];
}
- if($record) {
- Master::Summon(array('Ratenotif','rating',$record));
- }
}
if(($_REQUEST['pending']) && intval($orig_record[0]['abook_pending'])) {
@@ -478,16 +475,11 @@ class Connedit extends Controller {
}
if($cmd === 'refresh') {
- if($orig_record[0]['xchan_network'] === 'zot') {
- if(! zot_refresh($orig_record[0],App::get_channel()))
- notice( t('Refresh failed - channel is currently unavailable.') );
- }
- elseif($orig_record[0]['xchan_network'] === 'zot6') {
+ if($orig_record[0]['xchan_network'] === 'zot6') {
if(! Libzot::refresh($orig_record[0],App::get_channel()))
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));
}
@@ -667,7 +659,7 @@ class Connedit extends Controller {
);
- if(in_array($contact['xchan_network'], ['zot6', 'zot'])) {
+ if($contact['xchan_network'] === 'zot6') {
$tools['fetchvc'] = [
'label' => t('Fetch Vcard'),
'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/fetchvc',
@@ -841,7 +833,7 @@ class Connedit extends Controller {
$locstr = unpunify($contact['xchan_url']);
$clone_warn = '';
- $clonable = (in_array($contact['xchan_network'],['zot', 'zot6', 'rss']) ? true : false);
+ $clonable = in_array($contact['xchan_network'], ['zot6', 'rss']);
if(! $clonable) {
$clone_warn = '<strong>';
$clone_warn .= ((intval($contact['abook_not_here']))
diff --git a/Zotlabs/Module/Directory.php b/Zotlabs/Module/Directory.php
index e1555fc2d..b39887c9e 100644
--- a/Zotlabs/Module/Directory.php
+++ b/Zotlabs/Module/Directory.php
@@ -8,7 +8,6 @@ use Zotlabs\Lib\Libzotdir;
require_once('include/socgraph.php');
-require_once('include/dir_fns.php');
require_once('include/bbcode.php');
require_once('include/html2plain.php');
diff --git a/Zotlabs/Module/Dirsearch.php b/Zotlabs/Module/Dirsearch.php
index 804d7af5c..78205a9fc 100644
--- a/Zotlabs/Module/Dirsearch.php
+++ b/Zotlabs/Module/Dirsearch.php
@@ -4,26 +4,22 @@ namespace Zotlabs\Module;
use App;
use Zotlabs\Web\Controller;
-require_once('include/dir_fns.php');
-
-
-
class Dirsearch extends Controller {
function init() {
App::set_pager_itemspage(30);
-
+
}
-
+
function get() {
-
+
$ret = array('success' => false);
-
+
// logger('request: ' . print_r($_REQUEST,true));
-
-
+
+
$dirmode = intval(get_config('system','directory_mode'));
-
+
if($dirmode == DIRECTORY_MODE_NORMAL) {
$ret['message'] = t('This site is not a directory server');
json_return_and_die($ret);
@@ -31,24 +27,24 @@ class Dirsearch extends Controller {
$access_token = $_REQUEST['t'];
-
+
$token = get_config('system','realm_token');
if($token && $access_token != $token) {
$ret['message'] = t('This directory server requires an access token');
json_return_and_die($ret);
}
-
-
+
+
if(argc() > 1 && argv(1) === 'sites') {
$ret = $this->list_public_sites();
json_return_and_die($ret);
}
-
+
$sql_extra = '';
-
-
+
+
$tables = array('name','address','locale','region','postcode','country','gender','marital','sexual','keywords');
-
+
if($_REQUEST['query']) {
$advanced = $this->dir_parse_query($_REQUEST['query']);
if($advanced) {
@@ -64,9 +60,9 @@ class Dirsearch extends Controller {
}
}
}
-
+
$hash = ((x($_REQUEST['hash'])) ? $_REQUEST['hash'] : '');
-
+
$name = ((x($_REQUEST,'name')) ? $_REQUEST['name'] : '');
$hub = ((x($_REQUEST,'hub')) ? $_REQUEST['hub'] : '');
$address = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : '');
@@ -82,16 +78,16 @@ class Dirsearch extends Controller {
$agele = ((x($_REQUEST,'agele')) ? intval($_REQUEST['agele']) : 0 );
$kw = ((x($_REQUEST,'kw')) ? intval($_REQUEST['kw']) : 0 );
$forums = ((array_key_exists('pubforums',$_REQUEST)) ? intval($_REQUEST['pubforums']) : 0);
-
+
if(get_config('system','disable_directory_keywords'))
$kw = 0;
-
-
+
+
// by default use a safe search
$safe = ((x($_REQUEST,'safe'))); // ? intval($_REQUEST['safe']) : 1 );
if ($safe === false)
$safe = 1;
-
+
if(array_key_exists('sync',$_REQUEST)) {
if($_REQUEST['sync'])
$sync = datetime_convert('UTC','UTC',$_REQUEST['sync']);
@@ -100,7 +96,7 @@ class Dirsearch extends Controller {
}
else
$sync = false;
-
+
if(($dirmode == DIRECTORY_MODE_STANDALONE) && (! $hub)) {
$hub = \App::get_hostname();
}
@@ -109,13 +105,13 @@ class Dirsearch extends Controller {
$hub_query = " and xchan_hash in (select hubloc_hash from hubloc where hubloc_host = '" . protect_sprintf(dbesc($hub)) . "') ";
else
$hub_query = '';
-
+
$sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : '');
-
+
$joiner = ' OR ';
if($_REQUEST['and'])
$joiner = ' AND ';
-
+
if($name)
$sql_extra .= $this->dir_query_build($joiner,'xchan_name',$name);
if($address)
@@ -136,58 +132,58 @@ class Dirsearch extends Controller {
$sql_extra .= $this->dir_query_build($joiner,'xprof_sexual',$sexual);
if($keywords)
$sql_extra .= $this->dir_query_build($joiner,'xprof_keywords',$keywords);
-
-
- // we only support an age range currently. You must set both agege
- // (greater than or equal) and agele (less than or equal)
-
+
+
+ // we only support an age range currently. You must set both agege
+ // (greater than or equal) and agele (less than or equal)
+
if($agele && $agege) {
$sql_extra .= " $joiner ( xprof_age <= " . intval($agele) . " ";
$sql_extra .= " AND xprof_age >= " . intval($agege) . ") ";
}
-
-
+
+
if($hash) {
$sql_extra = " AND xchan_hash like '" . dbesc($hash) . protect_sprintf('%') . "' ";
}
-
-
+
+
$perpage = (($_REQUEST['n']) ? $_REQUEST['n'] : 60);
$page = (($_REQUEST['p']) ? intval($_REQUEST['p'] - 1) : 0);
$startrec = (($page+1) * $perpage) - $perpage;
$limit = (($_REQUEST['limit']) ? intval($_REQUEST['limit']) : 0);
$return_total = ((x($_REQUEST,'return_total')) ? intval($_REQUEST['return_total']) : 0);
-
+
// mtime is not currently working
-
+
$mtime = ((x($_REQUEST,'mtime')) ? datetime_convert('UTC','UTC',$_REQUEST['mtime']) : '');
-
- // ok a separate tag table won't work.
+
+ // ok a separate tag table won't work.
// merge them into xprof
-
+
$ret['success'] = true;
-
+
// If &limit=n, return at most n entries
// If &return_total=1, we count matching entries and return that as 'total_items' for use in pagination.
// By default we return one page (default 80 items maximum) and do not count total entries
-
+
$logic = ((strlen($sql_extra)) ? 'false' : 'true');
-
+
if($hash)
$logic = 'true';
-
+
if($dirmode == DIRECTORY_MODE_STANDALONE) {
$sql_extra .= " and xchan_addr like '%%" . \App::get_hostname() . "' ";
}
-
+
$safesql = (($safe > 0) ? " and xchan_censored = 0 and xchan_selfcensored = 0 " : '');
if($safe < 0)
$safesql = " and ( xchan_censored = 1 OR xchan_selfcensored = 1 ) ";
-
+
if($forums)
$safesql .= " and xchan_pubforum = " . ((intval($forums)) ? '1 ' : '0 ');
-
- if($limit)
+
+ if($limit)
$qlimit = " LIMIT $limit ";
else {
$qlimit = " LIMIT " . intval($perpage) . " OFFSET " . intval($startrec);
@@ -198,27 +194,27 @@ class Dirsearch extends Controller {
}
}
}
-
+
if($sort_order == 'normal') {
$order = " order by xchan_name asc ";
-
- // Start the alphabetic search at 'A'
+
+ // Start the alphabetic search at 'A'
// This will make a handful of channels whose names begin with
// punctuation un-searchable in this mode
-
+
$safesql .= " and ascii(substring(xchan_name FROM 1 FOR 1)) > 64 ";
}
elseif($sort_order == 'reverse')
$order = " order by xchan_name desc ";
elseif($sort_order == 'reversedate')
$order = " order by xchan_name_date asc ";
- else
+ else
$order = " order by xchan_name_date desc ";
-
-
+
+
if($sync) {
$spkt = array('transactions' => array());
- $r = q("select * from updates where ud_date >= '%s' and ud_guid != '' order by ud_date desc",
+ $r = q("select * from updates where ud_date >= '%s' and ud_guid != '' and ud_addr != '' order by ud_date desc",
dbesc($sync)
);
if($r) {
@@ -228,7 +224,7 @@ class Dirsearch extends Controller {
$flags[] = 'deleted';
if($rr['ud_flags'] & UPDATE_FLAGS_FORCED)
$flags[] = 'forced';
-
+
$spkt['transactions'][] = array(
'hash' => $rr['ud_hash'],
'address' => $rr['ud_addr'],
@@ -238,87 +234,48 @@ class Dirsearch extends Controller {
);
}
}
- $r = q("select * from xlink where xlink_static = 1 and xlink_updated >= '%s' ",
- dbesc($sync)
- );
- if($r) {
- $spkt['ratings'] = array();
- foreach($r as $rr) {
- $spkt['ratings'][] = array(
- 'type' => 'rating',
- 'encoding' => 'zot',
- 'channel' => $rr['xlink_xchan'],
- 'target' => $rr['xlink_link'],
- 'rating' => intval($rr['xlink_rating']),
- 'rating_text' => $rr['xlink_rating_text'],
- 'signature' => $rr['xlink_sig'],
- 'edited' => $rr['xlink_updated']
- );
- }
- }
json_return_and_die($spkt);
}
else {
-
- $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash
- where ( $logic $sql_extra ) $hub_query and xchan_network = 'zot6' and xchan_system = 0 and xchan_hidden = 0 and xchan_orphan = 0 and xchan_deleted = 0
- $safesql $order $qlimit "
+
+ $r = q("SELECT
+ xchan.xchan_name as name,
+ xchan.xchan_hash as hash,
+ xchan.xchan_censored as censored,
+ xchan.xchan_selfcensored as selfcensored,
+ xchan.xchan_pubforum as public_forum,
+ xchan.xchan_url as url,
+ xchan.xchan_photo_l as photo_l,
+ xchan.xchan_photo_m as photo,
+ xchan.xchan_addr as address,
+ xprof.xprof_desc as description,
+ xprof.xprof_locale as locale,
+ xprof.xprof_region as region,
+ xprof.xprof_postcode as postcode,
+ xprof.xprof_country as country,
+ xprof.xprof_dob as birthday,
+ xprof.xprof_age as age,
+ xprof.xprof_gender as gender,
+ xprof.xprof_marital as marital,
+ xprof.xprof_sexual as sexual,
+ xprof.xprof_about as about,
+ xprof.xprof_homepage as homepage,
+ xprof.xprof_hometown as hometown,
+ xprof.xprof_keywords as keywords
+ from xchan left join xprof on xchan_hash = xprof_hash left join hubloc on hubloc_hash = xchan_hash
+ where hubloc_primary = 1 and hubloc_updated > %s - INTERVAL %s and ( $logic $sql_extra ) $hub_query and xchan_network = 'zot6' and xchan_system = 0 and xchan_hidden = 0 and xchan_orphan = 0 and xchan_deleted = 0
+ $safesql $order $qlimit",
+ db_utcnow(),
+ db_quoteinterval('30 DAY')
);
-
-
-
- $ret['page'] = $page + 1;
- $ret['records'] = count($r);
+
}
-
-
-
+
if($r) {
-
- $entries = array();
-
- foreach($r as $rr) {
-
- $entry = array();
-
- $pc = q("select count(xlink_rating) as total_ratings from xlink where xlink_link = '%s' and xlink_rating != 0 and xlink_static = 1 group by xlink_rating",
- dbesc($rr['xchan_hash'])
- );
-
- if($pc)
- $entry['total_ratings'] = intval($pc[0]['total_ratings']);
- else
- $entry['total_ratings'] = 0;
-
- $entry['name'] = $rr['xchan_name'];
- $entry['hash'] = $rr['xchan_hash'];
- $entry['censored'] = $rr['xchan_censored'];
- $entry['selfcensored'] = $rr['xchan_selfcensored'];
- $entry['public_forum'] = (intval($rr['xchan_pubforum']) ? true : false);
- $entry['url'] = $rr['xchan_url'];
- $entry['photo_l'] = $rr['xchan_photo_l'];
- $entry['photo'] = $rr['xchan_photo_m'];
- $entry['address'] = $rr['xchan_addr'];
- $entry['description'] = $rr['xprof_desc'];
- $entry['locale'] = $rr['xprof_locale'];
- $entry['region'] = $rr['xprof_region'];
- $entry['postcode'] = $rr['xprof_postcode'];
- $entry['country'] = $rr['xprof_country'];
- $entry['birthday'] = $rr['xprof_dob'];
- $entry['age'] = $rr['xprof_age'];
- $entry['gender'] = $rr['xprof_gender'];
- $entry['marital'] = $rr['xprof_marital'];
- $entry['sexual'] = $rr['xprof_sexual'];
- $entry['about'] = $rr['xprof_about'];
- $entry['homepage'] = $rr['xprof_homepage'];
- $entry['hometown'] = $rr['xprof_hometown'];
- $entry['keywords'] = $rr['xprof_keywords'];
-
- $entries[] = $entry;
-
- }
-
- $ret['results'] = $entries;
+ $ret['results'] = $r;
+ $ret['page'] = $page + 1;
+ $ret['records'] = count($r);
+
if($kw) {
$k = dir_tagadelic($kw, $hub);
if($k) {
@@ -328,30 +285,30 @@ class Dirsearch extends Controller {
}
}
}
- }
-
+ }
+
json_return_and_die($ret);
}
-
+
function dir_query_build($joiner,$field,$s) {
$ret = '';
if(trim($s))
$ret .= dbesc($joiner) . " " . dbesc($field) . " like '" . protect_sprintf( '%' . dbesc($s) . '%' ) . "' ";
return $ret;
}
-
+
function dir_flag_build($joiner,$field,$bit,$s) {
return dbesc($joiner) . " ( " . dbesc($field) . " & " . intval($bit) . " ) " . ((intval($s)) ? '>' : '=' ) . " 0 ";
}
-
-
+
+
function dir_parse_query($s) {
-
+
$ret = array();
$curr = array();
$all = explode(' ',$s);
$quoted_string = false;
-
+
if($all) {
foreach($all as $q) {
if($quoted_string === false) {
@@ -382,7 +339,7 @@ class Dirsearch extends Controller {
$ret[] = $curr;
$curr = array();
continue;
- }
+ }
else {
$ret[] = $curr;
$curr = array();
@@ -405,15 +362,15 @@ class Dirsearch extends Controller {
logger('dir_parse_query:' . print_r($ret,true),LOGGER_DATA);
return $ret;
}
-
-
-
-
-
-
-
+
+
+
+
+
+
+
function list_public_sites() {
-
+
$rand = db_getfunc('rand');
$realm = get_directory_realm();
if($realm == DIRECTORY_REALM) {
@@ -428,16 +385,16 @@ class Dirsearch extends Controller {
intval(SITE_TYPE_ZOT)
);
}
-
+
$ret = array('success' => false);
-
+
if($r) {
$ret['success'] = true;
$ret['sites'] = array();
$insecure = array();
-
+
foreach($r as $rr) {
-
+
if($rr['site_access'] == ACCESS_FREE)
$access = 'free';
elseif($rr['site_access'] == ACCESS_PAID)
@@ -446,14 +403,14 @@ class Dirsearch extends Controller {
$access = 'tiered';
else
$access = 'private';
-
+
if($rr['site_register'] == REGISTER_OPEN)
$register = 'open';
elseif($rr['site_register'] == REGISTER_APPROVE)
$register = 'approve';
else
$register = 'closed';
-
+
if(strpos($rr['site_url'],'https://') !== false)
$ret['sites'][] = array('url' => $rr['site_url'], 'access' => $access, 'register' => $register, 'sellpage' => $rr['site_sellpage'], 'location' => $rr['site_location'], 'project' => $rr['site_project'], 'version' => $rr['site_version']);
else
diff --git a/Zotlabs/Module/Dreport.php b/Zotlabs/Module/Dreport.php
index 0fc36dc29..50d1647c8 100644
--- a/Zotlabs/Module/Dreport.php
+++ b/Zotlabs/Module/Dreport.php
@@ -5,16 +5,16 @@ namespace Zotlabs\Module;
class Dreport extends \Zotlabs\Web\Controller {
function get() {
-
+
if(! local_channel()) {
notice( t('Permission denied') . EOL);
return;
}
-
+
$table = 'item';
-
+
$channel = \App::get_channel();
-
+
$mid = ((argc() > 1) ? argv(1) : '');
$encoded_mid = '';
@@ -31,7 +31,7 @@ class Dreport extends \Zotlabs\Web\Controller {
$mid = @base64url_decode(substr($mid,4));
}
- if($mid) {
+ if($mid) {
$i = q("select id from item where mid = '%s' and uid = %d and ( author_xchan = '%s' or ( owner_xchan = '%s' and item_wall = 1 )) ",
dbesc($mid),
intval($channel['channel_id']),
@@ -53,13 +53,13 @@ class Dreport extends \Zotlabs\Web\Controller {
$mid = @base64url_decode(substr($mid,4));
}
-
-
+
+
if(! $mid) {
notice( t('Invalid message') . EOL);
return;
}
-
+
switch($table) {
case 'item':
$i = q("select id from item where mid = '%s' and ( author_xchan = '%s' or ( owner_xchan = '%s' and item_wall = 1 )) ",
@@ -77,30 +77,29 @@ class Dreport extends \Zotlabs\Web\Controller {
default:
break;
}
-
+
if(! $i) {
notice( t('Permission denied') . EOL);
return;
}
-
- $r = q("select * from dreport where (dreport_xchan = '%s' or dreport_xchan = '%s') and dreport_mid = '%s'",
+
+ $r = q("select * from dreport where dreport_xchan = '%s' and dreport_mid = '%s'",
dbesc($channel['channel_hash']),
- dbesc($channel['channel_portable_id']),
dbesc($mid)
);
-
+
if(! $r) {
notice( t('no results') . EOL);
// return;
}
-
+
for($x = 0; $x < count($r); $x++ ) {
-
+
// This has two purposes: 1. make the delivery report strings translateable, and
// 2. assign an ordering to item delivery results so we can group them and provide
// a readable report with more interesting events listed toward the top and lesser
// interesting items towards the bottom
-
+
switch($r[$x]['dreport_result']) {
case 'channel sync processed':
$r[$x]['gravity'] = 0;
@@ -146,13 +145,13 @@ class Dreport extends \Zotlabs\Web\Controller {
break;
}
}
-
+
usort($r,'self::dreport_gravity_sort');
$entries = array();
foreach($r as $rr) {
- $entries[] = [
- 'name' => escape_tags($rr['dreport_name'] ?: $rr['dreport_recip']),
+ $entries[] = [
+ 'name' => escape_tags($rr['dreport_name'] ?: $rr['dreport_recip']),
'result' => escape_tags($rr['dreport_result']),
'time' => escape_tags(datetime_convert('UTC',date_default_timezone_get(),$rr['dreport_time']))
];
@@ -167,14 +166,14 @@ class Dreport extends \Zotlabs\Web\Controller {
'$push' => t('Redeliver'),
'$entries' => $entries
));
-
-
+
+
return $o;
-
-
-
+
+
+
}
-
+
private static function dreport_gravity_sort($a,$b) {
if($a['gravity'] == $b['gravity']) {
if($a['dreport_name'] === $b['dreport_name'])
@@ -183,5 +182,5 @@ class Dreport extends \Zotlabs\Web\Controller {
}
return (($a['gravity'] > $b['gravity']) ? 1 : (-1));
}
-
+
}
diff --git a/Zotlabs/Module/Events.php b/Zotlabs/Module/Events.php
deleted file mode 100644
index 681d6887d..000000000
--- a/Zotlabs/Module/Events.php
+++ /dev/null
@@ -1,750 +0,0 @@
-<?php
-namespace Zotlabs\Module;
-
-require_once('include/conversation.php');
-require_once('include/bbcode.php');
-require_once('include/datetime.php');
-require_once('include/event.php');
-require_once('include/items.php');
-require_once('include/html2plain.php');
-
-class Events extends \Zotlabs\Web\Controller {
-
- function post() {
-
- // this module is deprecated
- return;
-
- logger('post: ' . print_r($_REQUEST,true), LOGGER_DATA);
-
- if(! local_channel())
- return;
-
- if(($_FILES) && array_key_exists('userfile',$_FILES) && intval($_FILES['userfile']['size'])) {
- $src = $_FILES['userfile']['tmp_name'];
- if($src) {
- $result = parse_ical_file($src,local_channel());
- if($result)
- info( t('Calendar entries imported.') . EOL);
- else
- notice( t('No calendar entries found.') . EOL);
- @unlink($src);
- }
- goaway(z_root() . '/events');
- }
-
-
- $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']) : '');
- $uid = local_channel();
-
- $start_text = escape_tags($_REQUEST['start_text']);
- $finish_text = escape_tags($_REQUEST['finish_text']);
-
- $adjust = intval($_POST['adjust']);
- $nofinish = intval($_POST['nofinish']);
-
- $timezone = ((x($_POST,'timezone_select')) ? notags(trim($_POST['timezone_select'])) : '');
-
- $tz = (($timezone) ? $timezone : date_default_timezone_get());
-
- $categories = escape_tags(trim($_POST['category']));
-
- // only allow editing your own events.
-
- if(($xchan) && ($xchan !== get_observer_hash()))
- return;
-
- if($start_text) {
- $start = $start_text;
- }
- else {
- $start = sprintf('%d-%d-%d %d:%d:0',$startyear,$startmonth,$startday,$starthour,$startminute);
- }
-
-
- if($finish_text) {
- $finish = $finish_text;
- }
- else {
- $finish = sprintf('%d-%d-%d %d:%d:0',$finishyear,$finishmonth,$finishday,$finishhour,$finishminute);
- }
-
- if($nofinish) {
- $finish = NULL_DATE;
- }
-
-
- if($adjust) {
- $start = datetime_convert($tz,'UTC',$start);
- if(! $nofinish)
- $finish = datetime_convert($tz,'UTC',$finish);
- }
- else {
- $start = datetime_convert('UTC','UTC',$start);
- if(! $nofinish)
- $finish = datetime_convert('UTC','UTC',$finish);
- }
-
- // Don't allow the event to finish before it begins.
- // 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.
-
-
- $summary = escape_tags(trim($_POST['summary']));
- $desc = escape_tags(trim($_POST['desc']));
- $location = escape_tags(trim($_POST['location']));
- $type = escape_tags(trim($_POST['type']));
-
- require_once('include/text.php');
- linkify_tags($desc, local_channel());
- linkify_tags($location, local_channel());
-
- //$action = ($event_hash == '') ? 'new' : "event/" . $event_hash;
-
- //fixme: this url gives a wsod if there is a linebreak detected in one of the variables ($desc or $location)
- //$onerror_url = z_root() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish&type=$type";
- $onerror_url = z_root() . "/events";
-
- 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.'));
- killme();
- }
- goaway($onerror_url);
- }
-
- if((! $summary) || (! $start)) {
- notice( t('Event title and start time are required.') . EOL);
- if(intval($_REQUEST['preview'])) {
- echo( t('Unable to generate preview.'));
- killme();
- }
- goaway($onerror_url);
- }
-
- // $share = ((intval($_POST['distr'])) ? intval($_POST['distr']) : 0);
-
- $share = 1;
-
- $channel = \App::get_channel();
-
- $acl = new \Zotlabs\Access\AccessList(false);
-
- if($event_id) {
- $x = q("select * from event where id = %d and uid = %d limit 1",
- intval($event_id),
- intval(local_channel())
- );
- 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();
-
- if($x[0]['allow_cid'] === '<' . $channel['channel_hash'] . '>'
- && $x[0]['allow_gid'] === '' && $x[0]['deny_cid'] === '' && $x[0]['deny_gid'] === '') {
- $share = false;
- }
- else {
- $share = true;
- }
- }
- else {
- $created = $edited = datetime_convert();
- if($share) {
- $acl->set_from_array($_POST);
- }
- else {
- $acl->set(array('allow_cid' => '<' . $channel['channel_hash'] . '>', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => ''));
- }
- }
-
- $post_tags = array();
- $channel = \App::get_channel();
- $ac = $acl->get();
-
- if(strlen($categories)) {
- $cats = explode(',',$categories);
- foreach($cats as $cat) {
- $post_tags[] = array(
- 'uid' => $profile_uid,
- 'ttype' => TERM_CATEGORY,
- 'otype' => TERM_OBJ_POST,
- 'term' => trim($cat),
- 'url' => $channel['xchan_url'] . '?f=&cat=' . urlencode(trim($cat))
- );
- }
- }
-
- $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'] = $nofinish;
- $datarray['uid'] = local_channel();
- $datarray['account'] = get_account_id();
- $datarray['event_xchan'] = $channel['channel_hash'];
- $datarray['allow_cid'] = $ac['allow_cid'];
- $datarray['allow_gid'] = $ac['allow_gid'];
- $datarray['deny_cid'] = $ac['deny_cid'];
- $datarray['deny_gid'] = $ac['deny_gid'];
- $datarray['private'] = (($acl->is_private()) ? 1 : 0);
- $datarray['id'] = $event_id;
- $datarray['created'] = $created;
- $datarray['edited'] = $edited;
-
- if(intval($_REQUEST['preview'])) {
- $html = format_event_html($datarray);
- echo $html;
- killme();
- }
-
- $event = event_store_event($datarray);
-
- if($post_tags)
- $datarray['term'] = $post_tags;
-
- $item_id = event_store_item($datarray,$event);
-
- if($item_id) {
- $r = q("select * from item where id = %d",
- intval($item_id)
- );
- 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",
- dbesc($r[0]['resource_id']),
- intval($channel['channel_id'])
- );
- if($z) {
- build_sync_packet($channel['channel_id'],array('event_item' => array(encode_item($sync_item[0],true)),'event' => $z));
- }
- }
- }
-
- if($share)
- \Zotlabs\Daemon\Master::Summon(array('Notifier','event',$item_id));
-
- }
-
-
-
- function get() {
-
- // this module is deprecated
- return;
-
- 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) {
- header('Content-type: text/calendar');
- header('content-disposition: attachment; filename="' . t('event') . '-' . $event_id . '.ics"' );
- echo ical_wrapper($r);
- killme();
- }
- else {
- notice( t('Event not found.') . EOL );
- return;
- }
- }
-
- if(! local_channel()) {
- notice( t('Permission denied.') . EOL);
- return;
- }
-
- \App::$profile_uid = local_channel();
- nav_set_selected('Events');
-
-
- if((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) {
- $r = 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",
- intval(argv(2)),
- intval(local_channel())
- );
- }
-
- $first_day = feature_enabled(local_channel(), 'events_cal_first_day');
- $first_day = (($first_day) ? $first_day : 0);
-
- $htpl = get_markup_template('event_head.tpl');
- \App::$page['htmlhead'] .= replace_macros($htpl,array(
- '$baseurl' => z_root(),
- '$module_url' => '/events',
- '$modparams' => 1,
- '$lang' => \App::$language,
- '$first_day' => $first_day
- ));
-
- $o = '';
-
- $channel = \App::get_channel();
-
- $mode = 'view';
- $y = 0;
- $m = 0;
- $ignored = ((x($_REQUEST,'ignored')) ? " and dismissed = " . intval($_REQUEST['ignored']) . " " : '');
-
-
- // logger('args: ' . print_r(\App::$argv,true));
-
-
-
- if(argc() > 1) {
- if(argc() > 2 && argv(1) === 'add') {
- $mode = 'add';
- $item_id = intval(argv(2));
- }
- if(argc() > 2 && argv(1) === 'drop') {
- $mode = 'drop';
- $event_id = argv(2);
- }
- if(argc() > 2 && intval(argv(1)) && intval(argv(2))) {
- $mode = 'view';
- $y = intval(argv(1));
- $m = intval(argv(2));
- }
- if(argc() <= 2) {
- $mode = 'view';
- $event_id = argv(1);
- }
- }
-
- if($mode === 'add') {
- event_addtocal($item_id,local_channel());
- killme();
- }
-
- if($mode == 'view') {
-
- /* edit/create form */
- if($event_id) {
- $r = 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();
-
- // Passed parameters overrides anything found in the DB
- if(!x($orig_event))
- $orig_event = array();
-
- // In case of an error the browser is redirected back here, with these parameters filled in with the previous values
- /*
- if(x($_REQUEST,'nofinish')) $orig_event['nofinish'] = $_REQUEST['nofinish'];
- if(x($_REQUEST,'adjust')) $orig_event['adjust'] = $_REQUEST['adjust'];
- if(x($_REQUEST,'summary')) $orig_event['summary'] = $_REQUEST['summary'];
- if(x($_REQUEST,'description')) $orig_event['description'] = $_REQUEST['description'];
- if(x($_REQUEST,'location')) $orig_event['location'] = $_REQUEST['location'];
- if(x($_REQUEST,'start')) $orig_event['dtstart'] = $_REQUEST['start'];
- if(x($_REQUEST,'finish')) $orig_event['dtend'] = $_REQUEST['finish'];
- if(x($_REQUEST,'type')) $orig_event['etype'] = $_REQUEST['type'];
- */
-
- $n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : '');
- $a_checked = ((x($orig_event) && $orig_event['adjust']) ? ' checked="checked" ' : '');
- $t_orig = ((x($orig_event)) ? $orig_event['summary'] : '');
- $d_orig = ((x($orig_event)) ? $orig_event['description'] : '');
- $l_orig = ((x($orig_event)) ? $orig_event['location'] : '');
- $eid = ((x($orig_event)) ? $orig_event['id'] : 0);
- $event_xchan = ((x($orig_event)) ? $orig_event['event_xchan'] : $channel['channel_hash']);
- $mid = ((x($orig_event)) ? $orig_event['mid'] : '');
-
- if(! x($orig_event)) {
- $sh_checked = '';
- $a_checked = ' checked="checked" ';
- }
- else {
- $sh_checked = ((($orig_event['allow_cid'] === '<' . $channel['channel_hash'] . '>' || (! $orig_event['allow_cid'])) && (! $orig_event['allow_gid']) && (! $orig_event['deny_cid']) && (! $orig_event['deny_gid'])) ? '' : ' checked="checked" ' );
- }
-
- if($orig_event['event_xchan'])
- $sh_checked .= ' disabled="disabled" ';
-
- $sdt = ((x($orig_event)) ? $orig_event['dtstart'] : 'now');
-
- $fdt = ((x($orig_event)) ? $orig_event['dtend'] : '+1 hour');
-
- $tz = date_default_timezone_get();
- if(x($orig_event))
- $tz = (($orig_event['adjust']) ? date_default_timezone_get() : 'UTC');
-
- $syear = datetime_convert('UTC', $tz, $sdt, 'Y');
- $smonth = datetime_convert('UTC', $tz, $sdt, 'm');
- $sday = datetime_convert('UTC', $tz, $sdt, 'd');
- $shour = datetime_convert('UTC', $tz, $sdt, 'H');
- $sminute = datetime_convert('UTC', $tz, $sdt, 'i');
-
- $stext = datetime_convert('UTC',$tz,$sdt);
- $stext = substr($stext,0,14) . "00:00";
-
- $fyear = datetime_convert('UTC', $tz, $fdt, 'Y');
- $fmonth = datetime_convert('UTC', $tz, $fdt, 'm');
- $fday = datetime_convert('UTC', $tz, $fdt, 'd');
- $fhour = datetime_convert('UTC', $tz, $fdt, 'H');
- $fminute = datetime_convert('UTC', $tz, $fdt, 'i');
-
- $ftext = datetime_convert('UTC',$tz,$fdt);
- $ftext = substr($ftext,0,14) . "00:00";
-
- $type = ((x($orig_event)) ? $orig_event['etype'] : 'event');
-
- $f = get_config('system','event_input_format');
- if(! $f)
- $f = 'ymd';
-
- $catsenabled = feature_enabled(local_channel(),'categories');
-
- $category = '';
-
- if($catsenabled && x($orig_event)){
- $itm = q("select * from item where resource_type = 'event' and resource_id = '%s' and uid = %d limit 1",
- dbesc($orig_event['event_hash']),
- intval(local_channel())
- );
- $itm = fetch_post_tags($itm);
- if($itm) {
- $cats = get_terms_oftype($itm[0]['term'], TERM_CATEGORY);
- foreach ($cats as $cat) {
- if(strlen($category))
- $category .= ', ';
- $category .= $cat['term'];
- }
- }
- }
-
- require_once('include/acl_selectors.php');
-
- $acl = new \Zotlabs\Access\AccessList($channel);
- $perm_defaults = $acl->get();
-
- $permissions = ((x($orig_event)) ? $orig_event : $perm_defaults);
-
- $tpl = get_markup_template('event_form.tpl');
-
- $form = replace_macros($tpl,array(
- '$post' => z_root() . '/events',
- '$eid' => $eid,
- '$type' => $type,
- '$xchan' => $event_xchan,
- '$mid' => $mid,
- '$event_hash' => $event_id,
- '$summary' => array('summary', (($event_id) ? t('Edit event title') : t('Event title')), $t_orig, t('Required'), '*'),
- '$catsenabled' => $catsenabled,
- '$placeholdercategory' => t('Categories (comma-separated list)'),
- '$c_text' => (($event_id) ? t('Edit Category') : t('Category')),
- '$category' => $category,
- '$required' => '<span class="required" title="' . t('Required') . '">*</span>',
- '$s_dsel' => datetimesel($f,new \DateTime(),\DateTime::createFromFormat('Y',$syear+5),\DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"), (($event_id) ? t('Edit start date and time') : t('Start date and time')), 'start_text',true,true,'','',true,$first_day),
- '$n_text' => t('Finish date and time are not known or not relevant'),
- '$n_checked' => $n_checked,
- '$f_dsel' => datetimesel($f,new \DateTime(),\DateTime::createFromFormat('Y',$fyear+5),\DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"), (($event_id) ? t('Edit finish date and time') : t('Finish date and time')),'finish_text',true,true,'start_text','',false,$first_day),
- '$nofinish' => array('nofinish', t('Finish date and time are not known or not relevant'), $n_checked, '', array(t('No'),t('Yes')), 'onclick="enableDisableFinishDate();"'),
- '$adjust' => array('adjust', t('Adjust for viewer timezone'), $a_checked, t('Important for events that happen in a particular place. Not practical for global holidays.'), array(t('No'),t('Yes'))),
- '$a_text' => t('Adjust for viewer timezone'),
- '$d_text' => (($event_id) ? t('Edit Description') : t('Description')),
- '$d_orig' => $d_orig,
- '$l_text' => (($event_id) ? t('Edit Location') : t('Location')),
- '$l_orig' => $l_orig,
- '$t_orig' => $t_orig,
- '$preview' => t('Preview'),
- '$perms_label' => t('Permission settings'),
- // populating the acl dialog was a permission description from view_stream because Cal.php, which
- // displays events, says "since we don't currently have an event permission - use the stream permission"
- '$acl' => (($orig_event['event_xchan']) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $perm_defaults), false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'))),
-
- '$allow_cid' => acl2json($permissions['allow_cid']),
- '$allow_gid' => acl2json($permissions['allow_gid']),
- '$deny_cid' => acl2json($permissions['deny_cid']),
- '$deny_gid' => acl2json($permissions['deny_gid']),
- '$tz_choose' => feature_enabled(local_channel(),'event_tz_select'),
- '$timezone' => array('timezone_select' , t('Timezone:'), date_default_timezone_get(), '', get_timezones()),
-
- '$lockstate' => (($acl->is_private()) ? 'lock' : 'unlock'),
-
- '$submit' => t('Submit'),
- '$advanced' => t('Advanced Options')
-
- ));
- /* end edit/create form */
-
- $thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
- $thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
- if(! $y)
- $y = intval($thisyear);
- if(! $m)
- $m = intval($thismonth);
-
- $export = false;
- if(argc() === 4 && argv(3) === 'export')
- $export = true;
-
- // Put some limits on dates. The PHP date functions don't seem to do so well before 1900.
- // An upper limit was chosen to keep search engines from exploring links millions of years in the future.
-
- if($y < 1901)
- $y = 1900;
- if($y > 2099)
- $y = 2100;
-
- $nextyear = $y;
- $nextmonth = $m + 1;
- if($nextmonth > 12) {
- $nextmonth = 1;
- $nextyear ++;
- }
-
- $prevyear = $y;
- if($m > 1)
- $prevmonth = $m - 1;
- else {
- $prevmonth = 12;
- $prevyear --;
- }
-
- $dim = get_dim($y,$m);
- $start = sprintf('%d-%d-%d %d:%d:%d',$y,$m,1,0,0,0);
- $finish = sprintf('%d-%d-%d %d:%d:%d',$y,$m,$dim,23,59,59);
-
-
- 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);
- $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
- from event left join item on resource_id = event_hash where resource_type = 'event' and event.uid = %d and event.id = %d limit 1",
- intval(local_channel()),
- intval($_GET['id'])
- );
- } elseif($export) {
- $r = q("SELECT * from event where uid = %d
- AND (( adjust = 0 AND ( dtend >= '%s' or nofinish = 1 ) AND dtstart <= '%s' )
- OR ( adjust = 1 AND ( dtend >= '%s' or nofinish = 1 ) AND dtstart <= '%s' )) ",
- intval(local_channel()),
- dbesc($start),
- dbesc($finish),
- dbesc($adjust_start),
- dbesc($adjust_finish)
- );
- }
- else {
- // fixed an issue with "nofinish" events not showing up in the calendar.
- // There's still an issue if the finish date crosses the end of month.
- // Noting this for now - it will need to be fixed here and in Friendica.
- // Ultimately the finish date shouldn't be involved in the query.
-
- $r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan
- from event left join item on event_hash = resource_id
- where resource_type = 'event' and event.uid = %d and event.uid = item.uid $ignored
- AND (( adjust = 0 AND ( dtend >= '%s' or nofinish = 1 ) AND dtstart <= '%s' )
- OR ( adjust = 1 AND ( dtend >= '%s' or nofinish = 1 ) AND dtstart <= '%s' )) ",
- intval(local_channel()),
- dbesc($start),
- dbesc($finish),
- dbesc($adjust_start),
- dbesc($adjust_finish)
- );
- }
-
- $links = array();
-
- if($r && ! $export) {
- xchan_query($r);
- $r = fetch_post_tags($r,true);
-
- $r = sort_by_date($r);
- }
-
- if($r) {
- foreach($r as $rr) {
- $j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'j') : datetime_convert('UTC','UTC',$rr['dtstart'],'j'));
- if(! x($links,$j))
- $links[$j] = z_root() . '/' . \App::$cmd . '#link-' . $j;
- }
- }
-
- $events=array();
-
- $last_date = '';
- $fmt = t('l, F j');
-
- if($r) {
-
- foreach($r as $rr) {
-
- $j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'j') : datetime_convert('UTC','UTC',$rr['dtstart'],'j'));
- $d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], $fmt) : datetime_convert('UTC','UTC',$rr['dtstart'],$fmt));
- $d = day_translate($d);
-
- $start = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'c') : datetime_convert('UTC','UTC',$rr['dtstart'],'c'));
- if ($rr['nofinish']){
- $end = null;
- } else {
- $end = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtend'], 'c') : datetime_convert('UTC','UTC',$rr['dtend'],'c'));
-
- // give a fake end to birthdays so they get crammed into a
- // single day on the calendar
-
- if($rr['etype'] === 'birthday')
- $end = null;
- }
-
-
- $is_first = ($d !== $last_date);
-
- $last_date = $d;
-
- $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'),'','');
-
- $title = strip_tags(html_entity_decode(zidify_links(bbcode($rr['summary'])),ENT_QUOTES,'UTF-8'));
- if(! $title) {
- list($title, $_trash) = explode("<br",bbcode($rr['desc']),2);
- $title = strip_tags(html_entity_decode($title,ENT_QUOTES,'UTF-8'));
- }
- $html = format_event_html($rr);
- $rr['desc'] = zidify_links(smilies(bbcode($rr['desc'])));
- $rr['description'] = htmlentities(html2plain(bbcode($rr['description'])),ENT_COMPAT,'UTF-8',false);
- $rr['location'] = zidify_links(smilies(bbcode($rr['location'])));
- $events[] = array(
- 'id'=>$rr['id'],
- 'hash' => $rr['event_hash'],
- 'start'=> $start,
- 'end' => $end,
- 'drop' => $drop,
- 'allDay' => false,
- 'title' => $title,
-
- 'j' => $j,
- 'd' => $d,
- 'edit' => $edit,
- 'is_first'=>$is_first,
- 'item'=>$rr,
- 'html'=>$html,
- 'plink' => array($rr['plink'],t('Link to Source'),'',''),
- );
-
- }
- }
-
- if($export) {
- header('Content-type: text/calendar');
- header('content-disposition: attachment; filename="' . t('calendar') . '-' . $channel['channel_address'] . '.ics"' );
- echo ical_wrapper($r);
- killme();
- }
-
- if (\App::$argv[1] === 'json'){
- echo json_encode($events); killme();
- }
-
- // links: array('href', 'text', 'extra css classes', 'title')
- if (x($_GET,'id')){
- $tpl = get_markup_template("event.tpl");
- }
- else {
- $tpl = get_markup_template("events-js.tpl");
- }
-
- $o = replace_macros($tpl, array(
- '$baseurl' => z_root(),
- '$new_event' => array(z_root().'/events',(($event_id) ? t('Edit Event') : t('Create Event')),'',''),
- '$previus' => array(z_root()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
- '$next' => array(z_root()."/events/$nextyear/$nextmonth",t('Next'),'',''),
- '$export' => array(z_root()."/events/$y/$m/export",t('Export'),'',''),
- '$calendar' => cal($y,$m,$links, ' eventcal'),
- '$events' => $events,
- '$view_label' => t('View'),
- '$month' => t('Month'),
- '$week' => t('Week'),
- '$day' => t('Day'),
- '$prev' => t('Previous'),
- '$next' => t('Next'),
- '$today' => t('Today'),
- '$form' => $form,
- '$expandform' => ((x($_GET,'expandform')) ? true : false),
- ));
-
- if (x($_GET,'id')){ echo $o; killme(); }
-
- return $o;
- }
-
- 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) {
- $r = q("delete from event where event_hash = '%s' and uid = %d",
- dbesc($event_id),
- intval(local_channel())
- );
- if($r) {
- $r = q("update item set resource_type = '', resource_id = '' where resource_type = 'event' and resource_id = '%s' and uid = %d",
- dbesc($event_id),
- intval(local_channel())
- );
- $sync_event['event_deleted'] = 1;
- build_sync_packet(0,array('event' => array($sync_event)));
-
- info( t('Event removed') . EOL);
- }
- else {
- notice( t('Failed to remove event' ) . EOL);
- }
- goaway(z_root() . '/events');
- }
- }
-
- }
-
-}
diff --git a/Zotlabs/Module/Fhublocs.php b/Zotlabs/Module/Fhublocs.php
index 42dac5b12..9dcece715 100644
--- a/Zotlabs/Module/Fhublocs.php
+++ b/Zotlabs/Module/Fhublocs.php
@@ -3,7 +3,6 @@ namespace Zotlabs\Module;
use Zotlabs\Lib\Libzot;
-require_once('include/zot.php');
require_once('include/crypto.php');
/* fix missing or damaged hublocs */
@@ -59,23 +58,6 @@ class Fhublocs extends \Zotlabs\Web\Controller {
// Create a verified hub location pointing to this site.
-/*
- $h = hubloc_store_lowlevel(
- [
- 'hubloc_guid' => $rr['channel_guid'],
- 'hubloc_guid_sig' => $rr['channel_guid_sig'],
- 'hubloc_hash' => $rr['channel_hash'],
- 'hubloc_addr' => channel_reddress($rr),
- 'hubloc_network' => 'zot',
- 'hubloc_primary' => $primary,
- 'hubloc_url' => z_root(),
- 'hubloc_url_sig' => base64url_encode(Crypto::sign(z_root(),$rr['channel_prvkey'])),
- 'hubloc_host' => \App::get_hostname(),
- 'hubloc_callback' => z_root() . '/post',
- 'hubloc_sitekey' => $sitekey
- ]
- );
-*/
$h = hubloc_store_lowlevel(
[
'hubloc_guid' => $rr['channel_guid'],
diff --git a/Zotlabs/Module/Home.php b/Zotlabs/Module/Home.php
index 2bfab986f..315d05af6 100644
--- a/Zotlabs/Module/Home.php
+++ b/Zotlabs/Module/Home.php
@@ -40,7 +40,7 @@ class Home extends Controller {
if (!$dest)
$dest = get_config('system', 'startpage');
if (!$dest)
- $dest = z_root() . '/network';
+ $dest = z_root() . '/hq';
goaway($dest);
}
diff --git a/Zotlabs/Module/Hq.php b/Zotlabs/Module/Hq.php
index a2c4100ad..4d55b76b0 100644
--- a/Zotlabs/Module/Hq.php
+++ b/Zotlabs/Module/Hq.php
@@ -1,6 +1,10 @@
<?php
namespace Zotlabs\Module;
+use App;
+use Zotlabs\Widget\Messages;
+
+
require_once("include/bbcode.php");
require_once('include/security.php');
require_once('include/conversation.php');
@@ -14,23 +18,7 @@ class Hq extends \Zotlabs\Web\Controller {
if(! local_channel())
return;
- \App::$profile_uid = local_channel();
- }
-
- function post() {
-
- if(!local_channel())
- return;
-
- if($_REQUEST['notify_id']) {
- q("update notify set seen = 1 where id = %d and uid = %d",
- intval($_REQUEST['notify_id']),
- intval(local_channel())
- );
- }
-
- killme();
-
+ App::$profile_uid = local_channel();
}
function get($update = 0, $load = false) {
@@ -42,8 +30,9 @@ class Hq extends \Zotlabs\Web\Controller {
$item_hash = argv(1);
}
- if($_REQUEST['mid'])
+ if(isset($_REQUEST['mid'])) {
$item_hash = $_REQUEST['mid'];
+ }
$item_normal = item_normal();
$item_normal_update = item_normal_update();
@@ -55,7 +44,6 @@ class Hq extends \Zotlabs\Web\Controller {
ORDER BY created DESC LIMIT 1",
intval(local_channel())
);
-
if($r[0]['mid']) {
$item_hash = 'b64.' . base64url_encode($r[0]['mid']);
}
@@ -96,7 +84,7 @@ class Hq extends \Zotlabs\Web\Controller {
}
if(! $update) {
- $channel = \App::get_channel();
+ $channel = App::get_channel();
$channel_acl = [
'allow_cid' => $channel['channel_allow_cid'],
@@ -127,8 +115,6 @@ class Hq extends \Zotlabs\Web\Controller {
$o = replace_macros(get_markup_template("hq.tpl"),
[
- '$no_messages' => (($target_item) ? false : true),
- '$no_messages_label' => [ t('Welcome to Hubzilla!'), t('You have got no unseen posts...') ],
'$editor' => status_editor($a,$x,false,'Hq')
]
);
@@ -153,9 +139,9 @@ class Hq extends \Zotlabs\Web\Controller {
$o .= '<div id="live-hq"></div>' . "\r\n";
$o .= "<script> var profile_uid = " . local_channel()
- . "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . ";</script>\r\n";
+ . "; var netargs = '?f='; var profile_page = " . App::$pager['page'] . ";</script>\r\n";
- \App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),[
+ App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),[
'$baseurl' => z_root(),
'$pgtype' => 'hq',
'$uid' => local_channel(),
@@ -267,4 +253,17 @@ class Hq extends \Zotlabs\Web\Controller {
}
+ function post() {
+ if (!local_channel())
+ return;
+
+ $options['offset'] = $_REQUEST['offset'];
+ $options['dm'] = $_REQUEST['dm'];
+ $options['type'] = $_REQUEST['type'];
+
+ $ret = Messages::get_messages_page($options);
+
+ json_return_and_die($ret);
+ }
+
}
diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php
index 4622a588d..77a9ec844 100644
--- a/Zotlabs/Module/Import.php
+++ b/Zotlabs/Module/Import.php
@@ -2,7 +2,6 @@
namespace Zotlabs\Module;
-require_once('include/zot.php');
require_once('include/channel.php');
require_once('include/import.php');
require_once('include/perm_upgrade.php');
@@ -212,35 +211,8 @@ class Import extends \Zotlabs\Web\Controller {
// create new hubloc for the new channel at this site
if(array_key_exists('channel',$data)) {
- if($channel['channel_portable_id']) {
- $r = hubloc_store_lowlevel(
- [
- 'hubloc_guid' => $channel['channel_guid'],
- 'hubloc_guid_sig' => $channel['channel_guid_sig'],
- 'hubloc_hash' => $channel['channel_portable_id'],
- 'hubloc_addr' => channel_reddress($channel),
- 'hubloc_network' => 'zot',
- 'hubloc_primary' => (($seize) ? 1 : 0),
- 'hubloc_url' => z_root(),
- 'hubloc_url_sig' => base64url_encode(Crypto::sign(z_root(),$channel['channel_prvkey'])),
- 'hubloc_host' => \App::get_hostname(),
- 'hubloc_callback' => z_root() . '/post',
- 'hubloc_sitekey' => get_config('system','pubkey'),
- 'hubloc_updated' => datetime_convert(),
- 'hubloc_id_url' => channel_url($channel)
- ]
- );
-
- // reset the original primary hubloc if it is being seized
- if($seize) {
- $r = q("update hubloc set hubloc_primary = 0 where hubloc_primary = 1 and hubloc_hash = '%s' and hubloc_url != '%s' ",
- dbesc($channel['channel_portable_id']),
- dbesc(z_root())
- );
- }
- }
- // create a new zot6 hubloc if we have got a channel_portable_id
+ // create a new zot6 hubloc
$r = hubloc_store_lowlevel(
[
@@ -280,33 +252,10 @@ class Import extends \Zotlabs\Web\Controller {
// replace any existing xchan we may have on this site if we're seizing control
- $r = q("delete from xchan where ( xchan_hash = '%s' or xchan_hash = '%s' ) ",
- dbesc($channel['channel_hash']),
- dbesc($channel['channel_portable_id'])
+ $r = q("delete from xchan where xchan_hash = '%s'",
+ dbesc($channel['channel_hash'])
);
- if($channel['channel_portable_id']) {
- $r = xchan_store_lowlevel(
- [
- 'xchan_hash' => $channel['channel_portable_id'],
- 'xchan_guid' => $channel['channel_guid'],
- 'xchan_guid_sig' => $channel['channel_guid_sig'],
- 'xchan_pubkey' => $channel['channel_pubkey'],
- 'xchan_photo_l' => z_root() . "/photo/profile/l/" . $channel['channel_id'],
- 'xchan_photo_m' => z_root() . "/photo/profile/m/" . $channel['channel_id'],
- 'xchan_photo_s' => z_root() . "/photo/profile/s/" . $channel['channel_id'],
- 'xchan_addr' => channel_reddress($channel),
- 'xchan_url' => z_root() . '/channel/' . $channel['channel_address'],
- 'xchan_connurl' => z_root() . '/poco/' . $channel['channel_address'],
- 'xchan_follow' => z_root() . '/follow?f=&url=%s',
- 'xchan_name' => $channel['channel_name'],
- 'xchan_network' => 'zot',
- 'xchan_photo_date' => datetime_convert(),
- 'xchan_name_date' => datetime_convert()
- ]
- );
- }
-
$r = xchan_store_lowlevel(
[
'xchan_hash' => $channel['channel_hash'],
@@ -336,14 +285,6 @@ class Import extends \Zotlabs\Web\Controller {
if($xchans) {
foreach($xchans as $xchan) {
- if($xchan['xchan_network'] === 'zot') {
- $hash = make_xchan_hash($xchan['xchan_guid'],$xchan['xchan_guid_sig']);
- if($hash !== $xchan['xchan_hash']) {
- logger('forged xchan: ' . print_r($xchan,true));
- continue;
- }
- }
-
if($xchan['xchan_network'] === 'zot6') {
$zhash = Libzot::make_xchan_hash($xchan['xchan_guid'],$xchan['xchan_pubkey']);
if($zhash !== $xchan['xchan_hash']) {
@@ -553,12 +494,6 @@ class Import extends \Zotlabs\Web\Controller {
if(is_array($data['chatroom']))
import_chatrooms($channel,$data['chatroom']);
- if(is_array($data['conv']))
- import_conv($channel,$data['conv']);
-
- if(is_array($data['mail']))
- import_mail($channel,$data['mail']);
-
if(is_array($data['event']))
import_events($channel,$data['event']);
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 73a943039..518352667 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -822,6 +822,8 @@ class Item extends Controller {
$post_tags = [];
+
+
if($mimetype === 'text/bbcode') {
require_once('include/text.php');
diff --git a/Zotlabs/Module/Lang.php b/Zotlabs/Module/Lang.php
index a32f933a6..1a2f1664e 100644
--- a/Zotlabs/Module/Lang.php
+++ b/Zotlabs/Module/Lang.php
@@ -7,6 +7,52 @@ use Zotlabs\Web\Controller;
class Lang extends Controller {
+ const MYP = 'ZIN';
+ const VERSION = '2.0.0';
+
+ function post() {
+
+ $re = [];
+ $isajax = is_ajax();
+ $eol = $isajax ? "\n" : EOL;
+
+ if (! Apps::system_app_installed(local_channel(), 'Language')) {
+ $re['msg'] = 'ZIN0202E, ' . t('Language App') . ' (' . t('Not Installed') . ')' ;
+ notice( $re['msg'] . EOL);
+ if ($isajax) {
+ echo json_encode( $re );
+ killme();
+ exit;
+ } else {
+ return;
+ }
+ }
+
+ $lc = x($_POST['zinlc']) && preg_match('/^\?\?|[a-z]{2,2}[x_\-]{0,1}[a-zA-Z]{0,2}$/', $_POST['zinlc'])
+ ? $_POST['zinlc'] : '';
+ $lcs= x($_POST['zinlcs']) && preg_match('/^[a-z,_\-]{0,191}$/', $_POST['zinlcs'])
+ ? $_POST['zinlcs'] : '';
+
+ if ($isajax) {
+
+ if ($lc == '??') {
+ $re['lc'] = get_best_language();
+ $re['lcs'] = language_list();
+ } else {
+ $re['lc'] = $lc;
+ $re['alc'] = App::$language;
+ $re['slc'] = $_SESSION['language'];
+ $_SESSION['language'] = $lc;
+ App::$language = $lc;
+ load_translation_table($lc, true);
+ }
+
+ echo json_encode( $re );
+ killme();
+ exit;
+ }
+ }
+
function get() {
if(local_channel()) {
diff --git a/Zotlabs/Module/Locs.php b/Zotlabs/Module/Locs.php
index 2dd359c95..59b872982 100644
--- a/Zotlabs/Module/Locs.php
+++ b/Zotlabs/Module/Locs.php
@@ -28,9 +28,8 @@ class Locs extends Controller {
return;
}
- q("UPDATE hubloc SET hubloc_primary = 0 WHERE hubloc_primary = 1 AND (hubloc_hash = '%s' OR hubloc_hash = '%s')",
- dbesc($channel['channel_hash']),
- dbesc($channel['channel_portable_id'])
+ q("UPDATE hubloc SET hubloc_primary = 0 WHERE hubloc_primary = 1 AND hubloc_hash = '%s'",
+ dbesc($channel['channel_hash'])
);
q("UPDATE hubloc SET hubloc_primary = 1 WHERE hubloc_id = %d AND hubloc_hash = '%s'",
@@ -81,10 +80,9 @@ class Locs extends Controller {
}
}
- q("UPDATE hubloc SET hubloc_deleted = 1 WHERE hubloc_id_url = '%s' AND (hubloc_hash = '%s' OR hubloc_hash = '%s')",
+ q("UPDATE hubloc SET hubloc_deleted = 1 WHERE hubloc_id_url = '%s' AND hubloc_hash = '%s'",
dbesc($r[0]['hubloc_id_url']),
- dbesc($channel['channel_hash']),
- dbesc($channel['channel_portable_id'])
+ dbesc($channel['channel_hash'])
);
Master::Summon( [ 'Notifier', 'refresh_all', $channel['channel_id'] ] );
return;
diff --git a/Zotlabs/Module/Manage.php b/Zotlabs/Module/Manage.php
index bc2034b95..d67b47437 100644
--- a/Zotlabs/Module/Manage.php
+++ b/Zotlabs/Module/Manage.php
@@ -84,16 +84,6 @@ class Manage extends \Zotlabs\Web\Controller {
if($intr)
$channels[$x]['intros'] = intval($intr[0]['total']);
-
- $mails = q("SELECT count(id) as total from mail WHERE channel_id = %d AND mail_seen = 0 and from_xchan != '%s' ",
- intval($channels[$x]['channel_id']),
- dbesc($channels[$x]['channel_hash'])
- );
-
- if($mails)
- $channels[$x]['mail'] = intval($mails[0]['total']);
-
-
$events = q("SELECT etype, dtstart, adjust FROM event
WHERE event.uid = %d AND dtstart < '%s' AND dtstart > '%s' and dismissed = 0
ORDER BY dtstart ASC ",
@@ -175,7 +165,6 @@ class Manage extends \Zotlabs\Web\Controller {
'$msg_make_default' => t('Make Default'),
'$create' => $create,
'$all_channels' => $channels,
- '$mail_format' => t('%d new messages'),
'$intros_format' => t('%d new introductions'),
'$channel_usage_message' => $channel_usage_message,
'$delegated_desc' => t('Delegated Channel'),
diff --git a/Zotlabs/Module/Message.php b/Zotlabs/Module/Message.php
deleted file mode 100644
index 5856bfbdf..000000000
--- a/Zotlabs/Module/Message.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-namespace Zotlabs\Module;
-
-require_once('include/acl_selectors.php');
-require_once('include/message.php');
-require_once('include/zot.php');
-require_once("include/bbcode.php");
-
-
-class Message extends \Zotlabs\Web\Controller {
-
- function get() {
-
- $o = '';
- nav_set_selected('messages');
-
- if(! local_channel()) {
- notice( t('Permission denied.') . EOL);
- return login();
- }
-
- $channel = \App::get_channel();
- head_set_icon($channel['xchan_photo_s']);
-
- $cipher = get_pconfig(local_channel(),'system','default_cipher');
- if(! $cipher)
- $cipher = 'aes256';
-
- /*
- if((argc() == 3) && (argv(1) === 'dropconv')) {
- if(! intval(argv(2)))
- return;
- $cmd = argv(1);
- $r = private_messages_drop(local_channel(), argv(2), true);
- if($r)
- info( t('Conversation removed.') . EOL );
- goaway(z_root() . '/mail/combined' );
- }
-
- if(argc() == 2) {
-
- switch(argv(1)) {
- case 'combined':
- $mailbox = 'combined';
- $header = t('Conversations');
- break;
- case 'inbox':
- $mailbox = 'inbox';
- $header = t('Received Messages');
- break;
- case 'outbox':
- $mailbox = 'outbox';
- $header = t('Sent Messages');
- break;
- default:
- break;
- }
-
- // private_messages_list() can do other more complicated stuff, for now keep it simple
-
- $r = private_messages_list(local_channel(), $mailbox, \App::$pager['start'], \App::$pager['itemspage']);
-
- if(! $r) {
- info( t('No messages.') . EOL);
- return $o;
- }
-
- $messages = array();
-
- foreach($r as $rr) {
-
- $messages[] = array(
- 'id' => $rr['id'],
- 'from_name' => $rr['from']['xchan_name'],
- 'from_url' => chanlink_hash($rr['from_xchan']),
- 'from_photo' => $rr['from']['xchan_photo_s'],
- 'to_name' => $rr['to']['xchan_name'],
- 'to_url' => chanlink_hash($rr['to_xchan']),
- 'to_photo' => $rr['to']['xchan_photo_s'],
- 'subject' => (($rr['seen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'),
- 'delete' => t('Delete conversation'),
- 'body' => zidify_links(smilies(bbcode($rr['body']))),
- 'date' => datetime_convert('UTC',date_default_timezone_get(),$rr['created'], t('D, d M Y - g:i A')),
- 'seen' => $rr['seen']
- );
- }
-
-
- $tpl = get_markup_template('mail_head.tpl');
- $o = replace_macros($tpl, array(
- '$header' => $header,
- '$messages' => $messages
- ));
-
-
- $o .= alt_pager(count($r));
-
- return $o;
-
- return;
-
- }
- */
-
- return;
- }
-
-}
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index a21095940..be954cbfd 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -388,6 +388,10 @@ class Network extends \Zotlabs\Web\Controller {
if ($dm) {
$sql_extra .= " AND item_private = 2 ";
}
+ else {
+ $sql_extra .= " AND item_private IN (0, 1) ";
+ }
+
if($conv) {
$item_thread_top = '';
diff --git a/Zotlabs/Module/Notes.php b/Zotlabs/Module/Notes.php
index b448cff83..452e3df60 100644
--- a/Zotlabs/Module/Notes.php
+++ b/Zotlabs/Module/Notes.php
@@ -38,7 +38,6 @@ class Notes extends Controller {
// push updates to channel clones
if((argc() > 1) && (argv(1) === 'sync')) {
- require_once('include/zot.php');
Libsync::build_sync_packet();
}
diff --git a/Zotlabs/Module/Notifications.php b/Zotlabs/Module/Notifications.php
index 8ecf5760a..c08628b47 100644
--- a/Zotlabs/Module/Notifications.php
+++ b/Zotlabs/Module/Notifications.php
@@ -8,10 +8,58 @@ class Notifications extends \Zotlabs\Web\Controller {
function get() {
if(! local_channel()) {
- notice( t('Permission denied.') . EOL);
return;
}
+ // ajax mark all unseen items read
+ if(x($_REQUEST, 'markRead')) {
+ switch($_REQUEST['markRead']) {
+ case 'dm':
+ $r = q("UPDATE item SET item_unseen = 0 WHERE uid = %d AND item_unseen = 1 AND item_private = 2",
+ intval(local_channel())
+ );
+ break;
+ case 'network':
+ $r = q("UPDATE item SET item_unseen = 0 WHERE uid = %d AND item_unseen = 1 AND item_private IN (0, 1)",
+ intval(local_channel())
+ );
+ break;
+ case 'home':
+ $r = q("UPDATE item SET item_unseen = 0 WHERE uid = %d AND item_unseen = 1 AND item_wall = 1 AND item_private IN (0, 1)",
+ intval(local_channel())
+ );
+ break;
+ case 'all_events':
+ $evdays = intval(get_pconfig(local_channel(), 'system', 'evdays', 3));
+ $r = q("UPDATE event SET dismissed = 1 WHERE uid = %d AND dismissed = 0 AND dtstart < '%s' AND dtstart > '%s' ",
+ intval(local_channel()),
+ dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
+ dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
+ );
+ break;
+ case 'notify':
+ $r = q("UPDATE notify SET seen = 1 WHERE seen = 0 AND uid = %d",
+ intval(local_channel())
+ );
+ break;
+ case 'pubs':
+ unset($_SESSION['static_loadtime']);
+ break;
+ default:
+ break;
+ }
+ killme();
+ }
+
+ // ajax mark all comments of a parent item read
+ if(x($_REQUEST, 'markItemRead') && local_channel()) {
+ $r = q("UPDATE item SET item_unseen = 0 WHERE uid = %d AND parent = %d",
+ intval(local_channel()),
+ intval($_REQUEST['markItemRead'])
+ );
+ killme();
+ }
+
nav_set_selected('Notifications');
$o = '';
diff --git a/Zotlabs/Module/Notify.php b/Zotlabs/Module/Notify.php
index cffcc8099..5bfcec4f7 100644
--- a/Zotlabs/Module/Notify.php
+++ b/Zotlabs/Module/Notify.php
@@ -8,7 +8,15 @@ class Notify extends \Zotlabs\Web\Controller {
function init() {
if(! local_channel())
return;
-
+
+ if($_REQUEST['notify_id']) {
+ q("update notify set seen = 1 where id = %d and uid = %d",
+ intval($_REQUEST['notify_id']),
+ intval(local_channel())
+ );
+ killme();
+ }
+
if(argc() > 2 && argv(1) === 'view' && intval(argv(2))) {
$r = q("select * from notify where id = %d and uid = %d limit 1",
intval(argv(2)),
@@ -29,24 +37,24 @@ class Notify extends \Zotlabs\Web\Controller {
}
goaway(z_root());
}
-
-
+
+
}
-
-
+
+
function get() {
if(! local_channel())
return login();
-
+
$notif_tpl = get_markup_template('notifications.tpl');
-
+
$not_tpl = get_markup_template('notify.tpl');
require_once('include/bbcode.php');
-
+
$r = q("SELECT * from notify where uid = %d and seen = 0 order by created desc",
intval(local_channel())
);
-
+
if($r) {
foreach ($r as $it) {
$notif_content .= replace_macros($not_tpl,array(
@@ -56,18 +64,18 @@ class Notify extends \Zotlabs\Web\Controller {
'$item_when' => relative_date($it['created'])
));
}
- }
+ }
else {
$notif_content .= t('No more system notifications.');
}
-
+
$o .= replace_macros($notif_tpl,array(
'$notif_header' => t('System Notifications'),
'$tabs' => '', // $tabs,
'$notif_content' => $notif_content,
));
-
+
return $o;
-
+
}
}
diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php
index e62accb06..3aad70d18 100644
--- a/Zotlabs/Module/Photos.php
+++ b/Zotlabs/Module/Photos.php
@@ -1178,10 +1178,8 @@ class Photos extends \Zotlabs\Web\Controller {
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(
diff --git a/Zotlabs/Module/Ping.php b/Zotlabs/Module/Ping.php
deleted file mode 100644
index 6e8042eaf..000000000
--- a/Zotlabs/Module/Ping.php
+++ /dev/null
@@ -1,707 +0,0 @@
-<?php
-
-namespace Zotlabs\Module;
-
-use Zotlabs\Lib\Apps;
-
-require_once('include/bbcode.php');
-
-/**
- * @brief Ping Controller.
- *
- */
-class Ping extends \Zotlabs\Web\Controller {
-
- /**
- * @brief do several updates when pinged.
- *
- * This function does several tasks. Whenever called it checks for new messages,
- * introductions, notifications, etc. and returns a json with the results.
- *
- * @result JSON
- */
- function init() {
-
- $result = array();
- $notifs = array();
-
- $result['notify'] = 0;
- $result['home'] = 0;
- $result['network'] = 0;
- $result['intros'] = 0;
- $result['mail'] = 0;
- $result['register'] = 0;
- $result['events'] = 0;
- $result['events_today'] = 0;
- $result['birthdays'] = 0;
- $result['birthdays_today'] = 0;
- $result['all_events'] = 0;
- $result['all_events_today'] = 0;
- $result['notice'] = [];
- $result['info'] = [];
- $result['pubs'] = 0;
- $result['files'] = 0;
- $result['forums'] = 0;
- $result['forums_sub'] = [];
-
- if(! $_SESSION['static_loadtime'])
- $_SESSION['static_loadtime'] = datetime_convert();
-
- $t0 = dba_timer();
-
- header("content-type: application/json");
-
- $vnotify = false;
-
- $item_normal = item_normal();
-
- if(local_channel()) {
- $vnotify = get_pconfig(local_channel(),'system','vnotify');
- $evdays = intval(get_pconfig(local_channel(),'system','evdays'));
- $ob_hash = get_observer_hash();
- }
-
- // if unset show all visual notification types
- if($vnotify === false)
- $vnotify = (-1);
- if($evdays < 1)
- $evdays = 3;
-
- /**
- * If you have several windows open to this site and switch to a different channel
- * in one of them, the others may get into a confused state showing you a page or options
- * on that page which were only valid under the old identity. You session has changed.
- * Therefore we send a notification of this fact back to the browser where it is picked up
- * in javascript and which reloads the page it is on so that it is valid under the context
- * of the now current channel.
- */
-
- $result['invalid'] = ((intval($_GET['uid'])) && (intval($_GET['uid']) != local_channel()) ? 1 : 0);
-
- /**
- * Send all system messages (alerts) to the browser.
- * Some are marked as informational and some represent
- * errors or serious notifications. These typically
- * will popup on the current page (no matter what page it is)
- */
-
- if(x($_SESSION, 'sysmsg')){
- foreach ($_SESSION['sysmsg'] as $m){
- $result['notice'][] = array('message' => $m);
- }
- unset($_SESSION['sysmsg']);
- }
- if(x($_SESSION, 'sysmsg_info')){
- foreach ($_SESSION['sysmsg_info'] as $m){
- $result['info'][] = array('message' => $m);
- }
- unset($_SESSION['sysmsg_info']);
- }
- if(! ($vnotify & VNOTIFY_INFO))
- $result['info'] = array();
- if(! ($vnotify & VNOTIFY_ALERT))
- $result['notice'] = array();
-
- if(\App::$install) {
- echo json_encode($result);
- killme();
- }
-
- /**
- * Update chat presence indication (if applicable)
- */
-
- if(get_observer_hash() && (! $result['invalid'])) {
- $r = q("select cp_id, cp_room from chatpresence where cp_xchan = '%s' and cp_client = '%s' and cp_room = 0 limit 1",
- dbesc(get_observer_hash()),
- dbesc($_SERVER['REMOTE_ADDR'])
- );
- $basic_presence = false;
- if($r) {
- $basic_presence = true;
- q("update chatpresence set cp_last = '%s' where cp_id = %d",
- dbesc(datetime_convert()),
- intval($r[0]['cp_id'])
- );
- }
- if(! $basic_presence) {
- q("insert into chatpresence ( cp_xchan, cp_last, cp_status, cp_client)
- values( '%s', '%s', '%s', '%s' ) ",
- dbesc(get_observer_hash()),
- dbesc(datetime_convert()),
- dbesc('online'),
- dbesc($_SERVER['REMOTE_ADDR'])
- );
- }
- }
-
- /**
- * Chatpresence continued... if somebody hasn't pinged recently, they've most likely left the page
- * and shouldn't count as online anymore. We allow an expection for bots.
- */
-
- q("delete from chatpresence where cp_last < %s - INTERVAL %s and cp_client != 'auto' ",
- db_utcnow(), db_quoteinterval('3 MINUTE')
- );
-
-
- $sql_extra = '';
- if(! ($vnotify & VNOTIFY_LIKE))
- $sql_extra = " AND verb NOT IN ('" . dbesc(ACTIVITY_LIKE) . "', '" . dbesc(ACTIVITY_DISLIKE) . "') ";
-
- if(local_channel()) {
- $notify_pubs = ($vnotify & VNOTIFY_PUBS) && can_view_public_stream() && Apps::system_app_installed(local_channel(), 'Public Stream');
- }
- else {
- $notify_pubs = can_view_public_stream();
- }
-
- if($notify_pubs) {
- $sys = get_sys_channel();
-
- $pubs = q("SELECT count(id) as total from item
- WHERE uid = %d
- AND item_unseen = 1
- AND author_xchan != '%s'
- AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
- $item_normal
- $sql_extra",
- intval($sys['channel_id']),
- dbesc(get_observer_hash())
- );
-
- if($pubs)
- $result['pubs'] = intval($pubs[0]['total']);
- }
-
-
-
- if((argc() > 1) && (argv(1) === 'pubs') && ($notify_pubs)) {
- $sys = get_sys_channel();
- $result = array();
-
- $r = q("SELECT * FROM item
- WHERE uid = %d
- AND item_unseen = 1
- AND author_xchan != '%s'
- AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
- $item_normal
- $sql_extra
- ORDER BY created DESC
- LIMIT 300",
- intval($sys['channel_id']),
- dbesc(get_observer_hash())
- );
-
- if($r) {
- xchan_query($r);
- foreach($r as $rr) {
- $rr['llink'] = str_replace('display/', 'pubstream/?f=&mid=', $rr['llink']);
- $result[] = \Zotlabs\Lib\Enotify::format($rr);
- }
- }
-
-// logger('ping (network||home): ' . print_r($result, true), LOGGER_DATA);
- echo json_encode(array('notify' => $result));
- killme();
- }
-
- $t1 = dba_timer();
-
- if((! local_channel()) || ($result['invalid'])) {
- echo json_encode($result);
- killme();
- }
-
- /**
- * Everything following is only permitted under the context of a locally authenticated site member.
- */
-
- /**
- * Handle "mark all xyz notifications read" requests.
- */
-
- // mark all items read
- if(x($_REQUEST, 'markRead') && local_channel()) {
- switch($_REQUEST['markRead']) {
- case 'network':
- $r = q("UPDATE item SET item_unseen = 0 WHERE uid = %d AND item_unseen = 1",
- intval(local_channel())
- );
- break;
- case 'home':
- $r = q("UPDATE item SET item_unseen = 0 WHERE uid = %d AND item_unseen = 1 AND item_wall = 1",
- intval(local_channel())
- );
- break;
- case 'mail':
- $r = q("UPDATE mail SET mail_seen = 1 WHERE channel_id = %d AND mail_seen = 0",
- intval(local_channel())
- );
- break;
- case 'all_events':
- $r = q("UPDATE event SET dismissed = 1 WHERE uid = %d AND dismissed = 0 AND dtstart < '%s' AND dtstart > '%s' ",
- intval(local_channel()),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
- );
- break;
- case 'notify':
- $r = q("update notify set seen = 1 where uid = %d",
- intval(local_channel())
- );
- break;
- case 'pubs':
- unset($_SESSION['static_loadtime']);
- break;
- default:
- break;
- }
- }
-
- if(x($_REQUEST, 'markItemRead') && local_channel()) {
- $r = q("UPDATE item SET item_unseen = 0 WHERE uid = %d AND parent = %d",
- intval(local_channel()),
- intval($_REQUEST['markItemRead'])
- );
- }
-
- /**
- * URL ping/something will return detail for "something", e.g. a json list with which to populate a notification
- * dropdown menu.
- */
- if(argc() > 1 && argv(1) === 'notify') {
- $t = q("SELECT * FROM notify WHERE uid = %d AND seen = 0 ORDER BY CREATED DESC",
- intval(local_channel())
- );
-
- if($t) {
- foreach($t as $tt) {
- $message = trim(strip_tags(bbcode($tt['msg'])));
-
- if(strpos($message, $tt['xname']) === 0)
- $message = substr($message, strlen($tt['xname']) + 1);
-
- $mid = basename($tt['link']);
- $mid = ((strpos($mid, 'b64.') === 0) ? @base64url_decode(substr($mid, 4)) : $mid);
-
- if(in_array($tt['verb'], [ACTIVITY_LIKE, ACTIVITY_DISLIKE])) {
- // we need the thread parent
- $r = q("select thr_parent from item where mid = '%s' and uid = %d limit 1",
- dbesc($mid),
- intval(local_channel())
- );
- $b64mid = ((strpos($r[0]['thr_parent'], 'b64.') === 0) ? $r[0]['thr_parent'] : 'b64.' . base64url_encode($r[0]['thr_parent']));
- }
- else {
- $b64mid = ((strpos($mid, 'b64.') === 0) ? $mid : 'b64.' . base64url_encode($mid));
- }
-
- $notifs[] = array(
- 'notify_link' => z_root() . '/notify/view/' . $tt['id'],
- 'name' => $tt['xname'],
- 'url' => $tt['url'],
- 'photo' => $tt['photo'],
- 'when' => relative_date($tt['created']),
- 'hclass' => (($tt['seen']) ? 'notify-seen' : 'notify-unseen'),
- 'b64mid' => (($tt['otype'] == 'item') ? $b64mid : 'undefined'),
- 'notify_id' => (($tt['otype'] == 'item') ? $tt['id'] : 'undefined'),
- 'message' => $message
- );
- }
- }
-
- echo json_encode(array('notify' => $notifs));
- killme();
- }
-
- if(argc() > 1 && argv(1) === 'mail') {
- $channel = \App::get_channel();
- $t = q("select mail.*, xchan.* from mail left join xchan on xchan_hash = from_xchan
- where channel_id = %d and mail_seen = 0 and mail_deleted = 0
- and from_xchan != '%s' order by created desc limit 50",
- intval(local_channel()),
- dbesc($channel['channel_hash'])
- );
-
- if($t) {
- foreach($t as $zz) {
- $notifs[] = array(
- 'notify_link' => z_root() . '/mail/' . $zz['id'],
- 'name' => $zz['xchan_name'],
- 'addr' => $zz['xchan_addr'],
- 'url' => $zz['xchan_url'],
- 'photo' => $zz['xchan_photo_s'],
- 'when' => relative_date($zz['created']),
- 'hclass' => (intval($zz['mail_seen']) ? 'notify-seen' : 'notify-unseen'),
- 'message' => t('sent you a private message'),
- );
- }
- }
-
- echo json_encode(array('notify' => $notifs));
- killme();
- }
-
- if(argc() > 1 && (argv(1) === 'network' || argv(1) === 'home')) {
- $result = array();
-
- if(argv(1) === 'home') {
- $sql_extra .= ' and item_wall = 1 ';
- }
-
- $r = q("SELECT * FROM item
- WHERE uid = %d
- AND item_unseen = 1
- AND author_xchan != '%s'
- $item_normal
- $sql_extra
- ORDER BY created DESC
- LIMIT 300",
- intval(local_channel()),
- dbesc($ob_hash)
- );
-
- if($r) {
- xchan_query($r);
- foreach($r as $item) {
- $result[] = \Zotlabs\Lib\Enotify::format($item);
- }
- }
-// logger('ping (network||home): ' . print_r($result, true), LOGGER_DATA);
- echo json_encode(array('notify' => $result));
- killme();
- }
-
- if(argc() > 1 && (argv(1) === 'intros')) {
- $result = array();
-
- $r = q("SELECT * FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and abook_pending = 1 and abook_self = 0 and abook_ignored = 0 and xchan_deleted = 0 and xchan_orphan = 0 ORDER BY abook_created DESC LIMIT 50",
- intval(local_channel())
- );
-
- if($r) {
- foreach($r as $rr) {
- $result[] = array(
- 'notify_link' => z_root() . '/connections/ifpending',
- 'name' => $rr['xchan_name'],
- 'addr' => $rr['xchan_addr'],
- 'url' => $rr['xchan_url'],
- 'photo' => $rr['xchan_photo_s'],
- 'when' => relative_date($rr['abook_created']),
- 'hclass' => ('notify-unseen'),
- 'message' => t('added your channel')
- );
- }
- }
- logger('ping (intros): ' . print_r($result, true), LOGGER_DATA);
- echo json_encode(array('notify' => $result));
- killme();
- }
-
- if((argc() > 1 && (argv(1) === 'register')) && is_site_admin()) {
- $result = array();
-
- $r = q("SELECT account_email, account_created from account where (account_flags & %d) > 0",
- intval(ACCOUNT_PENDING)
- );
- if($r) {
- foreach($r as $rr) {
- $result[] = array(
- 'notify_link' => z_root() . '/admin/accounts',
- 'name' => $rr['account_email'],
- 'addr' => $rr['account_email'],
- 'url' => '',
- 'photo' => z_root() . '/' . get_default_profile_photo(48),
- 'when' => relative_date($rr['account_created']),
- 'hclass' => ('notify-unseen'),
- 'message' => t('requires approval')
- );
- }
- }
- logger('ping (register): ' . print_r($result, true), LOGGER_DATA);
- echo json_encode(array('notify' => $result));
- killme();
- }
-
- if(argc() > 1 && (argv(1) === 'all_events')) {
- $bd_format = t('g A l F d') ; // 8 AM Friday January 18
-
- $result = array();
-
- $r = q("SELECT * FROM event left join xchan on event_xchan = xchan_hash
- WHERE event.uid = %d AND dtstart < '%s' AND dtstart > '%s' and dismissed = 0
- and etype in ( 'event', 'birthday' )
- ORDER BY dtstart DESC LIMIT 1000",
- intval(local_channel()),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
- );
-
- if($r) {
- foreach($r as $rr) {
-
- $strt = datetime_convert('UTC', (($rr['adjust']) ? date_default_timezone_get() : 'UTC'), $rr['dtstart']);
- $today = ((substr($strt, 0, 10) === datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y-m-d')) ? true : false);
- $when = day_translate(datetime_convert('UTC', (($rr['adjust']) ? date_default_timezone_get() : 'UTC'), $rr['dtstart'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
-
- $result[] = array(
- 'notify_link' => z_root() . '/cdav/calendar/' . $rr['event_hash'],
- 'name' => $rr['xchan_name'],
- 'addr' => $rr['xchan_addr'],
- 'url' => $rr['xchan_url'],
- 'photo' => $rr['xchan_photo_s'],
- 'when' => $when,
- 'hclass' => ('notify-unseen'),
- 'message' => t('posted an event')
- );
- }
- }
- logger('ping (all_events): ' . print_r($result, true), LOGGER_DATA);
- echo json_encode(array('notify' => $result));
- killme();
- }
-
- if(argc() > 1 && (argv(1) === 'files')) {
- $result = array();
-
- $r = q("SELECT item.created, xchan.xchan_name, xchan.xchan_addr, xchan.xchan_url, xchan.xchan_photo_s FROM item
- LEFT JOIN xchan on author_xchan = xchan_hash
- WHERE item.verb = '%s'
- AND item.obj_type = '%s'
- AND item.uid = %d
- AND item.owner_xchan != '%s'
- AND item.item_unseen = 1",
- dbesc(ACTIVITY_POST),
- dbesc(ACTIVITY_OBJ_FILE),
- intval(local_channel()),
- dbesc($ob_hash)
- );
- if($r) {
- foreach($r as $rr) {
- $result[] = array(
- 'notify_link' => z_root() . '/sharedwithme',
- 'name' => $rr['xchan_name'],
- 'addr' => $rr['xchan_addr'],
- 'url' => $rr['xchan_url'],
- 'photo' => $rr['xchan_photo_s'],
- 'when' => relative_date($rr['created']),
- 'hclass' => ('notify-unseen'),
- 'message' => t('shared a file with you')
- );
- }
- }
- logger('ping (files): ' . print_r($result, true), LOGGER_DATA);
- echo json_encode(array('notify' => $result));
- killme();
- }
-
- /**
- * Normal ping - just the counts, no detail
- */
- if($vnotify & VNOTIFY_SYSTEM) {
- $t = q("select count(*) as total from notify where uid = %d and seen = 0",
- intval(local_channel())
- );
- if($t)
- $result['notify'] = intval($t[0]['total']);
- }
-
- $t2 = dba_timer();
-
- if($vnotify & VNOTIFY_FILES) {
- $files = q("SELECT count(id) as total FROM item
- WHERE verb = '%s'
- AND obj_type = '%s'
- AND uid = %d
- AND owner_xchan != '%s'
- AND item_unseen = 1",
- dbesc(ACTIVITY_POST),
- dbesc(ACTIVITY_OBJ_FILE),
- intval(local_channel()),
- dbesc($ob_hash)
- );
- if($files)
- $result['files'] = intval($files[0]['total']);
- }
-
- $t3 = dba_timer();
-
- if($vnotify & (VNOTIFY_NETWORK|VNOTIFY_CHANNEL)) {
-
- $r = q("SELECT id, item_wall FROM item
- WHERE uid = %d and item_unseen = 1
- $item_normal
- $sql_extra
- AND author_xchan != '%s'",
- intval(local_channel()),
- dbesc($ob_hash)
- );
-
- if($r) {
- $arr = array('items' => $r);
- call_hooks('network_ping', $arr);
-
- foreach ($r as $it) {
- if(intval($it['item_wall']))
- $result['home'] ++;
- else
- $result['network'] ++;
- }
- }
- }
- if(! ($vnotify & VNOTIFY_NETWORK))
- $result['network'] = 0;
- if(! ($vnotify & VNOTIFY_CHANNEL))
- $result['home'] = 0;
-
- $t4 = dba_timer();
-
- if($vnotify & VNOTIFY_INTRO) {
- $intr = 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_pending = 1 and abook_self = 0 and abook_ignored = 0 and xchan_deleted = 0 and xchan_orphan = 0 ",
- intval(local_channel())
- );
-
- $t5 = dba_timer();
-
- if($intr)
- $result['intros'] = intval($intr[0]['total']);
- }
-
- $t6 = dba_timer();
- $channel = \App::get_channel();
-
- if($vnotify & VNOTIFY_MAIL) {
- $mails = q("SELECT count(id) as total from mail
- WHERE channel_id = %d AND mail_seen = 0 and from_xchan != '%s' ",
- intval(local_channel()),
- dbesc($channel['channel_hash'])
- );
- if($mails)
- $result['mail'] = intval($mails[0]['total']);
- }
-
- if($vnotify & VNOTIFY_REGISTER) {
- if (\App::$config['system']['register_policy'] == REGISTER_APPROVE && is_site_admin()) {
- $regs = q("SELECT count(account_id) as total from account where (account_flags & %d) > 0",
- intval(ACCOUNT_PENDING)
- );
- if($regs)
- $result['register'] = intval($regs[0]['total']);
- }
- }
-
- $t7 = dba_timer();
-
- if($vnotify & (VNOTIFY_EVENT|VNOTIFY_EVENTTODAY|VNOTIFY_BIRTHDAY)) {
- $events = q("SELECT etype, dtstart, adjust FROM event
- WHERE event.uid = %d AND dtstart < '%s' AND dtstart > '%s' and dismissed = 0
- and etype in ( 'event', 'birthday' )
- ORDER BY dtstart ASC ",
- intval(local_channel()),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
- );
-
- if($events) {
- $result['all_events'] = count($events);
-
- if($result['all_events']) {
- $str_now = datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y-m-d');
- foreach($events as $x) {
- $bd = false;
- if($x['etype'] === 'birthday') {
- $result['birthdays'] ++;
- $bd = true;
- }
- else {
- $result['events'] ++;
- }
- if(datetime_convert('UTC', ((intval($x['adjust'])) ? date_default_timezone_get() : 'UTC'), $x['dtstart'], 'Y-m-d') === $str_now) {
- $result['all_events_today'] ++;
- if($bd)
- $result['birthdays_today'] ++;
- else
- $result['events_today'] ++;
- }
- }
- }
- }
- }
- if(! ($vnotify & VNOTIFY_EVENT))
- $result['all_events'] = $result['events'] = 0;
- if(! ($vnotify & VNOTIFY_EVENTTODAY))
- $result['all_events_today'] = $result['events_today'] = 0;
- if(! ($vnotify & VNOTIFY_BIRTHDAY))
- $result['birthdays'] = 0;
-
-
-
- if($vnotify & VNOTIFY_FORUMS) {
- $forums = get_forum_channels(local_channel());
-
- if($forums) {
- $item_normal = item_normal();
- $fcount = count($forums);
- $forums['total'] = 0;
-
- for($x = 0; $x < $fcount; $x ++) {
- $p = q("SELECT oid AS parent FROM term WHERE uid = %d AND ttype = %d AND term = '%s'",
- intval(local_channel()),
- intval(TERM_FORUM),
- dbesc($forums[$x]['xchan_name'])
- );
-
- $p_str = ids_to_querystr($p, 'parent');
- $p_sql = (($p_str) ? "OR parent IN ( $p_str )" : '');
-
- $r = q("select count(id) as unseen from item
- where uid = %d and ( owner_xchan = '%s' OR author_xchan = '%s' $p_sql ) and item_unseen = 1 $item_normal $sql_extra",
- intval(local_channel()),
- dbesc($forums[$x]['xchan_hash']),
- dbesc($forums[$x]['xchan_hash'])
- );
- if($r[0]['unseen']) {
- $forums[$x]['notify_link'] = (($forums[$x]['private_forum']) ? $forums[$x]['xchan_url'] : z_root() . '/network/?f=&pf=1&unseen=1&cid=' . $forums[$x]['abook_id']);
- $forums[$x]['name'] = $forums[$x]['xchan_name'];
- $forums[$x]['addr'] = $forums[$x]['xchan_addr'];
- $forums[$x]['url'] = $forums[$x]['xchan_url'];
- $forums[$x]['photo'] = $forums[$x]['xchan_photo_s'];
- $forums[$x]['unseen'] = $r[0]['unseen'];
- $forums[$x]['private_forum'] = (($forums[$x]['private_forum']) ? 'lock' : '');
- $forums[$x]['message'] = (($forums[$x]['private_forum']) ? t('Private forum') : t('Public forum'));
-
- $forums['total'] = $forums['total'] + $r[0]['unseen'];
-
- unset($forums[$x]['abook_id']);
- unset($forums[$x]['xchan_hash']);
- unset($forums[$x]['xchan_name']);
- unset($forums[$x]['xchan_url']);
- unset($forums[$x]['xchan_photo_s']);
-
- //if($forums[$x]['private_forum'])
- // unset($forums[$x]['private_forum']);
-
- }
- else {
- unset($forums[$x]);
- }
- }
- $result['forums'] = $forums['total'];
- unset($forums['total']);
-
- $result['forums_sub'] = $forums;
- }
- }
-
- $x = json_encode($result);
-
- $t8 = dba_timer();
-
-// logger('ping timer: ' . sprintf('%01.4f %01.4f %01.4f %01.4f %01.4f %01.4f %01.4f %01.4f',$t8 - $t7, $t7 - $t6, $t6 - $t5, $t5 - $t4, $t4 - $t3, $t3 - $t2, $t2 - $t1, $t1 - $t0));
-
- echo $x;
- killme();
- }
-
-}
diff --git a/Zotlabs/Module/Post.php b/Zotlabs/Module/Post.php
deleted file mode 100644
index f67cbf020..000000000
--- a/Zotlabs/Module/Post.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/**
- * @file Zotlabs/Module/Post.php
- *
- * @brief Zot endpoint.
- *
- */
-
-namespace Zotlabs\Module;
-
-require_once('include/zot.php');
-
-/**
- * @brief Post module.
- *
- */
-class Post extends \Zotlabs\Web\Controller {
-
- function init() {
- if(array_key_exists('auth', $_REQUEST)) {
- $x = new \Zotlabs\Zot\Auth($_REQUEST);
- exit;
- }
- }
-
- function post() {
- if(array_key_exists('data',$_REQUEST)) {
- $z = new \Zotlabs\Zot\Receiver($_REQUEST['data'], get_config('system', 'prvkey'), new \Zotlabs\Zot\ZotHandler());
- exit;
- }
-
- }
-
-}
diff --git a/Zotlabs/Module/Prate.php b/Zotlabs/Module/Prate.php
deleted file mode 100644
index 8b71657b8..000000000
--- a/Zotlabs/Module/Prate.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-namespace Zotlabs\Module;
-
-
-use Zotlabs\Lib\Crypto;
-
-class Prate extends \Zotlabs\Web\Controller {
-
- function init() {
- if($_SERVER['REQUEST_METHOD'] === 'post')
- return;
-
- if(! local_channel())
- return;
-
- $channel = \App::get_channel();
-
- $target = argv(1);
- if(! $target)
- return;
-
- $r = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1",
- dbesc($channel['channel_hash']),
- dbesc($target)
- );
- if($r)
- json_return_and_die(array('rating' => $r[0]['xlink_rating'],'rating_text' => $r[0]['xlink_rating_text']));
- killme();
- }
-
- function post() {
-
- if(! local_channel())
- return;
-
- $channel = \App::get_channel();
-
- $target = trim($_REQUEST['target']);
- if(! $target)
- return;
-
- if($target === $channel['channel_hash'])
- return;
-
- $rating = intval($_POST['rating']);
- if($rating < (-10))
- $rating = (-10);
- if($rating > 10)
- $rating = 10;
-
- $rating_text = trim(escape_tags($_REQUEST['rating_text']));
-
- $signed = $target . '.' . $rating . '.' . $rating_text;
-
- $sig = base64url_encode(Crypto::sign($signed,$channel['channel_prvkey']));
-
-
- $z = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1 limit 1",
- dbesc($channel['channel_hash']),
- dbesc($target)
- );
- if($z) {
- $record = $z[0]['xlink_id'];
- $w = q("update xlink set xlink_rating = '%d', xlink_rating_text = '%s', xlink_sig = '%s', xlink_updated = '%s'
- where xlink_id = %d",
- intval($rating),
- dbesc($rating_text),
- dbesc($sig),
- dbesc(datetime_convert()),
- intval($record)
- );
- }
- else {
- $w = q("insert into xlink ( xlink_xchan, xlink_link, xlink_rating, xlink_rating_text, xlink_sig, xlink_updated, xlink_static ) values ( '%s', '%s', %d, '%s', '%s', '%s', 1 ) ",
- dbesc($channel['channel_hash']),
- dbesc($target),
- intval($rating),
- dbesc($rating_text),
- dbesc($sig),
- dbesc(datetime_convert())
- );
- $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)
- $record = $z[0]['xlink_id'];
- }
- if($record) {
- \Zotlabs\Daemon\Master::Summon(array('Ratenotif','rating',$record));
- }
-
- json_return_and_die(array('result' => true));;
- }
-
-
-
-
-
-
-
-
-
-
-
-
-}
diff --git a/Zotlabs/Module/Probe.php b/Zotlabs/Module/Probe.php
deleted file mode 100644
index 3bc4dac72..000000000
--- a/Zotlabs/Module/Probe.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-namespace Zotlabs\Module;
-
-use App;
-use Zotlabs\Lib\Apps;
-use Zotlabs\Lib\Crypto;
-
-require_once('include/zot.php');
-
-class Probe extends \Zotlabs\Web\Controller {
-
- function get() {
-
- if(local_channel()) {
- if(! Apps::system_app_installed(local_channel(), 'Remote Diagnostics')) {
- //Do not display any associated widgets at this point
- App::$pdl = '';
-
- $o = '<b>' . t('Remote Diagnostics App') . ' (' . t('Not Installed') . '):</b><br>';
- $o .= t('Perform diagnostics on remote channels');
- return $o;
- }
- }
-
- nav_set_selected('Remote Diagnostics');
-
- $o .= '<h3>Remote Diagnostics</h3>';
-
- $o .= '<form action="probe" method="get">';
- $o .= 'Lookup address: <input type="text" style="width: 250px;" name="addr" value="' . $_GET['addr'] .'" />';
- $o .= '<input type="submit" name="submit" value="Submit" /></form>';
-
- $o .= '<br /><br />';
-
- if(x($_GET,'addr')) {
- $channel = App::get_channel();
- $addr = trim($_GET['addr']);
- $do_import = ((intval($_GET['import']) && is_site_admin()) ? true : false);
-
- $j = \Zotlabs\Zot\Finger::run($addr,$channel,false);
-
- $o .= '<pre>';
- if(! $j['success']) {
- $o .= "<strong>https connection failed. Trying again with auto failover to http.</strong>\r\n\r\n";
- $j = \Zotlabs\Zot\Finger::run($addr,$channel,true);
- if(! $j['success']) {
- return $o;
- }
- }
- if($do_import && $j)
- $x = import_xchan($j);
- if($j && $j['permissions'] && $j['permissions']['iv'])
- $j['permissions'] = json_decode(Crypto::unencapsulate($j['permissions'],$channel['channel_prvkey']),true);
- $o .= str_replace("\n",'<br />',print_r($j,true));
- $o .= '</pre>';
- }
- return $o;
- }
-
-}
diff --git a/Zotlabs/Module/Profiles.php b/Zotlabs/Module/Profiles.php
index 9aa342223..452af4d78 100644
--- a/Zotlabs/Module/Profiles.php
+++ b/Zotlabs/Module/Profiles.php
@@ -600,7 +600,6 @@ class Profiles extends \Zotlabs\Web\Controller {
intval(local_channel())
);
if($r) {
- require_once('include/zot.php');
Libsync::build_sync_packet(local_channel(),array('profile' => $r));
}
diff --git a/Zotlabs/Module/Pubsites.php b/Zotlabs/Module/Pubsites.php
index 4b64d9af6..fd5aeaa72 100644
--- a/Zotlabs/Module/Pubsites.php
+++ b/Zotlabs/Module/Pubsites.php
@@ -6,7 +6,6 @@ use Zotlabs\Lib\Libzotdir;
class Pubsites extends \Zotlabs\Web\Controller {
function get() {
- require_once('include/dir_fns.php');
$dirmode = intval(get_config('system','directory_mode'));
if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
diff --git a/Zotlabs/Module/Rate.php b/Zotlabs/Module/Rate.php
deleted file mode 100644
index d29c370fc..000000000
--- a/Zotlabs/Module/Rate.php
+++ /dev/null
@@ -1,174 +0,0 @@
-<?php
-namespace Zotlabs\Module;
-
-
-
-use Zotlabs\Lib\Crypto;
-
-class Rate extends \Zotlabs\Web\Controller {
-
- function init() {
-
- if(! local_channel())
- return;
-
- $channel = \App::get_channel();
-
- $target = $_REQUEST['target'];
- if(! $target)
- return;
-
- \App::$data['target'] = $target;
-
- if($target) {
- $r = q("SELECT * FROM xchan where xchan_hash like '%s' LIMIT 1",
- dbesc($target)
- );
- if($r) {
- \App::$poi = $r[0];
- }
- else {
- $r = q("select * from site where site_url like '%s' and site_type = %d",
- dbesc('%' . $target),
- intval(SITE_TYPE_ZOT)
- );
- if($r) {
- \App::$data['site'] = $r[0];
- \App::$data['site']['site_url'] = strtolower($r[0]['site_url']);
- }
- }
- }
-
-
- return;
-
- }
-
-
- function post() {
-
- if(! local_channel())
- return;
-
- if(! \App::$data['target'])
- return;
-
- if(! $_REQUEST['execute'])
- return;
-
- $channel = \App::get_channel();
-
- $rating = intval($_POST['rating']);
- if($rating < (-10))
- $rating = (-10);
- if($rating > 10)
- $rating = 10;
-
- $rating_text = trim(escape_tags($_REQUEST['rating_text']));
-
- $signed = \App::$data['target'] . '.' . $rating . '.' . $rating_text;
-
- $sig = base64url_encode(Crypto::sign($signed,$channel['channel_prvkey']));
-
- $z = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1 limit 1",
- dbesc($channel['channel_hash']),
- dbesc(\App::$data['target'])
- );
-
- if($z) {
- $record = $z[0]['xlink_id'];
- $w = q("update xlink set xlink_rating = '%d', xlink_rating_text = '%s', xlink_sig = '%s', xlink_updated = '%s'
- where xlink_id = %d",
- intval($rating),
- dbesc($rating_text),
- dbesc($sig),
- dbesc(datetime_convert()),
- intval($record)
- );
- }
- else {
- $w = q("insert into xlink ( xlink_xchan, xlink_link, xlink_rating, xlink_rating_text, xlink_sig, xlink_updated, xlink_static ) values ( '%s', '%s', %d, '%s', '%s', '%s', 1 ) ",
- dbesc($channel['channel_hash']),
- dbesc(\App::$data['target']),
- intval($rating),
- dbesc($rating_text),
- dbesc($sig),
- dbesc(datetime_convert())
- );
- $z = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1 limit 1",
- dbesc($channel['channel_hash']),
- dbesc(\App::$data['target'])
- );
- if($z)
- $record = $z[0]['xlink_id'];
- }
-
- if($record) {
- \Zotlabs\Daemon\Master::Summon(array('Ratenotif','rating',$record));
- }
-
- }
-
- function get() {
-
- if(! local_channel()) {
- notice( t('Permission denied.') . EOL);
- return;
- }
-
- // if(! \App::$data['target']) {
- // notice( t('No recipients.') . EOL);
- // return;
- // }
-
- $rating_enabled = get_config('system','rating_enabled');
- if(! $rating_enabled) {
- notice('Ratings are disabled on this site.');
- return;
- }
-
- $channel = \App::get_channel();
-
- $r = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1",
- dbesc($channel['channel_hash']),
- dbesc(\App::$data['target'])
- );
- if($r) {
- \App::$data['xlink'] = $r[0];
- $rating_val = $r[0]['xlink_rating'];
- $rating_text = $r[0]['xlink_rating_text'];
- }
- else {
- $rating_val = 0;
- $rating_text = '';
- }
-
- if($rating_enabled) {
- $rating = replace_macros(get_markup_template('rating_slider.tpl'),array(
- '$min' => -10,
- '$val' => $rating_val
- ));
- }
- else {
- $rating = false;
- }
-
- $o = replace_macros(get_markup_template('rating_form.tpl'),array(
- '$header' => t('Rating'),
- '$website' => t('Website:'),
- '$site' => ((\App::$data['site']) ? '<a href="' . \App::$data['site']['site_url'] . '" >' . \App::$data['site']['site_url'] . '</a>' : ''),
- 'target' => \App::$data['target'],
- '$tgt_name' => ((\App::$poi && \App::$poi['xchan_name']) ? \App::$poi['xchan_name'] : sprintf( t('Remote Channel [%s] (not yet known on this site)'), substr(\App::$data['target'],0,16))),
- '$lbl_rating' => t('Rating (this information is public)'),
- '$lbl_rating_txt' => t('Optionally explain your rating (this information is public)'),
- '$rating_txt' => $rating_text,
- '$rating' => $rating,
- '$rating_val' => $rating_val,
- '$slide' => $slide,
- '$submit' => t('Submit')
- ));
-
- return $o;
-
- }
-}
diff --git a/Zotlabs/Module/Ratings.php b/Zotlabs/Module/Ratings.php
deleted file mode 100644
index 055b16ca3..000000000
--- a/Zotlabs/Module/Ratings.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-namespace Zotlabs\Module;
-
-require_once('include/dir_fns.php');
-
-
-class Ratings extends \Zotlabs\Web\Controller {
-
- function init() {
-
- if(observer_prohibited()) {
- return;
- }
-
- if(local_channel())
- load_contact_links(local_channel());
-
- $dirmode = intval(get_config('system','directory_mode'));
-
- $x = find_upstream_directory($dirmode);
- if($x)
- $url = $x['url'];
-
- $rating_enabled = get_config('system','rating_enabled');
-
- if(! $rating_enabled)
- return;
-
- if(argc() > 1)
- $hash = argv(1);
-
- if(! $hash) {
- notice('Must supply a channel identififier.');
- return;
- }
-
- $results = false;
-
- $x = z_fetch_url($url . '/ratingsearch/' . urlencode($hash));
-
-
- if($x['success'])
- $results = json_decode($x['body'],true);
-
-
- if((! $results) || (! $results['success'])) {
-
- notice('No results.');
- return;
- }
-
- if(array_key_exists('xchan_hash',$results['target']))
- \App::$poi = $results['target'];
-
- $friends = array();
- $others = array();
-
- if($results['ratings']) {
- foreach($results['ratings'] as $n) {
- if(is_array(\App::$contacts) && array_key_exists($n['xchan_hash'],\App::$contacts))
- $friends[] = $n;
- else
- $others[] = $n;
- }
- }
-
- \App::$data = array('target' => $results['target'], 'results' => array_merge($friends,$others));
-
- if(! \App::$data['results']) {
- notice( t('No ratings') . EOL);
- }
-
- return;
- }
-
-
-
-
-
- function get() {
-
- if(observer_prohibited()) {
- notice( t('Public access denied.') . EOL);
- return;
- }
-
- $rating_enabled = get_config('system','rating_enabled');
-
- if(! $rating_enabled)
- return;
-
- $site_target = ((array_key_exists('target',\App::$data) && array_key_exists('site_url',\App::$data['target'])) ?
- '<a href="' . \App::$data['target']['site_url'] . '" >' . \App::$data['target']['site_url'] . '</a>' : '');
-
-
- $o = replace_macros(get_markup_template('prep.tpl'),array(
- '$header' => t('Ratings'),
- '$rating_lbl' => t('Rating: ' ),
- '$website' => t('Website: '),
- '$site' => $site_target,
- '$rating_text_lbl' => t('Description: '),
- '$raters' => \App::$data['results']
- ));
-
- return $o;
- }
-
-
-}
diff --git a/Zotlabs/Module/Ratingsearch.php b/Zotlabs/Module/Ratingsearch.php
deleted file mode 100644
index dcbfd6a9b..000000000
--- a/Zotlabs/Module/Ratingsearch.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-namespace Zotlabs\Module;
-
-
-
-class Ratingsearch extends \Zotlabs\Web\Controller {
-
- function init() {
-
- $ret = array('success' => false);
-
- $dirmode = intval(get_config('system','directory_mode'));
-
- if($dirmode == DIRECTORY_MODE_NORMAL) {
- $ret['message'] = 'This site is not a directory server.';
- json_return_and_die($ret);
- }
-
- if(argc() > 1)
- $hash = argv(1);
-
- if(! $hash) {
- $ret['message'] = 'No channel identifier';
- json_return_and_die($ret);
- }
-
- if(strpos($hash,'@')) {
- $r = q("select * from hubloc where hubloc_addr = '%s' limit 1",
- dbesc($hash)
- );
- if($r)
- $hash = $r[0]['hubloc_hash'];
- }
-
- $p = q("select * from xchan where xchan_hash like '%s'",
- dbesc($hash . '%')
- );
-
- if($p)
- $target = $p[0]['xchan_hash'];
- else {
- $p = q("select * from site where site_url like '%s' and site_type = %d ",
- dbesc('%' . $hash),
- intval(SITE_TYPE_ZOT)
- );
- if($p) {
- $target = strtolower($hash);
- }
- else {
- $ret['message'] = 'Rating target not found';
- json_return_and_die($ret);
- }
- }
-
- if($p)
- $ret['target'] = $p[0];
-
- $ret['success'] = true;
-
- $r = q("select * from xlink left join xchan on xlink_xchan = xchan_hash
- where xlink_link = '%s' and xlink_rating != 0 and xlink_static = 1
- and xchan_hidden = 0 and xchan_orphan = 0 and xchan_deleted = 0
- order by xchan_name asc",
- dbesc($target)
- );
-
- if($r) {
- $ret['ratings'] = $r;
- }
- else
- $ret['ratings'] = array();
-
- json_return_and_die($ret);
-
- }
-
-
-}
diff --git a/Zotlabs/Module/Rbmark.php b/Zotlabs/Module/Rbmark.php
index 226cef69e..87b774495 100644
--- a/Zotlabs/Module/Rbmark.php
+++ b/Zotlabs/Module/Rbmark.php
@@ -6,12 +6,11 @@ require_once('include/crypto.php');
require_once('include/items.php');
require_once('include/taxonomy.php');
require_once('include/conversation.php');
-require_once('include/zot.php');
require_once('include/bookmarks.php');
/**
* remote bookmark
- *
+ *
* https://yoursite/rbmark?f=&title=&url=&private=&remote_return=
*
* This can be called via either GET or POST, use POST for long body content as suhosin often limits GET parameter length
@@ -31,45 +30,45 @@ class Rbmark extends \Zotlabs\Web\Controller {
function post() {
if($_POST['submit'] !== t('Save'))
return;
-
+
logger('rbmark_post: ' . print_r($_REQUEST,true));
-
+
$channel = \App::get_channel();
-
+
$t = array('url' => escape_tags($_REQUEST['url']),'term' => escape_tags($_REQUEST['title']));
bookmark_add($channel,$channel,$t,((x($_REQUEST,'private')) ? intval($_REQUEST['private']) : 0),
array('menu_id' => ((x($_REQUEST,'menu_id')) ? intval($_REQUEST['menu_id']) : 0),
'menu_name' => ((x($_REQUEST,'menu_name')) ? escape_tags($_REQUEST['menu_name']) : ''),
'ischat' => ((x($_REQUEST['ischat'])) ? intval($_REQUEST['ischat']) : 0)
));
-
+
goaway(z_root() . '/bookmarks');
-
+
}
-
-
+
+
function get() {
-
+
$o = '';
-
+
if(! local_channel()) {
-
+
// The login procedure is going to bugger our $_REQUEST variables
// so save them in the session.
-
+
if(array_key_exists('url',$_REQUEST)) {
$_SESSION['bookmark'] = $_REQUEST;
}
return login();
}
-
+
// If we have saved rbmark session variables, but nothing in the current $_REQUEST, recover the saved variables
-
+
if((! array_key_exists('url',$_REQUEST)) && (array_key_exists('bookmark',$_SESSION))) {
$_REQUEST = $_SESSION['bookmark'];
unset($_SESSION['bookmark']);
}
-
+
if($_REQUEST['remote_return']) {
$_SESSION['remote_return'] = $_REQUEST['remote_return'];
}
@@ -78,12 +77,12 @@ class Rbmark extends \Zotlabs\Web\Controller {
goaway($_SESSION['remote_return']);
goaway(z_root() . '/bookmarks');
}
-
+
$channel = \App::get_channel();
-
-
+
+
$m = menu_list($channel['channel_id'],'',MENU_BOOKMARK);
-
+
$menus = array();
if($m) {
$menus = array(0 => '');
@@ -92,10 +91,10 @@ class Rbmark extends \Zotlabs\Web\Controller {
}
}
$menu_select = array('menu_id',t('Select a bookmark folder'),false,'',$menus);
-
-
+
+
$o .= replace_macros(get_markup_template('rbmark.tpl'), array(
-
+
'$header' => t('Save Bookmark'),
'$url' => array('url',t('URL of bookmark'),escape_tags($_REQUEST['url'])),
'$title' => array('title',t('Description'),escape_tags($_REQUEST['title'])),
@@ -104,18 +103,18 @@ class Rbmark extends \Zotlabs\Web\Controller {
'$submit' => t('Save'),
'$menu_name' => array('menu_name',t('Or enter new bookmark folder name'),'',''),
'$menus' => $menu_select
-
+
));
-
-
-
-
-
-
+
+
+
+
+
+
return $o;
-
+
}
-
-
-
+
+
+
}
diff --git a/Zotlabs/Module/Rpost.php b/Zotlabs/Module/Rpost.php
index 031270845..80ad289b2 100644
--- a/Zotlabs/Module/Rpost.php
+++ b/Zotlabs/Module/Rpost.php
@@ -1,12 +1,13 @@
<?php
namespace Zotlabs\Module; /** @file */
+use Zotlabs\Lib\Libzot;
+
require_once('include/acl_selectors.php');
require_once('include/crypto.php');
require_once('include/items.php');
require_once('include/taxonomy.php');
require_once('include/conversation.php');
-require_once('include/zot.php');
/**
* remote post
@@ -42,7 +43,7 @@ class Rpost extends \Zotlabs\Web\Controller {
// by the wretched beast called 'suhosin'. All the browsers now allow long GET requests, but suhosin
// blocks them.
- $url = get_rpost_path(\App::get_observer());
+ $url = Libzot::get_rpost_path(\App::get_observer());
// make sure we're not looping to our own hub
if(($url) && (! stristr($url, \App::get_hostname()))) {
foreach($_GET as $key => $arg) {
diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php
index 79031c98f..624cbb0c1 100644
--- a/Zotlabs/Module/Settings.php
+++ b/Zotlabs/Module/Settings.php
@@ -1,7 +1,6 @@
<?php
namespace Zotlabs\Module; /** @file */
-require_once('include/zot.php');
require_once('include/security.php');
class Settings extends \Zotlabs\Web\Controller {
@@ -11,68 +10,68 @@ class Settings extends \Zotlabs\Web\Controller {
function init() {
if(! local_channel())
return;
-
+
if($_SESSION['delegate'])
return;
-
+
\App::$profile_uid = local_channel();
-
+
// default is channel settings in the absence of other arguments
-
+
if(argc() == 1) {
// We are setting these values - don't use the argc(), argv() functions here
\App::$argc = 2;
\App::$argv[] = 'channel';
- }
+ }
$this->sm = new \Zotlabs\Web\SubModule();
}
-
-
+
+
function post() {
-
+
if(! local_channel())
return;
-
+
if($_SESSION['delegate'])
return;
-
+
// logger('mod_settings: ' . print_r($_REQUEST,true));
-
+
if(argc() > 1) {
if($this->sm->call('post') !== false) {
return;
}
}
-
+
goaway(z_root() . '/settings' );
return; // NOTREACHED
}
-
-
-
+
+
+
function get() {
-
+
nav_set_selected('Settings');
-
+
if((! local_channel()) || ($_SESSION['delegate'])) {
notice( t('Permission denied.') . EOL );
return login();
}
-
-
+
+
$channel = \App::get_channel();
if($channel)
head_set_icon($channel['xchan_photo_s']);
-
+
$o = $this->sm->call('get');
if($o !== false)
return $o;
$o = '';
-
- }
+
+ }
}
diff --git a/Zotlabs/Module/Sse_bs.php b/Zotlabs/Module/Sse_bs.php
index 109b043ad..ca86f4f1f 100644
--- a/Zotlabs/Module/Sse_bs.php
+++ b/Zotlabs/Module/Sse_bs.php
@@ -37,7 +37,7 @@ class Sse_bs extends Controller {
self::$vnotify = get_pconfig(self::$uid, 'system', 'vnotify', -1);
self::$evdays = intval(get_pconfig(self::$uid, 'system', 'evdays'));
- self::$limit = 50;
+ self::$limit = 30;
self::$offset = 0;
self::$xchans = '';
@@ -57,8 +57,6 @@ class Sse_bs extends Controller {
if(intval(argv(2)) > 0)
self::$offset = argv(2);
- else
- $_SESSION['sse_loadtime'] = datetime_convert();
$network = false;
$dm = false;
@@ -100,7 +98,6 @@ class Sse_bs extends Controller {
self::bs_forums(),
self::bs_pubs($pubs),
self::bs_files(),
- self::bs_mail(),
self::bs_all_events(),
self::bs_register(),
self::bs_info_notice()
@@ -179,7 +176,7 @@ class Sse_bs extends Controller {
$sql_extra2
ORDER BY created DESC LIMIT $limit OFFSET $offset",
intval(self::$uid),
- dbescdate($_SESSION['sse_loadtime']),
+ dbescdate($_SESSION['page_loadtime']),
dbesc(self::$ob_hash)
);
@@ -255,7 +252,7 @@ class Sse_bs extends Controller {
$sql_extra2
ORDER BY created DESC LIMIT $limit OFFSET $offset",
intval(self::$uid),
- dbescdate($_SESSION['sse_loadtime']),
+ dbescdate($_SESSION['page_loadtime']),
dbesc(self::$ob_hash)
);
@@ -331,7 +328,7 @@ class Sse_bs extends Controller {
$sql_extra2
ORDER BY created DESC LIMIT $limit OFFSET $offset",
intval(self::$uid),
- dbescdate($_SESSION['sse_loadtime']),
+ dbescdate($_SESSION['page_loadtime']),
dbesc(self::$ob_hash)
);
@@ -418,7 +415,7 @@ class Sse_bs extends Controller {
$sql_extra2
ORDER BY created DESC LIMIT $limit OFFSET $offset",
intval($sys['channel_id']),
- dbescdate($_SESSION['sse_loadtime']),
+ dbescdate($_SESSION['page_loadtime']),
dbesc(self::$ob_hash),
dbescdate($_SESSION['static_loadtime'])
);
@@ -634,36 +631,6 @@ class Sse_bs extends Controller {
}
- function bs_mail() {
-
- $result['mail']['notifications'] = [];
- $result['mail']['count'] = 0;
- $result['mail']['offset'] = -1;
-
- if(! self::$uid)
- return $result;
-
- if(! (self::$vnotify & VNOTIFY_MAIL))
- return $result;
-
- $r = q("select mail.*, xchan.* from mail left join xchan on xchan_hash = from_xchan
- where channel_id = %d and mail_seen = 0 and mail_deleted = 0
- and from_xchan != '%s' order by created desc",
- intval(self::$uid),
- dbesc(self::$ob_hash)
- );
-
- if($r) {
- foreach($r as $rr) {
- $result['mail']['notifications'][] = Enotify::format_mail($rr);
- }
- $result['mail']['count'] = count($r);
- }
-
- return $result;
-
- }
-
function bs_all_events() {
$result['all_events']['notifications'] = [];
diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php
index 787ed5850..72deba305 100644
--- a/Zotlabs/Module/Webpages.php
+++ b/Zotlabs/Module/Webpages.php
@@ -15,26 +15,26 @@ require_once('include/acl_selectors.php');
class Webpages extends Controller {
function init() {
-
+
if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) {
$sys = get_sys_channel();
if($sys && intval($sys['channel_id'])) {
App::$is_sys = true;
}
}
-
+
if(argc() > 1)
$which = argv(1);
else
return;
-
+
profile_load($which);
-
+
}
-
-
+
+
function get() {
-
+
if(! App::$profile) {
notice( t('Requested profile is not available.') . EOL );
App::$error = 404;
@@ -53,13 +53,13 @@ class Webpages extends Controller {
nav_set_selected('Webpages');
$which = argv(1);
-
+
$_SESSION['return_url'] = App::$query_string;
-
+
$uid = local_channel();
$owner = 0;
$observer = App::get_observer();
-
+
$channel = App::get_channel();
switch ($_SESSION['action']) {
@@ -74,7 +74,7 @@ class Webpages extends Controller {
'$blocks' => $_SESSION['blocks'],
));
return $o;
-
+
case 'importselected':
$_SESSION['action'] = null;
break;
@@ -85,7 +85,7 @@ class Webpages extends Controller {
break;
}
require_once('include/import.php');
-
+
$pages = get_webpage_elements($channel, 'pages');
$layouts = get_webpage_elements($channel, 'layouts');
$blocks = get_webpage_elements($channel, 'blocks');
@@ -99,13 +99,13 @@ class Webpages extends Controller {
));
$_SESSION['export'] = null;
return $o;
-
+
default :
$_SESSION['action'] = null;
break;
}
-
-
+
+
if(App::$is_sys && is_site_admin()) {
$sys = get_sys_channel();
if($sys && intval($sys['channel_id'])) {
@@ -114,7 +114,7 @@ class Webpages extends Controller {
$observer = $sys;
}
}
-
+
if(! $owner) {
// Figure out who the page owner is.
$r = q("select channel_id from channel where channel_address = '%s'",
@@ -124,24 +124,24 @@ class Webpages extends Controller {
$owner = intval($r[0]['channel_id']);
}
}
-
+
$ob_hash = (($observer) ? $observer['xchan_hash'] : '');
-
+
$perms = get_all_perms($owner,$ob_hash);
-
+
if(! $perms['write_pages']) {
notice( t('Permission denied.') . EOL);
return;
}
-
+
$mimetype = (($_REQUEST['mimetype']) ? $_REQUEST['mimetype'] : get_pconfig($owner,'system','page_mimetype'));
-
+
$layout = (($_REQUEST['layout']) ? $_REQUEST['layout'] : get_pconfig($owner,'system','page_layout'));
-
+
// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
- // Nickname is set to the observers xchan, and profile_uid to the owner's.
+ // Nickname is set to the observers xchan, and profile_uid to the owner's.
// This lets you post pages at other people's channels.
-
+
if((! $channel) && ($uid) && ($uid == App::$profile_uid)) {
$channel = App::get_channel();
}
@@ -156,12 +156,12 @@ class Webpages extends Controller {
else {
$channel_acl = [ 'allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ];
}
-
+
$is_owner = ($uid && $uid == $owner);
$o = '';
-
+
$x = array(
'webpage' => ITEM_TYPE_WEBPAGE,
'is_owner' => true,
@@ -183,23 +183,23 @@ class Webpages extends Controller {
'bbco_autocomplete' => 'bbcode',
'bbcode' => true
);
-
+
if($_REQUEST['title'])
$x['title'] = $_REQUEST['title'];
if($_REQUEST['body'])
$x['body'] = $_REQUEST['body'];
if($_REQUEST['pagetitle'])
$x['pagetitle'] = $_REQUEST['pagetitle'];
-
-
- // Get a list of webpages. We can't display all them because endless scroll makes that unusable,
+
+
+ // Get a list of webpages. We can't display all them because endless scroll makes that unusable,
// so just list titles and an edit link.
-
-
+
+
$sql_extra = item_permissions_sql($owner);
-
- $r = 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_type = %d
+
+ $r = 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_type = %d
$sql_extra order by item.created desc",
intval($owner),
intval(ITEM_TYPE_WEBPAGE)
@@ -211,14 +211,13 @@ class Webpages extends Controller {
$editor = status_editor($a,$x,false,'Webpages');
$pages = null;
-
+
if($r) {
$pages = array();
foreach($r as $rr) {
- unobscure($rr);
-
+
$lockstate = (($rr['allow_cid'] || $rr['allow_gid'] || $rr['deny_cid'] || $rr['deny_gid']) ? 'lock' : 'unlock');
-
+
$element_arr = array(
'type' => 'webpage',
'title' => $rr['title'],
@@ -243,11 +242,11 @@ class Webpages extends Controller {
);
}
}
-
-
+
+
//Build the base URL for edit links
$url = z_root() . '/editwebpage/' . $which;
-
+
$o .= replace_macros(get_markup_template('webpagelist.tpl'), array(
'$listtitle' => t('Webpages'),
'$baseurl' => $url,
@@ -266,19 +265,19 @@ class Webpages extends Controller {
'$created_txt' => t('Created'),
'$edited_txt' => t('Edited')
));
-
+
return $o;
}
-
+
function post() {
$action = $_REQUEST['action'];
if( $action ){
switch ($action) {
case 'scan':
-
+
// the state of this variable tracks whether website files have been scanned (null, true, false)
- $cloud = null;
-
+ $cloud = null;
+
// Website files are to be imported from an uploaded zip file
if(($_FILES) && array_key_exists('zip_file',$_FILES) && isset($_POST['w_upload'])) {
$source = $_FILES["zip_file"]["tmp_name"];
@@ -306,8 +305,8 @@ class Webpages extends Controller {
} else {
notice( t('Error opening zip file') . EOL);
return null;
- }
- }
+ }
+ }
// Website files are to be imported from the channel cloud files
if (($_POST) && array_key_exists('path',$_POST) && isset($_POST['cloudsubmit'])) {
@@ -321,7 +320,7 @@ class Webpages extends Controller {
$cloud = true;
}
-
+
// If the website files were uploaded or specified in the cloud files, then $cloud
// should be either true or false
if ($cloud !== null) {
@@ -345,24 +344,24 @@ class Webpages extends Controller {
notice( t('No webpage elements detected.') . EOL);
$_SESSION['action'] = null;
}
-
+
}
-
+
// If the website elements were imported from a zip file, delete the temporary decompressed files
if ($cloud === false && $website && $elements) {
$_SESSION['tempimportpath'] = $website;
//rrmdir($website); // Delete the temporary decompressed files
}
-
+
break;
-
+
case 'importselected':
require_once('include/import.php');
$channel = App::get_channel();
-
+
// Import layout first so that pages that reference new layouts will find
- // the mid of layout items in the database
-
+ // the mid of layout items in the database
+
// Obtain the user-selected layouts to import and import them
$checkedlayouts = $_POST['layout'];
$layouts = [];
@@ -380,7 +379,7 @@ class Webpages extends Controller {
}
}
$_SESSION['import_layouts'] = $layouts;
-
+
// Obtain the user-selected blocks to import and import them
$checkedblocks = $_POST['block'];
$blocks = [];
@@ -398,7 +397,7 @@ class Webpages extends Controller {
}
}
$_SESSION['import_blocks'] = $blocks;
-
+
// Obtain the user-selected pages to import and import them
$checkedpages = $_POST['page'];
$pages = [];
@@ -424,9 +423,9 @@ class Webpages extends Controller {
unset($_SESSION['tempimportpath']);
}
break;
-
+
case 'exportzipfile':
-
+
if(isset($_POST['w_download'])) {
$_SESSION['action'] = 'export_select_list';
$_SESSION['export'] = 'zipfile';
@@ -436,45 +435,45 @@ class Webpages extends Controller {
$filename = 'website.zip';
}
$_SESSION['zipfilename'] = $filename;
-
+
}
-
+
break;
-
+
case 'exportcloud':
if(isset($_POST['exportcloudpath']) && $_POST['exportcloudpath'] !== '') {
$_SESSION['action'] = 'export_select_list';
$_SESSION['export'] = 'cloud';
$_SESSION['exportcloudpath'] = filter_var($_POST['exportcloudpath'], FILTER_SANITIZE_ENCODED);
}
-
+
break;
-
+
case 'cloud':
case 'zipfile':
-
+
$channel = App::get_channel();
-
+
$tmp_folder_name = random_string(10);
$zip_folder_name = random_string(10);
$zip_filename = $_SESSION['zipfilename'];
$tmp_folderpath = '/tmp/' . $tmp_folder_name;
$zip_folderpath = '/tmp/' . $zip_folder_name;
- if (!mkdir($zip_folderpath, 0770, false)) {
+ if (!mkdir($zip_folderpath, 0770, false)) {
logger('Error creating zip file export folder: ' . $zip_folderpath, LOGGER_NORMAL);
json_return_and_die(array('message' => 'Error creating zip file export folder'));
}
$zip_filepath = '/tmp/' . $zip_folder_name . '/' . $zip_filename;
-
+
$checkedblocks = $_POST['block'];
$blocks = [];
if (!empty($checkedblocks)) {
foreach ($checkedblocks as $mid) {
- $b = q("select iconfig.v, iconfig.k, mimetype, title, body from iconfig
- left join item on item.id = iconfig.iid
+ $b = q("select iconfig.v, iconfig.k, mimetype, title, body from iconfig
+ left join item on item.id = iconfig.iid
where mid = '%s' and item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'BUILDBLOCK' order by iconfig.v asc limit 1",
dbesc($mid),
- intval($channel['channel_id'])
+ intval($channel['channel_id'])
);
if($b) {
$b = $b[0];
@@ -514,25 +513,25 @@ class Webpages extends Controller {
$block_filepath = $tmp_blockfolder . '/' . $block_filename;
$blockinfo['json']['contentfile'] = $block_filename;
$block_jsonpath = $tmp_blockfolder . '/block.json';
- if (!is_dir($tmp_blockfolder) && !mkdir($tmp_blockfolder, 0770, true)) {
+ if (!is_dir($tmp_blockfolder) && !mkdir($tmp_blockfolder, 0770, true)) {
logger('Error creating temp export folder: ' . $tmp_blockfolder, LOGGER_NORMAL);
json_return_and_die(array('message' => 'Error creating temp export folder'));
}
file_put_contents($block_filepath, $blockinfo['body']);
- file_put_contents($block_jsonpath, json_encode($blockinfo['json'], JSON_UNESCAPED_SLASHES));
+ file_put_contents($block_jsonpath, json_encode($blockinfo['json'], JSON_UNESCAPED_SLASHES));
}
}
}
-
+
$checkedlayouts = $_POST['layout'];
$layouts = [];
if (!empty($checkedlayouts)) {
foreach ($checkedlayouts as $mid) {
- $l = q("select iconfig.v, iconfig.k, mimetype, title, body from iconfig
- left join item on item.id = iconfig.iid
+ $l = q("select iconfig.v, iconfig.k, mimetype, title, body from iconfig
+ left join item on item.id = iconfig.iid
where mid = '%s' and item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'PDL' order by iconfig.v asc limit 1",
dbesc($mid),
- intval($channel['channel_id'])
+ intval($channel['channel_id'])
);
if($l) {
$l = $l[0];
@@ -558,38 +557,38 @@ class Webpages extends Controller {
$layout_filepath = $tmp_layoutfolder . '/' . $layout_filename;
$layoutinfo['json']['contentfile'] = $layout_filename;
$layout_jsonpath = $tmp_layoutfolder . '/layout.json';
- if (!is_dir($tmp_layoutfolder) && !mkdir($tmp_layoutfolder, 0770, true)) {
+ if (!is_dir($tmp_layoutfolder) && !mkdir($tmp_layoutfolder, 0770, true)) {
logger('Error creating temp export folder: ' . $tmp_layoutfolder, LOGGER_NORMAL);
json_return_and_die(array('message' => 'Error creating temp export folder'));
}
file_put_contents($layout_filepath, $layoutinfo['body']);
- file_put_contents($layout_jsonpath, json_encode($layoutinfo['json'], JSON_UNESCAPED_SLASHES));
+ file_put_contents($layout_jsonpath, json_encode($layoutinfo['json'], JSON_UNESCAPED_SLASHES));
}
}
}
-
+
$checkedpages = $_POST['page'];
$pages = [];
if (!empty($checkedpages)) {
foreach ($checkedpages as $mid) {
-
- $p = q("select * from iconfig left join item on iconfig.iid = item.id
+
+ $p = q("select * from iconfig left join item on iconfig.iid = item.id
where item.uid = %d and item.mid = '%s' and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' and item_type = %d",
intval($channel['channel_id']),
dbesc($mid),
intval(ITEM_TYPE_WEBPAGE)
);
-
+
if($p) {
foreach ($p as $pp) {
// Get the associated layout
$layoutinfo = array();
if($pp['layout_mid']) {
- $l = q("select iconfig.v, iconfig.k, mimetype, title, body from iconfig
- left join item on item.id = iconfig.iid
+ $l = q("select iconfig.v, iconfig.k, mimetype, title, body from iconfig
+ left join item on item.id = iconfig.iid
where mid = '%s' and item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'PDL' order by iconfig.v asc limit 1",
dbesc($pp['layout_mid']),
- intval($channel['channel_id'])
+ intval($channel['channel_id'])
);
if($l) {
$l = $l[0];
@@ -614,12 +613,12 @@ class Webpages extends Controller {
$layout_filepath = $tmp_layoutfolder . '/' . $layout_filename;
$layoutinfo['json']['contentfile'] = $layout_filename;
$layout_jsonpath = $tmp_layoutfolder . '/layout.json';
- if (!is_dir($tmp_layoutfolder) && !mkdir($tmp_layoutfolder, 0770, true)) {
+ if (!is_dir($tmp_layoutfolder) && !mkdir($tmp_layoutfolder, 0770, true)) {
logger('Error creating temp export folder: ' . $tmp_layoutfolder, LOGGER_NORMAL);
json_return_and_die(array('message' => 'Error creating temp export folder'));
}
file_put_contents($layout_filepath, $layoutinfo['body']);
- file_put_contents($layout_jsonpath, json_encode($layoutinfo['json'], JSON_UNESCAPED_SLASHES));
+ file_put_contents($layout_jsonpath, json_encode($layoutinfo['json'], JSON_UNESCAPED_SLASHES));
}
}
switch ($pp['mimetype']) {
@@ -660,14 +659,14 @@ class Webpages extends Controller {
$page_filepath = $tmp_pagefolder . '/' . $page_filename;
$page_jsonpath = $tmp_pagefolder . '/page.json';
$pageinfo['json']['contentfile'] = $page_filename;
- if (!is_dir($tmp_pagefolder) && !mkdir($tmp_pagefolder, 0770, true)) {
+ if (!is_dir($tmp_pagefolder) && !mkdir($tmp_pagefolder, 0770, true)) {
logger('Error creating temp export folder: ' . $tmp_pagefolder, LOGGER_NORMAL);
json_return_and_die(array('message' => 'Error creating temp export folder'));
}
file_put_contents($page_filepath, $pageinfo['body']);
file_put_contents($page_jsonpath, json_encode($pageinfo['json'], JSON_UNESCAPED_SLASHES));
}
- }
+ }
}
}
if($action === 'zipfile') {
@@ -686,23 +685,23 @@ class Webpages extends Controller {
if(!$dirpath) {
$x = attach_mkdirp($channel, $channel['channel_hash'], array('pathname' => $cloudpath));
$folder_hash = (($x['success']) ? $x['data']['hash'] : '');
-
+
if (!$x['success']) {
logger('Failed to create cloud file folder', LOGGER_NORMAL);
}
$dirpath = get_dirpath_by_cloudpath($channel, $cloudpath);
if (!is_dir($dirpath)) {
logger('Failed to create cloud file folder', LOGGER_NORMAL);
- }
+ }
}
-
+
$success = copy_folder_to_cloudfiles($channel, $channel['channel_hash'], $tmp_folderpath, $cloudpath);
}
}
if(!$success) {
logger('Error exporting webpage elements', LOGGER_NORMAL);
}
-
+
rrmdir($zip_folderpath); rrmdir($tmp_folderpath); // delete temporary files
killme();
@@ -710,9 +709,9 @@ class Webpages extends Controller {
default :
break;
}
-
+
}
-
+
}
-
+
}
diff --git a/Zotlabs/Module/Well_known.php b/Zotlabs/Module/Well_known.php
index 0d7b222b8..af59b76e0 100644
--- a/Zotlabs/Module/Well_known.php
+++ b/Zotlabs/Module/Well_known.php
@@ -5,36 +5,28 @@ namespace Zotlabs\Module;
class Well_known extends \Zotlabs\Web\Controller {
function init(){
-
+
if(argc() > 1) {
-
+
$arr = array('server' => $_SERVER, 'request' => $_REQUEST);
call_hooks('well_known', $arr);
-
-
+
+
if(! check_siteallowed($_SERVER['REMOTE_ADDR'])) {
logger('well_known: site not allowed. ' . $_SERVER['REMOTE_ADDR']);
killme();
}
-
+
// from php.net re: REMOTE_HOST:
- // Note: Your web server must be configured to create this variable. For example in Apache
- // you'll need HostnameLookups On inside httpd.conf for it to exist. See also gethostbyaddr().
-
+ // Note: Your web server must be configured to create this variable. For example in Apache
+ // you'll need HostnameLookups On inside httpd.conf for it to exist. See also gethostbyaddr().
+
if(get_config('system','siteallowed_remote_host') && (! check_siteallowed($_SERVER['REMOTE_HOST']))) {
logger('well_known: site not allowed. ' . $_SERVER['REMOTE_HOST']);
killme();
}
-
+
switch(argv(1)) {
- case 'zot-info':
- \App::$argc -= 1;
- array_shift(\App::$argv);
- \App::$argv[0] = 'zfinger';
- $module = new \Zotlabs\Module\Zfinger();
- $module->init();
- break;
-
case 'webfinger':
\App::$argc -= 1;
array_shift(\App::$argv);
@@ -42,7 +34,7 @@ class Well_known extends \Zotlabs\Web\Controller {
$module = new \Zotlabs\Module\Wfinger();
$module->init();
break;
-
+
case 'host-meta':
\App::$argc -= 1;
array_shift(\App::$argv);
@@ -63,7 +55,7 @@ class Well_known extends \Zotlabs\Web\Controller {
case 'dnt-policy.txt':
echo file_get_contents('doc/dnt-policy.txt');
killme();
-
+
case 'caldav':
case 'carddav':
if ($_SERVER['REQUEST_METHOD'] == 'PROPFIND') {
@@ -73,16 +65,16 @@ class Well_known extends \Zotlabs\Web\Controller {
default:
if(file_exists(\App::$cmd)) {
- echo file_get_contents(\App::$cmd);
+ echo file_get_contents(\App::$cmd);
killme();
}
elseif(file_exists(\App::$cmd . '.php'))
require_once(\App::$cmd . '.php');
break;
-
+
}
}
-
+
http_status_exit(404);
}
}
diff --git a/Zotlabs/Module/Wfinger.php b/Zotlabs/Module/Wfinger.php
index 46da7f007..6dedc1ef1 100644
--- a/Zotlabs/Module/Wfinger.php
+++ b/Zotlabs/Module/Wfinger.php
@@ -1,8 +1,6 @@
<?php
namespace Zotlabs\Module;
-require_once('include/zot.php');
-
use Zotlabs\Lib\Keyutils;
use Zotlabs\Lib\Libzot;
@@ -21,7 +19,7 @@ class Wfinger extends \Zotlabs\Web\Controller {
elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443))
$scheme = 'https';
elseif(x($_SERVER,'HTTP_X_FORWARDED_PROTO') && ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'))
- $scheme = 'https';
+ $scheme = 'https';
$zot = intval($_REQUEST['zot']);
@@ -69,7 +67,7 @@ class Wfinger extends \Zotlabs\Web\Controller {
$channel = substr($channel,1);
$channel = substr($channel,0,-1);
$pchan = true;
- $r = q("select * from pchan left join xchan on pchan_hash = xchan_hash
+ $r = q("select * from pchan left join xchan on pchan_hash = xchan_hash
where pchan_guid = '%s' limit 1",
dbesc($channel)
);
@@ -78,7 +76,7 @@ class Wfinger extends \Zotlabs\Web\Controller {
}
}
else {
- $r = q("select * from channel left join xchan on channel_hash = xchan_hash
+ $r = q("select * from channel left join xchan on channel_hash = xchan_hash
where channel_address = '%s' limit 1",
dbesc($channel)
);
diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php
index 04c1dbeaa..da6e9dda6 100644
--- a/Zotlabs/Module/Wiki.php
+++ b/Zotlabs/Module/Wiki.php
@@ -68,7 +68,7 @@ class Wiki extends Controller {
$pageHistory = array();
$local_observer = null;
$resource_id = '';
-
+
// init() should have forced the URL to redirect to /wiki/channel so assume argc() > 1
$nick = argv(1);
@@ -98,9 +98,9 @@ class Wiki extends Controller {
// Initialize the ACL to the channel default permissions
$x = array(
- 'lockstate' => (( $owner['channel_allow_cid'] ||
- $owner['channel_allow_gid'] ||
- $owner['channel_deny_cid'] ||
+ 'lockstate' => (( $owner['channel_allow_cid'] ||
+ $owner['channel_allow_gid'] ||
+ $owner['channel_deny_cid'] ||
$owner['channel_deny_gid'])
? 'lock' : 'unlock'
),
@@ -113,7 +113,7 @@ class Wiki extends Controller {
);
}
else {
- // Not the channel owner
+ // Not the channel owner
$owner_acl = $x = array();
}
@@ -272,10 +272,10 @@ class Wiki extends Controller {
if(! $w['resource_id']) {
notice(t('Wiki not found') . EOL);
goaway(z_root() . '/' . argv(0) . '/' . argv(1));
- }
+ }
$resource_id = $w['resource_id'];
-
+
if(! $wiki_owner) {
// Check for observer permissions
$observer_hash = get_observer_hash();
@@ -316,7 +316,7 @@ class Wiki extends Controller {
'channel_address' => $owner['channel_address'],
'refresh' => true
]);
- //json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true));
+ //json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true));
notice( t('Error retrieving page content') . EOL);
//goaway(z_root() . '/' . argv(0) . '/' . argv(1) );
$renderedContent = NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName));
@@ -334,7 +334,7 @@ class Wiki extends Controller {
$hookinfo = ['content' => $content, 'mimetype' => $mimeType];
call_hooks('wiki_preprocess',$hookinfo);
$content = $hookinfo['content'];
-
+
// Render the Markdown-formatted page content in HTML
if($mimeType == 'text/bbcode') {
$renderedContent = zidify_links(smilies(bbcode($content)));
@@ -356,7 +356,7 @@ class Wiki extends Controller {
// default: // Strip the extraneous URL components
// goaway('/' . argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName) . '/' . $pageUrlName);
}
-
+
$wikiModalID = random_string(3);
@@ -458,18 +458,18 @@ class Wiki extends Controller {
}
json_return_and_die(array('html' => $html, 'success' => true));
}
-
+
// Create a new wiki
// /wiki/channel/create/wiki
if ((argc() > 3) && (argv(2) === 'create') && (argv(3) === 'wiki')) {
- // Only the channel owner can create a wiki, at least until we create a
+ // Only the channel owner can create a wiki, at least until we create a
// more detail permissions framework
if (local_channel() !== intval($owner['channel_id'])) {
goaway('/' . argv(0) . '/' . $nick . '/');
- }
- $wiki = array();
+ }
+ $wiki = array();
// backslashes won't work well in the javascript functions
$name = str_replace('\\','',$_POST['wikiName']);
@@ -478,12 +478,12 @@ class Wiki extends Controller {
$wiki['postVisible'] = ((intval($_POST['postVisible'])) ? 1 : 0);
$wiki['rawName'] = $name;
$wiki['htmlName'] = escape_tags($name);
- //$wiki['urlName'] = urlencode(urlencode($name));
+ //$wiki['urlName'] = urlencode(urlencode($name));
$wiki['urlName'] = NativeWiki::name_encode($name);
$wiki['mimeType'] = $_POST['mimeType'];
$wiki['typelock'] = $_POST['typelock'];
- if($wiki['urlName'] === '') {
+ if($wiki['urlName'] === '') {
notice( t('Error creating wiki. Invalid name.') . EOL);
goaway('/wiki');
return; //not reached
@@ -519,7 +519,7 @@ class Wiki extends Controller {
// Update a wiki
// /wiki/channel/update/wiki
if ((argc() > 3) && (argv(2) === 'update') && (argv(3) === 'wiki')) {
- // Only the channel owner can update a wiki, at least until we create a
+ // Only the channel owner can update a wiki, at least until we create a
// more detail permissions framework
if (local_channel() !== intval($owner['channel_id'])) {
@@ -544,7 +544,7 @@ class Wiki extends Controller {
if($wiki['resource_id']) {
$arr['resource_id'] = $wiki['resource_id'];
-
+
$acl = new \Zotlabs\Access\AccessList($owner);
$acl->set_from_array($_POST);
@@ -565,18 +565,18 @@ class Wiki extends Controller {
// Delete a wiki
if ((argc() > 3) && (argv(2) === 'delete') && (argv(3) === 'wiki')) {
- // Only the channel owner can delete a wiki, at least until we create a
+ // Only the channel owner can delete a wiki, at least until we create a
// more detail permissions framework
if (local_channel() !== intval($owner['channel_id'])) {
logger('Wiki delete permission denied.');
json_return_and_die(array('message' => t('Wiki delete permission denied.'), 'success' => false));
- }
- $resource_id = $_POST['resource_id'];
+ }
+ $resource_id = $_POST['resource_id'];
$deleted = NativeWiki::delete_wiki($owner['channel_id'],$observer_hash,$resource_id);
if ($deleted['success']) {
NativeWiki::sync_a_wiki_item($owner['channel_id'], 0, $resource_id);
json_return_and_die(array('message' => '', 'success' => true));
- }
+ }
else {
logger('Error deleting wiki: ' . $resource_id . ' ' . $deleted['message']);
json_return_and_die(array('message' => t('Error deleting wiki'), 'success' => false));
@@ -589,14 +589,14 @@ class Wiki extends Controller {
$mimetype = $_POST['mimetype'];
- $resource_id = $_POST['resource_id'];
+ $resource_id = $_POST['resource_id'];
// Determine if observer has permission to create a page
-
- $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash, $mimetype);
+
+ $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
if(! $perms['write']) {
logger('Wiki write permission denied. ' . EOL);
- json_return_and_die(array('success' => false));
+ json_return_and_die(array('success' => false));
}
$name = isset($_POST['pageName']) ? $_POST['pageName'] : $_POST['missingPageName']; //Get new page name
@@ -612,8 +612,8 @@ class Wiki extends Controller {
if($page['item_id']) {
$commit = NativeWikiPage::commit([
- 'commit_msg' => t('New page created'),
- 'resource_id' => $resource_id,
+ 'commit_msg' => t('New page created'),
+ 'resource_id' => $resource_id,
'channel_id' => $owner['channel_id'],
'observer_hash' => $observer_hash,
'pageUrlName' => $name
@@ -622,10 +622,10 @@ class Wiki extends Controller {
NativeWiki::sync_a_wiki_item($owner['channel_id'], $commit['item_id'], $resource_id);
//json_return_and_die(array('url' => '/' . argv(0) . '/' . argv(1) . '/' . urlencode($page['wiki']['urlName']) . '/' . urlencode($page['page']['urlName']), 'success' => true));
json_return_and_die(array('url' => '/' . argv(0) . '/' . argv(1) . '/' . $page['wiki']['urlName'] . '/' . $page['page']['urlName'], 'success' => true));
- }
+ }
else {
json_return_and_die(array('message' => 'Error making git commit','url' => '/' . argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($page['wiki']['urlName']) . '/' . NativeWiki::name_encode($page['page']['urlName']),'success' => false));
- }
+ }
}
@@ -633,8 +633,8 @@ class Wiki extends Controller {
logger('Error creating page');
json_return_and_die(array('message' => 'Error creating page.', 'success' => false));
}
- }
-
+ }
+
// Fetch page list for a wiki
if((argc() === 5) && (argv(2) === 'get') && (argv(3) === 'page') && (argv(4) === 'list')) {
$resource_id = $_POST['resource_id']; // resource_id for wiki in db
@@ -642,7 +642,7 @@ class Wiki extends Controller {
$perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
if(!$perms['read']) {
logger('Wiki read permission denied.' . EOL);
- json_return_and_die(array('pages' => null, 'message' => 'Permission denied.', 'success' => false));
+ json_return_and_die(array('pages' => null, 'message' => 'Permission denied.', 'success' => false));
}
// @FIXME - we shouldn't invoke this if it isn't in the PDL or has been over-ridden
@@ -655,17 +655,17 @@ class Wiki extends Controller {
'channel_address' => $owner['channel_address'],
'refresh' => true
]);
- json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true));
+ json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true));
}
-
+
// Save a page
if ((argc() === 4) && (argv(2) === 'save') && (argv(3) === 'page')) {
-
- $resource_id = $_POST['resource_id'];
+
+ $resource_id = $_POST['resource_id'];
$pageUrlName = $_POST['name'];
$pageHtmlName = escape_tags($_POST['name']);
$content = $_POST['content']; //Get new content
- $commitMsg = $_POST['commitMsg'];
+ $commitMsg = $_POST['commitMsg'];
if ($commitMsg === '') {
$commitMsg = 'Updated ' . $pageHtmlName;
}
@@ -674,7 +674,7 @@ class Wiki extends Controller {
$perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
if(! $perms['write']) {
logger('Wiki write permission denied. ' . EOL);
- json_return_and_die(array('success' => false));
+ json_return_and_die(array('success' => false));
}
$saved = NativeWikiPage::save_page([
@@ -687,9 +687,9 @@ class Wiki extends Controller {
if($saved['success']) {
$commit = NativeWikiPage::commit([
- 'commit_msg' => $commitMsg,
+ 'commit_msg' => $commitMsg,
'pageUrlName' => $pageUrlName,
- 'resource_id' => $resource_id,
+ 'resource_id' => $resource_id,
'channel_id' => $owner['channel_id'],
'observer_hash' => $observer_hash,
'revision' => (-1)
@@ -699,21 +699,21 @@ class Wiki extends Controller {
json_return_and_die(array('message' => 'Wiki git repo commit made', 'success' => true , 'content' => $content));
}
else {
- json_return_and_die(array('message' => 'Error making git commit','success' => false));
+ json_return_and_die(array('message' => 'Error making git commit','success' => false));
}
}
else {
- json_return_and_die(array('message' => 'Error saving page', 'success' => false));
+ json_return_and_die(array('message' => 'Error saving page', 'success' => false));
}
}
-
+
// Update page history
// /wiki/channel/history/page
if ((argc() === 4) && (argv(2) === 'history') && (argv(3) === 'page')) {
-
+
$resource_id = $_POST['resource_id'];
$pageUrlName = $_POST['name'];
-
+
// Determine if observer has permission to read content
$perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
@@ -734,7 +734,7 @@ class Wiki extends Controller {
// Delete a page
if ((argc() === 4) && (argv(2) === 'delete') && (argv(3) === 'page')) {
- $resource_id = $_POST['resource_id'];
+ $resource_id = $_POST['resource_id'];
$pageUrlName = $_POST['name'];
if ($pageUrlName === 'Home') {
@@ -745,13 +745,13 @@ class Wiki extends Controller {
// currently just allow page owner
if((! local_channel()) || (local_channel() != $owner['channel_id'])) {
logger('Wiki write permission denied. ' . EOL);
- json_return_and_die(array('success' => false));
+ json_return_and_die(array('success' => false));
}
$perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
if(! $perms['write']) {
logger('Wiki write permission denied. ' . EOL);
- json_return_and_die(array('success' => false));
+ json_return_and_die(array('success' => false));
}
$deleted = NativeWikiPage::delete_page([
@@ -765,14 +765,14 @@ class Wiki extends Controller {
json_return_and_die(array('message' => 'Wiki git repo commit made', 'success' => true));
}
else {
- json_return_and_die(array('message' => 'Error deleting page', 'success' => false));
+ json_return_and_die(array('message' => 'Error deleting page', 'success' => false));
}
}
-
+
// Revert a page
if ((argc() === 4) && (argv(2) === 'revert') && (argv(3) === 'page')) {
- $resource_id = $_POST['resource_id'];
+ $resource_id = $_POST['resource_id'];
$pageUrlName = $_POST['name'];
$commitHash = $_POST['commitHash'];
@@ -780,7 +780,7 @@ class Wiki extends Controller {
$perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
if(! $perms['write']) {
logger('Wiki write permission denied.' . EOL);
- json_return_and_die(array('success' => false));
+ json_return_and_die(array('success' => false));
}
$reverted = NativeWikiPage::revert_page([
@@ -791,16 +791,16 @@ class Wiki extends Controller {
'pageUrlName' => $pageUrlName
]);
if($reverted['success']) {
- json_return_and_die(array('content' => $reverted['content'], 'message' => '', 'success' => true));
+ json_return_and_die(array('content' => $reverted['content'], 'message' => '', 'success' => true));
}
else {
- json_return_and_die(array('content' => '', 'message' => 'Error reverting page', 'success' => false));
+ json_return_and_die(array('content' => '', 'message' => 'Error reverting page', 'success' => false));
}
}
-
+
// Compare page revisions
if ((argc() === 4) && (argv(2) === 'compare') && (argv(3) === 'page')) {
- $resource_id = $_POST['resource_id'];
+ $resource_id = $_POST['resource_id'];
$pageUrlName = $_POST['name'];
$compareCommit = $_POST['compareCommit'];
$currentCommit = $_POST['currentCommit'];
@@ -809,21 +809,21 @@ class Wiki extends Controller {
$perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
if(!$perms['read']) {
logger('Wiki read permission denied.' . EOL);
- json_return_and_die(array('success' => false));
+ json_return_and_die(array('success' => false));
}
$compare = NativeWikiPage::compare_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'currentCommit' => $currentCommit, 'compareCommit' => $compareCommit, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName));
if($compare['success']) {
$diffHTML = '<table class="text-center" width="100%"><tr><td class="lead" width="50%">' . t('Current Revision') . '</td><td class="lead" width="50%">' . t('Selected Revision') . '</td></tr></table>' . $compare['diff'];
- json_return_and_die(array('diff' => $diffHTML, 'message' => '', 'success' => true));
+ json_return_and_die(array('diff' => $diffHTML, 'message' => '', 'success' => true));
} else {
- json_return_and_die(array('diff' => '', 'message' => 'Error comparing page', 'success' => false));
+ json_return_and_die(array('diff' => '', 'message' => 'Error comparing page', 'success' => false));
}
}
-
+
// Rename a page
if ((argc() === 4) && (argv(2) === 'rename') && (argv(3) === 'page')) {
- $resource_id = $_POST['resource_id'];
+ $resource_id = $_POST['resource_id'];
$pageUrlName = $_POST['oldName'];
$pageNewName = str_replace('\\','',$_POST['newName']);
if ($pageUrlName === 'Home') {
@@ -837,7 +837,7 @@ class Wiki extends Controller {
$perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash);
if(! $perms['write']) {
logger('Wiki write permission denied. ' . EOL);
- json_return_and_die(array('success' => false));
+ json_return_and_die(array('success' => false));
}
$renamed = NativeWikiPage::rename_page([
@@ -850,8 +850,8 @@ class Wiki extends Controller {
if($renamed['success']) {
$commit = NativeWikiPage::commit([
'channel_id' => $owner['channel_id'],
- 'commit_msg' => 'Renamed ' . NativeWiki::name_decode($pageUrlName) . ' to ' . $renamed['page']['htmlName'],
- 'resource_id' => $resource_id,
+ 'commit_msg' => 'Renamed ' . NativeWiki::name_decode($pageUrlName) . ' to ' . $renamed['page']['htmlName'],
+ 'resource_id' => $resource_id,
'observer_hash' => $observer_hash,
'pageUrlName' => $pageNewName
]);
@@ -860,16 +860,16 @@ class Wiki extends Controller {
json_return_and_die(array('name' => $renamed['page'], 'message' => 'Wiki git repo commit made', 'success' => true));
}
else {
- json_return_and_die(array('message' => 'Error making git commit','success' => false));
+ json_return_and_die(array('message' => 'Error making git commit','success' => false));
}
}
else {
- json_return_and_die(array('message' => 'Error renaming page', 'success' => false));
+ json_return_and_die(array('message' => 'Error renaming page', 'success' => false));
}
}
//notice( t('You must be authenticated.'));
json_return_and_die(array('message' => t('You must be authenticated.'), 'success' => false));
-
+
}
}
diff --git a/Zotlabs/Module/Zfinger.php b/Zotlabs/Module/Zfinger.php
deleted file mode 100644
index ce7117ad8..000000000
--- a/Zotlabs/Module/Zfinger.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-namespace Zotlabs\Module;
-
-use Zotlabs\Web\HTTPSig;
-use Zotlabs\Lib\Libzot;
-
-class Zfinger extends \Zotlabs\Web\Controller {
-
- function init() {
-
- require_once('include/zot.php');
- require_once('include/crypto.php');
-
- $x = zotinfo($_REQUEST);
-
- if($x && $x['guid'] && $x['guid_sig']) {
- $chan_hash = make_xchan_hash($x['guid'],$x['guid_sig']);
- if($chan_hash) {
- $chan = channelx_by_hash($chan_hash);
- }
- }
-
- $headers = [];
- $headers['Content-Type'] = 'application/json' ;
- $ret = json_encode($x);
-
- if($chan) {
- $headers['Digest'] = HTTPSig::generate_digest_header($ret);
- $h = HTTPSig::create_sig($headers,$chan['channel_prvkey'], channel_url($chan));
- HTTPSig::set_headers($h);
- }
- else {
- foreach($headers as $k => $v) {
- header($k . ': ' . $v);
- }
- }
-
- echo $ret;
- killme();
-
- }
-
-}
diff --git a/Zotlabs/Module/Zping.php b/Zotlabs/Module/Zping.php
deleted file mode 100644
index d6128fa66..000000000
--- a/Zotlabs/Module/Zping.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-namespace Zotlabs\Module; /** @file */
-
-require_once('include/zot.php');
-
-
-class Zping extends \Zotlabs\Web\Controller {
-
- function get() {
-
- // This is just a test utility function and may go away once we build these tools into
- // the address book and directory to do dead site discovery.
-
- // The response packet include the current URL and key so we can discover if the server
- // has been re-installed and clean up (e.g. get rid of) any old hublocs and xchans.
-
- // Remember to add '/post' to the url
-
- if(! local_channel())
- return;
-
- $url = $_REQUEST['url'];
-
- if(! $url)
- return;
-
-
- $m = zot_build_packet(\App::get_channel(),'ping');
- $r = zot_zot($url,$m);
- return print_r($r,true);
-
- }
-}
diff --git a/Zotlabs/Web/WebServer.php b/Zotlabs/Web/WebServer.php
index de0d5a883..685f75897 100644
--- a/Zotlabs/Web/WebServer.php
+++ b/Zotlabs/Web/WebServer.php
@@ -39,6 +39,8 @@ class WebServer {
register_shutdown_function('session_write_close');
}
+ $_SESSION['page_loadtime'] = datetime_convert();
+
/**
* Language was set earlier, but we can over-ride it in the session.
* We have to do it here because the session was just now opened.
diff --git a/Zotlabs/Widget/Conversations.php b/Zotlabs/Widget/Conversations.php
index 267d50fa0..3dc260b50 100644
--- a/Zotlabs/Widget/Conversations.php
+++ b/Zotlabs/Widget/Conversations.php
@@ -9,67 +9,154 @@ class Conversations {
if (! local_channel())
return;
- if(argc() > 1) {
+ switch(argv(1)) {
+ case 'inbox':
+ $mailbox = 'inbox';
+ $header = t('Received Messages');
+ break;
+ case 'outbox':
+ $mailbox = 'outbox';
+ $header = t('Sent Messages');
+ break;
+ default:
+ $mailbox = 'combined';
+ $header = t('Conversations');
+ break;
+ }
+
+ $o = '';
+
+ // private_messages_list() can do other more complicated stuff, for now keep it simple
+ $r = self::private_messages_list(local_channel(), $mailbox, \App::$pager['start'], \App::$pager['itemspage']);
+
+ if(! $r) {
+ info( t('No messages.') . EOL);
+ return $o;
+ }
+
+ $messages = [];
+
+ foreach($r as $rr) {
+
+ $selected = ((argc() == 3) ? intval(argv(2)) == intval($rr['id']) : $r[0]['id'] == $rr['id']);
+
+ $messages[] = [
+ 'mailbox' => $mailbox,
+ 'id' => $rr['id'],
+ 'from_name' => $rr['from']['xchan_name'],
+ 'from_url' => chanlink_hash($rr['from_xchan']),
+ 'from_photo' => $rr['from']['xchan_photo_s'],
+ 'to_name' => $rr['to']['xchan_name'],
+ 'to_url' => chanlink_hash($rr['to_xchan']),
+ 'to_photo' => $rr['to']['xchan_photo_s'],
+ 'subject' => (($rr['seen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'),
+ 'delete' => t('Delete conversation'),
+ 'body' => $rr['body'],
+ 'date' => datetime_convert('UTC',date_default_timezone_get(),$rr['created'], 'c'),
+ 'seen' => $rr['seen'],
+ 'selected' => ((argv(1) != 'new') ? $selected : '')
+ ];
+ }
+
+ $tpl = get_markup_template('mail_head.tpl');
+ $o .= replace_macros($tpl, [
+ '$header' => $header,
+ '$messages' => $messages
+ ]);
+
+ return $o;
+ }
+
+ function private_messages_list($uid, $mailbox = '', $start = 0, $numitems = 0) {
+
+ $where = '';
+ $limit = '';
+
+ $t0 = dba_timer();
+
+ if($numitems)
+ $limit = " LIMIT " . intval($numitems) . " OFFSET " . intval($start);
+
+ if($mailbox !== '') {
+ $x = q("select channel_hash from channel where channel_id = %d limit 1",
+ intval($uid)
+ );
+
+ if(! $x)
+ return array();
+
+ $channel_hash = dbesc($x[0]['channel_hash']);
+ $local_channel = intval(local_channel());
+
+ switch($mailbox) {
- switch(argv(1)) {
case 'inbox':
- $mailbox = 'inbox';
- $header = t('Received Messages');
+ $sql = "SELECT * FROM mail WHERE channel_id = $local_channel AND from_xchan != '$channel_hash' ORDER BY created DESC $limit";
break;
+
case 'outbox':
- $mailbox = 'outbox';
- $header = t('Sent Messages');
+ $sql = "SELECT * FROM mail WHERE channel_id = $local_channel AND from_xchan = '$channel_hash' ORDER BY created DESC $limit";
break;
+
+ case 'combined':
default:
- $mailbox = 'combined';
- $header = t('Conversations');
+ $parents = q("SELECT mail.parent_mid FROM mail LEFT JOIN conv ON mail.conv_guid = conv.guid WHERE mail.mid = mail.parent_mid AND mail.channel_id = %d ORDER BY conv.updated DESC $limit",
+ intval($local_channel)
+ );
break;
}
- require_once('include/message.php');
+ }
- $o = '';
+ $r = null;
- // private_messages_list() can do other more complicated stuff, for now keep it simple
- $r = private_messages_list(local_channel(), $mailbox, \App::$pager['start'], \App::$pager['itemspage']);
+ if($parents) {
+ foreach($parents as $parent) {
+ $all = q("SELECT * FROM mail WHERE parent_mid = '%s' AND channel_id = %d ORDER BY created DESC limit 1",
+ dbesc($parent['parent_mid']),
+ intval($local_channel)
+ );
- if(! $r) {
- info( t('No messages.') . EOL);
- return $o;
+ if($all) {
+ foreach($all as $single) {
+ $r[] = $single;
+ }
+ }
}
+ }
+ elseif($sql) {
+ $r = q($sql);
+ }
- $messages = [];
-
- foreach($r as $rr) {
-
- $selected = ((argc() == 3) ? intval(argv(2)) == intval($rr['id']) : $r[0]['id'] == $rr['id']);
-
- $messages[] = [
- 'mailbox' => $mailbox,
- 'id' => $rr['id'],
- 'from_name' => $rr['from']['xchan_name'],
- 'from_url' => chanlink_hash($rr['from_xchan']),
- 'from_photo' => $rr['from']['xchan_photo_s'],
- 'to_name' => $rr['to']['xchan_name'],
- 'to_url' => chanlink_hash($rr['to_xchan']),
- 'to_photo' => $rr['to']['xchan_photo_s'],
- 'subject' => (($rr['seen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'),
- 'delete' => t('Delete conversation'),
- 'body' => $rr['body'],
- 'date' => datetime_convert('UTC',date_default_timezone_get(),$rr['created'], 'c'),
- 'seen' => $rr['seen'],
- 'selected' => ((argv(1) != 'new') ? $selected : '')
- ];
- }
+ if(! $r) {
+ return array();
+ }
- $tpl = get_markup_template('mail_head.tpl');
- $o .= replace_macros($tpl, [
- '$header' => $header,
- '$messages' => $messages
- ]);
+ $chans = array();
+ foreach($r as $rr) {
+ $s = "'" . dbesc(trim($rr['from_xchan'])) . "'";
+ if(! in_array($s,$chans))
+ $chans[] = $s;
+ $s = "'" . dbesc(trim($rr['to_xchan'])) . "'";
+ if(! in_array($s,$chans))
+ $chans[] = $s;
+ }
+ $c = q("select * from xchan where xchan_hash in (" . protect_sprintf(implode(',',$chans)) . ")");
+
+ foreach($r as $k => $rr) {
+ $r[$k]['from'] = find_xchan_in_array($rr['from_xchan'],$c);
+ $r[$k]['to'] = find_xchan_in_array($rr['to_xchan'],$c);
+ $r[$k]['seen'] = intval($rr['mail_seen']);
+ if(intval($r[$k]['mail_obscured'])) {
+ if($r[$k]['title'])
+ $r[$k]['title'] = base64url_decode(str_rot47($r[$k]['title']));
+ if($r[$k]['body'])
+ $r[$k]['body'] = base64url_decode(str_rot47($r[$k]['body']));
+ }
}
- return $o;
+
+ return $r;
}
}
diff --git a/Zotlabs/Widget/Dirtags.php b/Zotlabs/Widget/Dirtags.php
index f211d5942..246c47dde 100644
--- a/Zotlabs/Widget/Dirtags.php
+++ b/Zotlabs/Widget/Dirtags.php
@@ -2,8 +2,6 @@
namespace Zotlabs\Widget;
-require_once('include/dir_fns.php');
-
class Dirtags {
function widget($arr) {
diff --git a/Zotlabs/Widget/Hq_controls.php b/Zotlabs/Widget/Hq_controls.php
index 0caa54a1a..8b532defe 100644
--- a/Zotlabs/Widget/Hq_controls.php
+++ b/Zotlabs/Widget/Hq_controls.php
@@ -2,24 +2,44 @@
namespace Zotlabs\Widget;
+use Zotlabs\Lib\Apps;
+
+
class Hq_controls {
- function widget($arr) {
+ function widget($options) {
if (! local_channel())
return;
+ $entries = [
+ 'toggle_editor' => [
+ 'label' => t('Toggle post editor'),
+ 'id' => 'jot-toggle',
+ 'href' => '#',
+ 'class' => 'btn btn-outline-primary',
+ 'type' => 'button',
+ 'icon' => 'pencil',
+ 'extra' => 'data-toggle="button"'
+ ]
+ ];
+
+ if(Apps::system_app_installed(local_channel(), 'Notes')) {
+ $entries['toggle_notes'] = [
+ 'label' => t('Toggle personal notes'),
+ 'id' => 'notes-toggle',
+ 'href' => '#',
+ 'class' => 'btn btn-outline-primary',
+ 'type' => 'button',
+ 'icon' => 'sticky-note-o',
+ 'extra' => 'data-toggle="button"'
+ ];
+ }
+
return replace_macros(get_markup_template('hq_controls.tpl'),
[
- '$title' => t('HQ Control Panel'),
- '$menu' => [
- 'create' => [
- 'label' => t('Create a new post'),
- 'id' => 'jot-toggle',
- 'href' => '#',
- 'class' => ''
- ]
- ]
+ '$entries' => $entries,
+ '$wrapper_class' => $options['class']
]
);
}
diff --git a/Zotlabs/Widget/Mailmenu.php b/Zotlabs/Widget/Mailmenu.php
index 512f7d9c0..ca022c807 100644
--- a/Zotlabs/Widget/Mailmenu.php
+++ b/Zotlabs/Widget/Mailmenu.php
@@ -14,7 +14,7 @@ class Mailmenu {
'$combined' => array(
'label' => t('Combined View'),
'url' => z_root() . '/mail/combined',
- 'sel' => (argv(1) == 'combined'),
+ 'sel' => (argv(1) == 'combined' || argc() == 1),
),
'$inbox' => array(
'label' => t('Inbox'),
@@ -26,11 +26,13 @@ class Mailmenu {
'url' => z_root() . '/mail/outbox',
'sel' => (argv(1) == 'outbox'),
),
+/*
'$new' => array(
'label' => t('New Message'),
'url' => z_root() . '/mail/new',
'sel'=> (argv(1) == 'new'),
)
+*/
));
}
}
diff --git a/Zotlabs/Widget/Messages.php b/Zotlabs/Widget/Messages.php
new file mode 100644
index 000000000..a03238c9a
--- /dev/null
+++ b/Zotlabs/Widget/Messages.php
@@ -0,0 +1,181 @@
+<?php
+
+namespace Zotlabs\Widget;
+
+use App;
+use Zotlabs\Lib\IConfig;
+
+class Messages {
+
+ public static function widget($arr) {
+ if (!local_channel())
+ return EMPTY_STR;
+
+ $o = '';
+ $page = self::get_messages_page($options);
+
+ if (!$page['entries'])
+ return $o;
+
+ $tpl = get_markup_template('messages_widget.tpl');
+ $o .= replace_macros($tpl, [
+ '$entries' => $page['entries'],
+ '$offset' => $page['offset'],
+ '$feature_star' => feature_enabled(local_channel(), 'star_posts'),
+ '$strings' => [
+ 'messages_title' => t('Public and restricted messages'),
+ 'direct_messages_title' => t('Direct messages'),
+ 'starred_messages_title' => t('Starred messages'),
+ 'loading' => t('Loading')
+ ]
+ ]);
+
+ return $o;
+ }
+
+ public static function get_messages_page($options) {
+ if (!local_channel())
+ return;
+
+ if ($options['offset'] == -1) {
+ return;
+ }
+
+ $channel = App::get_channel();
+ $item_normal = item_normal();
+ $entries = [];
+ $limit = 30;
+
+ $offset = 0;
+ if ($options['offset']) {
+ $offset = intval($options['offset']);
+ }
+
+ $loadtime = (($offset) ? $_SESSION['page_loadtime'] : datetime_convert());
+
+ switch($options['type']) {
+ case 'direct':
+ $type_sql = ' AND item_private = 2 ';
+ break;
+ case 'starred':
+ $type_sql = ' AND item_starred = 1 ';
+ break;
+ default:
+ $type_sql = ' AND item_private IN (0, 1) ';
+ }
+
+ $items = q("SELECT * FROM item WHERE uid = %d
+ AND created <= '%s'
+ $type_sql
+ AND item_thread_top = 1
+ $item_normal
+ ORDER BY created DESC
+ LIMIT $limit OFFSET $offset",
+ intval(local_channel()),
+ dbescdate($loadtime)
+ );
+
+ xchan_query($items, false);
+
+ $i = 0;
+
+ foreach($items as $item) {
+
+ $info = '';
+ if ($options['type'] == 'direct') {
+ $info .= self::get_dm_recipients($channel, $item);
+ }
+
+ if($item['owner_xchan'] !== $item['author_xchan']) {
+ $info .= t('via') . ' ' . $item['owner']['xchan_name'];
+ }
+
+ $summary = $item['title'];
+ if (!$summary) {
+ $summary = $item['summary'];
+ }
+ if (!$summary) {
+ $summary = htmlentities(html2plain(bbcode($item['body']), 75, true), ENT_QUOTES, 'UTF-8', false);
+ }
+ if (!$summary) {
+ $summary = '...';
+ }
+ $summary = substr_words($summary, 68);
+
+ switch(intval($item['item_private'])) {
+ case 1:
+ $icon = '<i class="fa fa-lock"></i>';
+ break;
+ case 2:
+ $icon = '<i class="fa fa-envelope-o"></i>';
+ break;
+ default:
+ $icon = '';
+ }
+
+ $entries[$i]['author_name'] = $item['author']['xchan_name'];
+ $entries[$i]['author_addr'] = (($item['author']['xchan_addr']) ? $item['author']['xchan_addr'] : $item['author']['xchan_url']);
+ $entries[$i]['info'] = $info;
+ $entries[$i]['created'] = datetime_convert('UTC', date_default_timezone_get(), $item['created']);
+ $entries[$i]['summary'] = $summary;
+ $entries[$i]['b64mid'] = gen_link_id($item['mid']);
+ $entries[$i]['href'] = z_root() . '/hq/' . gen_link_id($item['mid']);
+ $entries[$i]['icon'] = $icon;
+
+ $i++;
+ }
+
+ $result = [
+ 'offset' => ((count($entries) < $limit) ? -1 : intval($offset + $limit)),
+ 'entries' => $entries
+ ];
+
+ return $result;
+ }
+
+ public static function get_dm_recipients($channel, $item) {
+
+ if($channel['channel_hash'] === $item['owner']['xchan_hash']) {
+ // we are the owner, get the recipients from the item
+ $recips = expand_acl($item['allow_cid']);
+ if (is_array($recips)) {
+ array_unshift($recips, $item['owner']['xchan_hash']);
+ $column = 'xchan_hash';
+ }
+ }
+ else {
+ $recips = IConfig::Get($item, 'activitypub', 'recips');
+ if (isset($recips['to']) && is_array($recips['to'])) {
+ $recips = $recips['to'];
+ array_unshift($recips, $item['owner']['xchan_url']);
+ $column = 'xchan_url';
+ }
+ else {
+ $hookinfo = [
+ 'item' => $item,
+ 'recips' => null,
+ 'column' => ''
+ ];
+
+ call_hooks('direct_message_recipients', $hookinfo);
+
+ $recips = $hookinfo['recips'];
+ $column = $hookinfo['column'];
+ }
+ }
+
+ if(is_array($recips)) {
+ stringify_array_elms($recips, true);
+
+ $query_str = implode(',', $recips);
+ $xchans = dbq("SELECT DISTINCT xchan_name FROM xchan WHERE $column IN ($query_str)");
+
+ foreach($xchans as $xchan) {
+ $recipients .= $xchan['xchan_name'] . ', ';
+ }
+ }
+
+ return trim($recipients, ', ');
+ }
+
+}
diff --git a/Zotlabs/Widget/Notes.php b/Zotlabs/Widget/Notes.php
index 238008d81..05c1a0292 100644
--- a/Zotlabs/Widget/Notes.php
+++ b/Zotlabs/Widget/Notes.php
@@ -21,7 +21,8 @@ class Notes {
'$banner' => t('Notes'),
'$text' => $text,
'$save' => t('Save'),
- '$app' => ((isset($arr['app'])) ? true : false)
+ '$app' => ((isset($arr['app'])) ? true : false),
+ '$hidden' => ((isset($arr['hidden'])) ? true : false)
));
return $o;
diff --git a/Zotlabs/Widget/Notifications.php b/Zotlabs/Widget/Notifications.php
index dd5a6cd46..a818ae40a 100644
--- a/Zotlabs/Widget/Notifications.php
+++ b/Zotlabs/Widget/Notifications.php
@@ -13,11 +13,11 @@ class Notifications {
'type' => 'network',
'icon' => 'th',
'severity' => 'secondary',
- 'label' => t('New Network Activity'),
- 'title' => t('New Network Activity Notifications'),
+ 'label' => t('Network'),
+ 'title' => t('New network activity notifications'),
'viewall' => [
'url' => 'network',
- 'label' => t('View your network activity')
+ 'label' => t('Network stream')
],
'markall' => [
'label' => t('Mark all notifications read')
@@ -33,11 +33,11 @@ class Notifications {
'type' => 'home',
'icon' => 'home',
'severity' => 'danger',
- 'label' => t('New Home Activity'),
- 'title' => t('New Home Activity Notifications'),
+ 'label' => t('Home'),
+ 'title' => t('New home activity notifications'),
'viewall' => [
'url' => 'channel/' . $channel['channel_address'],
- 'label' => t('View your home activity')
+ 'label' => t('Home stream')
],
'markall' => [
'label' => t('Mark all notifications seen')
@@ -52,11 +52,11 @@ class Notifications {
'type' => 'dm',
'icon' => 'envelope',
'severity' => 'danger',
- 'label' => t('New Direct Messages'),
- 'title' => t('New Direct Messages Notifications'),
+ 'label' => t('Direct Messages'),
+ 'title' => t('New direct messages notifications'),
'viewall' => [
'url' => 'network/?dm=1',
- 'label' => t('View your direct messages')
+ 'label' => t('Direct messages stream')
],
'markall' => [
'label' => t('Mark all notifications read')
@@ -68,26 +68,11 @@ class Notifications {
];
$notifications[] = [
- 'type' => 'mail',
- 'icon' => 'envelope',
- 'severity' => 'danger',
- 'label' => t('New Mails'),
- 'title' => t('New Mails Notifications'),
- 'viewall' => [
- 'url' => 'mail/combined',
- 'label' => t('View your private mails')
- ],
- 'markall' => [
- 'label' => t('Mark all messages seen')
- ]
- ];
-
- $notifications[] = [
'type' => 'all_events',
'icon' => 'calendar',
'severity' => 'secondary',
- 'label' => t('New Events'),
- 'title' => t('New Events Notifications'),
+ 'label' => t('Events'),
+ 'title' => t('New events notifications'),
'viewall' => [
'url' => 'cdav/calendar',
'label' => t('View events')
@@ -102,7 +87,7 @@ class Notifications {
'icon' => 'users',
'severity' => 'danger',
'label' => t('New Connections'),
- 'title' => t('New Connections Notifications'),
+ 'title' => t('New connections notifications'),
'viewall' => [
'url' => 'connections',
'label' => t('View all connections')
@@ -113,8 +98,8 @@ class Notifications {
'type' => 'files',
'icon' => 'folder',
'severity' => 'danger',
- 'label' => t('New Files'),
- 'title' => t('New Files Notifications'),
+ 'label' => t('Files'),
+ 'title' => t('New files notifications'),
];
$notifications[] = [
@@ -149,8 +134,8 @@ class Notifications {
'type' => 'register',
'icon' => 'user-o',
'severity' => 'danger',
- 'label' => t('New Registrations'),
- 'title' => t('New Registrations Notifications'),
+ 'label' => t('Registrations'),
+ 'title' => t('New registrations notifications'),
];
}
@@ -160,10 +145,10 @@ class Notifications {
'icon' => 'globe',
'severity' => 'secondary',
'label' => t('Public Stream'),
- 'title' => t('Public Stream Notifications'),
+ 'title' => t('New public stream notifications'),
'viewall' => [
'url' => 'pubstream',
- 'label' => t('View the public stream')
+ 'label' => t('Public stream')
],
'markall' => [
'label' => t('Mark all notifications seen')
@@ -176,15 +161,13 @@ class Notifications {
}
$o = replace_macros(get_markup_template('notifications_widget.tpl'), [
- '$module' => \App::$module,
'$notifications' => $notifications,
'$no_notifications' => t('Sorry, you have got no notifications at the moment'),
'$loading' => t('Loading'),
- '$startpage' => ($channel ? $channel['channel_startpage'] : '')
]);
return $o;
}
}
-
+
diff --git a/Zotlabs/Zot/Auth.php b/Zotlabs/Zot/Auth.php
deleted file mode 100644
index 6ce2174f7..000000000
--- a/Zotlabs/Zot/Auth.php
+++ /dev/null
@@ -1,363 +0,0 @@
-<?php
-
-namespace Zotlabs\Zot;
-
-use Zotlabs\Lib\Crypto;
-
-class Auth {
-
- protected $test;
- protected $test_results;
- protected $debug_msg;
-
- protected $address;
- protected $desturl;
- protected $sec;
- protected $version;
- protected $delegate;
- protected $success;
- protected $delegate_success;
-
- protected $remote;
- protected $remote_service_class;
- protected $remote_level;
- protected $remote_hub;
- protected $dnt;
-
- function __construct($req) {
-
-
- $this->test = ((array_key_exists('test',$req)) ? intval($req['test']) : 0);
- $this->test_results = array('success' => false);
- $this->debug_msg = '';
-
- $this->success = false;
- $this->address = $req['auth'];
- $this->desturl = $req['dest'];
- $this->sec = $req['sec'];
- $this->version = $req['version'];
- $this->delegate = $req['delegate'];
-
- $c = get_sys_channel();
- if(! $c) {
- logger('unable to obtain response (sys) channel');
- $this->Debug('no local channels found.');
- $this->Finalise();
- }
-
- if(strpbrk($this->sec,'.:')) {
- logger('illegal security context');
- $this->Debug('illegal security context.');
- $this->Finalise();
- }
-
- $x = $this->GetHublocs($this->address);
-
- if($x) {
- foreach($x as $xx) {
- if($this->Verify($c,$xx))
- break;
- }
- }
-
- /**
- * @FIXME we really want to save the return_url in the session before we
- * visit rmagic. This does however prevent a recursion if you visit
- * rmagic directly, as it would otherwise send you back here again.
- * But z_root() probably isn't where you really want to go.
- */
-
- if(strstr($this->desturl,z_root() . '/rmagic'))
- goaway(z_root());
-
- $this->Finalise();
-
- }
-
- function GetHublocs($address) {
-
- // Try and find a hubloc for the person attempting to auth.
- // Since we're matching by address, we have to return all entries
- // some of which may be from re-installed hubs; and we'll need to
- // try each sequentially to see if one can pass the test
-
- $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash
- where hubloc_addr = '%s' order by hubloc_id desc",
- dbesc($address)
- );
-
- if(! $x) {
- // finger them if they can't be found.
- $j = Finger::run($address, null);
- if ($j['success']) {
- import_xchan($j);
- $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash
- where hubloc_addr = '%s' order by hubloc_id desc",
- dbesc($address)
- );
- }
- }
- if(! $x) {
- logger('mod_zot: auth: unable to finger ' . $address);
- $this->Debug('no hubloc found for ' . $address . ' and probing failed.');
- $this->Finalise();
- }
-
- return $x;
- }
-
-
- function Verify($channel,$hubloc) {
-
- logger('auth request received from ' . $hubloc['hubloc_addr'] );
-
- $this->remote = remote_channel();
- $this->remote_service_class = '';
- $this->remote_level = 0;
- $this->remote_hub = $hubloc['hubloc_url'];
- $this->dnt = 0;
-
- if(! $this->sec) {
- logger('missing security context.');
- if($this->test)
- $this->Debug('missing security context.');
- return false;
- }
-
-
- // check credentials and access
-
- // If they are already authenticated and haven't changed credentials,
- // we can save an expensive network round trip and improve performance.
-
- // Also check that they are coming from the same site as they authenticated with originally.
-
- $already_authed = (((remote_channel()) && ($hubloc['hubloc_hash'] == remote_channel())
- && ($hubloc['hubloc_url'] === $_SESSION['remote_hub'])) ? true : false);
-
- if($this->delegate && $this->delegate !== $_SESSION['delegate_channel'])
- $already_authed = false;
-
- if($already_authed)
- return true;
-
- if(local_channel()) {
-
- // tell them to logout if they're logged in locally as anything but the target remote account
- // in which case just shut up because they don't need to be doing this at all.
-
- if (\App::$channel['channel_hash'] == $hubloc['xchan_hash']) {
- return true;
- }
- else {
- logger('already authenticated locally as somebody else.');
- notice( t('Remote authentication blocked. You are logged into this site locally. Please logout and retry.') . EOL);
- if($this->test) {
- $this->Debug('already logged in locally with a conflicting identity.');
- return false;
- }
- }
- return false;
- }
-
- // Auth packets MUST use ultra top-secret hush-hush mode - e.g. the entire packet is encrypted using the
- // site private key
- // The actual channel sending the packet ($c[0]) is not important, but this provides a
- // generic zot packet with a sender which can be verified
-
- $x = q("select site_crypto from site where site_url = '%s' limit 1",
- dbesc($hubloc['hubloc_url'])
- );
-
- $p = zot_build_packet($channel,$type = 'auth_check',
- array(array('guid' => $hubloc['hubloc_guid'],'guid_sig' => $hubloc['hubloc_guid_sig'])),
- $hubloc['hubloc_sitekey'], (($x) ? $x[0]['site_crypto'] : ''), $this->sec);
-
- $this->Debug('auth check packet created using sitekey ' . $hubloc['hubloc_sitekey']);
- $this->Debug('packet contents: ' . $p);
-
- $result = zot_zot($hubloc['hubloc_callback'],$p);
- if(! $result['success']) {
- logger('auth_check callback failed.');
- if($this->test)
- $this->Debug('auth check request to your site returned .' . print_r($result, true));
- return false;
- }
-
- $j = json_decode($result['body'], true);
- if(! $j) {
- logger('auth_check json data malformed.');
- if($this->test)
- $this->Debug('json malformed: ' . $result['body']);
- return false;
- }
-
- $this->Debug('auth check request returned ' . print_r($j, true));
-
- if(! $j['success'])
- return false;
-
- // legit response, but we do need to check that this wasn't answered by a man-in-middle
-
- if (! Crypto::verify($this->sec . $hubloc['xchan_hash'],base64url_decode($j['confirm']),$hubloc['xchan_pubkey'])) {
- logger('final confirmation failed.');
- if($this->test)
- $this->Debug('final confirmation failed. ' . $sec . print_r($j,true) . print_r($hubloc,true));
- return false;
- }
-
- if (array_key_exists('service_class',$j))
- $this->remote_service_class = $j['service_class'];
- if (array_key_exists('level',$j))
- $this->remote_level = $j['level'];
- if (array_key_exists('DNT',$j))
- $this->dnt = $j['DNT'];
-
-
- // log them in
-
- if ($this->test) {
- // testing only - return the success result
- $this->test_results['success'] = true;
- $this->Debug('Authentication Success!');
- $this->Finalise();
- }
-
- $_SESSION['authenticated'] = 1;
-
- // check for delegation and if all is well, log them in locally with delegation restrictions
-
- $this->delegate_success = false;
-
- if($this->delegate) {
- $r = q("select * from channel left join xchan on channel_hash = xchan_hash where xchan_addr = '%s' limit 1",
- dbesc($this->delegate)
- );
- if ($r && intval($r[0]['channel_id'])) {
- $allowed = perm_is_allowed($r[0]['channel_id'],$hubloc['xchan_hash'],'delegate');
- if($allowed) {
- $_SESSION['delegate_channel'] = $r[0]['channel_id'];
- $_SESSION['delegate'] = $hubloc['xchan_hash'];
- $_SESSION['account_id'] = intval($r[0]['channel_account_id']);
- require_once('include/security.php');
- // this will set the local_channel authentication in the session
- change_channel($r[0]['channel_id']);
- $this->delegate_success = true;
- }
- }
- }
-
- if (! $this->delegate_success) {
- // normal visitor (remote_channel) login session credentials
- $_SESSION['visitor_id'] = $hubloc['xchan_hash'];
- $_SESSION['my_url'] = $hubloc['xchan_url'];
- $_SESSION['my_address'] = $this->address;
- $_SESSION['remote_service_class'] = $this->remote_service_class;
- $_SESSION['remote_level'] = $this->remote_level;
- $_SESSION['remote_hub'] = $this->remote_hub;
- $_SESSION['DNT'] = $this->dnt;
- }
-
- $arr = array('xchan' => $hubloc, 'url' => $this->desturl, 'session' => $_SESSION);
- call_hooks('magic_auth_success',$arr);
- \App::set_observer($hubloc);
- require_once('include/security.php');
- \App::set_groups(init_groups_visitor($_SESSION['visitor_id']));
- info(sprintf( t('Welcome %s. Remote authentication successful.'),$hubloc['xchan_name']));
- logger('mod_zot: auth success from ' . $hubloc['xchan_addr']);
- $this->success = true;
- return true;
- }
-
- function Debug($msg) {
- $this->debug_msg .= $msg . EOL;
- }
-
-
- function Finalise() {
-
- if($this->test) {
- $this->test_results['message'] = $this->debug_msg;
- json_return_and_die($this->test_results);
- }
-
- goaway($this->desturl);
- }
-
-}
-
-
-/**
- *
- * Magic Auth
- * ==========
- *
- * So-called "magic auth" takes place by a special exchange. On the site where the "channel to be authenticated" lives (e.g. $mysite),
- * a redirection is made via $mysite/magic to the zot endpoint of the remote site ($remotesite) with special GET parameters.
- *
- * The endpoint is typically https://$remotesite/post - or whatever was specified as the callback url in prior communications
- * (we will bootstrap an address and fetch a zot info packet if possible where no prior communications exist)
- *
- * Five GET parameters are supplied:
- * * auth => the urlencoded webbie (channel@host.domain) of the channel requesting access
- * * dest => the desired destination URL (urlencoded)
- * * sec => a random string which is also stored on $mysite for use during the verification phase.
- * * version => the zot revision
- * * delegate => optional urlencoded webbie of a local channel to invoke delegation rights for
- *
- * * test => (optional 1 or 0 - debugs the authentication exchange and returns a json response instead of redirecting the browser session)
- *
- * When this packet is received, an "auth-check" zot message is sent to $mysite.
- * (e.g. if $_GET['auth'] is foobar@podunk.edu, a zot packet is sent to the podunk.edu zot endpoint, which is typically /post)
- * If no information has been recorded about the requesting identity a zot information packet will be retrieved before
- * continuing.
- *
- * The sender of this packet is an arbitrary/random site channel. The recipients will be a single recipient corresponding
- * to the guid and guid_sig we have associated with the requesting auth identity
- *
- * \code{.json}
- * {
- * "type":"auth_check",
- * "sender":{
- * "guid":"kgVFf_...",
- * "guid_sig":"PT9-TApz...",
- * "url":"http:\/\/podunk.edu",
- * "url_sig":"T8Bp7j...",
- * "sitekey":"aMtgKTiirXrICP..."
- * },
- * "recipients":{
- * {
- * "guid":"ZHSqb...",
- * "guid_sig":"JsAAXi..."
- * }
- * }
- * "callback":"\/post",
- * "version":1,
- * "secret":"1eaa661",
- * "secret_sig":"eKV968b1..."
- * }
- * \endcode
- *
- * auth_check messages MUST use encapsulated encryption. This message is sent to the origination site, which checks the 'secret' to see
- * if it is the same as the 'sec' which it passed originally. It also checks the secret_sig which is the secret signed by the
- * destination channel's private key and base64url encoded. If everything checks out, a json packet is returned:
- *
- * \code{.json}
- * {
- * "success":1,
- * "confirm":"q0Ysovd1u...",
- * "service_class":(optional)
- * "level":(optional)
- * "DNT": (optional do-not-track - 1 or 0)
- * }
- * \endcode
- *
- * 'confirm' in this case is the base64url encoded RSA signature of the concatenation of 'secret' with the
- * base64url encoded whirlpool hash of the requestor's guid and guid_sig; signed with the source channel private key.
- * This prevents a man-in-the-middle from inserting a rogue success packet. Upon receipt and successful
- * verification of this packet, the destination site will redirect to the original destination URL and indicate a successful remote login.
- * Service_class can be used by cooperating sites to provide different access rights based on account rights and subscription plans. It is
- * a string whose contents are not defined by protocol. Example: "basic" or "gold".
- *
- * @param[in,out] \App &$a
- */
diff --git a/Zotlabs/Zot/Finger.php b/Zotlabs/Zot/Finger.php
deleted file mode 100644
index cadde5415..000000000
--- a/Zotlabs/Zot/Finger.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-namespace Zotlabs\Zot;
-
-use Zotlabs\Lib\Crypto;
-use Zotlabs\Web\HTTPSig;
-
-/**
- * @brief Finger
- *
- */
-class Finger {
-
- static private $token;
-
- /**
- * @brief Look up information about channel.
- *
- * @param string $webbie
- * does not have to be host qualified e.g. 'foo' is treated as 'foo\@thishub'
- * @param array $channel
- * (optional), if supplied permissions will be enumerated specifically for $channel
- * @param boolean $autofallback
- * fallback/failover to http if https connection cannot be established. Default is true.
- *
- * @return zotinfo array (with 'success' => true) or array('success' => false);
- */
-
- static public function run($webbie, $channel = null, $autofallback = true) {
-
- $ret = array('success' => false);
-
- self::$token = random_string();
-
- if (strpos($webbie, '@') === false) {
- $address = $webbie;
- $host = \App::get_hostname();
- } else {
- $address = substr($webbie,0,strpos($webbie,'@'));
- $host = substr($webbie,strpos($webbie,'@')+1);
- if(strpos($host,'/'))
- $host = substr($host,0,strpos($host,'/'));
- }
-
- $xchan_addr = $address . '@' . $host;
-
- if ((! $address) || (! $xchan_addr)) {
- logger('zot_finger: no address :' . $webbie);
-
- return $ret;
- }
-
- logger('using xchan_addr: ' . $xchan_addr, LOGGER_DATA, LOG_DEBUG);
-
- // potential issue here; the xchan_addr points to the primary hub.
- // The webbie we were called with may not, so it might not be found
- // unless we query for hubloc_addr instead of xchan_addr
-
- $r = q("select xchan.*, hubloc.* from xchan
- left join hubloc on xchan_hash = hubloc_hash
- where xchan_addr = '%s' and hubloc_primary = 1 and hubloc_deleted = 0 and hubloc_network = 'zot' limit 1",
- dbesc($xchan_addr)
- );
-
- if($r) {
- $url = $r[0]['hubloc_url'];
-
- if($r[0]['hubloc_network'] && $r[0]['hubloc_network'] !== 'zot') {
- logger('zot_finger: alternate network: ' . $webbie);
- logger('url: ' . $url . ', net: ' . var_export($r[0]['hubloc_network'],true), LOGGER_DATA, LOG_DEBUG);
- return $ret;
- }
- } else {
- $url = 'https://' . $host;
- }
-
- $m = parse_url($url);
- if($m) {
- $parsed_host = strtolower($m['host']);
- }
-
- $rhs = '/.well-known/zot-info';
- $https = ((strpos($url,'https://') === 0) ? true : false);
-
- logger('zot_finger: ' . $address . ' at ' . $url, LOGGER_DEBUG);
-
- if ($channel) {
- $postvars = array(
- 'address' => $address,
- 'target' => $channel['channel_guid'],
- 'target_sig' => $channel['channel_guid_sig'],
- 'key' => $channel['channel_pubkey'],
- 'token' => self::$token
- );
-
- $headers = [];
- $headers['X-Zot-Channel'] = $channel['channel_address'] . '@' . \App::get_hostname();
- $headers['X-Zot-Nonce'] = random_string();
- $headers['Host'] = $parsed_host;
-
- $xhead = HTTPSig::create_sig($headers,$channel['channel_prvkey'],'acct:' . channel_reddress($channel));
-
- $retries = 0;
-
- $result = z_post_url($url . $rhs,$postvars,$retries, [ 'headers' => $xhead ]);
-
- if ((! $result['success']) && ($autofallback)) {
- if ($https) {
- logger('zot_finger: https failed. falling back to http');
- $result = z_post_url('http://' . $host . $rhs,$postvars, $retries, [ 'headers' => $xhead ]);
- }
- }
- }
- else {
- $rhs .= '?f=&address=' . urlencode($address) . '&token=' . self::$token;
-
- $result = z_fetch_url($url . $rhs);
- if((! $result['success']) && ($autofallback)) {
- if($https) {
- logger('zot_finger: https failed. falling back to http');
- $result = z_fetch_url('http://' . $host . $rhs);
- }
- }
- }
-
- if(! $result['success']) {
- logger('zot_finger: no results');
-
- return $ret;
- }
-
- $x = json_decode($result['body'], true);
-
- $verify = HTTPSig::verify($result,(($x) ? $x['key'] : ''));
-
- if($x && (! $verify['header_valid'])) {
- $signed_token = ((is_array($x) && array_key_exists('signed_token', $x)) ? $x['signed_token'] : null);
- if($signed_token) {
- $valid = Crypto::verify('token.' . self::$token, base64url_decode($signed_token), $x['key']);
- if(! $valid) {
- logger('invalid signed token: ' . $url . $rhs, LOGGER_NORMAL, LOG_ERR);
-
- return $ret;
- }
- }
- else {
- logger('No signed token from ' . $url . $rhs, LOGGER_NORMAL, LOG_WARNING);
- return $ret;
- }
- }
-
- return $x;
- }
-
-}
diff --git a/Zotlabs/Zot/IHandler.php b/Zotlabs/Zot/IHandler.php
deleted file mode 100644
index dd82f5be6..000000000
--- a/Zotlabs/Zot/IHandler.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-namespace Zotlabs\Zot;
-
-interface IHandler {
-
- function Ping();
-
- function Pickup($data);
-
- function Notify($data);
-
- function Request($data);
-
- function Rekey($sender,$data);
-
- function AuthCheck($data,$encrypted);
-
- function Purge($sender,$recipients);
-
- function Refresh($sender,$recipients);
-
-}
-
diff --git a/Zotlabs/Zot/Receiver.php b/Zotlabs/Zot/Receiver.php
deleted file mode 100644
index f0378b650..000000000
--- a/Zotlabs/Zot/Receiver.php
+++ /dev/null
@@ -1,304 +0,0 @@
-<?php
-
-namespace Zotlabs\Zot;
-
-use Zotlabs\Lib\Crypto;
-
-class Receiver {
-
- protected $data;
- protected $encrypted;
- protected $error;
- protected $messagetype;
- protected $sender;
- protected $validated;
- protected $recipients;
- protected $response;
- protected $handler;
-
- function __construct($data,$prvkey,$handler) {
-
- $this->error = false;
- $this->validated = false;
- $this->messagetype = '';
- $this->response = array('success' => false);
-
- $this->handler = $handler;
-
- if(! is_array($data))
- $data = json_decode($data,true);
-
- if($data && is_array($data)) {
- $this->encrypted = ((array_key_exists('iv',$data)) ? true : false);
-
- if($this->encrypted) {
- $data['encrypted'] = true;
- $this->data = @json_decode(@Crypto::unencapsulate($data,$prvkey),true);
- }
- if(! $this->data)
- $this->data = $data;
-
- if($this->data && is_array($this->data) && array_key_exists('type',$this->data))
- $this->messagetype = $this->data['type'];
- }
- if(! $this->messagetype)
- $this->error = true;
-
- if($this->data) {
- $this->sender = ((array_key_exists('sender',$this->data)) ? $this->data['sender'] : null);
- $this->recipients = ((array_key_exists('recipients',$this->data)) ? $this->data['recipients'] : null);
- }
-
- if($this->sender)
- $this->ValidateSender();
-
- $this->Dispatch();
- }
-
- function ValidateSender() {
- $hubs = zot_gethub($this->sender,true);
- if (! $hubs) {
-
- /* Have never seen this guid or this guid coming from this location. Check it and register it. */
- /* (!!) this will validate the sender. */
-
- $result = zot_register_hub($this->sender);
-
- if ((! $result['success']) || (! ($hubs = zot_gethub($this->sender,true)))) {
- $this->response['message'] = 'Hub not available.';
- json_return_and_die($this->response);
- }
- }
- foreach($hubs as $hub) {
- update_hub_connected($hub,((array_key_exists('sitekey',$this->sender)) ? $this->sender['sitekey'] : ''));
- }
- $this->validated = true;
- }
-
-
- function Dispatch() {
-
- /* Handle tasks which don't require sender validation */
-
- switch($this->messagetype) {
- case 'ping':
- /* no validation needed */
- $this->handler->Ping();
- break;
- case 'pickup':
- /* perform site validation, as opposed to sender validation */
- $this->handler->Pickup($this->data);
- break;
-
- default:
- if(! $this->validated) {
- $this->response['message'] = 'Sender not valid';
- json_return_and_die($this->response);
- }
- break;
- }
-
- /* Now handle tasks which require sender validation */
-
- switch($this->messagetype) {
-
- case 'auth_check':
- $this->handler->AuthCheck($this->data,$this->encrypted);
- break;
-
- case 'request':
- $this->handler->Request($this->data);
- break;
-
- case 'purge':
- $this->handler->Purge($this->sender,$this->recipients);
- break;
-
- case 'refresh':
- case 'force_refresh':
- $this->handler->Refresh($this->sender,$this->recipients);
- break;
-
- case 'notify':
- $this->handler->Notify($this->data);
- break;
-
- case 'rekey':
- $this->handler->Rekey($this->sender, $this->data);
- break;
-
- default:
- $this->response['message'] = 'Not implemented';
- json_return_and_die($this->response);
- break;
- }
-
- }
-}
-
-
-
-/**
- * @brief zot communications and messaging.
- *
- * Sender HTTP posts to this endpoint ($site/post typically) with 'data' parameter set to json zot message packet.
- * This packet is optionally encrypted, which we will discover if the json has an 'iv' element.
- * $contents => array( 'alg' => 'aes256cbc', 'iv' => initialisation vector, 'key' => decryption key, 'data' => encrypted data);
- * $contents->iv and $contents->key are random strings encrypted with this site's RSA public key and then base64url encoded.
- *
- * Once decrypted, one will find the normal json_encoded zot message packet.
- *
- * Defined packet types are: notify, purge, refresh, force_refresh, auth_check, ping, and pickup
- *
- * Standard packet: (used by notify, purge, refresh, force_refresh, and auth_check)
- * \code{.json}
- * {
- * "type": "notify",
- * "sender":{
- * "guid":"kgVFf_1...",
- * "guid_sig":"PT9-TApzp...",
- * "url":"http:\/\/podunk.edu",
- * "url_sig":"T8Bp7j5...",
- * },
- * "recipients": { optional recipient array },
- * "callback":"\/post",
- * "version":"1.2",
- * "encryption":["aes256cbc"],
- * "secret":"1eaa...",
- * "secret_sig": "df89025470fac8..."
- * }
- * \endcode
- *
- * Signature fields are all signed with the sender channel private key and base64url encoded.
- * Recipients are arrays of guid and guid_sig, which were previously signed with the recipients private
- * key and base64url encoded and later obtained via channel discovery. Absence of recipients indicates
- * a public message or visible to all potential listeners on this site.
- *
- * "pickup" packet:
- * The pickup packet is sent in response to a notify packet from another site
- * \code{.json}
- * {
- * "type":"pickup",
- * "url":"http:\/\/example.com",
- * "callback":"http:\/\/example.com\/post",
- * "callback_sig":"teE1_fLI...",
- * "secret":"1eaa...",
- * "secret_sig":"O7nB4_..."
- * }
- * \endcode
- *
- * In the pickup packet, the sig fields correspond to the respective data
- * element signed with this site's system private key and then base64url encoded.
- * The "secret" is the same as the original secret from the notify packet.
- *
- * If verification is successful, a json structure is returned containing a
- * success indicator and an array of type 'pickup'.
- * Each pickup element contains the original notify request and a message field
- * whose contents are dependent on the message type.
- *
- * This JSON array is AES encapsulated using the site public key of the site
- * that sent the initial zot pickup packet.
- * Using the above example, this would be example.com.
- *
- * \code{.json}
- * {
- * "success":1,
- * "pickup":{
- * "notify":{
- * "type":"notify",
- * "sender":{
- * "guid":"kgVFf_...",
- * "guid_sig":"PT9-TApz...",
- * "url":"http:\/\/z.podunk.edu",
- * "url_sig":"T8Bp7j5D..."
- * },
- * "callback":"\/post",
- * "version":1,
- * "secret":"1eaa661..."
- * },
- * "message":{
- * "type":"activity",
- * "message_id":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
- * "message_top":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
- * "message_parent":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu",
- * "created":"2012-11-20 04:04:16",
- * "edited":"2012-11-20 04:04:16",
- * "title":"",
- * "body":"Hi Nickordo",
- * "app":"",
- * "verb":"post",
- * "object_type":"",
- * "target_type":"",
- * "permalink":"",
- * "location":"",
- * "longlat":"",
- * "owner":{
- * "name":"Indigo",
- * "address":"indigo@podunk.edu",
- * "url":"http:\/\/podunk.edu",
- * "photo":{
- * "mimetype":"image\/jpeg",
- * "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5"
- * },
- * "guid":"kgVFf_...",
- * "guid_sig":"PT9-TAp...",
- * },
- * "author":{
- * "name":"Indigo",
- * "address":"indigo@podunk.edu",
- * "url":"http:\/\/podunk.edu",
- * "photo":{
- * "mimetype":"image\/jpeg",
- * "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5"
- * },
- * "guid":"kgVFf_...",
- * "guid_sig":"PT9-TAp..."
- * }
- * }
- * }
- * }
- * \endcode
- *
- * Currently defined message types are 'activity', 'mail', 'profile', 'location'
- * and 'channel_sync', which each have different content schemas.
- *
- * Ping packet:
- * A ping packet does not require any parameters except the type. It may or may
- * not be encrypted.
- *
- * \code{.json}
- * {
- * "type": "ping"
- * }
- * \endcode
- *
- * On receipt of a ping packet a ping response will be returned:
- *
- * \code{.json}
- * {
- * "success" : 1,
- * "site" {
- * "url": "http:\/\/podunk.edu",
- * "url_sig": "T8Bp7j5...",
- * "sitekey": "-----BEGIN PUBLIC KEY-----
- * MIICIjANBgkqhkiG9w0BAQE..."
- * }
- * }
- * \endcode
- *
- * The ping packet can be used to verify that a site has not been re-installed, and to
- * initiate corrective action if it has. The url_sig is signed with the site private key
- * and base64url encoded - and this should verify with the enclosed sitekey. Failure to
- * verify indicates the site is corrupt or otherwise unable to communicate using zot.
- * This return packet is not otherwise verified, so should be compared with other
- * results obtained from this site which were verified prior to taking action. For instance
- * if you have one verified result with this signature and key, and other records for this
- * url which have different signatures and keys, it indicates that the site was re-installed
- * and corrective action may commence (remove or mark invalid any entries with different
- * signatures).
- * If you have no records which match this url_sig and key - no corrective action should
- * be taken as this packet may have been returned by an imposter.
- *
- * @param[in,out] App &$a
- */
-
diff --git a/Zotlabs/Zot/ZotHandler.php b/Zotlabs/Zot/ZotHandler.php
deleted file mode 100644
index ab8815b3d..000000000
--- a/Zotlabs/Zot/ZotHandler.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-namespace Zotlabs\Zot;
-
-class ZotHandler implements IHandler {
-
- function Ping() {
- zot_reply_ping();
- }
-
- function Pickup($data) {
- zot_reply_pickup($data);
- }
-
- function Notify($data) {
- zot_reply_notify($data);
- }
-
- function Request($data) {
- zot_reply_message_request($data);
- }
-
- function Rekey($sender,$data) {
- zot_rekey_request($sender,$data);
- }
-
- function AuthCheck($data,$encrypted) {
- zot_reply_auth_check($data,$encrypted);
- }
-
- function Purge($sender,$recipients) {
- zot_reply_purge($sender,$recipients);
- }
-
- function Refresh($sender,$recipients) {
- zot_reply_refresh($sender,$recipients);
- }
-
-}
diff --git a/Zotlabs/Zot6/Finger.php b/Zotlabs/Zot6/Finger.php
deleted file mode 100644
index cec3f98ab..000000000
--- a/Zotlabs/Zot6/Finger.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-
-namespace Zotlabs\Zot6;
-
-/**
- * @brief Finger
- *
- */
-class Finger {
-
- static private $token;
-
- /**
- * @brief Look up information about channel.
- *
- * @param string $webbie
- * does not have to be host qualified e.g. 'foo' is treated as 'foo\@thishub'
- * @param array $channel
- * (optional), if supplied permissions will be enumerated specifically for $channel
- * @param boolean $autofallback
- * fallback/failover to http if https connection cannot be established. Default is true.
- *
- * @return zotinfo array (with 'success' => true) or array('success' => false);
- */
-
- static public function run($webbie, $channel = null, $autofallback = true) {
-
- $ret = array('success' => false);
-
- self::$token = random_string();
-
- if (strpos($webbie, '@') === false) {
- $address = $webbie;
- $host = \App::get_hostname();
- } else {
- $address = substr($webbie,0,strpos($webbie,'@'));
- $host = substr($webbie,strpos($webbie,'@')+1);
- if(strpos($host,'/'))
- $host = substr($host,0,strpos($host,'/'));
- }
-
- $xchan_addr = $address . '@' . $host;
-
- if ((! $address) || (! $xchan_addr)) {
- logger('zot_finger: no address :' . $webbie);
-
- return $ret;
- }
-
- logger('using xchan_addr: ' . $xchan_addr, LOGGER_DATA, LOG_DEBUG);
-
- // potential issue here; the xchan_addr points to the primary hub.
- // The webbie we were called with may not, so it might not be found
- // unless we query for hubloc_addr instead of xchan_addr
-
- $r = q("select xchan.*, hubloc.* from xchan
- left join hubloc on xchan_hash = hubloc_hash
- where xchan_addr = '%s' and hubloc_primary = 1 limit 1",
- dbesc($xchan_addr)
- );
-
- if($r) {
- $url = $r[0]['hubloc_url'];
-
- if($r[0]['hubloc_network'] && $r[0]['hubloc_network'] !== 'zot') {
- logger('zot_finger: alternate network: ' . $webbie);
- logger('url: ' . $url . ', net: ' . var_export($r[0]['hubloc_network'],true), LOGGER_DATA, LOG_DEBUG);
- return $ret;
- }
- } else {
- $url = 'https://' . $host;
- }
-
- $rhs = '/.well-known/zot-info';
- $https = ((strpos($url,'https://') === 0) ? true : false);
-
- logger('zot_finger: ' . $address . ' at ' . $url, LOGGER_DEBUG);
-
- if ($channel) {
- $postvars = array(
- 'address' => $address,
- 'target' => $channel['channel_guid'],
- 'target_sig' => $channel['channel_guid_sig'],
- 'key' => $channel['channel_pubkey'],
- 'token' => self::$token
- );
-
- $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'], channel_url($channel));
-
- $retries = 0;
-
- $result = z_post_url($url . $rhs,$postvars,$retries, [ 'headers' => $xhead ]);
-
- if ((! $result['success']) && ($autofallback)) {
- if ($https) {
- logger('zot_finger: https failed. falling back to http');
- $result = z_post_url('http://' . $host . $rhs,$postvars, $retries, [ 'headers' => $xhead ]);
- }
- }
- }
- else {
- $rhs .= '?f=&address=' . urlencode($address) . '&token=' . self::$token;
-
- $result = z_fetch_url($url . $rhs);
- if((! $result['success']) && ($autofallback)) {
- if($https) {
- logger('zot_finger: https failed. falling back to http');
- $result = z_fetch_url('http://' . $host . $rhs);
- }
- }
- }
-
- if(! $result['success']) {
- logger('zot_finger: no results');
-
- return $ret;
- }
-
- $x = json_decode($result['body'], true);
-
- $verify = HTTPSig::verify($result,(($x) ? $x['key'] : ''));
-
- if($x && (! $verify['header_valid'])) {
- $signed_token = ((is_array($x) && array_key_exists('signed_token', $x)) ? $x['signed_token'] : null);
- if($signed_token) {
- $valid = zot_verify('token.' . self::$token, base64url_decode($signed_token), $x['key']);
- if(! $valid) {
- logger('invalid signed token: ' . $url . $rhs, LOGGER_NORMAL, LOG_ERR);
-
- return $ret;
- }
- }
- else {
- logger('No signed token from ' . $url . $rhs, LOGGER_NORMAL, LOG_WARNING);
- return $ret;
- }
- }
-
- return $x;
- }
-
-}
diff --git a/Zotlabs/Zot6/IHandler.php b/Zotlabs/Zot6/IHandler.php
index 53b6caa89..4e7738926 100644
--- a/Zotlabs/Zot6/IHandler.php
+++ b/Zotlabs/Zot6/IHandler.php
@@ -4,15 +4,13 @@ namespace Zotlabs\Zot6;
interface IHandler {
- function Notify($data,$hub);
+ function Notify($data, $hub);
- function Request($data,$hub);
+ function Rekey($sender, $data, $hub);
- function Rekey($sender,$data,$hub);
+ function Refresh($sender, $recipients, $hub, $force);
- function Refresh($sender,$recipients,$hub);
-
- function Purge($sender,$recipients,$hub);
+ function Purge($sender, $recipients, $hub);
}
diff --git a/Zotlabs/Zot6/Receiver.php b/Zotlabs/Zot6/Receiver.php
index 6440c5da5..964c61651 100644
--- a/Zotlabs/Zot6/Receiver.php
+++ b/Zotlabs/Zot6/Receiver.php
@@ -7,7 +7,6 @@ use Zotlabs\Lib\Crypto;
use Zotlabs\Lib\Libzot;
use Zotlabs\Web\HTTPSig;
-
class Receiver {
protected $data;
@@ -174,21 +173,20 @@ class Receiver {
function Dispatch() {
switch ($this->messagetype) {
-
- case 'request':
- $this->response = $this->handler->Request($this->data,$this->hub);
- break;
-
case 'purge':
- $this->response = $this->handler->Purge($this->sender,$this->recipients,$this->hub);
+ $this->response = $this->handler->Purge($this->sender, $this->recipients, $this->hub);
break;
case 'refresh':
- $this->response = $this->handler->Refresh($this->sender,$this->recipients,$this->hub);
+ $this->response = $this->handler->Refresh($this->sender, $this->recipients, $this->hub, false);
+ break;
+
+ case 'force_refresh':
+ $this->response = $this->handler->Refresh($this->sender, $this->recipients, $this->hub, true);
break;
case 'rekey':
- $this->response = $this->handler->Rekey($this->sender, $this->data,$this->hub);
+ $this->response = $this->handler->Rekey($this->sender, $this->data, $this->hub);
break;
case 'activity':
@@ -196,7 +194,7 @@ class Receiver {
case 'sync':
default:
if ($this->sender) {
- $this->response = $this->handler->Notify($this->data,$this->hub);
+ $this->response = $this->handler->Notify($this->data, $this->hub);
}
break;
diff --git a/Zotlabs/Zot6/Zot6Handler.php b/Zotlabs/Zot6/Zot6Handler.php
index bd321c4b1..779944bf0 100644
--- a/Zotlabs/Zot6/Zot6Handler.php
+++ b/Zotlabs/Zot6/Zot6Handler.php
@@ -7,24 +7,20 @@ use Zotlabs\Lib\Queue;
class Zot6Handler implements IHandler {
- function Notify($data,$hub) {
- return self::reply_notify($data,$hub);
+ function Notify($data, $hub) {
+ return self::reply_notify($data, $hub);
}
- function Request($data,$hub) {
- return self::reply_message_request($data,$hub);
+ function Rekey($sender, $data, $hub) {
+ return self::reply_rekey_request($sender, $data, $hub);
}
- function Rekey($sender,$data,$hub) {
- return self::reply_rekey_request($sender,$data,$hub);
+ function Refresh($sender, $recipients, $hub, $force) {
+ return self::reply_refresh($sender, $recipients, $hub, $force);
}
- function Refresh($sender,$recipients,$hub) {
- return self::reply_refresh($sender,$recipients,$hub);
- }
-
- function Purge($sender,$recipients,$hub) {
- return self::reply_purge($sender,$recipients,$hub);
+ function Purge($sender, $recipients, $hub) {
+ return self::reply_purge($sender, $recipients, $hub);
}
@@ -38,7 +34,7 @@ class Zot6Handler implements IHandler {
logger('notify received from ' . $hub['hubloc_url']);
- $x = Libzot::fetch($data);
+ $x = Libzot::fetch($data, $hub);
$ret['delivery_report'] = $x;
@@ -62,7 +58,7 @@ class Zot6Handler implements IHandler {
*
* @return array
*/
- static function reply_refresh($sender, $recipients, $hub) {
+ static function reply_refresh($sender, $recipients, $hub, $force) {
$ret = array('success' => false);
if($recipients) {
@@ -76,86 +72,19 @@ class Zot6Handler implements IHandler {
dbesc($recip)
);
/// @FIXME $msgtype is undefined
- $x = Libzot::refresh( [ 'hubloc_id_url' => $hub['hubloc_id_url'] ], $r[0], (($msgtype === 'force_refresh') ? true : false));
+ $x = Libzot::refresh([ 'hubloc_id_url' => $hub['hubloc_id_url']], $r[0], $force);
}
}
else {
// system wide refresh
/// @FIXME $msgtype is undefined
- $x = Libzot::refresh( [ 'hubloc_id_url' => $hub['hubloc_id_url'] ], null, (($msgtype === 'force_refresh') ? true : false));
+ $x = Libzot::refresh(['hubloc_id_url' => $hub['hubloc_id_url']], null, $force);
}
$ret['success'] = true;
return $ret;
}
-
-
- /**
- * @brief Process a message request.
- *
- * If a site receives a comment to a post but finds they have no parent to attach it with, they
- * may send a 'request' packet containing the message_id of the missing parent. This is the handler
- * for that packet. We will create a message_list array of the entire conversation starting with
- * the missing parent and invoke delivery to the sender of the packet.
- *
- * Zotlabs/Daemon/Deliver.php (for local delivery) and
- * mod/post.php???? @fixme (for web delivery) detect the existence of
- * this 'message_list' at the destination and split it into individual messages which are
- * processed/delivered in order.
- *
- * @param array $data
- * @param array $hub
- * @return array
- */
- static function reply_message_request($data, $hub) {
- $ret = [ 'success' => false ];
-
- $message_id = EMPTY_STR;
-
- if(array_key_exists('data',$data))
- $ptr = $data['data'];
- if(is_array($ptr) && array_key_exists(0,$ptr)) {
- $ptr = $ptr[0];
- }
- if(is_string($ptr)) {
- $message_id = $ptr;
- }
- if(is_array($ptr) && array_key_exists('id',$ptr)) {
- $message_id = $ptr['id'];
- }
-
- if (! $message_id) {
- $ret['message'] = 'no message_id';
- logger('no message_id');
- return $ret;
- }
-
- $sender = $hub['hubloc_hash'];
-
- /*
- * Find the local channel in charge of this post (the first and only recipient of the request packet)
- */
-
- $arr = $data['recipients'][0];
-
- $c = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_hash = '%s' limit 1",
- dbesc($arr['portable_id'])
- );
- if (! $c) {
- logger('recipient channel not found.');
- $ret['message'] .= 'recipient not found.' . EOL;
- return $ret;
- }
-
- /*
- * fetch the requested conversation
- */
- $messages = zot_feed($c[0]['channel_id'], $sender, [ 'message_id' => $data['message_id'], 'encoding' => 'activitystreams' ]);
-
- return (($messages) ? : [] );
- }
-
static function rekey_request($sender,$data,$hub) {
$ret = array('success' => false);
@@ -174,7 +103,7 @@ class Zot6Handler implements IHandler {
$old = null;
if(Libzot::verify($data['old_guid'],$data['old_guid_sig'],$data['old_key'])) {
- $oldhash = make_xchan_hash($data['old_guid'],$data['old_key']);
+ $oldhash = Libzot::make_xchan_hash($data['old_guid'],$data['old_key']);
$old = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($oldhash)
);
diff --git a/app/hq.apd b/app/hq.apd
new file mode 100644
index 000000000..b9e9f806f
--- /dev/null
+++ b/app/hq.apd
@@ -0,0 +1,6 @@
+version: 1
+url: $baseurl/hq
+requires: local_channel
+name: HQ
+photo: icon:user-circle-o
+categories: nav_pinned_app
diff --git a/app/lang.apd b/app/lang.apd
index 65495dd5b..1856336ef 100644
--- a/app/lang.apd
+++ b/app/lang.apd
@@ -1,4 +1,4 @@
-version: 2
+version: 5.6
url: $baseurl/lang
name: Language
photo: icon:language
diff --git a/boot.php b/boot.php
index 622784e9c..fb968dcec 100644
--- a/boot.php
+++ b/boot.php
@@ -50,9 +50,10 @@ require_once('include/xchan.php');
require_once('include/hubloc.php');
require_once('include/attach.php');
require_once('include/bbcode.php');
+require_once('include/items.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '5.7' );
+define ( 'STD_VERSION', '5.9.5' );
define ( 'ZOT_REVISION', '6.0' );
define ( 'DB_UPDATE_VERSION', 1245 );
@@ -1231,7 +1232,8 @@ class App {
'$js_strings' => js_strings(),
'$zid' => get_my_address(),
'$channel_id' => self::$profile['uid'] ?? 0,
- '$auto_save_draft' => ((isset(self::$profile['uid']) && feature_enabled(self::$profile['uid'], 'auto_save_draft')) ? "true" : "false")
+ '$auto_save_draft' => ((isset(self::$profile['uid']) && feature_enabled(self::$profile['uid'], 'auto_save_draft')) ? "true" : "false"),
+ '$module' => App::$module
]
) . ((isset(self::$page['htmlhead'])) ? self::$page['htmlhead'] : '');
@@ -1709,21 +1711,24 @@ function login($register = false, $form_id = 'main-login', $hiddens = false, $lo
$_SESSION['login_return_url'] = App::$query_string;
}
- $o .= replace_macros($tpl,array(
+ $email_required = get_config('system', 'verify_email');
+ $lname_label = (($email_required) ? t('Email or nickname') : t('Nickname'));
+
+ $o .= replace_macros($tpl, [
'$dest_url' => $dest_url,
'$login_page' => $login_page,
'$logout' => t('Logout'),
'$login' => t('Login'),
'$remote_login' => t('Remote Authentication'),
'$form_id' => $form_id,
- '$lname' => array('username', t('Login/Email') , '', ''),
- '$lpassword' => array('password', t('Password'), '', ''),
- '$remember_me' => array((($login_page) ? 'remember' : 'remember_me'), t('Remember me'), '', '',array(t('No'),t('Yes'))),
+ '$lname' => ['username', $lname_label],
+ '$lpassword' => ['password', t('Password')],
+ '$remember_me' => [(($login_page) ? 'remember' : 'remember_me'), t('Remember me'), '', '', [t('No'),t('Yes')]],
'$hiddens' => $hiddens,
'$register' => $reg,
'$lostpass' => t('Forgot your password?'),
- '$lostlink' => t('Password Reset'),
- ));
+ '$lostlink' => (($email_required) ? t('Password Reset') : ''),
+ ]);
/**
* @hooks login_hook
diff --git a/composer.json b/composer.json
index f5654858d..4fb336d64 100644
--- a/composer.json
+++ b/composer.json
@@ -37,9 +37,9 @@
"bshaffer/oauth2-server-php": "^1.9",
"ezyang/htmlpurifier": "^4.9",
"simplepie/simplepie": "~1.5",
- "league/html-to-markdown": "^4.4",
+ "league/html-to-markdown": "^5.0",
"pear/text_languagedetect": "^1.0",
- "commerceguys/intl": "~1.0.5",
+ "commerceguys/intl": "~1.1.0",
"lukasreschke/id3parser": "^0.0.3",
"smarty/smarty": "~3.1",
"ramsey/uuid": "^4.1",
diff --git a/composer.lock b/composer.lock
index 8275ea0d5..e0e5cb1bf 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "bc4a925533b7fe89fd5c8e94075835c6",
+ "content-hash": "1cd80abc165d494582f4ef17e3ca6fdc",
"packages": [
{
"name": "blueimp/jquery-file-upload",
@@ -191,24 +191,24 @@
},
{
"name": "commerceguys/intl",
- "version": "v1.0.7",
+ "version": "v1.1.0",
"source": {
"type": "git",
"url": "https://github.com/commerceguys/intl.git",
- "reference": "0bf0beb12e37ef1a61e0d09dc66cdaa1a23e62e1"
+ "reference": "90b4f75c4917927a1960c0dcaa002a91ab97f5d5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/commerceguys/intl/zipball/0bf0beb12e37ef1a61e0d09dc66cdaa1a23e62e1",
- "reference": "0bf0beb12e37ef1a61e0d09dc66cdaa1a23e62e1",
+ "url": "https://api.github.com/repos/commerceguys/intl/zipball/90b4f75c4917927a1960c0dcaa002a91ab97f5d5",
+ "reference": "90b4f75c4917927a1960c0dcaa002a91ab97f5d5",
"shasum": ""
},
"require": {
- "php": ">=7.0.8"
+ "php": ">=7.1.3"
},
"require-dev": {
"mikey179/vfsstream": "1.*",
- "phpunit/phpunit": "^6.0"
+ "phpunit/phpunit": "^7.5"
},
"type": "library",
"extra": {
@@ -233,9 +233,9 @@
"description": "Internationalization library powered by CLDR data.",
"support": {
"issues": "https://github.com/commerceguys/intl/issues",
- "source": "https://github.com/commerceguys/intl/tree/v1.0.7"
+ "source": "https://github.com/commerceguys/intl/tree/v1.1.0"
},
- "time": "2020-10-04T20:58:22+00:00"
+ "time": "2021-05-17T08:25:58+00:00"
},
{
"name": "desandro/imagesloaded",
@@ -336,27 +336,30 @@
},
{
"name": "league/html-to-markdown",
- "version": "4.10.0",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/html-to-markdown.git",
- "reference": "0868ae7a552e809e5cd8f93ba022071640408e88"
+ "reference": "c4dbebbebe0fe454b6b38e6c683a977615bd7dc2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/0868ae7a552e809e5cd8f93ba022071640408e88",
- "reference": "0868ae7a552e809e5cd8f93ba022071640408e88",
+ "url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/c4dbebbebe0fe454b6b38e6c683a977615bd7dc2",
+ "reference": "c4dbebbebe0fe454b6b38e6c683a977615bd7dc2",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-xml": "*",
- "php": ">=5.3.3"
+ "php": "^7.2.5 || ^8.0"
},
"require-dev": {
- "mikehaertl/php-shellcommand": "~1.1.0",
- "phpunit/phpunit": "^4.8|^5.7",
- "scrutinizer/ocular": "~1.1"
+ "mikehaertl/php-shellcommand": "^1.1.0",
+ "phpstan/phpstan": "^0.12.82",
+ "phpunit/phpunit": "^8.5 || ^9.2",
+ "scrutinizer/ocular": "^1.6",
+ "unleashedtech/php-coding-standard": "^2.7",
+ "vimeo/psalm": "^4.6"
},
"bin": [
"bin/html-to-markdown"
@@ -364,7 +367,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.10-dev"
+ "dev-master": "5.1-dev"
}
},
"autoload": {
@@ -398,7 +401,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/html-to-markdown/issues",
- "source": "https://github.com/thephpleague/html-to-markdown/tree/4.10.0"
+ "source": "https://github.com/thephpleague/html-to-markdown/tree/5.0.0"
},
"funding": [
{
@@ -418,7 +421,7 @@
"type": "patreon"
}
],
- "time": "2020-07-01T00:34:03+00:00"
+ "time": "2021-03-29T01:29:08+00:00"
},
{
"name": "lukasreschke/id3parser",
@@ -672,16 +675,16 @@
},
{
"name": "psr/log",
- "version": "1.1.3",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
@@ -705,7 +708,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@@ -716,9 +719,9 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.3"
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
},
- "time": "2020-03-23T09:12:05+00:00"
+ "time": "2021-05-03T11:20:27+00:00"
},
{
"name": "ramsey/collection",
@@ -1411,16 +1414,16 @@
},
{
"name": "smarty/smarty",
- "version": "v3.1.38",
+ "version": "v3.1.39",
"source": {
"type": "git",
"url": "https://github.com/smarty-php/smarty.git",
- "reference": "63b3c0aed0f614880cda21a5c08c606e97b489bb"
+ "reference": "e27da524f7bcd7361e3ea5cdfa99c4378a7b5419"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/smarty-php/smarty/zipball/63b3c0aed0f614880cda21a5c08c606e97b489bb",
- "reference": "63b3c0aed0f614880cda21a5c08c606e97b489bb",
+ "url": "https://api.github.com/repos/smarty-php/smarty/zipball/e27da524f7bcd7361e3ea5cdfa99c4378a7b5419",
+ "reference": "e27da524f7bcd7361e3ea5cdfa99c4378a7b5419",
"shasum": ""
},
"require": {
@@ -1468,22 +1471,22 @@
"forum": "http://www.smarty.net/forums/",
"irc": "irc://irc.freenode.org/smarty",
"issues": "https://github.com/smarty-php/smarty/issues",
- "source": "https://github.com/smarty-php/smarty/tree/v3.1.38"
+ "source": "https://github.com/smarty-php/smarty/tree/v3.1.39"
},
- "time": "2021-01-08T14:05:42+00:00"
+ "time": "2021-02-17T21:57:51+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.22.0",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
"shasum": ""
},
"require": {
@@ -1495,7 +1498,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1533,7 +1536,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
},
"funding": [
{
@@ -1549,7 +1552,7 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
"name": "twbs/bootstrap",
diff --git a/doc/context/pl/register/help.html b/doc/context/pl/register/help.html
new file mode 100644
index 000000000..c5c879e36
--- /dev/null
+++ b/doc/context/pl/register/help.html
@@ -0,0 +1,54 @@
+<dl class="dl-horizontal">
+ <dt>Ogólne</dt>
+ <dd>
+ Na tej stronie odwiedzający mogą zarejestrować się, aby uzyskać dostęp do
+ portalu za pomocą identyfikatora logowania. Zalogowani użytkownicy nie tylko
+ widzą treści publiczne, ale mogą je sami publikować, komunikować się w sieciach
+ społecznościowych i nie tylko.
+ </dd>
+ <dt>Tryby rejestracji</dt>
+ <dd>
+ Rejestracja jest możliwa na adres e-mail lub anonimowo, jeśli regulamin portalu
+ to dopuszcza (wówczas nie wypełniaj pola e-mail). Możliwe, że masz również
+ kod zaproszenia, który trzeba wprowadzić wraz z adresem e-mail. Link nad polem
+ e-mail umożliwia wprowadzenie kodu zaproszenia. Ustaw też swoje hasło logowania.
+ Musisz podać go dwukrotnie. Nie jest ono jawnie wyświetlane w formularzu, więc
+ uważaj przy jego wprowadzaniu.
+ </dd>
+ <dt>Procedura rejestracji</dt>
+ <dd>
+ Aby zalogować się po udanej rejestracji, należy ustawić osobne hasło.
+ Ze względów bezpieczeństwa wprowadź je dwukrotnie z identycznymi wartościami.
+ Zarejestrowani anonimowo użytkownicy otrzymują automatycznie przypisywany identyfikator
+ i nie powinni zapomnieć własnego hasła, ponieważ w przeciwieństwie do rejestracji
+ adresem e-mail początkowo nie ma funkcji resetowania. W zależności od konfiguracji
+ portalu może być wymagana funkcja potwierdzenia. Użytkownicy rejestracji
+ przy użyciu adresu e-mail otrzymają odpowiednią wiadomość. W przypadku rejestracji
+ anonimowych zostanie wyświetlone inne okno dialogowe zawierające identyfikator
+ dostępu i kod PIN. Dane z tej strony powinny być przechowywana bezpiecznie i przez
+ długi czas (np. przez wydruk, zrzut ekranu, zdjęcie), ponieważ dane muszą zostać
+ ponownie potwierdzone w późniejszym czasie.
+ </dd>
+ <dt>Tożsamość cyfrowa</dt>
+ <dd>
+ W zależności od portalu, wyświetlaną nazwę (imię i nazwisko) oraz pseudonim można
+ wprowadzić już podczas rejestracji (alternatywnie również podczas pierwszego logowania).
+ Pseudonim ma bardzo ważne znaczenie i nie można go później zmienić. Jest to unikalna
+ tożsamość cyfrowa (Digital Identity, DID), która jest, będzie i pozostanie powiązana
+ ze wszystkimi naszymi działaniami. Ten DID nadaje się nie tylko do logowania na
+ tym portalu, ale także do wszystkich połączonych portali sieci federacyjnej.
+ W języku sieci federacyjnych ta tożsamość cyfrowa jest "kanałem".
+ Jest to porównywalne z numerem telefonu w sieci telefonicznej. DID ma format
+ kanał@portal.tld = pseudonim@portal.tld i jak wspomniano, nie można go później
+ zmienić. Chociaż format wygląda jak adres e-mail, tak nie jest.
+ </dd>
+ <dt>Nim rozpoczniesz rejestrację ...</dt>
+ <dd>
+ ... należy wybrać preferowany język (na przykład polski, angielski, hiszpański,
+ niemiecki) (w prawym górnym rogu menu hamburgera <span class = "fa fa-fw fa-bars"> </span>).
+ Aktualny język jest używany w kolejnych krokach, a także podczas logowania i po
+ zalogowaniu. Można to jednak zmienić w dowolnym momencie i w razie potrzeby.
+ Należy również zauważyć, że ten portal nie jest jedyny. Przegląd innych portali
+ można znaleźć <a href="./pubsites"> tutaj </a>.
+ </dd>
+</dl>
diff --git a/doc/pl/.gitignore b/doc/pl/.gitignore
new file mode 100644
index 000000000..e4d2dfa59
--- /dev/null
+++ b/doc/pl/.gitignore
@@ -0,0 +1,2 @@
+/gdpr.md
+/SiteTOS.md
diff --git a/doc/pl/about/about.bb b/doc/pl/about/about.bb
index 1700d3250..0a5c3620a 100644
--- a/doc/pl/about/about.bb
+++ b/doc/pl/about/about.bb
@@ -174,7 +174,7 @@ Wpisy i komentarze można przeglądać przed wysłaniem i edytować po wysłaniu
[h4]Głosowanie i konsensus[/h4]
Wpisy 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]
+[h4]Rozszerzanie $Projectname[/h4]
$Projectname może zostać rozszerzona na wiele sposobów, poprzez dostosowanie witryny, personalizację, ustawienia opcji, motywy i dodatki - wtyczki.
diff --git a/doc/pl/about/about_hub.bb b/doc/pl/about/about_hub.bb
index d338a563c..ce9aac5fd 100644
--- a/doc/pl/about/about_hub.bb
+++ b/doc/pl/about/about_hub.bb
@@ -1,6 +1,6 @@
-[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]Informacja o tym portalu[/h3]
+[list][*][url=[baseurl]/siteinfo]Informacja o portalu[/url]
+[*][url=[baseurl]/siteinfo/json]Informacja o portalu (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/comanche.md b/doc/pl/comanche.md
new file mode 100644
index 000000000..fab2c134d
--- /dev/null
+++ b/doc/pl/comanche.md
@@ -0,0 +1,272 @@
+Język opisu stron internetowych Comanche
+========================================
+
+Comanche to język znaczników podobny do bbcode, za pomocą którego można tworzyć rozbudowane i złożone strony internetowe, składając je z szeregu komponentów - z których niektóre są wstępnie skonstruowane, a inne można zdefiniować w locie. Firmalnie, Comanche jest językiem opisu stron, umozliwiajacym konstruowanie statycznych stron internetowych.
+
+Comanche przede wszystkim wybiera, jakie treści pojawią się w różnych regionach strony. Różne regiony mają nazwy i te nazwy mogą się zmieniać w zależności od wybranego szablonu układu.
+
+<a name="templates"></a>
+
+## Szablony stron
+Obecnie istnieje pięć szablonów układu, ale portal może zapewniać dodatkowe układy
+
+**default**
+
+Szablon *default* definuje region 'nav' u góry strony, 'aside' jako pasek boczny o stałej szerokości, 'content' dla głównego obszaru treści i 'footer' dla stopki strony. Jest to szablon domyślny, jak wskazuje na to nazwa.
+
+**full**
+
+Szablon *full* definiuje to samo, co szablon "default", z tym wyjątkiem, że nie ma obszaru 'aside'.
+
+**choklet**
+
+Szablon *choklet* zapewnia szereg płynnych stylów układu, które można określać według odmiany:
+
+* (odmiana domyślna) - układ dwukolumnowy, podobny do szablonu domyślnego, ale bardziej płynny;
+* bannertwo - układ dwukolumnowy z regionem bannera, zgodny z szablonem "default" na małych wyświetlaczach;
+* three - układ trzykolumnowy (dodano 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 dodatkowym obszarem "header" poniżej paska nawigacji
+
+**redable** (sic)
+
+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. Po prostu pusta strona z obszarem zawartości.
+
+Użyj znacznika `template`, aby wybrać szablon układu (w tym przypadku "full"):
+
+```
+ [template]full[/template]
+```
+
+W celu wyboru szablonu "choklet" w odmianie "three" użyj:
+
+```
+ [template=three]choklet[/template]
+```
+
+Jeśli nie określono innego szablonu, zostanie użyty szablon domyślny. Szablon może używać dowolnych nazw dla regionów zawartości. Używa się znaczników `region`, aby zdecydować, jakie treści umieścić w odpowiednich regionach.
+
+Zostały też zdefiniowne trzy "makra", które można wykorzystać"
+
+```
+ $htmlhead - zastępowane treścią nagłówka witryny.
+ $nav - zastępowane zawartością paska nawigacyjnego witryny.
+ $content - zastępowane główną zawartością strony.
+```
+
+Domyślnie, `$nav` jest umieszczne w regionie "nav" a `$content` w regionie "content". Makra te są potrzebne tylko wtedy, gdy chcesz zmienić rozmieszczenie tych elementów, tak aby zmienić kolejność lub przenieść je do innych regionów strony.
+
+W celu wybrania motywu dla swojej strony, trzeba użyć znacznika 'theme'.
+
+```
+ [theme]suckerberg[/theme]
+```
+
+Polecenie to wybierze motyw o nazwie "suckerberg". Domyślnie zostanie użyty preferowany motyw Twojego kanału.
+
+```
+ [theme=passion]suckerberg[/theme]
+```
+
+W tym przypadku, wybrany zostanie motywu o nazwie "suckerberg" i schemat "passion" (wariant motywu). Alternatywnie można użyć do tego skondensowanej notacji motywu.
+
+```
+ [theme]suckerberg:passion[/theme]
+```
+
+Notacja skondensowana nie jest częścią samego Comanche, ale jest rozpoznawana przez platformę Hubzilla jako specyfikator motywu.
+
+<a name="regions"></a>
+
+## Regiony
+
+Jak wspomniano powyżej, każdy region ma nazwę. Konkretny region określa się za pomocą tagu "region", który zawiera jego nazwę. Jakakolwiek treść, którą chce się umieścić w tym regionie, powinna być umieszczona pomiędzy tagiem otwierającym a zamykającym region.
+
+```
+ [region=htmlhead]....content goes here....[/region]
+ [region=aside]....content goes here....[/region]
+ [region=nav]....content goes here....[/region]
+ [region=content]....content goes here....[/region]
+```
+
+<a name="assets"></a>
+
+## CSS i Javascript
+
+Jest możliwość włączenia bibliotek Javascript i CSS do regionu htmlhead. Obecnie wykorzystujemy bibliteki jQuery (js), Bootstrap (css/js) oraz Foundation (css/js).
+
+Poniży kod spowoduje nadpisanie wybranych motywów htmlhead.
+
+```
+ [region=htmlhead]
+ [css]bootstrap[/css]
+ [js]jquery[/js]
+ [js]bootstrap[/js]
+ [/region]
+
+```
+
+<a name="menus-blocs"></a>
+
+## Menu i bloki
+
+Nasze narzędzia do tworzenia stron internetowych umożliwiają tworzenie również menu i bloków treści. Zapewniają one wyrenderowanie jakichś fragmentów treści strony, które można umieścić w dowolnych regionach i w dowolnej kolejności. Każdy z nich ma nazwę, którą określa się podczas tworzenia menu lub bloku.
+
+```
+ [menu]mymenu[/menu]
+```
+
+Powyższy kod umieszcza menu o nazwie "mymenu" na stronie, ale musi ono znajdować się w jakimś regionie strony.
+
+```
+ [menu=horizontal]mymenu[/menu]
+```
+
+Ten kod umieszcza menu o nazwie "mymenu" na stronie, tak jak kod poprzedni, ale dodatkowo zastosowano tu klasę CSS "horizontal" dla bloku menu. Klasa "horizontal" została zdefiniowana w motywie redbasic. Może, ale nie musi być dostępna w innych motywach.
+
+```
+ [menu][var=wrap]none[/var]mymenu[/menu]
+```
+
+Zmienna [var=wrap]none[/var] w umieszczona w powyższym bloku usuwa otaczający menu element div.
+
+W poniższym przykładzie, w jakimś regionie umieszcza się blok o nazwie "contributors":
+
+```
+ [block]contributors[/block]
+```
+
+Nastęþny przykład pokazuje blok o nazwie "contributors", podobnie jak powyżej, ale z zastosowaniem klasy "someclass". Zastępuje to domyślną klasę bloków "bblock widget":
+
+```
+ [block=someclass]contributors[/block]
+```
+
+W poniższym przykładzie, zmienna [var=wrap]none[/var] umieszczona w bloku "contributors" usuwa z bloku otaczający go element div.
+
+```
+ [block][var=wrap]none[/var]contributors[/block]
+```
+
+## Widżety
+
+Widgety to wykonywalne aplikacje dostarczane przez system, które możesz umieścić na swojej stronie. Niektóre widżety przyjmują argumenty, które pozwalają dostosować widżet do własnych potrzeb.
+
+Podstawowy system dostarcza:
+
+* profile - widżet, który powiela pasek boczny profilu na stronie kanału. Ten widżet nie wymaga żadnych argumentów;
+
+* tagcloud - udostępnia chmurę tagów kategorii; argumenty
+
+ * count - maksymalna liczba tagów na liście
+
+Widżety i argumenty są określane za pomocą znaczników 'widget' i 'var'.
+
+```
+ [widget=recent_visitors][var=count]24[/var][/widget]
+```
+
+Spowoduje to załadowanie widżetu "recent_visitors" i dostarczenie go z argumentem "count" ustawionym na "24".
+
+## Komentarze
+
+Znacznik 'comment' służy do wydzielenia komentarzy. Komentarze te nie pojawią się na wyrenderowanej stronie.
+
+```
+ [comment]This is a comment[/comment]
+```
+
+## Instrukcje warunkowe
+
+Do wyboru rozwiązań można używać konstrukcji 'if'. Są one obecnie oparte systemowej zmiennej konfiguracyjnej lub bieżącym obserwatorze.
+
+```
+ [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 wyświetlana tylko uwierzytelnionym odwiedzającym
+ [/if]
+```
+
+Klauzula 'else' jest opcjonalna.
+
+Oprócz oceny logicznej obsługiwanych jest kilka testów.
+
+```
+ [if $config.system.foo == bar]
+ ... zmienna konfiguracyjna system.foo jest równa łańcuchowi 'bar'
+ [/if]
+ [if $config.system.foo != bar]
+ ... zmienna konfiguracyjna system.foo nie jest równa łańcuchowi 'bar'
+ [/if]
+ [if $config.system.foo {} bar ]
+ ... zmienna konfiguracyjna system.foo jest prostą tablicą zawierającą wartość 'bar'
+ [/if]
+ [if $config.system.foo {*} bar]
+ ... zmienna konfiguracyjna system.foo jest prostą tablicą zawierającą klucz o nazwie 'bar'
+ [/if]
+```
+
+## Złożony przykład
+
+```
+ [comment]Użycie istniejącego szablonu strony, który zapewnia region banera a pod nim 3 kolumny[/comment]
+
+ [template]3-column-with-header[/template]
+
+ [comment]Użycie motywu "darknight"[/comment]
+
+ [theme]darkknight[/theme]
+
+ [comment]Użycie istniejącego menu nawigacyjnego witryny[/comment]
+
+ [region=nav]$nav[/region]
+
+ [region=side]
+
+ [comment]Użycie 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]Show the normal page content[/comment]
+
+ $content
+
+ [/region]
+
+
+
+ [region=right]
+
+ [comment]Show my condensed channel "wall" feed and allow interaction if the observer is allowed to interact[/comment]
+
+ [widget]channel[/widget]
+
+ [/region]
+
+```
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/pl/general.bb b/doc/pl/general.bb
index 9370678c3..b5be73665 100644
--- a/doc/pl/general.bb
+++ b/doc/pl/general.bb
@@ -1,4 +1,4 @@
-[h2]Informacja o projekcie i serwisie[/h2]
+[h2]Informacja o projekcie i portalu[/h2]
[h3]$Projectname[/h3]
[zrl=[baseurl]/help/Privacy]Polityka prywatności[/zrl]
[zrl=[baseurl]/help/project/governance]Zarządzanie projektem[/zrl]
@@ -7,11 +7,11 @@
[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=https://framagit.org/hubzilla/addons]Strona dodatków[/url]
[url=[baseurl]/help/credits]Podziękowania od $Projectname[/url]
-[h3]O tym węźle $Projectname[/h3]
+[h3]O tym portalu $Projectname[/h3]
[zrl=[baseurl]/help/TermsOfService]Warunki świadczenia usług dla tego portalu[/zrl]
-[zrl=[baseurl]/siteinfo]Inormacja o węźle (/siteinfo)[/zrl]
+[zrl=[baseurl]/siteinfo]Inormacja o portalu (/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/toc.html b/doc/pl/toc.html
index f478fcf15..2d1aa674f 100644
--- a/doc/pl/toc.html
+++ b/doc/pl/toc.html
@@ -20,8 +20,9 @@
<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/member/bbcode">Informator o BBcode</a>
+ <a class="nav-link" href="/help/feature/additional/overview">Język opisu stron internetowych Comanche</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>
@@ -66,8 +67,8 @@
</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">Platforma Hubzilla</a>
+ <a class="nav-link" href="/help/about/project">Projekt Hubzilla</a>
<a class="nav-link" href="/help/about/about_hub">Serwis HUBZILLA.PL</a>
</div>
</div>
diff --git a/include/api_auth.php b/include/api_auth.php
index 9235bd28c..4928e6a85 100644
--- a/include/api_auth.php
+++ b/include/api_auth.php
@@ -27,7 +27,7 @@ function api_login(&$a){
if ($server->verifyResourceRequest($request)) {
$token = $server->getAccessTokenData($request);
$uid = $token['user_id'];
- $r = q("SELECT * FROM channel WHERE channel_id = %d LIMIT 1",
+ $r = q("SELECT * FROM channel WHERE channel_id = %d LIMIT 1",
intval($uid)
);
if (count($r)) {
@@ -41,7 +41,7 @@ function api_login(&$a){
$_SESSION['uid'] = $record['channel_id'];
$_SESSION['addr'] = $_SERVER['REMOTE_ADDR'];
- $x = q("select * from account where account_id = %d LIMIT 1",
+ $x = q("select * from account where account_id = %d LIMIT 1",
intval($record['channel_account_id'])
);
if ($x) {
@@ -102,9 +102,6 @@ function api_login(&$a){
);
if($r) {
$c = channelx_by_hash($r[0]['hubloc_hash']);
- if (! $c) {
- $c = channelx_by_portid($r[0]['hubloc_hash']);
- }
if($c) {
$a = q("select * from account where account_id = %d limit 1",
intval($c['channel_account_id'])
@@ -116,7 +113,7 @@ function api_login(&$a){
}
}
- if($record) {
+ if($record) {
$verified = \Zotlabs\Web\HTTPSig::verify('',$record['channel']['channel_pubkey']);
if(! ($verified && $verified['header_signed'] && $verified['header_valid'])) {
$record = null;
@@ -164,4 +161,4 @@ function retry_basic_auth($method = 'Basic') {
header('HTTP/1.0 401 Unauthorized');
echo('This api requires login');
killme();
-} \ No newline at end of file
+}
diff --git a/include/bbcode.php b/include/bbcode.php
index 228af7faa..a362e9ce9 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -5,10 +5,10 @@
*/
use Zotlabs\Lib\SvgSanitizer;
+use Zotlabs\Lib\Libzot;
require_once('include/oembed.php');
require_once('include/event.php');
-require_once('include/zot.php');
require_once('include/html2plain.php');
function get_bb_tag_pos($s, $name, $occurance = 1) {
@@ -616,9 +616,9 @@ function bb_ShareAttributesSimple($match) {
function rpost_callback($match) {
if ($match[2]) {
- return str_replace($match[0], get_rpost_path(App::get_observer()) . '&title=' . urlencode($match[2]) . '&body=' . urlencode($match[3]), $match[0]);
+ return str_replace($match[0], Libzot::get_rpost_path(App::get_observer()) . '&title=' . urlencode($match[2]) . '&body=' . urlencode($match[3]), $match[0]);
} else {
- return str_replace($match[0], get_rpost_path(App::get_observer()) . '&body=' . urlencode($match[3]), $match[0]);
+ return str_replace($match[0], Libzot::get_rpost_path(App::get_observer()) . '&body=' . urlencode($match[3]), $match[0]);
}
}
diff --git a/include/bookmarks.php b/include/bookmarks.php
index 207cf5a33..95043ae89 100644
--- a/include/bookmarks.php
+++ b/include/bookmarks.php
@@ -68,7 +68,7 @@ function bookmark_add($channel,$sender,$taxonomy,$private,$opts = null) {
function get_bookmark_link($observer) {
- if((! $observer) || !in_array($observer['xchan_network'], ['zot6', 'zot']))
+ if(!$observer || $observer['xchan_network'] !== 'zot6')
return '';
$h = @parse_url($observer['xchan_url']);
diff --git a/include/channel.php b/include/channel.php
index 8fa175d9a..5917af6aa 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -16,7 +16,6 @@ use Zotlabs\Lib\Libzot;
use Zotlabs\Lib\Connect;
use Zotlabs\Lib\Libsync;
-require_once('include/zot.php');
require_once('include/crypto.php');
require_once('include/menu.php');
require_once('include/perm_upgrade.php');
@@ -235,10 +234,6 @@ function create_identity($arr) {
$guid = Libzot::new_uid($nick);
$key = Crypto::new_keypair(4096);
- // legacy zot
- $zsig = base64url_encode(Crypto::sign($guid,$key['prvkey']));
- $zhash = make_xchan_hash($guid,$zsig);
-
// zot6
$sig = Libzot::sign($guid,$key['prvkey']);
$hash = Libzot::make_xchan_hash($guid,$key['pubkey']);
@@ -275,7 +270,7 @@ function create_identity($arr) {
'channel_guid' => $guid,
'channel_guid_sig' => $sig,
'channel_hash' => $hash,
- 'channel_portable_id' => $zhash,
+ 'channel_portable_id' => '',
'channel_prvkey' => $key['prvkey'],
'channel_pubkey' => $key['pubkey'],
'channel_pageflags' => intval($pageflags),
@@ -340,26 +335,6 @@ function create_identity($arr) {
$r = hubloc_store_lowlevel(
[
'hubloc_guid' => $guid,
- 'hubloc_guid_sig' => $zsig,
- 'hubloc_hash' => $zhash,
- 'hubloc_id_url' => channel_url($ret['channel']),
- 'hubloc_addr' => channel_reddress($ret['channel']),
- 'hubloc_primary' => intval($primary),
- 'hubloc_url' => z_root(),
- 'hubloc_url_sig' => base64url_encode(Crypto::sign(z_root(),$ret['channel']['channel_prvkey'])),
- 'hubloc_host' => App::get_hostname(),
- 'hubloc_callback' => z_root() . '/post',
- 'hubloc_sitekey' => get_config('system','pubkey'),
- 'hubloc_network' => 'zot',
- 'hubloc_updated' => datetime_convert()
- ]
- );
- if(! $r)
- logger('Unable to store hub location (zot)');
-
- $r = hubloc_store_lowlevel(
- [
- 'hubloc_guid' => $guid,
'hubloc_guid_sig' => $sig,
'hubloc_hash' => $hash,
'hubloc_id_url' => channel_url($ret['channel']),
@@ -383,30 +358,6 @@ function create_identity($arr) {
$r = xchan_store_lowlevel(
[
- 'xchan_hash' => $zhash,
- 'xchan_guid' => $guid,
- 'xchan_guid_sig' => $zsig,
- 'xchan_pubkey' => $key['pubkey'],
- 'xchan_photo_mimetype' => (($photo_type) ? $photo_type : 'image/png'),
- 'xchan_photo_l' => z_root() . "/photo/profile/l/{$newuid}",
- 'xchan_photo_m' => z_root() . "/photo/profile/m/{$newuid}",
- 'xchan_photo_s' => z_root() . "/photo/profile/s/{$newuid}",
- 'xchan_addr' => channel_reddress($ret['channel']),
- 'xchan_url' => z_root() . '/channel/' . $ret['channel']['channel_address'],
- 'xchan_follow' => z_root() . '/follow?f=&url=%s',
- 'xchan_connurl' => z_root() . '/poco/' . $ret['channel']['channel_address'],
- 'xchan_name' => $ret['channel']['channel_name'],
- 'xchan_network' => 'zot',
- 'xchan_photo_date' => datetime_convert(),
- 'xchan_name_date' => datetime_convert(),
- 'xchan_system' => $system
- ]
- );
- if(! $r)
- logger('Unable to store xchan (zot)');
-
- $r = xchan_store_lowlevel(
- [
'xchan_hash' => $hash,
'xchan_guid' => $guid,
'xchan_guid_sig' => $sig,
@@ -819,7 +770,6 @@ function get_default_export_sections() {
'chatrooms',
'events',
'webpages',
- 'mail',
'wikis'
];
@@ -981,12 +931,6 @@ function identity_basic_export($channel_id, $sections = null, $zap_compat = fals
}
- // pick up the zot xchan and hublocs also
-
- if($ret['channel']['channel_portable_id'] && ! $zot_compat) {
- $xchans[] = $ret['channel']['channel_portable_id'];
- }
-
stringify_array_elms($xchans);
}
@@ -1146,30 +1090,6 @@ function identity_basic_export($channel_id, $sections = null, $zap_compat = fals
}
}
- if(in_array('mail',$sections)) {
- $r = q("select * from conv where uid = %d",
- intval($channel_id)
- );
- if($r) {
- for($x = 0; $x < count($r); $x ++) {
- $r[$x]['subject'] = base64url_decode(str_rot47($r[$x]['subject']));
- }
- $ret['conv'] = $r;
- }
-
- $r = q("select * from mail where channel_id = %d",
- intval($channel_id)
- );
- if($r) {
- $m = array();
- foreach($r as $rr) {
- xchan_mail_query($rr);
- $m[] = encode_mail($rr,true);
- }
- $ret['mail'] = $m;
- }
- }
-
if(in_array('wikis',$sections)) {
$r = q("select * from item where resource_type like 'nwiki%%' and uid = %d order by created",
intval($channel_id)
@@ -2844,15 +2764,12 @@ function channel_remove($channel_id, $local = true, $unset_session = false) {
logger('deleting hublocs',LOGGER_DEBUG);
- $r = q("UPDATE hubloc SET hubloc_deleted = 1 WHERE hubloc_hash = '%s' OR hubloc_hash = '%s'",
- dbesc($channel['channel_hash']),
- dbesc($channel['channel_portable_id'])
-
+ $r = q("UPDATE hubloc SET hubloc_deleted = 1 WHERE hubloc_hash = '%s'",
+ dbesc($channel['channel_hash'])
);
- $r = q("UPDATE xchan SET xchan_deleted = 1 WHERE xchan_hash = '%s' OR xchan_hash = '%s'",
- dbesc($channel['channel_hash']),
- dbesc($channel['channel_portable_id'])
+ $r = q("UPDATE xchan SET xchan_deleted = 1 WHERE xchan_hash = '%s'",
+ dbesc($channel['channel_hash'])
);
Master::Summon(array('Notifier','purge_all',$channel_id));
@@ -2936,9 +2853,8 @@ function channel_remove($channel_id, $local = true, $unset_session = false) {
logger('deleting hublocs',LOGGER_DEBUG);
- $r = q("UPDATE hubloc SET hubloc_deleted = 1 WHERE (hubloc_hash = '%s' OR hubloc_hash = '%s') AND hubloc_url = '%s' ",
+ $r = q("UPDATE hubloc SET hubloc_deleted = 1 WHERE hubloc_hash = '%s' AND hubloc_url = '%s' ",
dbesc($channel['channel_hash']),
- dbesc($channel['channel_portable_id']),
dbesc(z_root())
);
@@ -2953,9 +2869,8 @@ function channel_remove($channel_id, $local = true, $unset_session = false) {
$hublocs = count($r);
if(! $hublocs) {
- $r = q("UPDATE xchan SET xchan_deleted = 1 WHERE xchan_hash = '%s' OR xchan_hash = '%s'",
- dbesc($channel['channel_hash']),
- dbesc($channel['channel_portable_id'])
+ $r = q("UPDATE xchan SET xchan_deleted = 1 WHERE xchan_hash = '%s'",
+ dbesc($channel['channel_hash'])
);
}
diff --git a/include/connections.php b/include/connections.php
index 87db7faa9..a1b27e301 100644
--- a/include/connections.php
+++ b/include/connections.php
@@ -212,7 +212,7 @@ function mark_orphan_hubsxchans() {
return;
$r = q("UPDATE hubloc SET hubloc_error = 1 WHERE hubloc_error = 0
- AND hubloc_network IN ('zot6', 'zot') AND hubloc_connected < %s - INTERVAL %s",
+ AND hubloc_network = 'zot6' AND hubloc_connected < %s - INTERVAL %s",
db_utcnow(), db_quoteinterval('36 day')
);
diff --git a/include/conversation.php b/include/conversation.php
index 04aa1ef5a..39ff8d7ad 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1022,8 +1022,6 @@ function author_is_pmable($xchan, $abook) {
if($x['result'] !== 'unset')
return $x['result'];
- if($xchan['xchan_network'] === 'zot' && get_observer_hash())
- return true;
return false;
}
@@ -1059,9 +1057,6 @@ function thread_author_menu($item, $mode = '') {
$follow_url = z_root() . '/follow/?f=&url=' . urlencode($url) . '&interactive=0';
}
}
- if($item['uid'] > 0 && author_is_pmable($item['author'],$contact)) {
- $pm_url = z_root() . '/mail/new/?f=&hash=' . urlencode($item['author_xchan']);
- }
}
if($contact) {
@@ -1693,9 +1688,6 @@ function prepare_page($item) {
// ... other possible options
}
- // prepare_body calls unobscure() as a side effect. Do it here so that
- // the template will get passed an unobscured title.
-
$body = prepare_body($item, [ 'newwin' => false ]);
if(App::$page['template'] == 'none') {
$tpl = 'page_display_empty.tpl';
diff --git a/include/dir_fns.php b/include/dir_fns.php
index 8326415ed..84b0e6d93 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -330,24 +330,12 @@ function update_directory_entry($ud) {
if ($ud['ud_addr'] && (! ($ud['ud_flags'] & UPDATE_FLAGS_DELETED))) {
$success = false;
-
- // directory migration phase 1 (Macgirvin - 29-JUNE-2019)
- // fetch zot6 info (if available) as well as historical zot info (if available)
- // Once this has been running for > 1 month on the primary directory we can deprecate the historical info and
- // 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.
- // 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);
// Check the HTTP signature
-
$hsig = $record['signature'];
if($hsig && $hsig['signer'] === $uri && $hsig['header_valid'] === true && $hsig['content_valid'] === true) {
$x = Libzot::import_xchan($record['data'], 0, $ud);
@@ -356,17 +344,6 @@ function update_directory_entry($ud) {
}
}
}
- $x = \Zotlabs\Zot\Finger::run($ud['ud_addr'], '');
- if ($x['success']) {
- import_xchan($x, 0, $ud);
- $success = true;
- }
- if (! $success) {
- q("update updates set ud_last = '%s' where ud_addr = '%s'",
- dbesc(datetime_convert()),
- dbesc($ud['ud_addr'])
- );
- }
}
}
diff --git a/include/feedutils.php b/include/feedutils.php
index f489030b6..d31836983 100644
--- a/include/feedutils.php
+++ b/include/feedutils.php
@@ -14,6 +14,8 @@
* @return string with an atom feed
*/
+require_once('include/items.php');
+
function get_public_feed($channel, $params) {
if(! $params)
diff --git a/include/follow.php b/include/follow.php
deleted file mode 100644
index 64ae8f7f1..000000000
--- a/include/follow.php
+++ /dev/null
@@ -1,325 +0,0 @@
-<?php /** @file */
-
-
-//
-// Takes a $uid and the channel associated with the uid, and a url/handle and adds a new channel
-
-// Returns an array
-// $return['success'] boolean true if successful
-// $return['abook'] Address book entry joined with xchan if successful
-// $return['message'] error text if success is false.
-
-use Zotlabs\Lib\Crypto;
-
-require_once('include/zot.php');
-
-function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) {
-
- $result = [ 'success' => false, 'message' => '' ];
-
- $my_perms = false;
- $is_zot = false;
- $protocol = '';
-
-
- if(substr($url,0,1) === '[') {
- $x = strpos($url,']');
- if($x) {
- $protocol = substr($url,1,$x-1);
- $url = substr($url,$x+1);
- }
- }
-
- $is_http = ((strpos($url,'://') !== false) ? true : false);
-
- if($is_http && substr($url,-1,1) === '/')
- $url = substr($url,0,-1);
-
- if(! allowed_url($url)) {
- $result['message'] = t('Channel is blocked on this site.');
- return $result;
- }
-
- if(! $url) {
- $result['message'] = t('Channel location missing.');
- return $result;
- }
-
-
- // check service class limits
-
- $r = q("select count(*) as total from abook where abook_channel = %d and abook_self = 0 ",
- intval($uid)
- );
- if($r)
- $total_channels = $r[0]['total'];
-
- if(! service_class_allows($uid,'total_channels',$total_channels)) {
- $result['message'] = upgrade_message();
- return $result;
- }
-
-
- $arr = array('url' => $url, 'protocol', 'channel' => array());
-
- call_hooks('follow_init', $arr);
-
- if($arr['channel']['success'])
- $ret = $arr['channel'];
- elseif((! $is_http) && ((! $protocol) || (strtolower($protocol) === 'zot')))
- $ret = Zotlabs\Zot\Finger::run($url,$channel);
-
- if($ret && is_array($ret) && $ret['success']) {
- $is_zot = true;
- $j = $ret;
- }
-
- $p = \Zotlabs\Access\Permissions::connect_perms($uid);
- $my_perms = $p['perms'];
-
- if($is_zot && $j) {
-
- logger('follow: ' . $url . ' ' . print_r($j,true), LOGGER_DEBUG);
-
-
- if(! ($j['success'] && $j['guid'])) {
- $result['message'] = t('Response from remote channel was incomplete.');
- logger('mod_follow: ' . $result['message']);
- return $result;
- }
-
- // Premium channel, set confirm before callback to avoid recursion
-
- if(array_key_exists('connect_url',$j) && (! $confirm)) {
- if($interactive) {
- goaway(zid($j['connect_url']));
- }
- else {
- $result['message'] = t('Premium channel - please visit:') . ' ' . zid($j['connect_url']);
- logger('mod_follow: ' . $result['message']);
- return $result;
- }
- }
-
-
-
- // do we have an xchan and hubloc?
- // If not, create them.
-
- $x = import_xchan($j);
-
- if(array_key_exists('deleted',$j) && intval($j['deleted'])) {
- $result['message'] = t('Channel was deleted and no longer exists.');
- return $result;
- }
-
- if(! $x['success'])
- return $x;
-
- $xchan_hash = $x['hash'];
-
- if( array_key_exists('permissions',$j) && array_key_exists('data',$j['permissions'])) {
- $permissions = Crypto::unencapsulate(array(
- 'data' => $j['permissions']['data'],
- 'alg' => $j['permissions']['alg'],
- 'key' => $j['permissions']['key'],
- 'iv' => $j['permissions']['iv']),
- $channel['channel_prvkey']);
- if($permissions)
- $permissions = json_decode($permissions,true);
- logger('decrypted permissions: ' . print_r($permissions,true), LOGGER_DATA);
- }
- else
- $permissions = $j['permissions'];
-
- if(is_array($permissions) && $permissions) {
- foreach($permissions as $k => $v) {
- set_abconfig($channel['channel_uid'],$xchan_hash,'their_perms',$k,intval($v));
- }
- }
- }
- else {
-
- $xchan_hash = '';
- $sql_options = (($protocol) ? " and xchan_network = '" . dbesc($protocol) . "' " : '');
-
-
- $r = q("select * from xchan where (xchan_addr = '%s' or xchan_url = '%s') $sql_options ",
- dbesc($url),
- dbesc($url)
- );
-
- if(! $r) {
-
- // attempt network auto-discovery
-
- $wf = discover_by_webbie($url,$protocol);
-
- if((! $wf) && ($is_http)) {
-
- // try RSS discovery
-
- $feeds = get_config('system','feed_contacts');
-
- if(($feeds) && ($protocol === '' || $protocol === 'feed' || $protocol === 'rss')) {
- $d = discover_by_url($url);
- }
- else {
- $result['message'] = t('Remote channel or protocol unavailable.');
- return $result;
- }
- }
-
- if($wf || $d) {
- $r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s'",
- dbesc(($wf) ? $wf : $url),
- dbesc($url)
- );
- }
- }
-
- $xchan = zot_record_preferred($r,'xchan_network');
-
- // if discovery was a success we should have an xchan record in $r
-
- if($xchan) {
- $xchan_hash = $xchan['xchan_hash'];
- $their_perms = 0;
- }
- }
-
- if(! $xchan_hash) {
- $result['message'] = t('Channel discovery failed.');
- logger('follow: ' . $result['message']);
- return $result;
- }
-
- $allowed = (($is_zot || in_array($xchan['xchan_network'],['rss','zot6'])) ? 1 : 0);
-
- $x = array('channel_id' => $uid, 'follow_address' => $url, 'xchan' => $xchan, 'allowed' => $allowed, 'singleton' => 0);
-
- call_hooks('follow_allow',$x);
-
- if(! $x['allowed']) {
- $result['message'] = t('Protocol disabled.');
- return $result;
- }
-
- $singleton = intval($x['singleton']);
-
- $aid = $channel['channel_account_id'];
- $hash = $channel['channel_hash'];
- $default_group = $channel['channel_default_group'];
-
- if($hash == $xchan_hash) {
- $result['message'] = t('Cannot connect to yourself.');
- return $result;
- }
-
- if($xchan['xchan_network'] === 'rss') {
-
- // check service class feed limits
-
- $r = q("select count(*) as total from abook where abook_account = %d and abook_feed = 1 ",
- intval($aid)
- );
- if($r)
- $total_feeds = $r[0]['total'];
-
- if(! service_class_allows($uid,'total_feeds',$total_feeds)) {
- $result['message'] = upgrade_message();
- return $result;
- }
-
- // Always set these "remote" permissions for feeds since we cannot interact with them
- // to negotiate a suitable permission response
-
- set_abconfig($uid,$xchan_hash,'their_perms','view_stream',1);
- set_abconfig($uid,$xchan_hash,'their_perms','republish',1);
-
- }
-
- $profile_assign = get_pconfig($uid,'system','profile_assign','');
-
-
- $r = q("select abook_id, abook_xchan, abook_pending, abook_instance from abook
- where abook_xchan = '%s' and abook_channel = %d limit 1",
- dbesc($xchan_hash),
- intval($uid)
- );
-
- if($r) {
-
- $abook_instance = $r[0]['abook_instance'];
-
- if(($singleton) && strpos($abook_instance,z_root()) === false) {
- if($abook_instance)
- $abook_instance .= ',';
- $abook_instance .= z_root();
-
- $x = q("update abook set abook_instance = '%s', abook_not_here = 0 where abook_id = %d",
- dbesc($abook_instance),
- intval($r[0]['abook_id'])
- );
- }
-
- if(intval($r[0]['abook_pending'])) {
- $x = q("update abook set abook_pending = 0 where abook_id = %d",
- intval($r[0]['abook_id'])
- );
- }
- }
- else {
- $closeness = get_pconfig($uid,'system','new_abook_closeness',80);
-
- $r = abook_store_lowlevel(
- [
- 'abook_account' => intval($aid),
- 'abook_channel' => intval($uid),
- 'abook_closeness' => intval($closeness),
- 'abook_xchan' => $xchan_hash,
- 'abook_profile' => $profile_assign,
- 'abook_feed' => intval(($xchan['xchan_network'] === 'rss') ? 1 : 0),
- 'abook_created' => datetime_convert(),
- 'abook_updated' => datetime_convert(),
- 'abook_instance' => (($singleton) ? z_root() : '')
- ]
- );
- }
-
- if(! $r)
- logger('mod_follow: abook creation failed');
-
- if($my_perms) {
- foreach($my_perms as $k => $v) {
- set_abconfig($uid,$xchan_hash,'my_perms',$k,$v);
- }
- }
-
- $r = q("select abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash
- where abook_xchan = '%s' and abook_channel = %d limit 1",
- dbesc($xchan_hash),
- intval($uid)
- );
-
- if($r) {
- $result['abook'] = $r[0];
- Zotlabs\Daemon\Master::Summon(array('Notifier', 'permission_create', $result['abook']['abook_id']));
- }
-
- $arr = array('channel_id' => $uid, 'channel' => $channel, 'abook' => $result['abook']);
-
- call_hooks('follow', $arr);
-
- /** If there is a default group for this channel, add this connection to it */
-
- if($default_group) {
- require_once('include/group.php');
- $g = group_rec_byhash($uid,$default_group);
- if($g)
- group_add_member($uid,'',$xchan_hash,$g['id']);
- }
-
- $result['success'] = true;
- return $result;
-}
diff --git a/include/help.php b/include/help.php
index 38facb04a..6daf81b8e 100644
--- a/include/help.php
+++ b/include/help.php
@@ -2,6 +2,7 @@
use \Michelf\MarkdownExtra;
+require_once('include/items.php');
/**
* @brief
diff --git a/include/import.php b/include/import.php
index 379789109..ae7b2787a 100644
--- a/include/import.php
+++ b/include/import.php
@@ -778,7 +778,7 @@ function sync_items($channel, $items, $relocate = null) {
// to avoid confusing with cloned channels
$size = count($items);
for($i = 0; $i < $size; $i++) {
- if(($items[$i]['owner']['network'] != 'zot') && ($items[$i]['owner']['network'] != 'zot6')) {
+ if($items[$i]['owner']['network'] !== 'zot6') {
$r = q("SELECT * FROM abook WHERE abook_channel = %d
AND abook_xchan = ( SELECT xchan_hash FROM xchan WHERE xchan_guid = '%s' LIMIT 1 )
AND abook_not_here = 0 AND abook_ignored = 0 AND abook_blocked = 0",
@@ -1089,85 +1089,6 @@ function import_likes($channel, $likes) {
}
}
-function import_conv($channel,$convs) {
- if($channel && $convs) {
- foreach($convs as $conv) {
- if($conv['deleted']) {
- q("delete from conv where guid = '%s' and uid = %d",
- dbesc($conv['guid']),
- intval($channel['channel_id'])
- );
- continue;
- }
-
- unset($conv['id']);
-
- $conv['uid'] = $channel['channel_id'];
- $conv['subject'] = str_rot47(base64url_encode($conv['subject']));
-
- $r = q("select id from conv where guid = '%s' and uid = %d limit 1",
- dbesc($conv['guid']),
- intval($channel['channel_id'])
- );
- if($r)
- continue;
-
- create_table_from_array('conv',$conv);
- }
- }
-}
-
-/**
- * @brief Import mails.
- *
- * @param array $channel
- * @param array $mails
- * @param boolean $sync (optional) default false
- */
-function import_mail($channel, $mails, $sync = false) {
- if($channel && $mails) {
- foreach($mails as $mail) {
- if(array_key_exists('flags',$mail) && in_array('deleted',$mail['flags'])) {
- q("delete from mail where mid = '%s' and uid = %d",
- dbesc($mail['message_id']),
- intval($channel['channel_id'])
- );
- continue;
- }
- if(array_key_exists('flags',$mail) && in_array('recalled',$mail['flags'])) {
- q("update mail set mail_recalled = 1 where mid = '%s' and uid = %d",
- dbesc($mail['message_id']),
- intval($channel['channel_id'])
- );
- continue;
- }
-
- $m = get_mail_elements($mail);
- if(! $m)
- continue;
-
- $m['account_id'] = $channel['channel_account_id'];
- $m['channel_id'] = $channel['channel_id'];
-
- $mail_id = mail_store($m);
- if($sync && $mail_id) {
- Zotlabs\Daemon\Master::Summon(array('Notifier','single_mail',$mail_id));
- }
- }
- }
-}
-
-/**
- * @brief Synchronise mails.
- *
- * @see import_mail()
- * @param array $channel
- * @param array $mails
- */
-function sync_mail($channel, $mails) {
- import_mail($channel, $mails, true);
-}
-
/**
* @brief Synchronise files.
*
@@ -1925,7 +1846,6 @@ function get_webpage_elements($channel, $type = 'all') {
$elements['pages'] = array();
$pages = array();
foreach($r as $rr) {
- unobscure($rr);
//$lockstate = (($rr['allow_cid'] || $rr['allow_gid'] || $rr['deny_cid'] || $rr['deny_gid']) ? 'lock' : 'unlock');
@@ -1973,8 +1893,6 @@ function get_webpage_elements($channel, $type = 'all') {
$elements['layouts'] = array();
foreach($r as $rr) {
- unobscure($rr);
-
$elements['layouts'][] = array(
'type' => 'layout',
'description' => $rr['title'], // description of the layout
@@ -2010,8 +1928,6 @@ function get_webpage_elements($channel, $type = 'all') {
$elements['blocks'] = array();
foreach($r as $rr) {
- unobscure($rr);
-
$elements['blocks'][] = array(
'type' => 'block',
'title' => $rr['title'],
diff --git a/include/items.php b/include/items.php
index d6dd517ba..7fa3a8e71 100644
--- a/include/items.php
+++ b/include/items.php
@@ -21,7 +21,6 @@ use Zotlabs\Daemon\Master;
require_once('include/bbcode.php');
require_once('include/oembed.php');
require_once('include/crypto.php');
-require_once('include/message.php');
require_once('include/feedutils.php');
require_once('include/photo/photo_driver.php');
require_once('include/permissions.php');
@@ -132,7 +131,7 @@ function collect_recipients($item, &$private_envelope,$include_groups = true) {
case 'sit':
case 'any':
case 'con':
- if(!in_array($rr['xchan_network'], ['zot6', 'zot']))
+ if($rr['xchan_network'] !== 'zot6')
break;
case 'pub':
case '':
@@ -758,35 +757,17 @@ function get_item_elements($x,$allow_code = false) {
// and not enough info to be able to look you up from your hash - which is the only thing stored with the post.
$xchan_hash = import_author_xchan($x['author']);
- if($xchan_hash) {
+ if($xchan_hash)
$arr['author_xchan'] = $xchan_hash;
- }
- else {
+ else
return [];
- }
-
- // save a potentially expensive lookup if author == owner
- $legacy_sig = false;
- $owner_hash = '';
- if(isset($x['owner']['id']) && isset($x['owner']['key']) && isset($x['owner']['network']) && $x['owner']['network'] === 'zot6') {
- $owner_hash = Libzot::make_xchan_hash($x['owner']['id'], $x['owner']['key']);
- }
- else {
- $owner_hash = make_xchan_hash($x['owner']['guid'],$x['owner']['guid_sig']);
- $legacy_sig = true;
- }
- if($arr['author_xchan'] === $owner_hash) {
- $arr['owner_xchan'] = $arr['author_xchan'];
+ $xchan_hash = import_author_xchan($x['owner']);
+ if($xchan_hash) {
+ $arr['owner_xchan'] = $xchan_hash;
}
else {
- $xchan_hash = import_author_xchan($x['owner']);
- if($xchan_hash) {
- $arr['owner_xchan'] = $xchan_hash;
- }
- else {
- return [];
- }
+ return [];
}
// Check signature on the body text received.
@@ -800,20 +781,12 @@ function get_item_elements($x,$allow_code = false) {
// check the supplied signature against the supplied content.
// Note that we will purify the content which could change it.
- $r = q("select xchan_pubkey, xchan_network from xchan where xchan_hash = '%s' limit 1",
+ $r = q("SELECT xchan_pubkey FROM xchan WHERE xchan_hash = '%s' LIMIT 1",
dbesc($arr['author_xchan'])
);
- if($r) {
- if($r[0]['xchan_pubkey'] && $r[0]['xchan_network'] === 'zot6') {
- $item_verified = false;
- if($legacy_sig) {
- $item_verified = Crypto::verify($x['body'], base64url_decode($arr['sig']), $r[0]['xchan_pubkey']);
- }
- else {
- $item_verified = Libzot::verify($x['body'], $arr['sig'], $r[0]['xchan_pubkey']);
- }
-
- if($item_verified) {
+ if ($r) {
+ if ($r[0]['xchan_pubkey']) {
+ if (Libzot::verify($x['body'], $arr['sig'], $r[0]['xchan_pubkey'])) {
$arr['item_verified'] = 1;
}
else {
@@ -935,71 +908,37 @@ function get_item_elements($x,$allow_code = false) {
function import_author_xchan($x) {
- $arr = [
- 'xchan' => $x,
- 'xchan_hash' => ''
- ];
- /**
- * @hooks import_author_xchan
- * Called when looking up an author of a post by xchan_hash to ensure they have an xchan record on our site.
- * * \e array \b xchan
- * * \e string \b xchan_hash - Thre returned value
- */
- call_hooks('import_author_xchan', $arr);
- if($arr['xchan_hash']) {
- return $arr['xchan_hash'];
+ if (!$x) {
+ return false;
}
$y = false;
- if((isset($x['id']) && isset($x['key'])) && (!isset($x['network']) || $x['network'] === 'zot6')) {
+ if (!array_key_exists('network', $x) || $x['network'] === 'zot6') {
$y = Libzot::import_author_zot($x);
}
- if(!$y && isset($x['url']) && isset($x['network']) && $x['network'] === 'zot6') {
- $r = q("SELECT xchan_hash FROM xchan WHERE xchan_url = '%s' AND xchan_network = 'zot6'",
- dbesc($x['url'])
- );
- if($r)
- $y = $r[0]['xchan_hash'];
- else
- $y = discover_by_webbie($x['url'], 'zot6');
- }
-
- // if we were told that it's a zot6 connection, don't probe/import anything else
-
- if($y)
+ // if we were told that it's a zot connection, don't probe/import anything else
+ if (array_key_exists('network', $x) && $x['network'] === 'zot6')
return $y;
- if(!isset($x['network']) || $x['network'] === 'zot') {
- $y = import_author_zot($x);
- }
-
- if(isset($x['network']) || $x['network'] === 'zot') {
- if($x['url']) {
- // check if we already have the zot6 xchan of this xchan_url. if not import it.
- $r = q("SELECT xchan_hash FROM xchan WHERE xchan_url = '%s' AND xchan_network = 'zot6'",
- dbesc($x['url'])
- );
- // TODO: fix dupplicate with line 960
- if(!$r)
- discover_by_webbie($x['url'], 'zot6');
- }
-
- if($y)
- return $y;
-
- }
+ $hookinfo = [
+ 'xchan' => $x,
+ 'xchan_hash' => ''
+ ];
- // perform zot6 discovery
- if($x['url']) {
- $y = discover_by_webbie($x['url'], 'zot6');
- if($y) {
- return $y;
- }
+ /**
+ * @hooks import_author_xchan
+ * Called when looking up an author of a post by xchan_hash to ensure they have an xchan record on our site.
+ * * \e array \b xchan
+ * * \e string \b xchan_hash - Thre returned value
+ */
+ call_hooks('import_author_xchan', $hookinfo);
+ if($hookinfo['xchan_hash']) {
+ return $hookinfo['xchan_hash'];
}
- if($x['network'] === 'rss') {
+ if(!$y && array_key_exists('network', $x) && $x['network'] === 'rss') {
$y = import_author_rss($x);
}
@@ -1325,16 +1264,13 @@ function translate_scope($scope) {
* @return array an associative array
*/
function encode_item_xchan($xchan) {
- $ret = array();
+ $ret = [];
$ret['name'] = $xchan['xchan_name'];
$ret['address'] = $xchan['xchan_addr'];
$ret['url'] = $xchan['xchan_url'];
$ret['network'] = $xchan['xchan_network'];
$ret['photo'] = [ 'mimetype' => $xchan['xchan_photo_mimetype'], 'src' => $xchan['xchan_photo_m'] ];
- $ret['guid'] = $xchan['xchan_guid'];
- $ret['guid_sig'] = $xchan['xchan_guid_sig'];
-
$ret['id'] = $xchan['xchan_guid'];
$ret['id_sig'] = $xchan['xchan_guid_sig'];
$ret['key'] = $xchan['xchan_pubkey'];
@@ -1566,143 +1502,6 @@ function encode_item_flags($item) {
return $ret;
}
-function encode_mail($item,$extended = false) {
- $x = [];
- $x['type'] = 'mail';
- $x['encoding'] = 'zot';
-
- if(array_key_exists('mail_obscured',$item) && intval($item['mail_obscured'])) {
- if($item['title'])
- $item['title'] = base64url_decode(str_rot47($item['title']));
- if($item['body'])
- $item['body'] = base64url_decode(str_rot47($item['body']));
- }
-
- $x['message_id'] = $item['mid'];
- $x['message_parent'] = $item['parent_mid'];
- $x['created'] = $item['created'];
- $x['expires'] = $item['expires'];
- $x['title'] = $item['title'];
- $x['body'] = $item['body'];
- $x['from'] = encode_item_xchan($item['from']);
- $x['to'] = encode_item_xchan($item['to']);
- $x['raw'] = $item['mail_raw'];
- $x['mimetype'] = $item['mail_mimetype'];
- $x['sig'] = $item['sig'];
-
- if($item['attach'])
- $x['attach'] = json_decode($item['attach'],true);
-
- $x['flags'] = array();
-
- if(intval($item['mail_recalled'])) {
- $x['flags'][] = 'recalled';
- $x['title'] = '';
- $x['body'] = '';
- }
-
- if($extended) {
- $x['conv_guid'] = $item['conv_guid'];
- if(intval($item['mail_deleted']))
- $x['flags'][] = 'deleted';
- if(intval($item['mail_replied']))
- $x['flags'][] = 'replied';
- if(intval($item['mail_isreply']))
- $x['flags'][] = 'isreply';
- if(intval($item['mail_seen']))
- $x['flags'][] = 'seen';
- }
-
- return $x;
-}
-
-
-
-function get_mail_elements($x) {
-
- $arr = array();
-
- if(intval($x['raw'])) {
- $arr['mail_raw'] = intval($x['raw']);
- $arr['body'] = $x['body'];
- }
- else {
- $arr['body'] = (($x['body']) ? htmlspecialchars($x['body'], ENT_COMPAT,'UTF-8',false) : '');
-
- $maxlen = get_max_import_size();
-
- if($maxlen && mb_strlen($arr['body']) > $maxlen) {
- $arr['body'] = mb_substr($arr['body'],0,$maxlen,'UTF-8');
- logger('message length exceeds max_import_size: truncated');
- }
- }
-
- $arr['title'] = (($x['title'])? htmlspecialchars($x['title'],ENT_COMPAT,'UTF-8',false) : '');
- $arr['mail_mimetype'] = (($x['mimetype']) ? htmlspecialchars($x['mimetype'],ENT_COMPAT,'UTF-8',false) : 'text/bbcode');
- $arr['conv_guid'] = (($x['conv_guid'])? htmlspecialchars($x['conv_guid'],ENT_COMPAT,'UTF-8',false) : '');
-
- $arr['created'] = datetime_convert('UTC','UTC',$x['created']);
- if((! array_key_exists('expires',$x)) || ($x['expires'] <= NULL_DATE))
- $arr['expires'] = NULL_DATE;
- else
- $arr['expires'] = datetime_convert('UTC','UTC',$x['expires']);
-
- $arr['mail_flags'] = 0;
-
- if(array_key_exists('sig',$x))
- $arr['sig'] = $x['sig'];
-
- if($x['flags'] && is_array($x['flags'])) {
- if(in_array('recalled',$x['flags'])) {
- $arr['mail_recalled'] = 1;
- }
- if(in_array('replied',$x['flags'])) {
- $arr['mail_replied'] = 1;
- }
- if(in_array('isreply',$x['flags'])) {
- $arr['mail_isreply'] = 1;
- }
- if(in_array('seen',$x['flags'])) {
- $arr['mail_seen'] = 1;
- }
- if(in_array('deleted',$x['flags'])) {
- $arr['mail_deleted'] = 1;
- }
- }
-
- $key = get_config('system','pubkey');
- $arr['mail_obscured'] = 1;
- if($arr['body']) {
- $arr['body'] = str_rot47(base64url_encode($arr['body']));
- }
-
- if($arr['title']) {
- $arr['title'] = str_rot47(base64url_encode($arr['title']));
- }
- if($arr['created'] > datetime_convert())
- $arr['created'] = datetime_convert();
-
-
- $arr['mid'] = (($x['message_id']) ? htmlspecialchars($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['parent_mid'] = (($x['message_parent']) ? htmlspecialchars($x['message_parent'], ENT_COMPAT,'UTF-8',false) : '');
-
- if($x['attach'])
- $arr['attach'] = activity_sanitise($x['attach']);
-
- if(($xchan_hash = import_author_xchan($x['from'])) !== false)
- $arr['from_xchan'] = $xchan_hash;
- else
- return array();
-
- if(($xchan_hash = import_author_xchan($x['to'])) !== false)
- $arr['to_xchan'] = $xchan_hash;
- else
- return array();
-
- return $arr;
-}
-
-
function get_profile_elements($x) {
$arr = array();
@@ -2695,7 +2494,7 @@ function send_status_notifications($post_id,$item) {
Enotify::submit(array(
- 'type' => NOTIFY_COMMENT,
+ 'type' => ((intval($item['item_private']) === 2) ? NOTIFY_MAIL : NOTIFY_COMMENT),
'from_xchan' => $item['author_xchan'],
'to_xchan' => $r[0]['channel_hash'],
'item' => $item,
@@ -2912,7 +2711,6 @@ function tag_deliver($uid, $item_id) {
// At this point we've determined that the person receiving this post was mentioned in it or it is a union.
// Now let's check if this mention was inside a reshare so we don't spam a forum
- // If it's private we may have to unobscure it momentarily so that we can parse it.
$body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']);
@@ -3577,158 +3375,6 @@ function post_is_importable($item,$abook) {
}
-
-function mail_store($arr) {
-
- if(! $arr['channel_id']) {
- logger('mail_store: no uid');
- return 0;
- }
-
- $channel = channelx_by_n($arr['channel_id']);
-
- if(! $arr['mail_obscured']) {
- if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
- $arr['body'] = escape_tags($arr['body']);
- }
-
- if(array_key_exists('attach',$arr)) {
- if(is_array($arr['attach'])) {
- $arr['attach'] = json_encode($arr['attach']);
- }
- }
- else {
- $arr['attach'] = '';
- }
-
- $arr['account_id'] = ((x($arr,'account_id')) ? intval($arr['account_id']) : 0);
- $arr['mid'] = ((x($arr,'mid')) ? notags(trim($arr['mid'])) : random_string());
- $arr['from_xchan'] = ((x($arr,'from_xchan')) ? notags(trim($arr['from_xchan'])) : '');
- $arr['to_xchan'] = ((x($arr,'to_xchan')) ? notags(trim($arr['to_xchan'])) : '');
- $arr['created'] = ((x($arr,'created') !== false) ? datetime_convert('UTC','UTC',$arr['created']) : datetime_convert());
- $arr['expires'] = ((x($arr,'expires') !== false) ? datetime_convert('UTC','UTC',$arr['expires']) : NULL_DATE);
- $arr['title'] = ((x($arr,'title')) ? trim($arr['title']) : '');
- $arr['parent_mid'] = ((x($arr,'parent_mid')) ? notags(trim($arr['parent_mid'])) : '');
- $arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
- $arr['sig'] = ((x($arr,'sig')) ? trim($arr['sig']) : '');
- $arr['conv_guid'] = ((x($arr,'conv_guid')) ? trim($arr['conv_guid']) : '');
- $arr['mail_mimetype'] = ((x($arr,'mail_mimetype')) ? trim($arr['mail_mimetype']) : 'text/bbcode');
-
- $arr['mail_flags'] = ((x($arr,'mail_flags')) ? intval($arr['mail_flags']) : 0 );
- $arr['mail_raw'] = ((x($arr,'mail_raw')) ? intval($arr['mail_raw']) : 0 );
-
-
- if($arr['parent_mid']) {
- $parent_item = q("select * from mail where mid = '%s' and channel_id = %d limit 1",
- dbesc($arr['parent_mid']),
- intval($arr['channel_id'])
- );
- if(($parent_item) && (! $arr['conv_guid'])) {
- $arr['conv_guid'] = $parent_item[0]['conv_guid'];
- }
- }
- else {
- logger('mail_store: missing parent');
- $arr['parent_mid'] = $arr['mid'];
- }
-
- if($arr['from_xchan'] === $channel['channel_hash'])
- $conversant = $arr['to_xchan'];
- else
- $conversant = $arr['from_xchan'];
-
-
- if(! $arr['conv_guid']) {
- $x = create_conversation($channel,$conversant,(($arr['title']) ? base64url_decode(str_rot47($arr['title'])) : ''));
- $arr['conv_guid'] = (($x) ? $x['guid'] : '');
- }
-
-
- $r = q("SELECT id FROM mail WHERE mid = '%s' AND channel_id = %d LIMIT 1",
- dbesc($arr['mid']),
- intval($arr['channel_id'])
- );
-
- if($r) {
- logger('Duplicate item ignored. ' . print_r($arr,true));
- return 0;
- }
-
- if(! $r && $arr['mail_recalled'] == 1) {
- logger('Recalled item not found. ' . print_r($arr,true));
- return 0;
- }
-
- /**
- * @hooks post_mail
- * Called when a mail message has been composed.
- */
- call_hooks('post_mail', $arr);
-
- if(x($arr,'cancel')) {
- logger('Post cancelled by plugin.');
- return 0;
- }
-
- logger('mail_store: ' . print_r($arr,true), LOGGER_DATA);
-
- create_table_from_array('mail', $arr);
-
- // find the item we just created
-
- $r = q("SELECT id FROM mail WHERE mid = '%s' AND channel_id = %d ORDER BY id ASC ",
- $arr['mid'], // already dbesc'd
- intval($arr['channel_id'])
- );
-
- if($r) {
- $current_post = $r[0]['id'];
- logger('Created item ' . $current_post, LOGGER_DEBUG);
- $arr['id'] = $current_post; // for notification
- }
- else {
- logger('Could not locate created item');
- return 0;
- }
- if(count($r) > 1) {
- logger('Duplicated post occurred. Removing duplicates.');
- q("DELETE FROM mail WHERE mid = '%s' AND channel_id = %d AND id != %d ",
- $arr['mid'],
- intval($arr['channel_id']),
- intval($current_post)
- );
- }
- else {
-
- $notif_params = array(
- 'from_xchan' => $arr['from_xchan'],
- 'to_xchan' => $arr['to_xchan'],
- 'type' => NOTIFY_MAIL,
- 'item' => $arr,
- 'verb' => ACTIVITY_POST,
- 'otype' => 'mail'
- );
-
- Enotify::submit($notif_params);
- }
-
- if($arr['conv_guid']) {
- $c = q("update conv set updated = '%s' where guid = '%s' and uid = %d",
- dbesc(datetime_convert()),
- dbesc($arr['conv_guid']),
- intval($arr['channel_id'])
- );
- }
-
- /**
- * @hooks post_mail_end
- * Called when a mail message has been delivered.
- */
- call_hooks('post_mail_end', $arr);
- return $current_post;
-}
-
-
function fix_private_photos($s, $uid, $item = null, $cid = 0) {
logger('fix_private_photos', LOGGER_DEBUG);
diff --git a/include/markdown.php b/include/markdown.php
index 013d57c29..a0e07ba68 100644
--- a/include/markdown.php
+++ b/include/markdown.php
@@ -9,6 +9,7 @@ use Michelf\MarkdownExtra;
use League\HTMLToMarkdown\HtmlConverter;
use League\HTMLToMarkdown\Environment;
use League\HTMLToMarkdown\Converter\ConverterInterface;
+use League\HTMLToMarkdown\Converter\TableConverter;
use League\HTMLToMarkdown\ElementInterface;
require_once("include/oembed.php");
@@ -250,7 +251,7 @@ function bb_to_markdown($Text, $options = []) {
call_hooks('bb_to_markdown_bb', $x);
$Text = $x['bbcode'];
-
+
// Replace spoiler tag before BBcode conversion
$Text = preg_replace("/\[\/?spoiler\]/is", "\n--- " .t('spoiler') . " ---\n", $Text);
@@ -271,7 +272,7 @@ function bb_to_markdown($Text, $options = []) {
// Remove empty zrl links
$Text = preg_replace("/\[zrl\=\].*?\[\/zrl\]/is", "", $Text);
-
+
// Replace unprocessed <br> in code
$Text = str_replace("<br></br>", "\n", $Text);
@@ -325,73 +326,3 @@ function html2markdown($html, $options = []) {
return $markdown;
}
-
-// Tables are not an official part of the markdown specification.
-// This interface was suggested as a workaround.
-// author: Mark Hamstra
-// https://github.com/Mark-H/Docs
-
-
-class TableConverter implements ConverterInterface
-{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
- {
- switch ($element->getTagName()) {
- case 'tr':
- $line = [];
- $i = 1;
- foreach ($element->getChildren() as $td) {
- $i++;
- $v = $td->getValue();
- $v = trim($v);
- if ($i % 2 === 0 || $v !== '') {
- $line[] = $v;
- }
- }
- return '| ' . implode(' | ', $line) . " |\n";
- case 'td':
- case 'th':
- return trim($element->getValue());
- case 'tbody':
- return trim($element->getValue());
- case 'thead':
- $headerLine = reset($element->getChildren())->getValue();
- $headers = explode(' | ', trim(trim($headerLine, "\n"), '|'));
- $hr = [];
- foreach ($headers as $td) {
- $length = strlen(trim($td)) + 2;
- $hr[] = str_repeat('-', $length > 3 ? $length : 3);
- }
- $hr = '|' . implode('|', $hr) . '|';
- return $headerLine . $hr . "\n";
- case 'table':
- $inner = $element->getValue();
- if (strpos($inner, '-----') === false) {
- $inner = explode("\n", $inner);
- $single = explode(' | ', trim($inner[0], '|'));
- $hr = [];
- foreach ($single as $td) {
- $length = strlen(trim($td)) + 2;
- $hr[] = str_repeat('-', $length > 3 ? $length : 3);
- }
- $hr = '|' . implode('|', $hr) . '|';
- array_splice($inner, 1, 0, $hr);
- $inner = implode("\n", $inner);
- }
- return trim($inner) . "\n\n";
- }
- return $element->getValue();
- }
- /**
- * @return string[]
- */
- public function getSupportedTags()
- {
- return array('table', 'tr', 'thead', 'td', 'tbody');
- }
-}
diff --git a/include/message.php b/include/message.php
deleted file mode 100644
index e6c9ed8ee..000000000
--- a/include/message.php
+++ /dev/null
@@ -1,566 +0,0 @@
-<?php /** @file */
-
-/* Private Message backend API */
-
-require_once('include/crypto.php');
-require_once('include/attach.php');
-require_once('include/msglib.php');
-
-
-function mail_prepare_binary($item) {
-
- return replace_macros(get_markup_template('item_binary.tpl'), [
- '$download' => t('Download binary/encrypted content'),
- '$url' => z_root() . '/mail/' . $item['id'] . '/download'
- ]);
-}
-
-
-// send a private message
-
-
-function send_message($uid = 0, $recipient = '', $body = '', $subject = '', $replyto = '', $expires = NULL_DATE, $mimetype = 'text/bbcode', $raw = false, $sig = '') {
-
- $ret = array('success' => false);
- $is_reply = false;
-
- $observer_hash = get_observer_hash();
-
- if($uid) {
- $r = q("select * from channel where channel_id = %d limit 1",
- intval($uid)
- );
- if($r)
- $channel = $r[0];
- }
- else {
- $channel = App::get_channel();
- }
-
- if(! $channel) {
- $ret['message'] = t('Unable to determine sender.');
- return $ret;
- }
-
-
- $body = cleanup_bbcode($body);
- $results = linkify_tags($body, $uid);
-
- if(! $raw) {
- if(preg_match_all("/\[attachment\](.*?)\[\/attachment\]/",((strpos($body,'[/crypt]')) ? $_POST['media_str'] : $body),$match)) {
- $attaches = $match[1];
- }
- }
-
- $attachments = '';
-
- if((! $raw) && preg_match_all('/(\[attachment\](.*?)\[\/attachment\])/',$body,$match)) {
- $attachments = array();
- foreach($match[2] as $mtch) {
- $hash = substr($mtch,0,strpos($mtch,','));
- $rev = intval(substr($mtch,strpos($mtch,',')));
- $r = attach_by_hash_nodata($hash,get_observer_hash(),$rev);
- if($r['success']) {
- $attachments[] = array(
- 'href' => z_root() . '/attach/' . $r['data']['hash'],
- 'length' => $r['data']['filesize'],
- 'type' => $r['data']['filetype'],
- 'title' => urlencode($r['data']['filename']),
- 'revision' => $r['data']['revision']
- );
- }
- $body = trim(str_replace($match[1],'',$body));
- }
- }
-
- $jattach = (($attachments) ? json_encode($attachments) : '');
-
-
- if(! $recipient) {
- $ret['message'] = t('No recipient provided.');
- return $ret;
- }
-
- if(! strlen($subject))
- $subject = t('[no subject]');
-
-
- // look for any existing conversation structure
-
- $conv_guid = '';
-
- if(strlen($replyto)) {
- $is_reply = true;
- $r = q("select conv_guid from mail where channel_id = %d and ( mid = '%s' or parent_mid = '%s' ) limit 1",
- intval(local_channel()),
- dbesc($replyto),
- dbesc($replyto)
- );
- if($r) {
- $conv_guid = $r[0]['conv_guid'];
- }
- }
-
- if(! $conv_guid) {
-
- // create a new conversation
-
- $retconv = create_conversation($channel,$recipient,$subject);
- if($retconv) {
- $conv_guid = $retconv['guid'];
- }
- }
-
- if(! $retconv) {
- $r = q("select * from conv where guid = '%s' and uid = %d limit 1",
- dbesc($conv_guid),
- intval(local_channel())
- );
- if($r) {
- $retconv = $r[0];
- }
- }
-
- if(! $retconv) {
- $ret['message'] = 'conversation not found';
- return $ret;
- }
-
- $c = q("update conv set updated = '%s' where guid = '%s' and uid = %d",
- dbesc(datetime_convert()),
- dbesc($conv_guid),
- intval(local_channel())
- );
-
- // generate a unique message_id
-
- do {
- $dups = false;
- $hash = random_string();
-
- $mid = $hash . '@' . App::get_hostname();
-
- $r = q("SELECT id FROM mail WHERE mid = '%s' LIMIT 1",
- dbesc($mid));
- if(count($r))
- $dups = true;
- } while($dups == true);
-
-
- if(! strlen($replyto)) {
- $replyto = $mid;
- }
-
- /**
- *
- * When a photo was uploaded into the message using the (profile wall) ajax
- * uploader, The permissions are initially set to disallow anybody but the
- * owner from seeing it. This is because the permissions may not yet have been
- * set for the post. If it's private, the photo permissions should be set
- * appropriately. But we didn't know the final permissions on the post until
- * now. So now we'll look for links of uploaded messages that are in the
- * post and set them to the same permissions as the post itself.
- *
- */
-
- $match = null;
- $images = null;
- if(preg_match_all("/\[zmg\=([0-9]*)x([0-9]*)\](.*?)\[\/zmg\]/",((strpos($body,'[/crypt]')) ? $_POST['media_str'] : $body),$match))
- $images = $match[3];
-
- $match = false;
-
-
- if($subject)
- $subject = str_rot47(base64url_encode($subject));
- if(($body )&& (! $raw))
- $body = str_rot47(base64url_encode($body));
-
- $mimetype = ''; //placeholder
-
- $r = q("INSERT INTO mail ( account_id, conv_guid, mail_obscured, channel_id, from_xchan, to_xchan, mail_mimetype, title, body, sig, attach, mid, parent_mid, created, expires, mail_isreply, mail_raw )
- VALUES ( %d, '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
- intval($channel['channel_account_id']),
- dbesc($conv_guid),
- intval(1),
- intval($channel['channel_id']),
- dbesc($channel['channel_hash']),
- dbesc($recipient),
- dbesc(($mimetype)? $mimetype : 'text/bbcode'),
- dbesc($subject),
- dbesc($body),
- dbesc($sig),
- dbesc($jattach),
- dbesc($mid),
- dbesc($replyto),
- dbesc(datetime_convert()),
- dbescdate($expires),
- intval($is_reply),
- intval($raw)
- );
-
- // verify the save
-
- $r = q("SELECT * FROM mail WHERE mid = '%s' and channel_id = %d LIMIT 1",
- dbesc($mid),
- intval($channel['channel_id'])
- );
- if($r) {
- $post_id = $r[0]['id'];
- $retmail = $r[0];
- xchan_mail_query($retmail);
- }
- else {
- $ret['message'] = t('Stored post could not be verified.');
- return $ret;
- }
-
- if($images) {
- foreach($images as $image) {
- if(! stristr($image,z_root() . '/photo/'))
- continue;
- $image_uri = substr($image, strrpos($image, '/') + 1);
- $image_uri = substr($image_uri, 0, strpos($image_uri, '.') - 2);
- $r = q("UPDATE photo SET allow_cid = '%s' WHERE resource_id = '%s' AND uid = %d and allow_cid = '%s'",
- dbesc('<' . $recipient . '>'),
- dbesc($image_uri),
- intval($channel['channel_id']),
- dbesc('<' . $channel['channel_hash'] . '>')
- );
- $r = q("UPDATE attach SET allow_cid = '%s' WHERE hash = '%s' AND is_photo = 1 and uid = %d and allow_cid = '%s'",
- dbesc('<' . $recipient . '>'),
- dbesc($image_uri),
- intval($channel['channel_id']),
- dbesc('<' . $channel['channel_hash'] . '>')
- );
- }
- }
-
- if($attaches) {
- foreach($attaches as $attach) {
- $hash = substr($attach,0,strpos($attach,','));
- $rev = intval(substr($attach,strpos($attach,',')));
- attach_store($channel,$observer_hash,$options = 'update', array(
- 'hash' => $hash,
- 'revision' => $rev,
- 'allow_cid' => '<' . $recipient . '>',
-
- ));
- }
- }
-
- Zotlabs\Daemon\Master::Summon(array('Notifier','mail',$post_id));
-
- $ret['success'] = true;
- $ret['message_item'] = intval($post_id);
- $ret['conv'] = $retconv;
- $ret['mail'] = $retmail;
-
- return $ret;
-
-}
-
-function create_conversation($channel,$recipient,$subject) {
-
- // create a new conversation
-
- $conv_guid = random_string();
-
- $recip = q("select * from xchan where xchan_hash = '%s' limit 1",
- dbesc($recipient)
- );
- if($recip)
- $recip_handle = $recip[0]['xchan_addr'];
-
- $sender_handle = channel_reddress($channel);
-
- $handles = $recip_handle . ';' . $sender_handle;
-
- if($subject)
- $nsubject = str_rot47(base64url_encode($subject));
-
- $r = q("insert into conv (uid,guid,creator,created,updated,subject,recips) values(%d, '%s', '%s', '%s', '%s', '%s', '%s') ",
- intval($channel['channel_id']),
- dbesc($conv_guid),
- dbesc($sender_handle),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc($nsubject),
- dbesc($handles)
- );
-
- $r = q("select * from conv where guid = '%s' and uid = %d limit 1",
- dbesc($conv_guid),
- intval($channel['channel_id'])
- );
-
- return $r[0];
-
-}
-
-
-function private_messages_list($uid, $mailbox = '', $start = 0, $numitems = 0) {
-
- $where = '';
- $limit = '';
-
- $t0 = dba_timer();
-
- if($numitems)
- $limit = " LIMIT " . intval($numitems) . " OFFSET " . intval($start);
-
- if($mailbox !== '') {
- $x = q("select channel_hash from channel where channel_id = %d limit 1",
- intval($uid)
- );
-
- if(! $x)
- return array();
-
- $channel_hash = dbesc($x[0]['channel_hash']);
- $local_channel = intval(local_channel());
-
- switch($mailbox) {
-
- case 'inbox':
- $sql = "SELECT * FROM mail WHERE channel_id = $local_channel AND from_xchan != '$channel_hash' ORDER BY created DESC $limit";
- break;
-
- case 'outbox':
- $sql = "SELECT * FROM mail WHERE channel_id = $local_channel AND from_xchan = '$channel_hash' ORDER BY created DESC $limit";
- break;
-
- case 'combined':
- default:
- $parents = q("SELECT mail.parent_mid FROM mail LEFT JOIN conv ON mail.conv_guid = conv.guid WHERE mail.mid = mail.parent_mid AND mail.channel_id = %d ORDER BY conv.updated DESC $limit",
- intval($local_channel)
- );
- break;
- }
-
- }
-
- $r = null;
-
- if($parents) {
- foreach($parents as $parent) {
- $all = q("SELECT * FROM mail WHERE parent_mid = '%s' AND channel_id = %d ORDER BY created DESC limit 1",
- dbesc($parent['parent_mid']),
- intval($local_channel)
- );
-
- if($all) {
- foreach($all as $single) {
- $r[] = $single;
- }
- }
- }
- }
- elseif($sql) {
- $r = q($sql);
- }
-
- if(! $r) {
- return array();
- }
-
- $chans = array();
- foreach($r as $rr) {
- $s = "'" . dbesc(trim($rr['from_xchan'])) . "'";
- if(! in_array($s,$chans))
- $chans[] = $s;
- $s = "'" . dbesc(trim($rr['to_xchan'])) . "'";
- if(! in_array($s,$chans))
- $chans[] = $s;
- }
-
- $c = q("select * from xchan where xchan_hash in (" . protect_sprintf(implode(',',$chans)) . ")");
-
- foreach($r as $k => $rr) {
- $r[$k]['from'] = find_xchan_in_array($rr['from_xchan'],$c);
- $r[$k]['to'] = find_xchan_in_array($rr['to_xchan'],$c);
- $r[$k]['seen'] = intval($rr['mail_seen']);
- if(intval($r[$k]['mail_obscured'])) {
- if($r[$k]['title'])
- $r[$k]['title'] = base64url_decode(str_rot47($r[$k]['title']));
- if($r[$k]['body'])
- $r[$k]['body'] = base64url_decode(str_rot47($r[$k]['body']));
- }
- }
-
- return $r;
-}
-
-
-
-function private_messages_fetch_message($channel_id, $messageitem_id, $updateseen = false) {
-
- $messages = q("select * from mail where id = %d and channel_id = %d order by created asc",
- dbesc($messageitem_id),
- intval($channel_id)
- );
-
- if(! $messages)
- return array();
-
- $chans = array();
- foreach($messages as $rr) {
- $s = "'" . dbesc(trim($rr['from_xchan'])) . "'";
- if(! in_array($s,$chans))
- $chans[] = $s;
- $s = "'" . dbesc(trim($rr['to_xchan'])) . "'";
- if(! in_array($s,$chans))
- $chans[] = $s;
- }
-
- $c = q("select * from xchan where xchan_hash in (" . protect_sprintf(implode(',',$chans)) . ")");
-
- foreach($messages as $k => $message) {
- $messages[$k]['from'] = find_xchan_in_array($message['from_xchan'],$c);
- $messages[$k]['to'] = find_xchan_in_array($message['to_xchan'],$c);
- if(intval($messages[$k]['mail_obscured'])) {
- if($messages[$k]['title'])
- $messages[$k]['title'] = base64url_decode(str_rot47($messages[$k]['title']));
- if($messages[$k]['body'])
- $messages[$k]['body'] = base64url_decode(str_rot47($messages[$k]['body']));
- }
- }
-
-
- if($updateseen) {
- $r = q("UPDATE mail SET mail_seen = 1 where mail_seen = 0 and id = %d AND channel_id = %d",
- dbesc($messageitem_id),
- intval($channel_id)
- );
- }
-
- return $messages;
-
-}
-
-
-function private_messages_drop($channel_id, $messageitem_id, $drop_conversation = false) {
-
-
- $x = q("select * from mail where id = %d and channel_id = %d limit 1",
- intval($messageitem_id),
- intval($channel_id)
- );
- if(! $x)
- return false;
-
- $conversation = null;
-
- if($x[0]['conv_guid']) {
- $y = q("select * from conv where guid = '%s' and uid = %d limit 1",
- dbesc($x[0]['conv_guid']),
- intval($channel_id)
- );
- if($y) {
- $conversation = $y[0];
- $conversation['subject'] = base64url_decode(str_rot47($conversation['subject']));
- }
- }
-
- if($drop_conversation) {
- $m = array();
- $m['conv'] = array($conversation);
- $m['conv'][0]['deleted'] = 1;
-
- $z = q("select * from mail where parent_mid = '%s' and channel_id = %d",
- dbesc($x[0]['parent_mid']),
- intval($channel_id)
- );
- if($z) {
- if($x[0]['conv_guid']) {
- q("delete from conv where guid = '%s' and uid = %d",
- dbesc($x[0]['conv_guid']),
- intval($channel_id)
- );
- }
- $m['mail'] = array();
- foreach($z as $zz) {
- xchan_mail_query($zz);
- $zz['mail_deleted'] = 1;
- $m['mail'][] = encode_mail($zz,true);
- }
- q("DELETE FROM mail WHERE parent_mid = '%s' AND channel_id = %d ",
- dbesc($x[0]['parent_mid']),
- intval($channel_id)
- );
- }
- build_sync_packet($channel_id,$m);
- return true;
- }
- else {
- xchan_mail_query($x[0]);
- $x[0]['mail_deleted'] = true;
- msg_drop($messageitem_id, $channel_id, $x[0]['conv_guid']);
- build_sync_packet($channel_id,array('mail' => array(encode_mail($x,true))));
- return true;
- }
- return false;
-
-}
-
-
-function private_messages_fetch_conversation($channel_id, $messageitem_id, $updateseen = false) {
-
- // find the parent_mid of the message being requested
-
- $r = q("SELECT parent_mid from mail WHERE channel_id = %d and id = %d limit 1",
- intval($channel_id),
- intval($messageitem_id)
- );
-
- if(! $r)
- return array();
-
- $messages = q("select * from mail where parent_mid = '%s' and channel_id = %d order by created asc",
- dbesc($r[0]['parent_mid']),
- intval($channel_id)
- );
-
- if(! $messages)
- return array();
-
- $chans = array();
- foreach($messages as $rr) {
- $s = "'" . dbesc(trim($rr['from_xchan'])) . "'";
- if(! in_array($s,$chans))
- $chans[] = $s;
- $s = "'" . dbesc(trim($rr['to_xchan'])) . "'";
- if(! in_array($s,$chans))
- $chans[] = $s;
- }
-
-
- $c = q("select * from xchan where xchan_hash in (" . protect_sprintf(implode(',',$chans)) . ")");
-
- foreach($messages as $k => $message) {
- $messages[$k]['from'] = find_xchan_in_array($message['from_xchan'],$c);
- $messages[$k]['to'] = find_xchan_in_array($message['to_xchan'],$c);
- if(intval($messages[$k]['mail_obscured'])) {
- if($messages[$k]['title'])
- $messages[$k]['title'] = base64url_decode(str_rot47($messages[$k]['title']));
- if($messages[$k]['body'])
- $messages[$k]['body'] = base64url_decode(str_rot47($messages[$k]['body']));
- }
- if($messages[$k]['mail_raw'])
- $messages[$k]['body'] = mail_prepare_binary([ 'id' => $messages[$k]['id'] ]);
-
- }
-
-
-
- if($updateseen) {
- $r = q("UPDATE mail SET mail_seen = 1 where mail_seen = 0 and parent_mid = '%s' AND channel_id = %d",
- dbesc($r[0]['parent_mid']),
- intval($channel_id)
- );
- }
-
- return $messages;
-
-}
-
diff --git a/include/msglib.php b/include/msglib.php
deleted file mode 100644
index f0bf523de..000000000
--- a/include/msglib.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/* Common private message processing functions */
-
-function msg_drop($message_id, $channel_id, $conv_guid) {
-
- // Delete message
- $r = q("DELETE FROM mail WHERE id = %d AND channel_id = %d",
- intval($message_id),
- intval($channel_id)
- );
-
- // Get new first message...
- $r = q("SELECT mid, parent_mid FROM mail WHERE conv_guid = '%s' AND channel_id = %d ORDER BY id ASC LIMIT 1",
- dbesc($conv_guid),
- intval($channel_id)
- );
- // ...and if wasn't first before...
- if ($r[0]['mid'] != $r[0]['parent_mid']) {
- // ...refer whole thread to it
- q("UPDATE mail SET parent_mid = '%s', mail_isreply = abs(mail_isreply - 1) WHERE conv_guid = '%s' AND channel_id = %d",
- dbesc($r[0]['mid']),
- dbesc($conv_guid),
- intval($channel_id)
- );
- }
-
-}
diff --git a/include/network.php b/include/network.php
index 77b7c49d6..194b50885 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1159,31 +1159,6 @@ function discover_by_webbie($webbie, $protocol = '') {
}
}
}
-
- foreach($x['links'] as $link) {
- if(array_key_exists('rel',$link)) {
-
- // If we discover zot - don't search further; grab the info and get out of
- // here.
-
- if($link['rel'] === PROTOCOL_ZOT && ((! $protocol) || (strtolower($protocol) === 'zot'))) {
- logger('zot found for ' . $webbie, LOGGER_DEBUG);
- if(array_key_exists('zot',$x) && $x['zot']['success']) {
- $i = import_xchan($x['zot']);
- return true;
- }
- else {
- $z = z_fetch_url($link['href']);
- if($z['success']) {
- $j = json_decode($z['body'],true);
- $i = import_xchan($j);
- return true;
- }
- }
- }
- }
- }
-
}
logger('webfinger: ' . print_r($x,true), LOGGER_DATA, LOG_INFO);
diff --git a/include/permissions.php b/include/permissions.php
index 9dd503132..33b385490 100644
--- a/include/permissions.php
+++ b/include/permissions.php
@@ -157,7 +157,7 @@ function get_all_perms($uid, $observer_xchan, $check_siteblock = true, $default_
// If we're still here, we have an observer, check the network.
if($channel_perm & PERMS_NETWORK) {
- if($x && in_array($x[0]['xchan_network'],[ 'zot','zot6'])) {
+ if($x && $x[0]['xchan_network'] === 'zot6') {
$ret[$perm_name] = true;
continue;
}
@@ -366,7 +366,7 @@ function perm_is_allowed($uid, $observer_xchan, $permission, $check_siteblock =
// If we're still here, we have an observer, check the network.
if($channel_perm & PERMS_NETWORK) {
- if ($x && in_array($x[0]['xchan_network'], ['zot','zot6']))
+ if ($x && $x[0]['xchan_network'] === 'zot6')
return true;
}
diff --git a/include/security.php b/include/security.php
index f433f8094..b6c0f1511 100644
--- a/include/security.php
+++ b/include/security.php
@@ -681,12 +681,11 @@ function get_security_ids($channel_id, $ob_hash) {
];
if ($channel_id) {
- $ch = q("select channel_hash, channel_portable_id from channel where channel_id = %d",
+ $ch = q("select channel_hash from channel where channel_id = %d",
intval($channel_id)
);
if ($ch) {
$ret['channel_id'][] = $ch[0]['channel_hash'];
- $ret['channel_id'][] = $ch[0]['channel_portable_id'];
}
}
diff --git a/include/socgraph.php b/include/socgraph.php
index aaea4550c..5b913dcfd 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -5,8 +5,6 @@ use Zotlabs\Lib\Libzot;
use Zotlabs\Lib\Libzotdir;
use Zotlabs\Lib\Zotfinger;
-require_once('include/dir_fns.php');
-require_once('include/zot.php');
/**
* poco_load
@@ -24,7 +22,7 @@ require_once('include/zot.php');
*
* Once the global contact is stored add (if necessary) the contact linkage which associates
* the given uid, cid to the global contact entry. There can be many uid/cid combinations
- * pointing to the same global contact id.
+ * pointing to the same global contact id.
*
* @param string $xchan
* @param string $url
@@ -127,14 +125,14 @@ function poco_load($xchan = '', $url = null) {
$profile_url = $url['value'];
continue;
}
- if(in_array($url['type'], ['zot','zot6'] )) {
+ if($url['type'] === 'zot6') {
$network = $url['type'];
$address = str_replace('acct:' , '', $url['value']);
continue;
}
}
}
- if(x($entry,'photos') && is_array($entry['photos'])) {
+ if(x($entry,'photos') && is_array($entry['photos'])) {
foreach($entry['photos'] as $photo) {
if($photo['type'] == 'profile') {
$profile_photo = $photo['value'];
@@ -145,7 +143,7 @@ function poco_load($xchan = '', $url = null) {
if((! $name) || (! $profile_url) || (! $profile_photo) || (! $hash) || (! $address)) {
logger('poco_load: missing data');
- continue;
+ continue;
}
$x = q("select xchan_hash from xchan where xchan_hash = '%s' limit 1",
@@ -168,18 +166,6 @@ function poco_load($xchan = '', $url = null) {
continue;
}
}
- if($network === 'zot') {
- $j = Zotlabs\Zot\Finger::run($address,null);
- if($j['success']) {
- import_xchan($j);
- }
- $x = q("select xchan_hash from xchan where xchan_hash = '%s' limit 1",
- dbesc($hash)
- );
- if(! $x) {
- continue;
- }
- }
}
else {
continue;
@@ -242,7 +228,7 @@ function common_friends($uid,$xchan,$start = 0,$limit=100000000,$shuffle = false
if($shuffle)
$sql_extra = " order by $rand ";
else
- $sql_extra = " order by xchan_name asc ";
+ $sql_extra = " order by xchan_name asc ";
$r = q("SELECT * from xchan left join xlink on xlink_link = xchan_hash where xlink_xchan = '%s' and xlink_static = 0 and xlink_link in
(select abook_xchan from abook where abook_xchan != '%s' and abook_channel = %d and abook_self = 0 ) $sql_extra limit %d offset %d",
@@ -318,7 +304,7 @@ function update_suggestions() {
$url = z_root() . '/sitelist';
}
else {
- $directory = find_upstream_directory($dirmode);
+ $directory = Libzotdir::find_upstream_directory($dirmode);
$url = $directory['url'] . '/sitelist';
}
if(! $url)
@@ -329,8 +315,8 @@ function update_suggestions() {
if($ret['success']) {
// We will grab fresh data once a day via the poller. Remove anything over a week old because
- // the targets may have changed their preferences and don't want to be suggested - and they
- // may have simply gone away.
+ // the targets may have changed their preferences and don't want to be suggested - and they
+ // may have simply gone away.
$r = q("delete from xlink where xlink_xchan = '' and xlink_updated < %s - INTERVAL %s and xlink_static = 0",
db_utcnow(), db_quoteinterval('7 DAY')
@@ -413,11 +399,11 @@ function poco($a,$extended = false) {
$sql_extra = sprintf(" and abook_id = %d and abook_hidden = 0 and abook_pending = 0 ",intval($cid));
if($system_mode) {
- $r = q("SELECT count(*) as total from abook where abook_self = 1
+ $r = q("SELECT count(*) as total from abook where abook_self = 1
and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1') ");
}
else {
- $r = q("SELECT count(*) as total from abook where abook_channel = %d
+ $r = q("SELECT count(*) as total from abook where abook_channel = %d
$sql_extra ",
intval($channel_id)
);
@@ -437,14 +423,14 @@ function poco($a,$extended = false) {
$itemsPerPage = ((x($_GET,'count') && intval($_GET['count'])) ? intval($_GET['count']) : $totalResults);
if($system_mode) {
- $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_self = 1
- and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1')
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_self = 1
+ and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1')
limit %d offset %d ",
intval($itemsPerPage),
intval($startIndex)
);
} else {
- $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d
$sql_extra LIMIT %d OFFSET %d",
intval($channel_id),
intval($itemsPerPage),
@@ -513,7 +499,7 @@ function poco($a,$extended = false) {
$entry['urls'] = array(array('value' => $rr['xchan_url'], 'type' => 'profile'));
$network = $rr['xchan_network'];
if($rr['xchan_addr'])
- $entry['urls'][] = array('value' => 'acct:' . $rr['xchan_addr'], 'type' => $network);
+ $entry['urls'][] = array('value' => 'acct:' . $rr['xchan_addr'], 'type' => $network);
}
if($fields_ret['preferredUsername'])
$entry['preferredUsername'] = substr($rr['xchan_addr'],0,strpos($rr['xchan_addr'],'@'));
@@ -536,7 +522,7 @@ function poco($a,$extended = false) {
if($format === 'json') {
header('Content-type: application/json');
echo json_encode($ret);
- killme();
+ killme();
}
else
http_status_exit(500);
diff --git a/include/text.php b/include/text.php
index 622c44f14..a0c2689af 100644
--- a/include/text.php
+++ b/include/text.php
@@ -1515,24 +1515,6 @@ function link_compare($a, $b) {
return false;
}
-// Given an item array, convert the body element from bbcode to html and add smilie icons.
-// If attach is true, also add icons for item attachments
-
-
-function unobscure(&$item) {
- return;
-}
-
-function unobscure_mail(&$item) {
- if(array_key_exists('mail_obscured',$item) && intval($item['mail_obscured'])) {
- if($item['title'])
- $item['title'] = base64url_decode(str_rot47($item['title']));
- if($item['body'])
- $item['body'] = base64url_decode(str_rot47($item['body']));
- }
-}
-
-
function theme_attachments(&$item) {
$s = '';
@@ -2067,7 +2049,7 @@ function get_plink($item,$conversation_mode = true) {
$zidify = true;
- if(array_key_exists('author',$item) && in_array($item['author']['xchan_network'], ['zot6', 'zot']) === false)
+ if(array_key_exists('author',$item) && $item['author']['xchan_network'] !== 'zot6')
$zidify = false;
if(x($item,$key)) {
@@ -2555,27 +2537,6 @@ function xchan_query(&$items, $abook = true, $effective_uid = 0) {
}
}
-function xchan_mail_query(&$item) {
- $arr = array();
- $chans = null;
- if($item) {
- if($item['from_xchan'] && (! in_array("'" . dbesc($item['from_xchan']) . "'",$arr)))
- $arr[] = "'" . dbesc($item['from_xchan']) . "'";
- if($item['to_xchan'] && (! in_array("'" . dbesc($item['to_xchan']) . "'",$arr)))
- $arr[] = "'" . dbesc($item['to_xchan']) . "'";
- }
-
- if(count($arr)) {
- $chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
- where xchan_hash in (" . protect_sprintf(implode(',', $arr)) . ") and hubloc_primary = 1");
- }
- if($chans) {
- $item['from'] = find_xchan_in_array($item['from_xchan'],$chans);
- $item['to'] = find_xchan_in_array($item['to_xchan'],$chans);
- }
-}
-
-
function find_xchan_in_array($xchan,$arr) {
if(count($arr)) {
foreach($arr as $x) {
@@ -2903,7 +2864,7 @@ function handle_tag(&$body, &$str_tags, $profile_uid, $tag, $in_network = true)
$newname = substr($name,1);
$newname = substr($newname,0,-1);
- $r = q("select * from xchan where xchan_addr = '%s' or xchan_url = '%s'",
+ $r = q("SELECT * FROM xchan WHERE xchan_addr = '%s' OR xchan_url = '%s' AND xchan_deleted = 0",
dbesc($newname),
dbesc($newname)
);
@@ -2929,18 +2890,18 @@ function handle_tag(&$body, &$str_tags, $profile_uid, $tag, $in_network = true)
// select someone from this user's contacts by name
- $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE xchan_name = '%s' AND abook_channel = %d ",
- dbesc($newname),
- intval($profile_uid)
+ $r = q("SELECT * FROM abook LEFT JOIN xchan ON abook_xchan = xchan_hash
+ WHERE xchan_name = '%s' AND abook_channel = %d AND xchan_deleted = 0",
+ dbesc($newname),
+ intval($profile_uid)
);
// select anybody by full hubloc_addr
if((! $r) && strpos($newname,'@')) {
- $r = q("SELECT * FROM xchan left join hubloc on xchan_hash = hubloc_hash
- WHERE hubloc_addr = '%s' ",
- dbesc($newname)
+ $r = q("SELECT * FROM xchan LEFT JOIN hubloc ON xchan_hash = hubloc_hash
+ WHERE hubloc_addr = '%s' AND xchan_deleted = 0 ",
+ dbesc($newname)
);
}
@@ -2950,10 +2911,10 @@ function handle_tag(&$body, &$str_tags, $profile_uid, $tag, $in_network = true)
// strip user-supplied wildcards before running a wildcard search
$newname = str_replace('%','',$newname);
- $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE xchan_addr like ('%s') AND abook_channel = %d ",
- dbesc(((strpos($newname,'@')) ? $newname : $newname . '@%')),
- intval($profile_uid)
+ $r = q("SELECT * FROM abook LEFT JOIN xchan ON abook_xchan = xchan_hash
+ WHERE xchan_addr LIKE ('%s') AND abook_channel = %d AND xchan_deleted = 0",
+ dbesc(((strpos($newname,'@')) ? $newname : $newname . '@%')),
+ intval($profile_uid)
);
}
@@ -3919,3 +3880,30 @@ function sanitize_text_field($str) {
return preg_replace('/\s+/S', ' ', $str);
}
+/**
+ * @brief shortens a string to $max_length without cutting off words
+ * @param string $str
+ * @param intval $max_length
+ * @param string $suffix (optional)
+
+ * @return string
+ */
+function substr_words($str, $max_length, $suffix = '...') {
+
+ if (strlen($str) > $max_length) {
+ $words = preg_split('/\s/', $str);
+ $ret = '';
+ $i = 0;
+ while (true) {
+ $length = (strlen($ret) + strlen($words[$i]));
+ if ($length > $max_length) {
+ break;
+ }
+ $ret .= " " . $words[$i];
+ ++$i;
+ }
+ $ret .= $suffix;
+ }
+
+ return (($ret) ? $ret : $str);
+}
diff --git a/include/xchan.php b/include/xchan.php
index 07fdb8b47..a32064303 100644
--- a/include/xchan.php
+++ b/include/xchan.php
@@ -85,13 +85,6 @@ function xchan_store($arr) {
}
}
- if($arr['network'] === 'zot') {
- if((! $arr['key']) || (! Crypto::verify($arr['guid'],base64url_decode($arr['guid_sig']),$arr['key']))) {
- logger('Unable to verify signature for ' . $arr['hash']);
- return false;
- }
- }
-
$columns = db_columns('xchan');
$x = [];
diff --git a/include/zid.php b/include/zid.php
index 0a33280ee..422683c95 100644
--- a/include/zid.php
+++ b/include/zid.php
@@ -14,7 +14,7 @@ function is_matrix_url($url) {
if(array_key_exists($m['host'],$remembered))
return $remembered[$m['host']];
- $r = q("select hubloc_url from hubloc where hubloc_host = '%s' and hubloc_network in ('zot', 'zot6') limit 1",
+ $r = q("select hubloc_url from hubloc where hubloc_host = '%s' and hubloc_network = 'zot6' limit 1",
dbesc($m['host'])
);
if($r) {
diff --git a/include/zot.php b/include/zot.php
deleted file mode 100644
index 634561fa3..000000000
--- a/include/zot.php
+++ /dev/null
@@ -1,5400 +0,0 @@
-<?php
-/**
- * @file include/zot.php
- * @brief Hubzilla implementation of zot protocol.
- *
- * https://github.com/friendica/red/wiki/zot
- * https://github.com/friendica/red/wiki/Zot---A-High-Level-Overview
- *
- */
-
-use Zotlabs\Lib\Crypto;
-use Zotlabs\Lib\DReport;
-use Zotlabs\Lib\Libzot;
-use Zotlabs\Lib\Activity;
-
-require_once('include/crypto.php');
-require_once('include/items.php');
-require_once('include/queue_fn.php');
-require_once('include/perm_upgrade.php');
-require_once('include/msglib.php');
-
-
-/**
- * @brief Generates a unique string for use as a zot guid.
- *
- * Generates a unique string for use as a zot guid using our DNS-based url, the
- * channel nickname and some entropy.
- * The entropy ensures uniqueness against re-installs where the same URL and
- * nickname are chosen.
- *
- * @note zot doesn't require this to be unique. Internally we use a whirlpool
- * hash of this guid and the signature of this guid signed with the channel
- * private key. This can be verified and should make the probability of
- * collision of the verified result negligible within the constraints of our
- * immediate universe.
- *
- * @param string $channel_nick a unique nickname of controlling entity
- * @returns string
- */
-function zot_new_uid($channel_nick) {
- $rawstr = z_root() . '/' . $channel_nick . '.' . mt_rand();
- return(base64url_encode(hash('whirlpool', $rawstr, true), true));
-}
-
-/**
- * @brief Generates a portable hash identifier for a channel.
- *
- * Generates a portable hash identifier for the channel identified by $guid and
- * signed with $guid_sig.
- *
- * @note This ID is portable across the network but MUST be calculated locally
- * by verifying the signature and can not be trusted as an identity.
- *
- * @param string $guid
- * @param string $guid_sig
- */
-function make_xchan_hash($guid, $guid_sig) {
- return base64url_encode(hash('whirlpool', $guid . $guid_sig, true));
-}
-
-/**
- * @brief Given a zot hash, return all distinct hubs.
- *
- * This function is used in building the zot discovery packet and therefore
- * should only be used by channels which are defined on this hub.
- *
- * @param string $hash - xchan_hash
- * @returns array of hubloc (hub location structures)
- * * \b hubloc_id int
- * * \b hubloc_guid char(191)
- * * \b hubloc_guid_sig text
- * * \b hubloc_hash char(191)
- * * \b hubloc_addr char(191)
- * * \b hubloc_flags int
- * * \b hubloc_status int
- * * \b hubloc_url char(191)
- * * \b hubloc_url_sig text
- * * \b hubloc_host char(191)
- * * \b hubloc_callback char(191)
- * * \b hubloc_connect char(191)
- * * \b hubloc_sitekey text
- * * \b hubloc_updated datetime
- * * \b hubloc_connected datetime
- */
-function zot_get_hublocs($hash) {
-
- /* Only search for active hublocs - e.g. those that haven't been marked deleted */
-
- $ret = q("select * from hubloc where hubloc_hash = '%s' and hubloc_deleted = 0 and hubloc_network = 'zot' order by hubloc_url ",
- dbesc($hash)
- );
-
- return $ret;
-}
-
-/**
- * @brief Builds a zot notification packet.
- *
- * Builds a zot notification packet that you can either store in the queue with
- * a message array or call zot_zot to immediately zot it to the other side.
- *
- * @param array $channel
- * sender channel structure
- * @param string $type
- * packet type: one of 'ping', 'pickup', 'purge', 'refresh', 'keychange', 'force_refresh', 'notify', 'auth_check'
- * @param array $recipients
- * envelope information, array ( 'guid' => string, 'guid_sig' => string ); empty for public posts
- * @param string $remote_key
- * optional public site key of target hub used to encrypt entire packet
- * NOTE: remote_key and encrypted packets are required for 'auth_check' packets, optional for all others
- * @param string $methods
- * optional comma separated list of encryption methods @ref zot_best_algorithm()
- * @param string $secret
- * random string, required for packets which require verification/callback
- * e.g. 'pickup', 'purge', 'notify', 'auth_check'. Packet types 'ping', 'force_refresh', and 'refresh' do not require verification
- * @param string $extra
- * @returns string json encoded zot packet
- */
-function zot_build_packet($channel, $type = 'notify', $recipients = null, $remote_key = null, $methods = '', $secret = null, $extra = null) {
-
- $sig_method = get_config('system','signature_algorithm','sha256');
-
- $data = [
- 'type' => $type,
- 'sender' => [
- 'guid' => $channel['channel_guid'],
- 'guid_sig' => base64url_encode(Crypto::sign($channel['channel_guid'],$channel['channel_prvkey'],$sig_method)),
- 'url' => z_root(),
- 'url_sig' => base64url_encode(Crypto::sign(z_root(),$channel['channel_prvkey'],$sig_method)),
- 'sitekey' => get_config('system','pubkey')
- ],
- 'callback' => '/post',
- 'version' => Zotlabs\Lib\System::get_zot_revision(),
- 'encryption' => Crypto::methods(),
- 'signing' => Crypto::signing_methods()
- ];
-
- if ($recipients) {
- for ($x = 0; $x < count($recipients); $x ++)
- unset($recipients[$x]['hash']);
-
- $data['recipients'] = $recipients;
- }
-
- if ($secret) {
- $data['secret'] = preg_replace('/[^0-9a-fA-F]/','',$secret);
- $data['secret_sig'] = base64url_encode(Crypto::sign($secret,$channel['channel_prvkey'],$sig_method));
- }
-
- if ($extra) {
- foreach ($extra as $k => $v)
- $data[$k] = $v;
- }
-
- logger('zot_build_packet: ' . print_r($data,true), LOGGER_DATA, LOG_DEBUG);
-
- // Hush-hush ultra top-secret mode
-
- if($remote_key) {
- $algorithm = zot_best_algorithm($methods);
- $data = Crypto::encapsulate(json_encode($data),$remote_key, $algorithm);
- }
-
- return json_encode($data);
-}
-
-
-/**
- * @brief Builds a zot6 notification packet.
- *
- * Builds a zot6 notification packet that you can either store in the queue with
- * a message array or call zot_zot to immediately zot it to the other side.
- *
- * @param array $channel
- * sender channel structure
- * @param string $type
- * packet type: one of 'ping', 'pickup', 'purge', 'refresh', 'keychange', 'force_refresh', 'notify', 'auth_check'
- * @param array $recipients
- * envelope information, array ( 'guid' => string, 'guid_sig' => string ); empty for public posts
- * @param string $msg
- * optional message
- * @param string $remote_key
- * optional public site key of target hub used to encrypt entire packet
- * NOTE: remote_key and encrypted packets are required for 'auth_check' packets, optional for all others
- * @param string $methods
- * optional comma separated list of encryption methods @ref zot_best_algorithm()
- * @param string $secret
- * random string, required for packets which require verification/callback
- * e.g. 'pickup', 'purge', 'notify', 'auth_check'. Packet types 'ping', 'force_refresh', and 'refresh' do not require verification
- * @param string $extra
- * @returns string json encoded zot packet
- */
-function zot6_build_packet($channel, $type = 'notify', $recipients = null, $msg = '', $remote_key = null, $methods = '', $secret = null, $extra = null) {
-
- $sig_method = get_config('system','signature_algorithm','sha256');
-
- $data = [
- 'type' => $type,
- 'sender' => [
- 'guid' => $channel['channel_guid'],
- 'guid_sig' => base64url_encode(Crypto::sign($channel['channel_guid'],$channel['channel_prvkey'],$sig_method)),
- 'url' => z_root(),
- 'url_sig' => base64url_encode(Crypto::sign(z_root(),$channel['channel_prvkey'],$sig_method)),
- 'sitekey' => get_config('system','pubkey')
- ],
- 'callback' => '/post',
- 'version' => Zotlabs\Lib\System::get_zot_revision(),
- 'encryption' => Crypto::methods(),
- 'signing' => Crypto::signing_methods()
- ];
-
- if ($recipients) {
- for ($x = 0; $x < count($recipients); $x ++)
- unset($recipients[$x]['hash']);
-
- $data['recipients'] = $recipients;
- }
-
- if($msg) {
- $data['msg'] = $msg;
- }
-
- if ($secret) {
- $data['secret'] = preg_replace('/[^0-9a-fA-F]/','',$secret);
- $data['secret_sig'] = base64url_encode(Crypto::sign($secret,$channel['channel_prvkey'],$sig_method));
- }
-
- if ($extra) {
- foreach ($extra as $k => $v)
- $data[$k] = $v;
- }
-
- logger('zot6_build_packet: ' . print_r($data,true), LOGGER_DATA, LOG_DEBUG);
-
- // Hush-hush ultra top-secret mode
-
- if($remote_key) {
- $algorithm = zot_best_algorithm($methods);
- $data = Crypto::encapsulate(json_encode($data),$remote_key, $algorithm);
- }
-
- return json_encode($data);
-}
-
-
-
-
-/**
- * @brief Choose best encryption function from those available on both sites.
- *
- * @param string $methods
- * comma separated list of encryption methods
- * @return string first match from our site method preferences Crypto::methods() array
- * of a method which is common to both sites; or 'aes256cbc' if no matches are found.
- */
-function zot_best_algorithm($methods) {
-
- $x = [
- 'methods' => $methods,
- 'result' => ''
- ];
- /**
- * @hooks zot_best_algorithm
- * Called when negotiating crypto algorithms with remote sites.
- * * \e string \b methods - comma separated list of encryption methods
- * * \e string \b result - the algorithm to return
- */
- call_hooks('zot_best_algorithm', $x);
-
- if($x['result'])
- return $x['result'];
-
- if($methods) {
- $x = explode(',', $methods);
- if($x) {
- $y = Crypto::methods();
- if($y) {
- foreach($y as $yv) {
- $yv = trim($yv);
- if(in_array($yv, $x)) {
- return($yv);
- }
- }
- }
- }
- }
-
- return 'aes256cbc';
-}
-
-
-/**
- * @brief
- *
- * @see z_post_url()
- *
- * @param string $url
- * @param array $data
- * @param array $channel (optional if using zot6 delivery)
- * @param array $crypto (optional if encrypted httpsig, requires hubloc_sitekey and site_crypto elements)
- * @return array see z_post_url() for returned data format
- */
-function zot_zot($url, $data, $channel = null,$crypto = null) {
-
- $headers = [];
-
- if($channel) {
- $headers['X-Zot-Token'] = random_string();
- $headers['X-Zot-Digest'] = \Zotlabs\Web\HTTPSig::generate_digest_header($data);
- $h = \Zotlabs\Web\HTTPSig::create_sig($headers,$channel['channel_prvkey'],'acct:' . channel_reddress($channel),false,'sha512',(($crypto) ? [ 'key' => $crypto['hubloc_sitekey'], 'algorithm' => $crypto['site_crypto'] ] : false));
- }
-
- $redirects = 0;
- return z_post_url($url, array('data' => $data),$redirects,((empty($h)) ? [] : [ 'headers' => $h ]));
-}
-
-/**
- * @brief Refreshes after permission changed or friending, etc.
- *
- * The top half of this function is similar to \\Zotlabs\\Zot\\Finger::run() and could potentially be
- * consolidated.
- *
- * zot_refresh is typically invoked when somebody has changed permissions of a channel and they are notified
- * to fetch new permissions via a finger/discovery operation. This may result in a new connection
- * (abook entry) being added to a local channel and it may result in auto-permissions being granted.
- *
- * Friending in zot is accomplished by sending a refresh packet to a specific channel which indicates a
- * permission change has been made by the sender which affects the target channel. The hub controlling
- * the target channel does targetted discovery (a zot-finger request requesting permissions for the local
- * channel). These are decoded here, and if necessary and abook structure (addressbook) is created to store
- * the permissions assigned to this channel.
- *
- * Initially these abook structures are created with a 'pending' flag, so that no reverse permissions are
- * implied until this is approved by the owner channel. A channel can also auto-populate permissions in
- * return and send back a refresh packet of its own. This is used by forum and group communication channels
- * so that friending and membership in the channel's "club" is automatic.
- *
- * @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
- *
- * @return boolean
- * * \b true if successful
- * * otherwise \b false
- */
-function zot_refresh($them, $channel = null, $force = false) {
-
- if (array_key_exists('xchan_network', $them) && ($them['xchan_network'] !== 'zot')) {
- logger('not got zot. ' . $them['xchan_name']);
- return true;
- }
-
- logger('them: ' . print_r($them,true), LOGGER_DATA, LOG_DEBUG);
- if ($channel)
- logger('channel: ' . print_r($channel,true), LOGGER_DATA, LOG_DEBUG);
-
- $url = null;
-
- if ($them['hubloc_url']) {
- $url = $them['hubloc_url'];
- }
- else {
- $r = null;
-
- // if they re-installed the server we could end up with the wrong record - pointing to the old install.
- // 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']) {
- $r = q("select hubloc_url, hubloc_primary from hubloc where hubloc_addr = '%s' order by hubloc_id desc",
- dbesc($them['xchan_addr'])
- );
- }
- if(! $r) {
- $r = q("select hubloc_url, hubloc_primary from hubloc where hubloc_hash = '%s' order by hubloc_id desc",
- dbesc($them['xchan_hash'])
- );
- }
-
- if ($r) {
- foreach ($r as $rr) {
- if (intval($rr['hubloc_primary'])) {
- $url = $rr['hubloc_url'];
- break;
- }
- }
- if (! $url)
- $url = $r[0]['hubloc_url'];
- }
- }
- if (! $url) {
- logger('zot_refresh: no url');
- return false;
- }
-
- $s = q("select site_dead from site where site_url = '%s' limit 1",
- dbesc($url)
- );
-
- 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;
- }
-
-
- $token = random_string();
-
- $postvars = [];
-
- $postvars['token'] = $token;
-
- if($channel) {
- $postvars['target'] = $channel['xchan_guid'];
- $postvars['target_sig'] = str_replace('sha256.', '', $channel['xchan_guid_sig']);
- $postvars['key'] = $channel['channel_pubkey'];
- }
-
- if (array_key_exists('xchan_addr',$them) && $them['xchan_addr'])
- $postvars['address'] = $them['xchan_addr'];
- if (array_key_exists('xchan_hash',$them) && $them['xchan_hash'])
- $postvars['guid_hash'] = $them['xchan_hash'];
- if (array_key_exists('xchan_guid',$them) && $them['xchan_guid']
- && array_key_exists('xchan_guid_sig',$them) && $them['xchan_guid_sig']) {
- $postvars['guid'] = $them['xchan_guid'];
- $postvars['guid_sig'] = $them['xchan_guid_sig'];
- }
-
- $rhs = '/.well-known/zot-info';
-
- logger('zot_refresh: ' . $url, LOGGER_DATA, LOG_INFO);
-
- $result = z_post_url($url . $rhs,$postvars);
-
- if ($result['success']) {
-
- $j = json_decode($result['body'],true);
-
- if (! (($j) && ($j['success']))) {
- logger('Result not decodable');
- return false;
- }
-
- logger('zot-info: ' . print_r($result,true), LOGGER_DATA, LOG_DEBUG);
-
- $signed_token = ((is_array($j) && array_key_exists('signed_token',$j)) ? $j['signed_token'] : null);
- if($signed_token) {
- $valid = Crypto::verify('token.' . $token,base64url_decode($signed_token),$j['key']);
- if(! $valid) {
- logger('invalid signed token: ' . $url . $rhs, LOGGER_NORMAL, LOG_ERR);
- return false;
- }
- }
- else {
- logger('No signed token from ' . $url . $rhs, LOGGER_NORMAL, LOG_WARNING);
- return false;
- }
-
- $x = import_xchan($j, (($force) ? UPDATE_FLAGS_FORCED : UPDATE_FLAGS_UPDATED));
-
- if(! $x['success'])
- return false;
-
- if($channel) {
- if($j['permissions']['data']) {
- $permissions = Crypto::unencapsulate(
- [
- 'encrypted' => true,
- 'data' => $j['permissions']['data'],
- 'key' => $j['permissions']['key'],
- 'iv' => $j['permissions']['iv'],
- 'alg' => $j['permissions']['alg']
- ],
- $channel['channel_prvkey']);
- if($permissions) {
- $permissions = json_decode($permissions,true);
- }
- logger('decrypted permissions: ' . print_r($permissions,true), LOGGER_DATA, LOG_DEBUG);
- }
- else
- $permissions = $j['permissions'];
-
- if($permissions && is_array($permissions)) {
- $old_read_stream_perm = get_abconfig($channel['channel_id'],$x['hash'],'their_perms','view_stream');
-
- foreach($permissions as $k => $v) {
- set_abconfig($channel['channel_id'],$x['hash'],'their_perms',$k,$v);
- }
- }
-
- if(array_key_exists('profile',$j) && array_key_exists('next_birthday',$j['profile'])) {
- $next_birthday = datetime_convert('UTC','UTC',$j['profile']['next_birthday']);
- }
- else {
- $next_birthday = NULL_DATE;
- }
-
- $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'],false);
-
- $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) {
-
- // connection exists
-
- // if the dob is the same as what we have stored (disregarding the year), keep the one
- // 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))
- $next_birthday = $r[0]['abook_dob'];
-
- $y = q("update abook set abook_dob = '%s'
- where abook_xchan = '%s' and abook_channel = %d
- and abook_self = 0 ",
- dbescdate($next_birthday),
- dbesc($x['hash']),
- intval($channel['channel_id'])
- );
-
- 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'])))
- Zotlabs\Daemon\Master::Summon(array('Onepoll',$r[0]['abook_id']));
- }
- }
- else {
-
- $p = \Zotlabs\Access\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);
- }
- }
-
- $closeness = get_pconfig($channel['channel_id'],'system','new_abook_closeness');
- if($closeness === false)
- $closeness = 80;
-
- $y = abook_store_lowlevel(
- [
- 'abook_account' => intval($channel['channel_account_id']),
- 'abook_channel' => intval($channel['channel_id']),
- 'abook_closeness' => intval($closeness),
- 'abook_xchan' => $x['hash'],
- 'abook_profile' => $profile_assign,
- 'abook_created' => datetime_convert(),
- 'abook_updated' => datetime_convert(),
- 'abook_dob' => $next_birthday,
- 'abook_pending' => intval(($automatic) ? 0 : 1)
- ]
- );
-
- if($y) {
- logger("New introduction received for {$channel['channel_name']}");
- $new_perms = get_all_perms($channel['channel_id'],$x['hash'],false);
-
- // Send a clone sync packet and a permissions update if permissions have changed
-
- $new_connection = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 order by abook_created desc limit 1",
- dbesc($x['hash']),
- intval($channel['channel_id'])
- );
-
- if($new_connection) {
- if(! \Zotlabs\Access\Permissions::PermsCompare($new_perms,$previous_perms))
- Zotlabs\Daemon\Master::Summon(array('Notifier','permission_create',$new_connection[0]['abook_id']));
- Zotlabs\Lib\Enotify::submit(
- [
- 'type' => NOTIFY_INTRO,
- 'from_xchan' => $x['hash'],
- 'to_xchan' => $channel['channel_portable_id'],
- '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'])))
- Zotlabs\Daemon\Master::Summon(array('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'])) {
- $default_group = $channel['channel_default_group'];
- if($default_group) {
- require_once('include/group.php');
- $g = group_rec_byhash($channel['channel_id'],$default_group);
- if($g)
- group_add_member($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)
- $new_connection['abconfig'] = $abconfig;
-
- build_sync_packet($channel['channel_id'], array('abook' => $new_connection));
- }
- }
- }
- }
- return true;
- }
-
- return false;
-}
-
-/**
- * @brief Look up if channel is known and previously verified.
- *
- * A guid and a url, both signed by the sender, distinguish a known sender at a
- * known location.
- * This function looks these up to see if the channel is known and therefore
- * previously verified. If not, we will need to verify it.
- *
- * @param array $arr an associative array which must contain:
- * * \e string \b guid => guid of conversant
- * * \e string \b guid_sig => guid signed with conversant's private key
- * * \e string \b url => URL of the origination hub of this communication
- * * \e string \b url_sig => URL signed with conversant's private key
- * @param boolean $multiple (optional) default false
- *
- * @return array|null
- * * null if site is blacklisted or not found
- * * otherwise an array with an hubloc record
- */
-function zot_gethub($arr, $multiple = false) {
-
- if($arr['guid'] && $arr['guid_sig'] && $arr['url'] && $arr['url_sig']) {
-
- if(! check_siteallowed($arr['url'])) {
- logger('blacklisted site: ' . $arr['url']);
- return null;
- }
-
- $limit = (($multiple) ? '' : ' limit 1 ');
- $sitekey = ((array_key_exists('sitekey',$arr) && $arr['sitekey']) ? " and hubloc_sitekey = '" . dbesc(protect_sprintf($arr['sitekey'])) . "' " : '');
-
- $r = q("select hubloc.*, site.site_crypto from hubloc left join site on hubloc_url = site_url
- where hubloc_guid = '%s' and hubloc_guid_sig = '%s'
- and hubloc_url = '%s' and hubloc_url_sig = '%s' and hubloc_network = 'zot'
- $sitekey $limit",
- dbesc($arr['guid']),
- dbesc($arr['guid_sig']),
- dbesc($arr['url']),
- dbesc($arr['url_sig'])
- );
- if($r) {
- logger('Found', LOGGER_DEBUG);
- return (($multiple) ? $r : $r[0]);
- }
- }
- logger('Not found: ' . print_r($arr,true), LOGGER_DEBUG);
-
- return false;
-}
-
-/**
- * @brief Registers an unknown hub.
- *
- * A communication has been received which has an unknown (to us) sender.
- * Perform discovery based on our calculated hash of the sender at the
- * origination address. This will fetch the discovery packet of the sender,
- * which contains the public key we need to verify our guid and url signatures.
- *
- * @param array $arr an associative array which must contain:
- * * \e string \b guid => guid of conversant
- * * \e string \b guid_sig => guid signed with conversant's private key
- * * \e string \b url => URL of the origination hub of this communication
- * * \e string \b url_sig => URL signed with conversant's private key
- *
- * @return array An associative array with
- * * \b success boolean true or false
- * * \b message (optional) error string only if success is false
- */
-function zot_register_hub($arr) {
-
- $result = [ 'success' => false ];
-
- if($arr['url'] && $arr['url_sig'] && $arr['guid'] && $arr['guid_sig']) {
-
- $sig_methods = ((array_key_exists('signing',$arr) && is_array($arr['signing'])) ? $arr['signing'] : [ 'sha256' ]);
-
- $guid_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']);
-
- $url = $arr['url'] . '/.well-known/zot-info/?f=&guid_hash=' . $guid_hash;
-
- logger('zot_register_hub: ' . $url, LOGGER_DEBUG);
-
- $x = z_fetch_url($url);
-
- logger('zot_register_hub: ' . print_r($x,true), LOGGER_DATA, LOG_DEBUG);
-
- if($x['success']) {
- $record = json_decode($x['body'],true);
-
- /*
- * We now have a key - only continue registration if our signatures are valid
- * AND the guid and guid sig in the returned packet match those provided in
- * our current communication.
- */
-
- foreach($sig_methods as $method) {
- if((Crypto::verify($arr['guid'],base64url_decode($arr['guid_sig']),$record['key'],$method))
- && (Crypto::verify($arr['url'],base64url_decode($arr['url_sig']),$record['key'],$method))
- && ($arr['guid'] === $record['guid'])
- && ($arr['guid_sig'] === $record['guid_sig'])) {
- $c = import_xchan($record);
- if($c['success'])
- $result['success'] = true;
- }
- else {
- logger('Failure to verify returned packet using ' . $method);
- }
- }
- }
- }
-
- return $result;
-}
-
-/**
- * @brief Takes an associative array of a fetched discovery packet and updates
- * all internal data structures which need to be updated as a result.
- *
- * @param array $arr => json_decoded discovery packet
- * @param int $ud_flags
- * Determines whether to create a directory update record if any changes occur, default is UPDATE_FLAGS_UPDATED
- * $ud_flags = UPDATE_FLAGS_FORCED indicates a forced refresh where we unconditionally create a directory update record
- * this typically occurs once a month for each channel as part of a scheduled ping to notify the directory
- * that the channel still exists
- * @param array $ud_arr
- * If set [typically by update_directory_entry()] indicates a specific update table row and more particularly
- * contains a particular address (ud_addr) which needs to be updated in that table.
- *
- * @return array An associative array with:
- * * \e boolean \b success boolean true or false
- * * \e string \b message (optional) error string only if success is false
- */
-function import_xchan($arr, $ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
-
- /**
- * @hooks import_xchan
- * Called when processing the result of zot_finger() to store the result
- * * \e array
- */
- call_hooks('import_xchan', $arr);
-
- $ret = array('success' => false);
- $dirmode = intval(get_config('system','directory_mode'));
-
- $changed = false;
- $what = '';
-
- if(! (is_array($arr) && array_key_exists('success',$arr) && $arr['success'])) {
- logger('Invalid data packet: ' . print_r($arr,true));
- $ret['message'] = t('Invalid data packet');
- return $ret;
- }
-
- if(! ($arr['guid'] && $arr['guid_sig'])) {
- logger('No identity information provided. ' . print_r($arr,true));
- return $ret;
- }
-
- $xchan_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']);
- $arr['hash'] = $xchan_hash;
-
- $import_photos = false;
-
- $sig_methods = ((array_key_exists('signing',$arr) && is_array($arr['signing'])) ? $arr['signing'] : [ 'sha256' ]);
- $verified = false;
-
- foreach($sig_methods as $method) {
- if(! Crypto::verify($arr['guid'],base64url_decode($arr['guid_sig']),$arr['key'],$method)) {
- logger('Unable to verify channel signature for ' . $arr['address'] . ' using ' . $method);
- continue;
- }
- else {
- $verified = true;
- }
- }
- if(! $verified) {
- $ret['message'] = t('Unable to verify channel signature');
- return $ret;
- }
-
- logger('import_xchan: ' . $xchan_hash, LOGGER_DEBUG);
-
- $r = q("select * from xchan where xchan_hash = '%s' limit 1",
- dbesc($xchan_hash)
- );
-
- if(! array_key_exists('connect_url', $arr))
- $arr['connect_url'] = '';
-
- if(strpos($arr['address'],'/') !== false)
- $arr['address'] = substr($arr['address'],0,strpos($arr['address'],'/'));
-
- if($r) {
- if($r[0]['xchan_photo_date'] != $arr['photo_updated'])
- $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');
-
- 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'])))
- $hidden_changed = 1;
- if(intval($r[0]['xchan_selfcensored']) != intval($arr['adult_content']))
- $adult_changed = 1;
- if(intval($r[0]['xchan_deleted']) != intval($arr['deleted']))
- $deleted_changed = 1;
- if(intval($r[0]['xchan_pubforum']) != intval($arr['public_forum']))
- $pubforum_changed = 1;
-
- if($arr['protocols']) {
- $protocols = implode(',',$arr['protocols']);
- if($protocols !== 'zot') {
- set_xconfig($xchan_hash,'system','protocols',$protocols);
- }
- else {
- del_xconfig($xchan_hash,'system','protocols');
- }
- }
-
- if(($r[0]['xchan_name_date'] != $arr['name_updated'])
- || ($r[0]['xchan_connurl'] != $arr['connections_url'])
- || ($r[0]['xchan_addr'] != $arr['address'])
- || ($r[0]['xchan_follow'] != $arr['follow_url'])
- || ($r[0]['xchan_connpage'] != $arr['connect_url'])
- || ($r[0]['xchan_url'] != $arr['url'])
- || $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'",
- dbesc(($arr['name']) ? $arr['name'] : '-'),
- dbesc($arr['name_updated']),
- dbesc($arr['connections_url']),
- dbesc($arr['follow_url']),
- dbesc($arr['connect_url']),
- intval(1 - intval($arr['searchable'])),
- intval($arr['adult_content']),
- intval($arr['deleted']),
- intval($arr['public_forum']),
- dbesc($arr['address']),
- dbesc($arr['url']),
- 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 ';
- $changed = true;
- }
- }
- else {
- $import_photos = true;
-
- if((($arr['site']['directory_mode'] === 'standalone')
- || ($dirmode & DIRECTORY_MODE_STANDALONE))
- && ($arr['site']['url'] != z_root()))
- $arr['searchable'] = false;
-
- $x = xchan_store_lowlevel(
- [
- 'xchan_hash' => $xchan_hash,
- 'xchan_guid' => $arr['guid'],
- 'xchan_guid_sig' => $arr['guid_sig'],
- 'xchan_pubkey' => $arr['key'],
- 'xchan_photo_mimetype' => $arr['photo_mimetype'],
- 'xchan_photo_l' => $arr['photo'],
- 'xchan_addr' => $arr['address'],
- 'xchan_url' => $arr['url'],
- 'xchan_connurl' => $arr['connections_url'],
- 'xchan_follow' => $arr['follow_url'],
- 'xchan_connpage' => $arr['connect_url'],
- 'xchan_name' => (($arr['name']) ? $arr['name'] : '-'),
- 'xchan_network' => 'zot',
- 'xchan_photo_date' => $arr['photo_updated'],
- 'xchan_name_date' => $arr['name_updated'],
- 'xchan_hidden' => intval(1 - intval($arr['searchable'])),
- 'xchan_selfcensored' => $arr['adult_content'],
- 'xchan_deleted' => $arr['deleted'],
- 'xchan_pubforum' => $arr['public_forum']
- ]
- );
-
- $what .= 'new_xchan';
- $changed = true;
- }
-
- if($import_photos) {
-
- require_once('include/photo/photo_driver.php');
-
- // see if this is a channel clone that's hosted locally - which we treat different from other xchans/connections
-
- $local = q("select channel_account_id, channel_id from channel where channel_portable_id = '%s' limit 1",
- dbesc($xchan_hash)
- );
-
- if($local) {
- // @FIXME This should be removed in future when profile photo update by file sync procedure will be applied
- // on most hubs in the network
- // <---
- $ph = z_fetch_url($arr['photo'], true);
-
- if($ph['success']) {
-
- // Do not fetch already received thumbnails
- $x = q("SELECT resource_id FROM photo WHERE uid = %d AND imgscale = %d AND filesize = %d LIMIT 1",
- intval($local[0]['channel_id']),
- intval(PHOTO_RES_PROFILE_300),
- strlen($ph['body'])
- );
-
- if($x)
- $hash = $x[0]['resource_id'];
- else
- $hash = import_channel_photo($ph['body'], $arr['photo_mimetype'], $local[0]['channel_account_id'], $local[0]['channel_id']);
- }
-
- if($hash) {
- // unless proven otherwise
- $is_default_profile = 1;
-
- $profile = q("select is_default from profile where aid = %d and uid = %d limit 1",
- intval($local[0]['channel_account_id']),
- intval($local[0]['channel_id'])
- );
- 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) {
- 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),
- dbesc($hash),
- intval($local[0]['channel_account_id']),
- intval($local[0]['channel_id'])
- );
- }
- }
- // --->
-
- // reset the names in case they got messed up when we had a bug in this function
- $photos = array(
- 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'], $xchan_hash);
- }
- 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'
- where xchan_hash = '%s'",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc($photos[3]),
- dbesc($xchan_hash)
- );
- }
- 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'])),
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc($photos[3]),
- dbesc($xchan_hash)
- );
- }
- $what .= 'photo ';
- $changed = true;
- }
- }
-
- // what we are missing for true hub independence is for any changes in the primary hub to
- // get reflected not only in the hublocs, but also to update the URLs and addr in the appropriate xchan
-
- $s = sync_locations($arr, $arr);
-
- if($s) {
- if($s['change_message'])
- $what .= $s['change_message'];
- if($s['changed'])
- $changed = $s['changed'];
- if($s['message'])
- $ret['message'] .= $s['message'];
- }
-
- // Which entries in the update table are we interested in updating?
-
- $address = (($ud_arr && $ud_arr['ud_addr']) ? $ud_arr['ud_addr'] : $arr['address']);
-
-
- // 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))
- $other_realm = true;
-
- 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 = import_directory_profile($xchan_hash,$arr['profile'],$address,$ud_flags, 1);
- if($profile_changed) {
- $what .= 'profile ';
- $changed = true;
- }
- }
- else {
- logger('Profile not available - hiding');
- // they may have made it private
- $r = q("delete from xprof where xprof_hash = '%s'",
- dbesc($xchan_hash)
- );
- $r = q("delete from xtag where xtag_hash = '%s' and xtag_flags = 0",
- dbesc($xchan_hash)
- );
- }
- }
-
- if(array_key_exists('site',$arr) && is_array($arr['site'])) {
- $profile_changed = import_site($arr['site'],$arr['key']);
- if($profile_changed) {
- $what .= 'site ';
- $changed = true;
- }
- }
-
- if(($changed) || ($ud_flags == UPDATE_FLAGS_FORCED)) {
- $guid = random_string() . '@' . App::get_hostname();
- update_modtime($xchan_hash,$guid,$address,$ud_flags);
- logger('Changed: ' . $what,LOGGER_DEBUG);
- }
- 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),
- dbesc($address),
- intval(UPDATE_FLAGS_UPDATED)
- );
- }
-
- if(! x($ret,'message')) {
- $ret['success'] = true;
- $ret['hash'] = $xchan_hash;
- }
-
- logger('Result: ' . print_r($ret,true), LOGGER_DATA, LOG_DEBUG);
- return $ret;
-}
-
-/**
- * @brief Called immediately after sending a zot message which is using queue processing.
- *
- * Updates the queue item according to the response result and logs any information
- * returned to aid communications troubleshooting.
- *
- * @param string $hub - url of site we just contacted
- * @param array $arr - output of z_post_url()
- * @param array $outq - The queue structure attached to this request
- */
-function zot_process_response($hub, $arr, $outq) {
-
- if(! $arr['success']) {
- logger('Failed: ' . $hub);
- return;
- }
-
- $dreport = true;
-
- $x = json_decode($arr['body'], true);
-
- if(! $x) {
- logger('No json from ' . $hub);
- logger('Headers: ' . print_r($arr['header'], true), LOGGER_DATA, LOG_DEBUG);
- }
-
- if(is_array($x) && array_key_exists('delivery_report',$x) && is_array($x['delivery_report'])) {
-
- if(array_key_exists('iv',$x['delivery_report'])) {
- $x['delivery_report']['encrypted'] = true;
- $j = Crypto::unencapsulate($x['delivery_report'],get_config('system','prvkey'));
- if($j) {
- $x['delivery_report'] = json_decode($j,true);
- }
- if(! (is_array($x['delivery_report']) && count($x['delivery_report']))) {
- logger('encrypted delivery report could not be decrypted');
- $dreport = false;
- }
- }
-
- if($dreport) {
- 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 zot recipients add a space and their name to the xchan. split those if true.
- $legacy_recipient = strpos($xx['recipient'], ' ');
- if($legacy_recipient !== false) {
- $legacy_recipient_parts = explode(' ', $xx['recipient'], 2);
- $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' ) ",
- dbesc($xx['message_id']),
- dbesc($xx['location']),
- dbesc($xx['recipient']),
- dbesc($xx['name']),
- dbesc($xx['status']),
- dbesc(datetime_convert('UTC','UTC',$xx['date'])),
- dbesc($xx['sender'])
- );
- }
- }
- }
- }
-
-
- if($dreport) {
- // we have a more descriptive delivery report, so discard the per hub 'queued' report.
- q("delete from dreport where dreport_queue = '%s' ",
- dbesc($outq['outq_hash'])
- );
- }
-
- // update the timestamp for this site
-
- q("update site set site_dead = 0, site_update = '%s' where site_url = '%s'",
- dbesc(datetime_convert()),
- dbesc(dirname($hub))
- );
-
- // synchronous message types are handled immediately
- // async messages remain in the queue until processed.
-
- if(intval($outq['outq_async']))
- remove_queue_item($outq['outq_hash'],$outq['outq_channel']);
-
- logger('zot_process_response: ' . print_r($x,true), LOGGER_DEBUG);
-}
-
-/**
- * @brief
- *
- * We received a notification packet (in mod_post) that a message is waiting for us, and we've verified the sender.
- * Check if the site is using zot6 delivery and includes a verified HTTP Signature, signed content, and a 'msg' field,
- * and also that the signer and the sender match.
- * If that happens, we do not need to fetch/pickup the message - we have it already and it is verified.
- * Translate it into the form we need for zot_import() and import it.
- *
- * Otherwise send back a pickup message, using our message tracking ID ($arr['secret']), which we will sign with our site
- * private key.
- * The entire pickup message is encrypted with the remote site's public key.
- * 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()
- */
-function zot_fetch($arr) {
-
- logger('zot_fetch: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
-
- $url = $arr['sender']['url'] . $arr['callback'];
-
- $import = null;
- $hubs = null;
-
- $zret = zot6_check_sig();
-
- if($zret['success'] && $zret['hubloc'] && $zret['hubloc']['hubloc_guid'] === $arr['sender']['guid'] && $arr['msg']) {
-
- logger('zot6_delivery',LOGGER_DEBUG);
- logger('zot6_data: ' . print_r($arr,true),LOGGER_DATA);
-
- $ret['collected'] = true;
-
- $import = [ 'success' => true, 'body' => json_encode( [ 'success' => true, 'pickup' => [ [ 'notify' => $arr, 'message' => json_decode($arr['msg'],true) ] ] ] ) ];
- $hubs = [ $zret['hubloc'] ] ;
- }
-
- if(! $hubs) {
- // set $multiple param on zot_gethub() to return all matching hubs
- // This allows us to recover from re-installs when a redundant (but invalid) hubloc for
- // this identity is widely dispersed throughout the network.
-
- $hubs = zot_gethub($arr['sender'],true);
- }
-
- if(! $hubs) {
- logger('No hub: ' . print_r($arr['sender'],true));
- return;
- }
-
- foreach($hubs as $hub) {
-
- if(! $import) {
- $secret = substr(preg_replace('/[^0-9a-fA-F]/','',$arr['secret']),0,64);
-
- $data = [
- 'type' => 'pickup',
- 'url' => z_root(),
- 'callback_sig' => base64url_encode(Crypto::sign(z_root() . '/post', get_config('system','prvkey'))),
- 'callback' => z_root() . '/post',
- 'secret' => $secret,
- 'secret_sig' => base64url_encode(Crypto::sign($secret, get_config('system','prvkey')))
- ];
-
- $algorithm = zot_best_algorithm($hub['site_crypto']);
- $datatosend = json_encode(Crypto::encapsulate(json_encode($data),$hub['hubloc_sitekey'], $algorithm));
-
- $import = zot_zot($url,$datatosend);
-
- }
- else {
- $algorithm = zot_best_algorithm($hub['site_crypto']);
- }
-
- $result = zot_import($import, $arr['sender']['url']);
-
- if($result) {
- $result = Crypto::encapsulate(json_encode($result),$hub['hubloc_sitekey'], $algorithm);
- return $result;
- }
-
- }
-
- return;
-}
-
-/**
- * @brief Process incoming array of messages.
- *
- * Process an incoming array of messages which were obtained via pickup, and
- * import, update, delete as directed.
- *
- * The message types handled here are 'activity' (e.g. posts), 'mail',
- * 'profile', 'location' and 'channel_sync'.
- *
- * @param array $arr
- * 'pickup' structure returned from remote site
- * @param string $sender_url
- * the url specified by the sender in the initial communication.
- * We will verify the sender and url in each returned message structure and
- * also verify that all the messages returned match the site url that we are
- * currently processing.
- *
- * @returns array
- * Suitable for logging remotely, enumerating the processing results of each message/recipient combination
- * * [0] => \e string $channel_portable_id
- * * [1] => \e string $delivery_status
- * * [2] => \e string $address
- */
-function zot_import($arr, $sender_url) {
-
- $data = json_decode($arr['body'], true);
-
- if(! $data) {
- logger('Empty body');
- return array();
- }
-
- if(array_key_exists('iv', $data)) {
- $data['encrypted'] = true;
- $data = json_decode(Crypto::unencapsulate($data,get_config('system','prvkey')),true);
- }
-
- if(! is_array($data)) {
- logger('decode error');
- return array();
- }
-
- if(! $data['success']) {
- if($data['message'])
- logger('remote pickup failed: ' . $data['message']);
- return false;
- }
-
- $incoming = $data['pickup'];
-
- $return = array();
-
- if(is_array($incoming)) {
- foreach($incoming as $i) {
- if(! is_array($i)) {
- logger('incoming is not an array');
- continue;
- }
-
- $result = null;
-
- if(array_key_exists('iv',$i['notify'])) {
- $i['notify']['encrypted'] = true;
- $i['notify'] = json_decode(Crypto::unencapsulate($i['notify'],get_config('system','prvkey')),true);
- }
-
- logger('Notify: ' . print_r($i['notify'],true), LOGGER_DATA, LOG_DEBUG);
-
- if(! is_array($i['notify'])) {
- logger('decode error');
- continue;
- }
-
-
- $hub = zot_gethub($i['notify']['sender']);
- if((! $hub) || ($hub['hubloc_url'] != $sender_url)) {
- logger('Potential forgery: wrong site for sender: ' . $sender_url . ' != ' . print_r($i['notify'],true));
- continue;
- }
-
- $message_request = ((array_key_exists('message_id',$i['notify'])) ? true : false);
- if($message_request)
- logger('processing message request');
-
- $i['notify']['sender']['hash'] = make_xchan_hash($i['notify']['sender']['guid'],$i['notify']['sender']['guid_sig']);
- $deliveries = null;
-
- if(array_key_exists('message',$i) && array_key_exists('type',$i['message']) && $i['message']['type'] === 'rating') {
- // rating messages are processed only by directory servers
- logger('Rating received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- $result = process_rating_delivery($i['notify']['sender'],$i['message']);
- continue;
- }
-
- if(array_key_exists('recipients',$i['notify']) && count($i['notify']['recipients'])) {
- logger('specific recipients');
- $recip_arr = array();
- foreach($i['notify']['recipients'] as $recip) {
- if(is_array($recip)) {
- $recip_arr[] = make_xchan_hash($recip['guid'],$recip['guid_sig']);
- }
- }
-
- $r = false;
- if($recip_arr) {
- stringify_array_elms($recip_arr);
- $recips = implode(',',$recip_arr);
- $r = q("select channel_portable_id as hash from channel where channel_portable_id in ( " . $recips . " )
- and channel_removed = 0 ");
- }
-
- if(! $r) {
- logger('recips: no recipients on this site');
- continue;
- }
-
- // It's a specifically targetted post. If we were sent a public_scope hint (likely),
- // get rid of it so that it doesn't get stored and cause trouble.
-
- if(($i) && is_array($i) && array_key_exists('message',$i) && is_array($i['message'])
- && $i['message']['type'] === 'activity' && array_key_exists('public_scope',$i['message']))
- unset($i['message']['public_scope']);
-
- $deliveries = $r;
-
- // We found somebody on this site that's in the recipient list.
-
- }
- else {
- if(($i['message']) && (array_key_exists('flags',$i['message'])) && (in_array('private',$i['message']['flags'])) && $i['message']['type'] === 'activity') {
- if(array_key_exists('public_scope',$i['message']) && $i['message']['public_scope'] === 'public') {
- // This should not happen but until we can stop it...
- logger('private message was delivered with no recipients.');
- continue;
- }
- }
-
- logger('public post');
-
- // Public post. look for any site members who are or may be accepting posts from this sender
- // and who are allowed to see them based on the sender's permissions
-
- $deliveries = allowed_public_recips($i);
-
- if($i['message'] && array_key_exists('type',$i['message']) && $i['message']['type'] === 'location') {
- $sys = get_sys_channel();
- $deliveries = array(array('hash' => $sys['xchan_hash']));
- }
-
- // if the scope is anything but 'public' we're going to store it as private regardless
- // of the private flag on the post.
-
- if($i['message'] && array_key_exists('public_scope',$i['message'])
- && $i['message']['public_scope'] !== 'public') {
-
- if(! array_key_exists('flags',$i['message']))
- $i['message']['flags'] = array();
- if(! in_array('private',$i['message']['flags']))
- $i['message']['flags'][] = 'private';
- }
- }
-
- // Go through the hash array and remove duplicates. array_unique() won't do this because the array is more than one level.
-
- $no_dups = array();
- if($deliveries) {
- foreach($deliveries as $d) {
- if(! is_array($d)) {
- logger('Delivery hash array is not an array: ' . print_r($d,true));
- continue;
- }
- if(! in_array($d['hash'],$no_dups))
- $no_dups[] = $d['hash'];
- }
-
- if($no_dups) {
- $deliveries = array();
- foreach($no_dups as $n) {
- $deliveries[] = array('hash' => $n);
- }
- }
- }
-
- if(! $deliveries) {
- logger('No deliveries on this site');
- continue;
- }
-
- if($i['message']) {
- if($i['message']['type'] === 'activity') {
- $arr = get_item_elements($i['message']);
-
- $v = validate_item_elements($i['message'],$arr);
-
- if(! $v['success']) {
- logger('Activity rejected: ' . $v['message'] . ' ' . print_r($i['message'],true));
- continue;
- }
-
- logger('Activity received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- logger('Activity recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG);
-
- $relay = ((array_key_exists('flags',$i['message']) && in_array('relay',$i['message']['flags'])) ? true : false);
- $result = process_delivery($i['notify']['sender'],$arr,$deliveries,$relay,false,$message_request);
- }
- elseif($i['message']['type'] === 'mail') {
- $arr = get_mail_elements($i['message']);
-
- logger('Mail received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- logger('Mail recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG);
-
- $result = process_mail_delivery($i['notify']['sender'],$arr,$deliveries);
- }
- elseif($i['message']['type'] === 'profile') {
- $arr = get_profile_elements($i['message']);
-
- logger('Profile received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- logger('Profile recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG);
-
- $result = process_profile_delivery($i['notify']['sender'],$arr,$deliveries);
- }
- elseif($i['message']['type'] === 'channel_sync') {
- // $arr = get_channelsync_elements($i['message']);
-
- $arr = $i['message'];
-
- logger('Channel sync received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- logger('Channel sync recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG);
-
- $result = process_channel_sync_delivery($i['notify']['sender'],$arr,$deliveries);
- }
- elseif($i['message']['type'] === 'location') {
- $arr = $i['message'];
-
- logger('Location message received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
- logger('Location message recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG);
-
- $result = process_location_delivery($i['notify']['sender'],$arr,$deliveries);
- }
- }
- if($result){
- $return = array_merge($return, $result);
- }
- }
- }
-
- return $return;
-}
-
-/**
- * @brief
- *
- * A public message with no listed recipients can be delivered to anybody who
- * has PERMS_NETWORK for that type of post, PERMS_AUTHED (in-network senders are
- * by definition authenticated) or PERMS_SITE and is one the same site,
- * or PERMS_SPECIFIC and the sender is a contact who is granted permissions via
- * their connection permissions in the address book.
- * Here we take a given message and construct a list of hashes of everybody
- * on the site that we should try and deliver to.
- * Some of these will be rejected, but this gives us a place to start.
- *
- * @param array $msg
- * @return NULL|array
- */
-function public_recips($msg) {
-
- require_once('include/channel.php');
-
- $check_mentions = false;
- $include_sys = false;
-
- if($msg['message']['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(array_key_exists('flags',$msg['message']) && in_array('thread_parent', $msg['message']['flags'])) {
- // check mention recipient permissions on top level posts only
- $check_mentions = true;
- }
- else {
-
- // This doesn't look like it works so I have to explain what happened. These are my
- // notes (below) from when I got this section of code working. You would think that
- // we only have to find those with the requisite stream or comment permissions,
- // depending on whether this is a top-level post or a comment - but you would be wrong.
-
- // ... so public_recips and allowed_public_recips is working so much better
- // than before, but was still not quite right. We seem to be getting all the right
- // results for top-level posts now, but comments aren't getting through on channels
- // for which we've allowed them to send us their stream, but not comment on our posts.
- // The reason is we were seeing if they could comment - and we only need to do that if
- // we own the post. If they own the post, we only need to check if they can send us their stream.
-
- // if this is a comment and it wasn't sent by the post owner, check to see who is allowing them to comment.
- // We should have one specific recipient and this step shouldn't be needed unless somebody stuffed up
- // their software. We may need this step to protect us from bad guys intentionally stuffing up their software.
- // If it is sent by the post owner, we don't need to do this. We only need to see who is receiving the
- // owner's stream (which was already set above) - as they control the comment permissions, not us.
-
- // Note that by doing this we introduce another bug because some public forums have channel_w_stream
- // permissions set to themselves only. We also need in this function to add these public forums to the
- // public recipient list based on if they are tagged or not and have tag permissions. This is complicated
- // by the fact that this activity doesn't have the public forum tag. It's the parent activity that
- // contains the tag. we'll solve that further below.
-
- if($msg['notify']['sender']['guid_sig'] != $msg['message']['owner']['guid_sig']) {
- $perm = 'post_comments';
- }
- }
- }
- elseif($msg['message']['type'] === 'mail')
- $perm = 'post_mail';
-
- $r = array();
-
- $c = q("select channel_id, channel_portable_id from channel where channel_removed = 0");
- if($c) {
- foreach($c as $cc) {
- if(perm_is_allowed($cc['channel_id'],$msg['notify']['sender']['hash'],$perm)) {
- $r[] = [ 'hash' => $cc['channel_portable_id'] ];
- }
- }
- }
-
- // logger('message: ' . print_r($msg['message'],true));
-
- if($include_sys && array_key_exists('public_scope',$msg['message']) && $msg['message']['public_scope'] === 'public') {
- $sys = get_sys_channel();
- if($sys)
- $r[] = [ 'hash' => $sys['channel_portable_id'] ];
- }
-
- // 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) {
- // It's a top level post. Look at the tags. See if any of them are mentions and are on this hub.
- if($msg['message']['tags']) {
- if(is_array($msg['message']['tags']) && $msg['message']['tags']) {
- foreach($msg['message']['tags'] as $tag) {
- if(($tag['type'] === 'mention' || $tag['type'] === 'forum') && (strpos($tag['url'],z_root()) !== false)) {
- $address = basename($tag['url']);
- if($address) {
- $z = q("select channel_portable_id as hash from channel where channel_address = '%s'
- and channel_removed = 0 limit 1",
- dbesc($address)
- );
- if($z)
- $r = array_merge($r,$z);
- }
- }
- }
- }
- }
- }
- else {
- // This is a comment. We need to find any parent with ITEM_UPLINK set. But in fact, let's just return
- // 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.
-
- if($msg['message']['message_top']) {
- $z = q("select owner_xchan as hash from item where parent_mid = '%s' ",
- dbesc($msg['message']['message_top'])
- );
- if($z)
- $r = array_merge($r,$z);
- }
- }
-
- // 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) {
- $uniq = array();
-
- foreach($r as $rr) {
- if(! in_array($rr['hash'],$uniq))
- $uniq[] = $rr['hash'];
- }
- $r = array();
- foreach($uniq as $rr) {
- $r[] = array('hash' => $rr);
- }
- }
-
- logger('public_recips: ' . print_r($r,true), LOGGER_DATA, LOG_DEBUG);
- return $r;
-}
-
-/**
- * @brief This is the second part of public_recips().
- *
- * We'll find all the channels willing to accept public posts from us, then
- * match them against the sender privacy scope and see who in that list that
- * the sender is allowing.
- *
- * @see public_recipes()
- * @param array $msg
- * @return array
- */
-function allowed_public_recips($msg) {
-
- logger('allowed_public_recips: ' . print_r($msg,true),LOGGER_DATA, LOG_DEBUG);
-
- if(array_key_exists('public_scope',$msg['message']))
- $scope = $msg['message']['public_scope'];
-
- // Mail won't have a public scope.
- // in fact, it's doubtful mail will ever get here since it almost universally
- // has a recipient, but in fact we don't require this, so it's technically
- // possible to send mail to anybody that's listening.
-
- $recips = public_recips($msg);
-
- if(! $recips)
- return $recips;
-
- if($msg['message']['type'] === 'mail')
- return $recips;
-
- if($scope === 'public' || $scope === 'network: red' || $scope === 'authenticated')
- return $recips;
-
- if(strpos($scope,'site:') === 0) {
- if(($scope === 'site: ' . App::get_hostname()) && ($msg['notify']['sender']['url'] === z_root()))
- return $recips;
- else
- return array();
- }
-
- $hash = make_xchan_hash($msg['notify']['sender']['guid'],$msg['notify']['sender']['guid_sig']);
-
- if($scope === 'self') {
- foreach($recips as $r)
- if($r['hash'] === $hash)
- return array('hash' => $hash);
- }
-
- // note: we shouldn't ever see $scope === 'specific' in this function, but handle it anyway
-
- if($scope === 'contacts' || $scope === 'any connections' || $scope === 'specific') {
- $condensed_recips = array();
- foreach($recips as $rr)
- $condensed_recips[] = $rr['hash'];
-
- $results = array();
- $r = q("select channel_portable_id as hash, channel_id from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and channel_removed = 0 ",
- dbesc($hash)
- );
- if($r) {
- foreach($r as $rr) {
- $cfg = get_abconfig($rr['channel_id'],$rr['hash'],'their_perms','view_stream');
- if((! $cfg) && $scope !== 'any connections')
- continue;
- if(in_array($rr['hash'],$condensed_recips))
- $results[] = array('hash' => $rr['hash']);
- }
- }
- return $results;
- }
-
- return array();
-}
-
-/**
- * @brief
- *
- * @param array $sender
- * @param array $arr
- * @param array $deliveries
- * @param boolean $relay
- * @param boolean $public (optional) default false
- * @param boolean $request (optional) default false
- * @return array
- */
-function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $request = false) {
-
- $result = array();
-
- $result['site'] = z_root();
-
- // We've validated the sender. Now make sure that the sender is the owner or author
-
- if(! $public) {
- if($sender['hash'] != $arr['owner_xchan'] && $sender['hash'] != $arr['author_xchan']) {
- logger("Sender {$sender['hash']} is not owner {$arr['owner_xchan']} or author {$arr['author_xchan']} - mid {$arr['mid']}");
- return;
- }
- }
-
- foreach($deliveries as $d) {
- $local_public = $public;
-
- $DR = new Zotlabs\Lib\DReport(z_root(),$sender['hash'],$d['hash'],$arr['mid']);
-
- $channel = channelx_by_portid($d['hash']);
-
- if(! $channel) {
- $DR->update('recipient not found');
- $result[] = $DR->get();
- continue;
- }
-
- $DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
-
- /* blacklisted channels get a permission denied, no special message to tip them off */
-
- if(! check_channelallowed($sender['hash'])) {
- $DR->update('permission denied');
- $result[] = $DR->get();
- continue;
- }
-
- /**
- * @FIXME: Somehow we need to block normal message delivery from our clones, as the delivered
- * message doesn't have ACL information in it as the cloned copy does. That copy
- * will normally arrive first via sync delivery, but this isn't guaranteed.
- * There's a chance the current delivery could take place before the cloned copy arrives
- * hence the item could have the wrong ACL and *could* be used in subsequent deliveries or
- * access checks. So far all attempts at identifying this situation precisely
- * have caused issues with delivery of relayed comments.
- */
-
-// if(($d['hash'] === $sender['hash']) && ($sender['url'] !== z_root()) && (! $relay)) {
-// $DR->update('self delivery ignored');
-// $result[] = $DR->get();
-// continue;
-// }
-
- // allow public postings to the sys channel regardless of permissions, but not
- // 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)) {
- $local_public = true;
-
- $r = q("select xchan_selfcensored from xchan where xchan_hash = '%s' limit 1",
- dbesc($sender['hash'])
- );
- // don't import sys channel posts from selfcensored authors
- if($r && (intval($r[0]['xchan_selfcensored']))) {
- $local_public = false;
- continue;
- }
- if(! \Zotlabs\Lib\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))
- $perm = 'post_comments';
-
- // This is our own post, possibly coming from a channel clone
-
- if($arr['owner_xchan'] == $d['hash']) {
- $arr['item_wall'] = 1;
- }
- else {
- $arr['item_wall'] = 0;
- }
-
-
- if ((! $tag_delivery) && (! $local_public)) {
- $allowed = (perm_is_allowed($channel['channel_id'],$sender['hash'],$perm));
-
- if((! $allowed) && $perm == 'post_comments') {
- $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['hash'],$parent[0]);
- }
- }
-
- if (! $allowed) {
- logger("permission denied for delivery to channel {$channel['channel_id']} {$channel['channel_address']}");
- $DR->update('permission denied');
- $result[] = $DR->get();
- continue;
- }
- }
-
- if($arr['mid'] != $arr['parent_mid']) {
-
- // check source route.
- // We are only going to accept comments from this sender if the comment has the same route as the top-level-post,
- // this is so that permissions mismatches between senders apply to the entire conversation
- // As a side effect we will also do a preliminary check that we have the top-level-post, otherwise
- // processing it is pointless.
-
- $r = q("select route, id from item where mid = '%s' and uid = %d limit 1",
- dbesc($arr['parent_mid']),
- intval($channel['channel_id'])
- );
- if(! $r) {
- $DR->update('comment parent not found');
- $result[] = $DR->get();
-
- // We don't seem to have a copy of this conversation or at least the parent
- // - so request a copy of the entire conversation to date.
- // Don't do this if it's a relay post as we're the ones who are supposed to
- // have the copy and we don't want the request to loop.
- // Also don't do this if this comment came from a conversation request packet.
- // It's possible that comments are allowed but posting isn't and that could
- // cause a conversation fetch loop. We can detect these packets since they are
- // delivered via a 'notify' packet type that has a message_id element in the
- // initial zot packet (just like the corresponding 'request' packet type which
- // makes the request).
- // We'll also check the send_stream permission - because if it isn't allowed,
- // 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['hash'],'send_stream')) {
- Zotlabs\Daemon\Master::Summon(array('Notifier', 'request', $channel['channel_id'], $sender['hash'], $arr['parent_mid']));
- }
- continue;
- }
- if($relay) {
- // 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.
- $arr['route'] = $r[0]['route'];
- }
- else {
-
- // going downstream check that we have the same upstream provider that
- // sent it to us originally. Ignore it if it came from another source
- // (with potentially different permissions).
- // only compare the last hop since it could have arrived at the last location any number of ways.
- // 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);
- }
- else {
- $last_hop = '';
- $last_prior_route = '';
- }
-
- if(in_array('undefined',$existing_route) || $last_hop == 'undefined' || $sender['hash'] == 'undefined')
- $last_hop = '';
-
- $current_route = (($arr['route']) ? $arr['route'] . ',' : '') . $sender['hash'];
-
- if($last_hop && $last_hop != $sender['hash']) {
- 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);
- $DR->update('comment route mismatch');
- $result[] = $DR->get();
- continue;
- }
-
- // we'll add sender['hash'] onto this when we deliver it. $last_prior_route now has the previously stored route
- // *except* for the sender['hash'] which would've been the last hop before it got to us.
-
- $arr['route'] = $last_prior_route;
- }
- }
-
- $ab = q("select * from abook where abook_channel = %d and abook_xchan = '%s'",
- intval($channel['channel_id']),
- dbesc($arr['owner_xchan'])
- );
-
- if(! $ab) {
-
- $best_owner_xchan = find_best_zot_identity($arr['owner_xchan']);
-
- $ab = q("select * from abook where abook_channel = %d and abook_xchan = '%s'",
- intval($channel['channel_id']),
- dbesc($best_owner_xchan)
- );
-
- if($ab) {
- logger('rewrite owner: ' . $arr['owner_xchan'] . ' > ' . $best_owner_xchan);
- $arr['owner_xchan'] = $best_owner_xchan;
- }
- }
-
- $best_author_xchan = find_best_zot_identity($arr['author_xchan']);
-
- $ab_author = q("select * from abook where abook_channel = %d and abook_xchan = '%s'",
- intval($channel['channel_id']),
- dbesc($best_author_xchan)
- );
-
- if($ab_author) {
- logger('rewrite author: ' . $arr['author_xchan'] . ' > ' . $best_author_xchan);
- $arr['author_xchan'] = $best_author_xchan;
- }
-
- $abook = (($ab) ? $ab[0] : null);
-
- if(intval($arr['item_deleted'])) {
-
- // remove_community_tag is a no-op if this isn't a community tag activity
- 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.
-
- $arr['aid'] = $channel['channel_account_id'];
- $arr['uid'] = $channel['channel_id'];
-
- $item_id = delete_imported_item($sender,$arr,$channel['channel_id'],$relay);
- $DR->update(($item_id) ? 'deleted' : 'delete_failed');
- $result[] = $DR->get();
-
- if($relay && $item_id) {
- logger('process_delivery: invoking relay');
- Zotlabs\Daemon\Master::Summon(array('Notifier','relay',intval($item_id)));
- $DR->update('relayed');
- $result[] = $DR->get();
- }
-
- continue;
- }
-
-
- $r = q("select * from item where mid = '%s' and uid = %d limit 1",
- dbesc($arr['mid']),
- intval($channel['channel_id'])
- );
- if($r) {
- // We already have this post.
- $item_id = $r[0]['id'];
-
- if(intval($r[0]['item_deleted'])) {
- // It was deleted locally.
- $DR->update('update ignored');
- $result[] = $DR->get();
-
- continue;
- }
- // Maybe it has been edited?
- 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))) {
- $DR->update('update ignored');
- $result[] = $DR->get();
- }
- else {
- $item_result = 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['hash']);
- }
- }
- else {
- $DR->update('update ignored');
- $result[] = $DR->get();
-
- // 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']))
- continue;
- }
- }
- else {
- $arr['aid'] = $channel['channel_account_id'];
- $arr['uid'] = $channel['channel_id'];
-
- // 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)) {
- /**
- * @hooks post_local
- * Called when an item has been posted on this machine via mod/item.php (also via API).
- * * \e array with an item
- */
- call_hooks('post_local', $arr);
- }
-
- $item_id = 0;
-
- 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']) {
- $item_id = $item_result['item_id'];
- $parr = [
- 'item_id' => $item_id,
- 'item' => $arr,
- 'sender' => $sender,
- 'channel' => $channel
- ];
- /**
- * @hooks activity_received
- * Called when an activity (post, comment, like, etc.) has been received from a zot source.
- * * \e int \b item_id
- * * \e array \b item
- * * \e array \b sender
- * * \e array \b channel
- */
- 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['hash']);
- }
- $DR->update(($item_id) ? 'posted' : 'storage failed: ' . $item_result['message']);
- $result[] = $DR->get();
- }
- }
-
- // 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'])
- && ($stored['author_xchan'] === $channel['channel_portable_id'])) {
- retain_item($stored['item']['parent']);
- }
-
- if($relay && $item_id) {
- logger('Invoking relay');
- Zotlabs\Daemon\Master::Summon(array('Notifier','relay',intval($item_id)));
- $DR->addto_update('relayed');
- $result[] = $DR->get();
- }
- }
-
- if(! $deliveries)
- $result[] = array('', 'no recipients', '', $arr['mid']);
-
- logger('Local results: ' . print_r($result, true), LOGGER_DEBUG);
-
- return $result;
-}
-
-/**
- * @brief Remove community tag.
- *
- * @param array $sender an associative array with
- * * \e string \b hash a xchan_hash
- * @param array $arr an associative array
- * * \e int \b verb
- * * \e int \b obj_type
- * * \e int \b mid
- * @param int $uid
- */
-function remove_community_tag($sender, $arr, $uid) {
-
- 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')) {
- logger('Permission denied.');
- return;
- }
-
- $r = q("select * from item where mid = '%s' and uid = %d limit 1",
- dbesc($arr['mid']),
- intval($uid)
- );
- if(! $r) {
- logger('No item');
- return;
- }
-
- if(($sender['hash'] != $r[0]['owner_xchan']) && ($sender['hash'] != $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['object'])) {
- logger('No target/object');
- return;
- }
-
- $message_id = $i['target']['id'];
-
- $r = q("select id from item where mid = '%s' and uid = %d limit 1",
- dbesc($message_id),
- intval($uid)
- );
- if(! $r) {
- logger('No parent message');
- return;
- }
-
- q("delete from term where uid = %d and oid = %d and otype = %d and ttype in ( %d, %d ) and term = '%s' and url = '%s'",
- intval($uid),
- intval($r[0]['id']),
- intval(TERM_OBJ_POST),
- intval(TERM_HASHTAG),
- intval(TERM_COMMUNITYTAG),
- dbesc($i['object']['title']),
- dbesc(get_rel_link($i['object']['link'],'alternate'))
- );
-}
-
-/**
- * @brief Updates an imported item.
- *
- * @see item_store_update()
- *
- * @param array $sender
- * @param array $item
- * @param array $orig
- * @param int $uid
- * @param boolean $tag_delivery
- */
-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']) {
- unset($item['allow_cid']);
- unset($item['allow_gid']);
- unset($item['deny_cid']);
- unset($item['deny_gid']);
- unset($item['item_private']);
- }
-
- // 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['hash'] != $orig['owner_xchan'] && $sender['hash'] != $orig['author_xchan']) && (! $tag_delivery)) {
- logger('sender is not owner or author');
- return;
- }
-
-
- $x = item_store_update($item);
-
- // 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') {
- $res = event_addtocal($orig['id'], $uid);
- if(! $res)
- logger('update event: failed');
- }
-
- if(! $x['item_id'])
- logger('update_imported_item: failed: ' . $x['message']);
- else
- logger('update_imported_item');
-
- return $x;
-}
-
-/**
- * @brief Deletes an imported item.
- *
- * @param array $sender
- * * \e string \b hash a xchan_hash
- * @param array $item
- * @param int $uid
- * @param boolean $relay
- * @return boolean|int post_id
- */
-function delete_imported_item($sender, $item, $uid, $relay) {
-
- logger('invoked', LOGGER_DEBUG);
-
- $ownership_valid = false;
- $item_found = false;
- $post_id = 0;
-
- $r = q("select * from item where ( author_xchan = '%s' or owner_xchan = '%s' or source_xchan = '%s' )
- and mid = '%s' and uid = %d limit 1",
- dbesc($sender['hash']),
- dbesc($sender['hash']),
- dbesc($sender['hash']),
- dbesc($item['mid']),
- intval($uid)
- );
-
- if($r) {
-
- $stored = $r[0];
-
- if($stored['author_xchan'] === $sender['hash'] || $stored['owner_xchan'] === $sender['hash'] || $stored['source_xchan'] === $sender['hash'])
- $ownership_valid = true;
-
- $post_id = $stored['id'];
- $item_found = true;
- }
- else {
-
- // perhaps the item is still in transit and the delete notification got here before the actual item did. Store it with the deleted flag set.
- // item_store() won't try to deliver any notifications or start delivery chains if this flag is set.
- // This means we won't end up with potentially even more delivery threads trying to push this delete notification.
- // But this will ensure that if the (undeleted) original post comes in at a later date, we'll reject it because it will have an older timestamp.
-
- logger('delete received for non-existent item - storing item data.');
-
- if($item['author_xchan'] === $sender['hash'] || $item['owner_xchan'] === $sender['hash'] || $item['source_xchan'] === $sender['hash']) {
- $ownership_valid = true;
- $item_result = item_store($item);
- $post_id = $item_result['item_id'];
- }
- }
-
- if($ownership_valid === false) {
- logger('delete_imported_item: failed: ownership issue');
- return false;
- }
-
- if ($stored['resource_type'] === 'event') {
- $i = q("SELECT * FROM event WHERE event_hash = '%s' AND uid = %d LIMIT 1",
- dbesc($stored['resource_id']),
- intval($uid)
- );
- if ($i) {
- if ($i[0]['event_xchan'] === $sender['hash']) {
- q("delete from event where event_hash = '%s' and uid = %d",
- dbesc($stored['resource_id']),
- intval($uid)
- );
- }
- else {
- logger('delete linked event: not owner');
- return;
- }
- }
- }
-
- require_once('include/items.php');
-
- if($item_found) {
- if(intval($stored['item_deleted'])) {
- logger('delete_imported_item: item was already deleted');
- if(! $relay)
- return false;
-
- // This is a bit hackish, but may have to suffice until the notification/delivery loop is optimised
- // a bit further. We're going to strip the ITEM_ORIGIN on this item if it's a comment, because
- // it was already deleted, and we're already relaying, and this ensures that no other process or
- // code path downstream can relay it again (causing a loop). Since it's already gone it's not coming
- // back, and we aren't going to (or shouldn't at any rate) delete it again in the future - so losing
- // this information from the metadata should have no other discernible impact.
-
- if (($stored['id'] != $stored['parent']) && intval($stored['item_origin'])) {
- q("update item set item_origin = 0 where id = %d and uid = %d",
- intval($stored['id']),
- intval($stored['uid'])
- );
- }
- }
-
- require_once('include/items.php');
-
- // Use phased deletion to set the deleted flag, call both tag_deliver and the notifier to notify downstream channels
- // and then clean up after ourselves with a cron job after several days to do the delete_item_lowlevel() (DROPITEM_PHASE2).
-
- drop_item($post_id, false, DROPITEM_PHASE1);
- tag_deliver($uid, $post_id);
- }
-
- return $post_id;
-}
-
-function process_mail_delivery($sender, $arr, $deliveries) {
-
- $result = array();
-
- if($sender['hash'] != $arr['from_xchan']) {
- logger('process_mail_delivery: sender is not mail author');
- return;
- }
-
- foreach($deliveries as $d) {
-
- $DR = new Zotlabs\Lib\DReport(z_root(),$sender['hash'],$d['hash'],$arr['mid']);
-
- $r = q("select * from channel where channel_portable_id = '%s' limit 1",
- dbesc($d['hash'])
- );
-
- if(! $r) {
- $DR->update('recipient not found');
- $result[] = $DR->get();
- continue;
- }
-
- $channel = $r[0];
- $DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
-
- /* blacklisted channels get a permission denied, no special message to tip them off */
-
- if(! check_channelallowed($sender['hash'])) {
- $DR->update('permission denied');
- $result[] = $DR->get();
- continue;
- }
-
-
- if(! perm_is_allowed($channel['channel_id'],$sender['hash'],'post_mail')) {
-
- /*
- * Always allow somebody to reply if you initiated the conversation. It's anti-social
- * and a bit rude to send a private message to somebody and block their ability to respond.
- * If you are being harrassed and want to put an end to it, delete the conversation.
- */
-
- $return = false;
- 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) {
- logger("permission denied for mail delivery {$channel['channel_id']}");
- $DR->update('permission denied');
- $result[] = $DR->get();
- continue;
- }
- }
-
- $r = q("select id, conv_guid from mail where mid = '%s' and channel_id = %d limit 1",
- dbesc($arr['mid']),
- intval($channel['channel_id'])
- );
- if($r) {
- if(intval($arr['mail_recalled'])) {
- msg_drop($r[0]['id'], $channel['channel_id'], $r[0]['conv_guid']);
- $DR->update('mail recalled');
- $result[] = $DR->get();
- logger('mail_recalled');
- }
- else {
- $DR->update('duplicate mail received');
- $result[] = $DR->get();
- logger('duplicate mail received');
- }
- continue;
- }
- else {
- $arr['account_id'] = $channel['channel_account_id'];
- $arr['channel_id'] = $channel['channel_id'];
- $item_id = mail_store($arr);
- $DR->update('mail delivered');
- $result[] = $DR->get();
- }
- }
-
- return $result;
-}
-
-/**
- * @brief Processes delivery of rating.
- *
- * @param array $sender
- * * \e string \b hash a xchan_hash
- * @param array $arr
- */
-function process_rating_delivery($sender, $arr) {
-
- logger('process_rating_delivery: ' . print_r($arr,true));
-
- if(! $arr['target'])
- return;
-
- $z = q("select xchan_pubkey from xchan where xchan_hash = '%s' limit 1",
- dbesc($sender['hash'])
- );
-
- if((! $z) || (! Crypto::verify($arr['target'] . '.' . $arr['rating'] . '.' . $arr['rating_text'], base64url_decode($arr['signature']),$z[0]['xchan_pubkey']))) {
- logger('failed to verify rating');
- return;
- }
-
- $r = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1 limit 1",
- dbesc($sender['hash']),
- dbesc($arr['target'])
- );
-
- if($r) {
- if($r[0]['xlink_updated'] >= $arr['edited']) {
- logger('rating message duplicate');
- return;
- }
-
- $x = q("update xlink set xlink_rating = %d, xlink_rating_text = '%s', xlink_sig = '%s', xlink_updated = '%s' where xlink_id = %d",
- intval($arr['rating']),
- dbesc($arr['rating_text']),
- dbesc($arr['signature']),
- dbesc(datetime_convert()),
- intval($r[0]['xlink_id'])
- );
- logger('rating updated');
- }
- else {
- $x = q("insert into xlink ( xlink_xchan, xlink_link, xlink_rating, xlink_rating_text, xlink_sig, xlink_updated, xlink_static )
- values( '%s', '%s', %d, '%s', '%s', '%s', 1 ) ",
- dbesc($sender['hash']),
- dbesc($arr['target']),
- intval($arr['rating']),
- dbesc($arr['rating_text']),
- dbesc($arr['signature']),
- dbesc(datetime_convert())
- );
- logger('rating created');
- }
-}
-
-/**
- * @brief Processes delivery of profile.
- *
- * @see import_directory_profile()
- * @param array $sender an associative array
- * * \e string \b hash a xchan_hash
- * @param array $arr
- * @param array $deliveries (unused)
- */
-function process_profile_delivery($sender, $arr, $deliveries) {
-
- logger('process_profile_delivery', LOGGER_DEBUG);
-
- $r = q("select xchan_addr from xchan where xchan_hash = '%s' limit 1",
- dbesc($sender['hash'])
- );
- if($r)
- import_directory_profile($sender['hash'], $arr, $r[0]['xchan_addr'], UPDATE_FLAGS_UPDATED, 0);
-}
-
-
-/**
- * @brief
- *
- * @param array $sender an associative array
- * * \e string \b hash a xchan_hash
- * @param array $arr
- * @param array $deliveries (unused) deliveries is irrelevant
- */
-function process_location_delivery($sender, $arr, $deliveries) {
-
- // deliveries is irrelevant
- logger('process_location_delivery', LOGGER_DEBUG);
-
- $r = q("select xchan_pubkey from xchan where xchan_hash = '%s' limit 1",
- dbesc($sender['hash'])
- );
- if($r)
- $sender['key'] = $r[0]['xchan_pubkey'];
-
- if(array_key_exists('locations',$arr) && $arr['locations']) {
- $x = sync_locations($sender,$arr,true);
- logger('results: ' . print_r($x,true), LOGGER_DEBUG);
- if($x['changed']) {
- $guid = random_string() . '@' . App::get_hostname();
- update_modtime($sender['hash'],$sender['guid'],$arr['locations'][0]['address'],UPDATE_FLAGS_UPDATED);
- }
- }
-}
-
-/**
- * @brief Checks for a moved UNO channel and sets the channel_moved flag.
- *
- * Currently the effect of this flag is to turn the channel into 'read-only' mode.
- * New content will not be processed (there was still an issue with blocking the
- * ability to post comments as of 10-Mar-2016).
- * We do not physically remove the channel at this time. The hub admin may choose
- * to do so, but is encouraged to allow a grace period of several days in case there
- * are any issues migrating content. This packet will generally be received by the
- * original site when the basic channel import has been processed.
- *
- * This will only be executed on the UNO system which is the old location
- * if a new location is reported and there is only one location record.
- * The rest of the hubloc syncronisation will be handled within
- * sync_locations
- *
- * @param string $sender_hash A channel hash
- * @param array $locations
- */
-function check_location_move($sender_hash, $locations) {
-
- if(! $locations)
- return;
-
- if(count($locations) != 1)
- return;
-
- $loc = $locations[0];
-
- $r = q("select * from channel where channel_portable_id = '%s' limit 1",
- dbesc($sender_hash)
- );
-
- if(! $r)
- return;
-
- if($loc['url'] !== z_root()) {
- $x = q("update channel set channel_moved = '%s' where channel_portable_id = '%s' limit 1",
- dbesc($loc['url']),
- dbesc($sender_hash)
- );
-
- // federation plugins may wish to notify connections
- // of the move on singleton networks
-
- $arr = [
- 'channel' => $r[0],
- 'locations' => $locations
- ];
- /**
- * @hooks location_move
- * Called when a new location has been provided to a UNO channel (indicating a move rather than a clone).
- * * \e array \b channel
- * * \e array \b locations
- */
- call_hooks('location_move', $arr);
- }
-}
-
-
-/**
- * @brief Synchronises locations.
- *
- * @param array $sender
- * @param array $arr
- * @param boolean $absolute (optional) default false
- * @return array
- */
-function sync_locations($sender, $arr, $absolute = false) {
-
- $ret = array();
-
- if($arr['locations']) {
-
- if($absolute)
- check_location_move($sender['hash'],$arr['locations']);
-
- $xisting = q("select hubloc_id, hubloc_url, hubloc_sitekey from hubloc where hubloc_hash = '%s'",
- dbesc($sender['hash'])
- );
-
- // See if a primary is specified
-
- $has_primary = false;
- foreach($arr['locations'] as $location) {
- if($location['primary']) {
- $has_primary = true;
- break;
- }
- }
-
- // Ensure that they have one primary hub
-
- if(! $has_primary)
- $arr['locations'][0]['primary'] = true;
-
- foreach($arr['locations'] as $location) {
- if(! Crypto::verify($location['url'],base64url_decode($location['url_sig']),$sender['key'])) {
- logger('Unable to verify site signature for ' . $location['url']);
- $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'])
- && ($xisting[$x]['hubloc_sitekey'] === $location['sitekey'])) {
- $xisting[$x]['updated'] = 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'],'/'));
-
- // match as many fields as possible in case anything at all changed.
-
- $r = q("select * from hubloc where hubloc_hash = '%s' and hubloc_guid = '%s' and hubloc_guid_sig = '%s' and hubloc_url = '%s' and hubloc_url_sig = '%s' and hubloc_host = '%s' and hubloc_addr = '%s' and hubloc_callback = '%s' and hubloc_sitekey = '%s' ",
- dbesc($sender['hash']),
- dbesc($sender['guid']),
- dbesc($sender['guid_sig']),
- dbesc($location['url']),
- dbesc($location['url_sig']),
- dbesc($location['host']),
- dbesc($location['address']),
- dbesc($location['callback']),
- dbesc($location['sitekey'])
- );
- if($r) {
- logger('Hub exists: ' . $location['url'], LOGGER_DEBUG);
-
- // update connection timestamp if this is the site we're talking to
- // This only happens when called from import_xchan
-
- $current_site = false;
-
- $t = datetime_convert('UTC','UTC','now - 15 minutes');
-
- 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()),
- intval($r[0]['hubloc_id']),
- dbesc($t)
- );
- $current_site = true;
- }
-
- 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'])) {
- q("update hubloc set hubloc_orphancheck = 0 where hubloc_id = %d",
- intval($r[0]['hubloc_id'])
- );
- }
- q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'",
- dbesc($sender['hash'])
- );
- }
-
- // Remove pure duplicates
- 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 ';
- $changed = true;
- }
- }
-
- if(intval($r[0]['hubloc_primary']) && (! $location['primary'])) {
- $m = q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_id = %d",
- dbesc(datetime_convert()),
- intval($r[0]['hubloc_id'])
- );
- $r[0]['hubloc_primary'] = intval($location['primary']);
- hubloc_change_primary($r[0]);
- $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",
- 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 ';
- $changed = true;
- }
- 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 ';
- $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 = %d",
- dbesc(datetime_convert()),
- intval($r[0]['hubloc_id'])
- );
- $what .= 'undelete_hub ';
- $changed = true;
- }
- 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 = %d",
- dbesc(datetime_convert()),
- intval($r[0]['hubloc_id'])
- );
- $what .= 'delete_hub ';
- $changed = true;
- }
- continue;
- }
-
- // 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",
- dbesc(datetime_convert()),
- dbesc($sender['hash'])
- );
- }
- logger('New hub: ' . $location['url']);
-
- $addr_arr = explode('@', $location['address']);
-
- $r = hubloc_store_lowlevel(
- [
- 'hubloc_guid' => $sender['guid'],
- 'hubloc_guid_sig' => $sender['guid_sig'],
- 'hubloc_hash' => $sender['hash'],
- 'hubloc_addr' => $location['address'],
- 'hubloc_network' => 'zot',
- 'hubloc_primary' => intval($location['primary']),
- 'hubloc_url' => $location['url'],
- 'hubloc_url_sig' => $location['url_sig'],
- 'hubloc_host' => $location['host'],
- 'hubloc_callback' => $location['callback'],
- 'hubloc_sitekey' => $location['sitekey'],
- 'hubloc_updated' => datetime_convert(),
- 'hubloc_connected' => datetime_convert(),
- 'hubloc_id_url' => $location['url'] . '/channel/' . $addr_arr[0]
- ]
- );
-
- $what .= 'newhub ';
- $changed = true;
-
- if($location['primary']) {
- $r = q("select * from hubloc where hubloc_addr = '%s' and hubloc_sitekey = '%s' limit 1",
- dbesc($location['address']),
- dbesc($location['sitekey'])
- );
- if($r)
- hubloc_change_primary($r[0]);
- }
- }
-
- // 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)) {
- logger('Deleting unreferenced hub location ' . $x['hubloc_addr']);
- $r = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id = %d",
- dbesc(datetime_convert()),
- intval($x['hubloc_id'])
- );
- $what .= 'removed_hub ';
- $changed = true;
- }
- }
- }
- }
- else {
- logger('No locations to sync!');
- }
-
- $ret['change_message'] = $what;
- $ret['changed'] = $changed;
-
- return $ret;
-}
-
-/**
- * @brief Returns an array with all known distinct hubs for this channel.
- *
- * @see zot_get_hublocs()
- * @param array $channel an associative array which must contain
- * * \e string \b channel_portable_id the hash of the channel
- * @return array an array with associative arrays
- */
-function zot_encode_locations($channel) {
- $ret = array();
-
- $x = zot_get_hublocs($channel['channel_portable_id']);
-
- 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())
- $hub['hubloc_deleted'] = 1;
-
- $ret[] = [
- 'host' => $hub['hubloc_host'],
- 'address' => $hub['hubloc_addr'],
- 'primary' => (intval($hub['hubloc_primary']) ? true : false),
- 'url' => $hub['hubloc_url'],
- 'url_sig' => $hub['hubloc_url_sig'],
- 'callback' => $hub['hubloc_callback'],
- 'sitekey' => $hub['hubloc_sitekey'],
- 'deleted' => (intval($hub['hubloc_deleted']) ? true : false)
- ];
- }
- }
-
- return $ret;
-}
-
-/**
- * @brief Imports a directory profile.
- *
- * @param string $hash
- * @param array $profile
- * @param string $addr
- * @param number $ud_flags (optional) UPDATE_FLAGS_UPDATED
- * @param number $suppress_update (optional) default 0
- * @return boolean $updated if something changed
- */
-function import_directory_profile($hash, $profile, $addr, $ud_flags = UPDATE_FLAGS_UPDATED, $suppress_update = 0) {
-
- logger('import_directory_profile', LOGGER_DEBUG);
- if (! $hash)
- return false;
-
- $arr = array();
-
- $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_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) : '');
- $arr['xprof_locale'] = (($profile['locale']) ? htmlspecialchars($profile['locale'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_region'] = (($profile['region']) ? htmlspecialchars($profile['region'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_postcode'] = (($profile['postcode']) ? htmlspecialchars($profile['postcode'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_country'] = (($profile['country']) ? htmlspecialchars($profile['country'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_about'] = (($profile['about']) ? htmlspecialchars($profile['about'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_homepage'] = (($profile['homepage']) ? htmlspecialchars($profile['homepage'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_hometown'] = (($profile['hometown']) ? htmlspecialchars($profile['hometown'], ENT_COMPAT,'UTF-8',false) : '');
-
- $clean = array();
- if (array_key_exists('keywords', $profile) and is_array($profile['keywords'])) {
- import_directory_keywords($hash,$profile['keywords']);
- foreach ($profile['keywords'] as $kw) {
- $kw = trim(htmlspecialchars($kw,ENT_COMPAT, 'UTF-8', false));
- $kw = trim($kw, ',');
- $clean[] = $kw;
- }
- }
-
- $arr['xprof_keywords'] = implode(' ',$clean);
-
- // Self censored, make it so
- // These are not translated, so the German "erwachsenen" keyword will not censor the directory profile. Only the English form - "adult".
-
-
- if(in_arrayi('nsfw',$clean) || in_arrayi('adult',$clean)) {
- q("update xchan set xchan_selfcensored = 1 where xchan_hash = '%s'",
- dbesc($hash)
- );
- }
-
- $r = q("select * from xprof where xprof_hash = '%s' limit 1",
- dbesc($hash)
- );
-
- if ($arr['xprof_age'] > 150)
- $arr['xprof_age'] = 150;
- if ($arr['xprof_age'] < 0)
- $arr['xprof_age'] = 0;
-
- if ($r) {
- $update = false;
- foreach ($r[0] as $k => $v) {
- if ((array_key_exists($k,$arr)) && ($arr[$k] != $v)) {
- logger('import_directory_profile: update ' . $k . ' => ' . $arr[$k]);
- $update = true;
- break;
- }
- }
- if ($update) {
- q("update xprof set
- xprof_desc = '%s',
- xprof_dob = '%s',
- xprof_age = %d,
- xprof_gender = '%s',
- xprof_marital = '%s',
- xprof_sexual = '%s',
- xprof_locale = '%s',
- xprof_region = '%s',
- xprof_postcode = '%s',
- xprof_country = '%s',
- xprof_about = '%s',
- xprof_homepage = '%s',
- xprof_hometown = '%s',
- xprof_keywords = '%s'
- where xprof_hash = '%s'",
- dbesc($arr['xprof_desc']),
- dbesc($arr['xprof_dob']),
- intval($arr['xprof_age']),
- dbesc($arr['xprof_gender']),
- dbesc($arr['xprof_marital']),
- dbesc($arr['xprof_sexual']),
- dbesc($arr['xprof_locale']),
- dbesc($arr['xprof_region']),
- dbesc($arr['xprof_postcode']),
- dbesc($arr['xprof_country']),
- dbesc($arr['xprof_about']),
- dbesc($arr['xprof_homepage']),
- dbesc($arr['xprof_hometown']),
- dbesc($arr['xprof_keywords']),
- dbesc($arr['xprof_hash'])
- );
- }
- } else {
- $update = true;
- logger('New profile');
- q("insert into xprof (xprof_hash, xprof_desc, xprof_dob, xprof_age, xprof_gender, xprof_marital, xprof_sexual, xprof_locale, xprof_region, xprof_postcode, xprof_country, xprof_about, xprof_homepage, xprof_hometown, xprof_keywords) values ('%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
- dbesc($arr['xprof_hash']),
- dbesc($arr['xprof_desc']),
- dbesc($arr['xprof_dob']),
- intval($arr['xprof_age']),
- dbesc($arr['xprof_gender']),
- dbesc($arr['xprof_marital']),
- dbesc($arr['xprof_sexual']),
- dbesc($arr['xprof_locale']),
- dbesc($arr['xprof_region']),
- dbesc($arr['xprof_postcode']),
- dbesc($arr['xprof_country']),
- dbesc($arr['xprof_about']),
- dbesc($arr['xprof_homepage']),
- dbesc($arr['xprof_hometown']),
- dbesc($arr['xprof_keywords'])
- );
- }
-
- $d = [
- 'xprof' => $arr,
- 'profile' => $profile,
- 'update' => $update
- ];
- /**
- * @hooks import_directory_profile
- * Called when processing delivery of a profile structure from an external source (usually for directory storage).
- * * \e array \b xprof
- * * \e array \b profile
- * * \e boolean \b update
- */
- call_hooks('import_directory_profile', $d);
-
- if (($d['update']) && (! $suppress_update))
- update_modtime($arr['xprof_hash'],random_string() . '@' . App::get_hostname(), $addr, $ud_flags);
-
- return $d['update'];
-}
-
-/**
- * @brief
- *
- * @param string $hash An xtag_hash
- * @param array $keywords
- */
-function import_directory_keywords($hash, $keywords) {
-
- $existing = array();
- $r = q("select * from xtag where xtag_hash = '%s' and xtag_flags = 0",
- dbesc($hash)
- );
-
- if($r) {
- foreach($r as $rr)
- $existing[] = $rr['xtag_term'];
- }
-
- $clean = array();
- foreach($keywords as $kw) {
- $kw = trim(htmlspecialchars($kw,ENT_COMPAT, 'UTF-8', false));
- $kw = trim($kw, ',');
- $clean[] = $kw;
- }
-
- foreach($existing as $x) {
- if(! in_array($x, $clean))
- $r = q("delete from xtag where xtag_hash = '%s' and xtag_term = '%s' and xtag_flags = 0",
- dbesc($hash),
- dbesc($x)
- );
- }
- foreach($clean as $x) {
- if(! in_array($x, $existing)) {
- $r = q("insert into xtag ( xtag_hash, xtag_term, xtag_flags) values ( '%s' ,'%s', 0 )",
- dbesc($hash),
- dbesc($x)
- );
- }
- }
-}
-
-/**
- * @brief
- *
- * @param string $hash
- * @param string $guid
- * @param string $addr
- * @param int $flags (optional) default 0
- */
-function update_modtime($hash, $guid, $addr, $flags = 0) {
-
- $dirmode = intval(get_config('system', 'directory_mode'));
-
- if($dirmode == DIRECTORY_MODE_NORMAL)
- return;
-
- if($flags) {
- q("insert into updates (ud_hash, ud_guid, ud_date, ud_flags, ud_addr ) values ( '%s', '%s', '%s', %d, '%s' )",
- dbesc($hash),
- dbesc($guid),
- 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 ",
- intval(UPDATE_FLAGS_UPDATED),
- dbesc($addr),
- intval(UPDATE_FLAGS_UPDATED)
- );
- }
-}
-
-/**
- * @brief
- *
- * @param array $arr
- * @param string $pubkey
- * @return boolean true if updated or inserted
- */
-function import_site($arr, $pubkey) {
- if( (! is_array($arr)) || (! $arr['url']) || (! $arr['url_sig']))
- return false;
-
- if(! Crypto::verify($arr['url'], base64url_decode($arr['url_sig']), $pubkey)) {
- logger('Bad url_sig');
- return false;
- }
-
- $update = false;
- $exists = false;
-
- $r = q("select * from site where site_url = '%s' limit 1",
- dbesc($arr['url'])
- );
- if($r) {
- $exists = true;
- $siterecord = $r[0];
- }
-
- $site_directory = 0;
- if($arr['directory_mode'] == 'normal')
- $site_directory = DIRECTORY_MODE_NORMAL;
- if($arr['directory_mode'] == 'primary')
- $site_directory = DIRECTORY_MODE_PRIMARY;
- if($arr['directory_mode'] == 'secondary')
- $site_directory = DIRECTORY_MODE_SECONDARY;
- if($arr['directory_mode'] == 'standalone')
- $site_directory = DIRECTORY_MODE_STANDALONE;
-
- $register_policy = 0;
- if($arr['register_policy'] == 'closed')
- $register_policy = REGISTER_CLOSED;
- if($arr['register_policy'] == 'open')
- $register_policy = REGISTER_OPEN;
- if($arr['register_policy'] == 'approve')
- $register_policy = REGISTER_APPROVE;
-
- $access_policy = 0;
- if(array_key_exists('access_policy',$arr)) {
- if($arr['access_policy'] === 'private')
- $access_policy = ACCESS_PRIVATE;
- if($arr['access_policy'] === 'paid')
- $access_policy = ACCESS_PAID;
- if($arr['access_policy'] === 'free')
- $access_policy = ACCESS_FREE;
- if($arr['access_policy'] === 'tiered')
- $access_policy = ACCESS_TIERED;
- }
-
- // don't let insecure sites register as public hubs
-
- if(strpos($arr['url'],'https://') === false)
- $access_policy = ACCESS_PRIVATE;
-
- if($access_policy != ACCESS_PRIVATE) {
- $x = z_fetch_url($arr['url'] . '/siteinfo.json');
- 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) : '');
-
- // 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)
- && ($site_realm === get_directory_realm())
- && ($arr['url'] != get_directory_primary())) {
- $site_directory = DIRECTORY_MODE_NORMAL;
- }
-
- $site_flags = $site_directory;
-
- if(array_key_exists('zot',$arr)) {
- set_sconfig($arr['url'],'system','zot_version',$arr['zot']);
- }
-
- if($exists) {
- if(($siterecord['site_flags'] != $site_flags)
- || ($siterecord['site_access'] != $access_policy)
- || ($siterecord['site_directory'] != $directory_url)
- || ($siterecord['site_sellpage'] != $sellpage)
- || ($siterecord['site_location'] != $site_location)
- || ($siterecord['site_register'] != $register_policy)
- || ($siterecord['site_project'] != $site_project)
- || ($siterecord['site_realm'] != $site_realm)
- || ($siterecord['site_crypto'] != $site_crypto)
- || ($siterecord['site_version'] != $site_version) ) {
-
- $update = 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'",
- dbesc($site_location),
- intval($site_flags),
- intval($access_policy),
- dbesc($directory_url),
- intval($register_policy),
- dbesc(datetime_convert()),
- dbesc($sellpage),
- dbesc($site_realm),
- intval(SITE_TYPE_ZOT),
- dbesc($site_project),
- dbesc($site_version),
- dbesc($site_crypto),
- dbesc($url)
- );
- if(! $r) {
- logger('Update failed. ' . print_r($arr,true));
- }
- }
- else {
- // update the timestamp to indicate we communicated with this site
- q("update site set site_dead = 0, site_update = '%s' where site_url = '%s'",
- dbesc(datetime_convert()),
- dbesc($url)
- );
- }
- }
- else {
- $update = true;
-
- $r = site_store_lowlevel(
- [
- 'site_location' => $site_location,
- 'site_url' => $url,
- 'site_access' => intval($access_policy),
- 'site_flags' => intval($site_flags),
- 'site_update' => datetime_convert(),
- 'site_directory' => $directory_url,
- 'site_register' => intval($register_policy),
- 'site_sellpage' => $sellpage,
- 'site_realm' => $site_realm,
- 'site_type' => intval(SITE_TYPE_ZOT),
- 'site_project' => $site_project,
- 'site_version' => $site_version,
- 'site_crypto' => $site_crypto
- ]
- );
-
- if(! $r) {
- logger('Record create failed. ' . print_r($arr,true));
- }
- }
-
- return $update;
-}
-
-
-/**
- * @brief Builds and sends a sync packet.
- *
- * Send a zot packet to all hubs where this channel is duplicated, refreshing
- * such things as personal settings, channel permissions, address book updates, etc.
- *
- * @param int $uid (optional) default 0
- * @param array $packet (optional) default null
- * @param boolean $groups_changed (optional) default false
- */
-function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
-
- logger('build_sync_packet');
-
- $keychange = (($packet && array_key_exists('keychange',$packet)) ? true : false);
- if($keychange) {
- logger('keychange sync');
- }
-
- if(! $uid)
- $uid = local_channel();
-
- if(! $uid)
- return;
-
- $r = q("select * from channel where channel_id = %d limit 1",
- intval($uid)
- );
- if(! $r)
- return;
-
- $channel = $r[0];
-
- // don't provide these in the export
-
- unset($channel['channel_active']);
- unset($channel['channel_password']);
- unset($channel['channel_salt']);
-
- translate_channel_perms_outbound($channel);
- if($packet && array_key_exists('abook',$packet) && $packet['abook']) {
- for($x = 0; $x < count($packet['abook']); $x ++) {
- translate_abook_perms_outbound($packet['abook'][$x]);
- }
- }
-
- if(intval($channel['channel_removed']))
- return;
-
- $h = q("select hubloc.*, site.site_crypto, site.site_version, site.site_project 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_portable_id'])
- );
-
- if(! $h)
- return;
-
- $synchubs = array();
-
- foreach($h as $x) {
- if($x['hubloc_host'] == App::get_hostname())
- continue;
-
- if(stripos($x['site_project'], 'hubzilla') !== false && version_compare($x['site_version'], '4.7.3', '<=')) {
-
- logger('Dismiss sync due to incompatible version.');
- // logger(print_r($x,true));
- 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))
- $synchubs[] = $x;
- }
-
- if(! $synchubs)
- return;
-
- $r = q("select xchan_guid, xchan_guid_sig from xchan where xchan_hash = '%s' limit 1",
- dbesc($channel['channel_portable_id'])
- );
-
- if(! $r)
- return;
-
- $env_recips = array();
- $env_recips[] = array('guid' => $r[0]['xchan_guid'],'guid_sig' => $r[0]['xchan_guid_sig']);
-
- if($packet)
- logger('packet: ' . print_r($packet, true),LOGGER_DATA, LOG_DEBUG);
-
- $info = (($packet) ? $packet : array());
- $info['type'] = 'channel_sync';
- $info['encoding'] = 'red'; // note: not zot, this packet is very platform specific
- $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) {
- $info['config'] = $settings;
- }
- }
-
- if($channel) {
- $info['channel'] = array();
- foreach($channel as $k => $v) {
-
- // filter out any joined tables like xchan
-
- 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'
- ];
-
- if(! $keychange) {
- $disallowed[] = 'channel_prvkey';
- }
-
- if(in_array($k,$disallowed))
- continue;
-
- $info['channel'][$k] = $v;
- }
- }
-
- if($groups_changed) {
- $r = q("select hash as collection, visible, deleted, gname as name from pgrp where uid = %d",
- intval($uid)
- );
- 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)
- $info['collection_members'] = $r;
- }
-
- $interval = ((get_config('system','delivery_interval') !== false)
- ? intval(get_config('system','delivery_interval')) : 2 );
-
- logger('Packet: ' . print_r($info,true), LOGGER_DATA, LOG_DEBUG);
-
- $total = count($synchubs);
-
- foreach($synchubs as $hub) {
- $hash = random_string();
- $n = zot_build_packet($channel,'notify',$env_recips,$hub['hubloc_sitekey'],$hub['site_crypto'],$hash);
- queue_insert(array(
- 'hash' => $hash,
- 'account_id' => $channel['channel_account_id'],
- 'channel_id' => $channel['channel_id'],
- 'posturl' => $hub['hubloc_callback'],
- 'notify' => $n,
- 'msg' => json_encode($info)
- ));
-
-
- $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))) {
- logger('immediate delivery deferred.', LOGGER_DEBUG, LOG_INFO);
- update_queue_item($hash);
- continue;
- }
-
-
- Zotlabs\Daemon\Master::Summon(array('Deliver', $hash));
- $total = $total - 1;
-
- if($interval && $total)
- @time_sleep_until(microtime(true) + (float) $interval);
- }
-}
-
-/**
- * @brief
- *
- * @param array $sender
- * @param array $arr
- * @param array $deliveries
- * @return array
- */
-function process_channel_sync_delivery($sender, $arr, $deliveries) {
-
- require_once('include/import.php');
-
- /** @FIXME this will sync red structures (channel, pconfig and abook).
- Eventually we need to make this application agnostic. */
-
- $result = [];
-
- $keychange = ((array_key_exists('keychange',$arr)) ? true : false);
-
- foreach ($deliveries as $d) {
- $r = q("select * from channel where channel_hash = '%s' limit 1",
- dbesc(($keychange) ? $arr['keychange']['old_hash'] : $d['hash'])
- );
-
- if (! $r) {
- $result[] = array($d['hash'],'not found');
- continue;
- }
-
- $channel = $r[0];
-
- $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['hash']) {
- logger('Possible forgery. Sender ' . $sender['hash'] . ' is not ' . $channel['channel_hash']);
- $result[] = array($d['hash'],'channel mismatch',$channel['channel_name'],'');
- continue;
- }
-
- if($keychange) {
- // verify the keychange operation
- if(! Crypto::verify($arr['channel']['channel_pubkey'],base64url_decode($arr['keychange']['new_sig']),$channel['channel_prvkey'])) {
- logger('sync keychange: verification failed');
- continue;
- }
-
- $sig = base64url_encode(Crypto::sign($channel['channel_guid'],$arr['channel']['channel_prvkey']));
- $hash = make_xchan_hash($channel['channel_guid'],$sig);
-
-
- $r = q("update channel set channel_prvkey = '%s', channel_pubkey = '%s', channel_guid_sig = '%s',
- channel_hash = '%s' where channel_id = %d",
- dbesc($arr['channel']['channel_prvkey']),
- dbesc($arr['channel']['channel_pubkey']),
- dbesc($sig),
- dbesc($hash),
- intval($channel['channel_id'])
- );
- if(! $r) {
- logger('keychange sync: channel update failed');
- continue;
- }
-
- $r = q("select * from channel where channel_id = %d",
- intval($channel['channel_id'])
- );
-
- if(! $r) {
- logger('keychange sync: channel retrieve failed');
- continue;
- }
-
- $channel = $r[0];
-
- $h = q("select * from hubloc where hubloc_hash = '%s' and hubloc_url = '%s' ",
- dbesc($arr['keychange']['old_hash']),
- dbesc(z_root())
- );
-
- if($h) {
- foreach($h as $hv) {
- $hv['hubloc_guid_sig'] = $sig;
- $hv['hubloc_hash'] = $hash;
- $hv['hubloc_url_sig'] = base64url_encode(Crypto::sign(z_root(),$channel['channel_prvkey']));
- hubloc_store_lowlevel($hv);
- }
- }
-
- $x = q("select * from xchan where xchan_hash = '%s' ",
- dbesc($arr['keychange']['old_hash'])
- );
-
- $check = q("select * from xchan where xchan_hash = '%s'",
- dbesc($hash)
- );
-
- 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'];
- xchan_store_lowlevel($xv);
- $newxchan = $xv;
- }
- }
-
- $a = q("select * from abook where abook_xchan = '%s' and abook_self = 1",
- dbesc($arr['keychange']['old_hash'])
- );
-
- 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']);
-
- // keychange operations can end up in a confused state if you try and sync anything else
- // besides the channel keys, so ignore any other packets.
-
- continue;
- }
-
- // if the clone is active, so are we
-
- 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) {
-
- $pconfig_updated = [];
- $pconfig_del = [];
-
- foreach($arr['config'][$cat] as $k => $v) {
-
- if (strpos($k,'pcfgud:')===0) {
-
- $realk = substr($k,7);
- $pconfig_updated[$realk] = $v;
- unset($arr['config'][$cat][$k]);
-
- }
-
- if (strpos($k,'pcfgdel:')===0) {
- $realk = substr($k,8);
- $pconfig_del[$realk] = datetime_convert();
- unset($arr['config'][$cat][$k]);
- }
- }
-
- foreach($arr['config'][$cat] as $k => $v) {
-
- if (!isset($pconfig_updated[$k])) {
- $pconfig_updated[$k] = NULL;
- }
-
- set_pconfig($channel['channel_id'],$cat,$k,$v,$pconfig_updated[$k]);
-
- }
-
- foreach($pconfig_del as $k => $updated) {
- del_pconfig($channel['channel_id'],$cat,$k,$updated);
- }
-
- }
- }
-
- 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('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('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('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('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('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('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('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'])) {
-
- $remote_channel = $arr['channel'];
- $remote_channel['channel_id'] = $channel['channel_id'];
- translate_channel_perms_inbound($remote_channel);
-
-
- 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'] | $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_a_delegate', 'channel_moved', 'channel_r_photos', 'channel_w_photos'
- ];
-
- $clean = array();
- 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(array_key_exists('abook',$arr) && is_array($arr['abook']) && count($arr['abook'])) {
- $total_friends = 0;
- $total_feeds = 0;
-
- $r = q("select abook_id, abook_feed from abook where abook_channel = %d",
- intval($channel['channel_id'])
- );
- 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 ++;
- }
-
-
- $disallowed = array('abook_id','abook_account','abook_channel','abook_rating','abook_rating_text','abook_not_here');
-
- foreach($arr['abook'] as $abook) {
-
- $abconfig = null;
-
- if(array_key_exists('abconfig',$abook) && is_array($abook['abconfig']) && count($abook['abconfig']))
- $abconfig = $abook['abconfig'];
-
- 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);
- $abook['abook_hidden'] = (($abook['abook_flags'] & 0x0004) ? 1 : 0);
- $abook['abook_archived'] = (($abook['abook_flags'] & 0x0008) ? 1 : 0);
- $abook['abook_pending'] = (($abook['abook_flags'] & 0x0010) ? 1 : 0);
- $abook['abook_unconnected'] = (($abook['abook_flags'] & 0x0020) ? 1 : 0);
- $abook['abook_self'] = (($abook['abook_flags'] & 0x0080) ? 1 : 0);
- $abook['abook_feed'] = (($abook['abook_flags'] & 0x0100) ? 1 : 0);
- }
-
- $clean = array();
- 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 --;
- }
- continue;
- }
-
- // Perform discovery if the referenced xchan hasn't ever been seen on this hub.
- // 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']) {
- $h = zot_get_hublocs($abook['abook_xchan']);
- if(! $h) {
- $xhash = import_author_xchan(encode_item_xchan($abook));
- if(! $xhash) {
- logger('Import of ' . $abook['xchan_addr'] . ' failed.');
- continue;
- }
- }
- }
-
- foreach($abook as $k => $v) {
- if(in_array($k,$disallowed) || (strpos($k,'abook') !== 0))
- continue;
- $clean[$k] = $v;
- }
-
- 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) {
- $clean['abook_not_here'] = 1;
- }
-
-
- $r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
- dbesc($clean['abook_xchan']),
- intval($channel['channel_id'])
- );
-
- // make sure we have an abook entry for this xchan on this system
-
- 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) {
- logger('total_feeds service class limit exceeded');
- continue;
- }
- abook_store_lowlevel(
- [
- 'abook_xchan' => $clean['abook_xchan'],
- 'abook_account' => $channel['channel_account_id'],
- 'abook_channel' => $channel['channel_id']
- ]
- );
- $total_friends ++;
- if(intval($clean['abook_feed']))
- $total_feeds ++;
- }
-
- 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']));
- }
- }
-
- // This will set abconfig vars if the sender is using old-style fixed permissions
- // using the raw abook record as passed to us. New-style permissions will fall through
- // and be set using abconfig
-
- translate_abook_perms_inbound($channel,$abook);
-
- 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']);
- }
- }
- }
- }
-
- // sync collections (privacy groups) oh joy...
-
- 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) {
- $found = false;
- if($x) {
- foreach($x as $y) {
- if($cl['collection'] == $y['hash']) {
- $found = true;
- break;
- }
- }
- 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",
- dbesc($cl['name']),
- intval($cl['visible']),
- intval($cl['deleted']),
- dbesc($cl['collection']),
- intval($channel['channel_id'])
- );
- }
- 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 )
- VALUES( '%s', %d, %d, %d, '%s' ) ",
- dbesc($cl['collection']),
- intval($channel['channel_id']),
- intval($cl['visible']),
- intval($cl['deleted']),
- dbesc($cl['name'])
- );
- }
-
- // now look for any collections locally which weren't in the list we just received.
- // 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) {
- $found_local = false;
- foreach($x as $y) {
- foreach($arr['collections'] as $cl) {
- if($cl['collection'] == $y['hash']) {
- $found_local = true;
- break;
- }
- }
- if(! $found_local) {
- q("delete from pgrp_member where gid = %d",
- intval($y['id'])
- );
- q("update pgrp set deleted = 1 where id = %d and uid = %d",
- intval($y['id']),
- intval($channel['channel_id'])
- );
- }
- }
- }
- }
-
- // reload the group list with any updates
- $x = q("select * from pgrp where uid = %d",
- intval($channel['channel_id'])
- );
-
- // now sync the members
-
- 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[$cm['collection']][] = $cm['member'];
- }
-
- // our group list is already synchronised
- 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) {
- $found = false;
- $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)
- $found = true;
-
- // if somebody is in the group that wasn't before - add them
-
- if(! $found) {
- q("INSERT INTO pgrp_member (uid, gid, xchan)
- VALUES( %d, %d, '%s' ) ",
- intval($channel['channel_id']),
- intval($y['id']),
- dbesc($member)
- );
- }
- }
- }
-
- // now retrieve a list of members we have on this site
- $m = q("select xchan from pgrp_member where gid = %d and uid = %d",
- intval($y['id']),
- intval($channel['channel_id'])
- );
- 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']])) {
- q("delete from pgrp_member where xchan = '%s' and gid = %d and uid = %d",
- dbesc($mm['xchan']),
- intval($y['id']),
- intval($channel['channel_id'])
- );
- }
- }
- }
- }
- }
- }
- }
-
- if(array_key_exists('profile',$arr) && is_array($arr['profile']) && count($arr['profile'])) {
-
- $disallowed = array('id','aid','uid','guid');
-
- 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) {
- profile_store_lowlevel(
- [
- 'aid' => $channel['channel_account_id'],
- 'uid' => $channel['channel_id'],
- 'profile_guid' => $profile['profile_guid'],
- ]
- );
-
- $x = q("select * from profile where profile_guid = '%s' and uid = %d limit 1",
- dbesc($profile['profile_guid']),
- intval($channel['channel_id'])
- );
- if(! $x)
- continue;
- }
- $clean = array();
- foreach($profile as $k => $v) {
- if(in_array($k,$disallowed))
- continue;
-
- if($profile['is_default'] && in_array($k,['photo','thumb']))
- continue;
-
- if($k === 'name')
- $clean['fullname'] = $v;
- elseif($k === 'with')
- $clean['partner'] = $v;
- elseif($k === 'work')
- $clean['employment'] = $v;
- elseif(array_key_exists($k,$x[0]))
- $clean[$k] = $v;
-
- /**
- * @TODO
- * 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'])) {
- $profile['photo'] = z_root() . '/photo/profile/l/' . $channel['channel_id'];
- $profile['thumb'] = z_root() . '/photo/profile/m/' . $channel['channel_id'];
- }
- else {
- $profile['photo'] = z_root() . '/photo/' . basename($profile['photo']);
- $profile['thumb'] = z_root() . '/photo/' . basename($profile['thumb']);
- }
- }
-
- 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']));
- }
- }
- }
- }
-
- $addon = ['channel' => $channel, 'data' => $arr];
- /**
- * @hooks process_channel_sync_delivery
- * Called when accepting delivery of a 'sync packet' containing structure and table updates from a channel clone.
- * * \e array \b channel
- * * \e array \b data
- */
- call_hooks('process_channel_sync_delivery', $addon);
-
- // we should probably do this for all items, but usually we only send one.
-
- if(array_key_exists('item',$arr) && is_array($arr['item'][0])) {
- $DR = new Zotlabs\Lib\DReport(z_root(),$d['hash'],$d['hash'],$arr['item'][0]['message_id'],'channel sync processed');
- $DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
- }
- else
- $DR = new Zotlabs\Lib\DReport(z_root(),$d['hash'],$d['hash'],'sync packet','channel sync delivered');
-
- $result[] = $DR->get();
- }
-
- return $result;
-}
-
-/**
- * @brief Returns path to /rpost
- *
- * @todo We probably should make rpost discoverable.
- *
- * @param array $observer
- * * \e string \b xchan_url
- * @return string
- */
-function get_rpost_path($observer) {
- if(! $observer)
- return '';
-
- $parsed = parse_url($observer['xchan_url']);
-
- return $parsed['scheme'] . '://' . $parsed['host'] . (($parsed['port']) ? ':' . $parsed['port'] : '') . '/rpost?f=';
-}
-
-/**
- * @brief
- *
- * @param array $x
- * @return boolean|string return false or a hash
- */
-function import_author_zot($x) {
-
- // Check that we have both a hubloc and xchan record - as occasionally storage calls will fail and
- // 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.
-
- $hash = make_xchan_hash($x['guid'],$x['guid_sig']);
-
- // also - this function may get passed a profile url as 'url' and zot_refresh wants a hubloc_url (site baseurl),
- // so deconstruct the url (if we have one) and rebuild it with just the baseurl components.
-
- if(array_key_exists('url',$x)) {
- $m = parse_url($x['url']);
- $desturl = $m['scheme'] . '://' . $m['host'];
- }
-
- $r1 = q("select hubloc_url, hubloc_updated, site_dead from hubloc left join site on
- hubloc_url = site_url where hubloc_guid = '%s' and hubloc_guid_sig = '%s' and hubloc_primary = 1 limit 1",
- dbesc($x['guid']),
- dbesc($x['guid_sig'])
- );
-
- $r2 = q("select xchan_hash from xchan where xchan_guid = '%s' and xchan_guid_sig = '%s' limit 1",
- dbesc($x['guid']),
- dbesc($x['guid_sig'])
- );
-
- $site_dead = false;
-
- if($r1 && intval($r1[0]['site_dead'])) {
- $site_dead = true;
- }
-
- // We have valid and somewhat fresh information.
-
- if($r1 && $r2 && $r1[0]['hubloc_updated'] > datetime_convert('UTC','UTC','now - 1 week')) {
- logger('in cache', LOGGER_DEBUG);
- return $hash;
- }
-
- 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
- // is all we have and there is no point probing it. Just return the hash indicating we have a
- // 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);
-
- $r = q("select hubloc_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);
- $desturl = $r[0]['hubloc_url'];
- }
- else {
- return $hash;
- }
- }
-
-
- $them = array('hubloc_url' => $desturl, 'xchan_guid' => $x['guid'], 'xchan_guid_sig' => $x['guid_sig']);
- if(zot_refresh($them))
- return $hash;
-
- return false;
-}
-
-/**
- * @brief Process a message request.
- *
- * If a site receives a comment to a post but finds they have no parent to attach it with, they
- * may send a 'request' packet containing the message_id of the missing parent. This is the handler
- * for that packet. We will create a message_list array of the entire conversation starting with
- * the missing parent and invoke delivery to the sender of the packet.
- *
- * include/deliver.php (for local delivery) and mod/post.php (for web delivery) detect the existence of
- * this 'message_list' at the destination and split it into individual messages which are
- * processed/delivered in order.
- *
- * Called from mod/post.php
- *
- * @param array $data
- * @return array
- */
-function zot_reply_message_request($data) {
- $ret = array('success' => false);
-
- if (! $data['message_id']) {
- $ret['message'] = 'no message_id';
- logger('no message_id');
- json_return_and_die($ret);
- }
-
- $sender = $data['sender'];
- $sender_hash = make_xchan_hash($sender['guid'], $sender['guid_sig']);
-
- /*
- * Find the local channel in charge of this post (the first and only recipient of the request packet)
- */
-
- $arr = $data['recipients'][0];
- $recip_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']);
- $c = q("select * from channel left join xchan on channel_portable_id = xchan_hash where channel_portable_id = '%s' limit 1",
- dbesc($recip_hash)
- );
- if (! $c) {
- logger('recipient channel not found.');
- $ret['message'] .= 'recipient not found.' . EOL;
- json_return_and_die($ret);
- }
-
- /*
- * fetch the requested conversation
- */
-
- $messages = zot_feed($c[0]['channel_id'],$sender_hash,array('message_id' => $data['message_id']));
-
- if ($messages) {
- $env_recips = null;
-
- $r = q("select hubloc.*, site.site_crypto from hubloc left join site on hubloc_url = site_url where hubloc_hash = '%s' and hubloc_error = 0 and hubloc_deleted = 0 and site.site_dead = 0 ",
- dbesc($sender_hash)
- );
- if (! $r) {
- logger('no hubs');
- json_return_and_die($ret);
- }
- $hubs = $r;
-
- $private = ((array_key_exists('flags', $messages[0]) && in_array('private',$messages[0]['flags'])) ? true : false);
- if($private)
- $env_recips = array('guid' => $sender['guid'], 'guid_sig' => $sender['guid_sig'], 'hash' => $sender_hash);
-
- $data_packet = json_encode(array('message_list' => $messages));
-
- foreach($hubs as $hub) {
- $hash = random_string();
-
- /*
- * create a notify packet and drop the actual message packet in the queue for pickup
- */
-
- $n = zot_build_packet($c[0],'notify',$env_recips,(($private) ? $hub['hubloc_sitekey'] : null),$hub['site_crypto'],$hash,array('message_id' => $data['message_id']));
-
- queue_insert(array(
- 'hash' => $hash,
- 'account_id' => $c[0]['channel_account_id'],
- 'channel_id' => $c[0]['channel_id'],
- 'posturl' => $hub['hubloc_callback'],
- 'notify' => $n,
- 'msg' => $data_packet
- ));
-
-
- $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))) {
- logger('immediate delivery deferred.', LOGGER_DEBUG, LOG_INFO);
- update_queue_item($hash);
- continue;
- }
-
- /*
- * invoke delivery to send out the notify packet
- */
-
- Zotlabs\Daemon\Master::Summon(array('Deliver', $hash));
- }
- }
- $ret['success'] = true;
- json_return_and_die($ret);
-}
-
-function zot_rekey_request($sender,$data) {
-
- $ret = array('success' => false);
-
- // newsig is newkey signed with oldkey
-
- // The original xchan will remain. In Zot/Receiver we will have imported the new xchan and hubloc to verify
- // the packet authenticity. What we will do now is verify that the keychange operation was signed by the
- // oldkey, and if so change all the abook, abconfig, group, and permission elements which reference the
- // old xchan_hash.
-
- if((! $data['old_key']) && (! $data['new_key']) && (! $data['new_sig']))
- json_return_and_die($ret);
-
- $oldhash = make_xchan_hash($data['old_guid'],$data['old_guid_sig']);
-
- $r = q("select * from xchan where xchan_hash = '%s' limit 1",
- dbesc($oldhash)
- );
-
- if(! $r) {
- json_return_and_die($ret);
- }
-
- $xchan = $r[0];
-
- if(! Crypto::verify($data['new_key'],base64url_decode($data['new_sig']),$xchan['xchan_pubkey'])) {
- json_return_and_die($ret);
- }
-
- $newhash = make_xchan_hash($sender['guid'],$sender['guid_sig']);
-
- $r = q("select * from xchan where xchan_hash = '%s' limit 1",
- dbesc($newhash)
- );
-
- $newxchan = $r[0];
-
- xchan_change_key($xchan,$newxchan,$data);
-
- $ret['success'] = true;
- json_return_and_die($ret);
-}
-
-
-function zotinfo($arr) {
-
- $ret = array('success' => false);
-
- $sig_method = get_config('system','signature_algorithm','sha256');
-
- $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')) ? $arr['target'] : '');
- $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) {
- if((! $zkey) || (! $zsig) || (! Crypto::verify($ztarget,base64url_decode($zsig),$zkey))) {
- logger('zfinger: invalid target signature');
- $ret['message'] = t("invalid target signature");
- return($ret);
- }
- }
-
- $ztarget_hash = (($ztarget && $zsig) ? make_xchan_hash($ztarget,$zsig) : '' );
-
- $r = null;
-
- if(strlen($zhash)) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel_portable_id = xchan_hash
- where channel_portable_id = '%s' limit 1",
- dbesc($zhash)
- );
- }
- elseif(strlen($zguid) && strlen($zguid_sig)) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel_portable_id = xchan_hash
- where channel_guid = '%s' and channel_guid_sig = '%s' limit 1",
- dbesc($zguid),
- dbesc('sha256.' . $zguid_sig)
- );
- }
- elseif(strlen($zaddr)) {
- if(strpos($zaddr,'[system]') === false) { /* normal address lookup */
- $r = q("select channel.*, xchan.* from channel left join xchan on channel_portable_id = xchan_hash
- where ( channel_address = '%s' or xchan_addr = '%s' ) limit 1",
- dbesc($zaddr),
- dbesc($zaddr)
- );
- }
-
- else {
-
- /**
- * The special address '[system]' will return a system channel if one has been defined,
- * Or the first valid channel we find if there are no system channels.
- *
- * This is used by magic-auth if we have no prior communications with this site - and
- * returns an identity on this site which we can use to create a valid hub record so that
- * we can exchange signed messages. The precise identity is irrelevant. It's the hub
- * information that we really need at the other end - and this will return it.
- *
- */
-
- $r = q("select channel.*, xchan.* from channel left join xchan on channel_portable_id = xchan_hash
- where channel_system = 1 order by channel_id limit 1");
- if(! $r) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel_portable_id = xchan_hash
- where channel_removed = 0 order by channel_id limit 1");
- }
- }
- }
- else {
- $ret['message'] = 'Invalid request';
- return($ret);
- }
-
- if(! $r) {
- $ret['message'] = 'Item not found.';
- return($ret);
- }
-
- $e = $r[0];
-
- $id = $e['channel_id'];
-
- $x = [
- 'channel_id' => $id,
- 'protocols' => ['zot']
- ];
- /**
- * @hooks channel_protocols
- * * \e int \b channel_id
- * * \e array \b protocols
- */
- call_hooks('channel_protocols', $x);
-
- $protocols = $x['protocols'];
-
- $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);
- $deleted = (intval($e['xchan_deleted']) ? true : false);
-
- if($deleted || $censored || $sys_channel)
- $searchable = false;
-
- $public_forum = false;
-
- $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 = \Zotlabs\Access\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)
- $public_forum = true;
- }
- }
-
-
- // This is for birthdays and keywords, but must check access permissions
- $p = q("select * from profile where uid = %d and is_default = 1",
- intval($e['channel_id'])
- );
-
- $profile = array();
-
- if($p) {
-
- 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['next_birthday'] = $bd;
-
- 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,");
- }
- }
- }
- if($tags)
- $profile['keywords'] = $tags;
- }
- }
-
- $ret['success'] = true;
-
- // Communication details
-
- if($token)
- $ret['signed_token'] = base64url_encode(Crypto::sign('token.' . $token,$e['channel_prvkey'],$sig_method));
-
-
- $ret['guid'] = $e['xchan_guid'];
- $ret['guid_sig'] = $e['xchan_guid_sig'];
- $ret['key'] = $e['xchan_pubkey'];
- $ret['name'] = $e['xchan_name'];
- $ret['name_updated'] = $e['xchan_name_date'];
- $ret['address'] = $e['xchan_addr'];
- $ret['photo_mimetype'] = $e['xchan_photo_mimetype'];
- $ret['photo'] = $e['xchan_photo_l'];
- $ret['photo_updated'] = $e['xchan_photo_date'];
- $ret['url'] = $e['xchan_url'];
- $ret['connections_url']= (($e['xchan_connurl']) ? $e['xchan_connurl'] : z_root() . '/poco/' . $e['channel_address']);
- $ret['follow_url'] = $e['xchan_follow'];
- $ret['target'] = $ztarget;
- $ret['target_sig'] = $zsig;
- $ret['searchable'] = $searchable;
- $ret['protocols'] = $protocols;
- $ret['adult_content'] = $adult_channel;
- $ret['public_forum'] = $public_forum;
- if($deleted)
- $ret['deleted'] = $deleted;
-
- 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) {
- $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'])
- $ret['follow_url'] = z_root() . '/follow?f=&url=%s';
-
- $permissions = get_all_perms($e['channel_id'],$ztarget_hash,false,false);
-
- if($ztarget_hash) {
- $permissions['connected'] = false;
- $b = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and abook_pending = 0 limit 1",
- dbesc($ztarget_hash),
- intval($e['channel_id'])
- );
- if($b)
- $permissions['connected'] = true;
- }
-
- // encrypt this with the default aes256cbc since we cannot be sure at this point which
- // algorithms are preferred for communications with the remote site; notably
- // because ztarget refers to an xchan and we don't necessarily know the origination
- // location.
-
- $ret['permissions'] = (($ztarget && $zkey) ? crypto_encapsulate(json_encode($permissions),$zkey,) : $permissions);
-
- if($permissions['view_profile'])
- $ret['profile'] = $profile;
-
- // array of (verified) hubs this channel uses
-
- $x = zot_encode_locations($e);
- if($x)
- $ret['locations'] = $x;
-
- $ret['site'] = zot_site_info($e['channel_prvkey']);
-
- check_zotinfo($e,$x,$ret);
-
- /**
- * @hooks zot_finger
- * Called when a zot-info packet has been requested (this is our webfinger discovery mechanism).
- * * \e array The final return array
- */
- call_hooks('zot_finger', $ret);
-
- return($ret);
-}
-
-
-function zot_site_info($channel_key = '') {
-
- $signing_key = get_config('system','prvkey');
- $sig_method = get_config('system','signature_algorithm','sha256');
-
- $ret = [];
- $ret['site'] = [];
- $ret['site']['url'] = z_root();
- if($channel_key) {
- $ret['site']['url_sig'] = base64url_encode(Crypto::sign(z_root(),$channel_key,$sig_method));
- }
- $ret['site']['url_site_sig'] = base64url_encode(Crypto::sign(z_root(),$signing_key,$sig_method));
- $ret['site']['post'] = z_root() . '/post';
- $ret['site']['openWebAuth'] = z_root() . '/owa';
- $ret['site']['authRedirect'] = z_root() . '/magic';
- $ret['site']['key'] = get_config('system','pubkey');
-
- $dirmode = get_config('system','directory_mode');
- if(($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL))
- $ret['site']['directory_mode'] = 'normal';
-
- if($dirmode == DIRECTORY_MODE_PRIMARY)
- $ret['site']['directory_mode'] = 'primary';
- elseif($dirmode == DIRECTORY_MODE_SECONDARY)
- $ret['site']['directory_mode'] = 'secondary';
- elseif($dirmode == DIRECTORY_MODE_STANDALONE)
- $ret['site']['directory_mode'] = 'standalone';
- if($dirmode != DIRECTORY_MODE_NORMAL)
- $ret['site']['directory_url'] = z_root() . '/dirsearch';
-
-
- $ret['site']['encryption'] = Crypto::methods();
- $ret['site']['signing'] = Crypto::signing_methods();
- $ret['site']['zot'] = Zotlabs\Lib\System::get_zot_revision();
-
- // hide detailed site information if you're off the grid
-
- if($dirmode != DIRECTORY_MODE_STANDALONE) {
-
- $register_policy = intval(get_config('system','register_policy'));
-
- if($register_policy == REGISTER_CLOSED)
- $ret['site']['register_policy'] = 'closed';
- if($register_policy == REGISTER_APPROVE)
- $ret['site']['register_policy'] = 'approve';
- if($register_policy == REGISTER_OPEN)
- $ret['site']['register_policy'] = 'open';
-
-
- $access_policy = intval(get_config('system','access_policy'));
-
- if($access_policy == ACCESS_PRIVATE)
- $ret['site']['access_policy'] = 'private';
- if($access_policy == ACCESS_PAID)
- $ret['site']['access_policy'] = 'paid';
- if($access_policy == ACCESS_FREE)
- $ret['site']['access_policy'] = 'free';
- if($access_policy == ACCESS_TIERED)
- $ret['site']['access_policy'] = 'tiered';
-
- $ret['site']['accounts'] = account_total();
-
- require_once('include/channel.php');
- $ret['site']['channels'] = channel_total();
-
- $ret['site']['admin'] = get_config('system','admin_email');
-
- $visible_plugins = array();
- if(is_array(App::$plugins) && count(App::$plugins)) {
- $r = q("select * from addon where hidden = 0");
- 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'] = Zotlabs\Lib\System::get_platform_name() . ' ' . Zotlabs\Lib\System::get_server_role();
- $ret['site']['version'] = Zotlabs\Lib\System::get_project_version();
-
- }
-
- return $ret['site'];
-}
-
-/**
- * @brief
- *
- * @param array $channel
- * @param array $locations
- * @param[out] array $ret
- * \e array \b locations result of zot_encode_locations()
- */
-function check_zotinfo($channel, $locations, &$ret) {
-
-// logger('locations: ' . print_r($locations,true),LOGGER_DATA, LOG_DEBUG);
-
- // This function will likely expand as we find more things to detect and fix.
- // 1. Because magic-auth is reliant on it, ensure that the system channel has a valid hubloc
- // Force this to be the case if anything is found to be wrong with it.
-
- /// @FIXME ensure that the system channel exists in the first place and has an xchan
-
- if($channel['channel_system']) {
- // the sys channel must have a location (hubloc)
- $valid_location = false;
- if((count($locations) === 1) && ($locations[0]['primary']) && (! $locations[0]['deleted'])) {
- if((Crypto::verify($locations[0]['url'],base64url_decode($locations[0]['url_sig']),$channel['channel_pubkey']))
- && ($locations[0]['sitekey'] === get_config('system','pubkey'))
- && ($locations[0]['url'] === z_root()))
- $valid_location = true;
- else
- logger('sys channel: invalid url signature');
- }
-
- if((! $locations) || (! $valid_location)) {
-
- logger('System channel locations are not valid. Attempting repair.');
-
- // Don't trust any existing records. Just get rid of them, but only do this
- // for the sys channel as normal channels will be trickier.
-
- q("delete from hubloc where hubloc_hash = '%s'",
- dbesc($channel['channel_portable_id'])
- );
-
- $r = hubloc_store_lowlevel(
- [
- 'hubloc_guid' => $channel['channel_guid'],
- 'hubloc_guid_sig' => $channel['channel_guid_sig'],
- 'hubloc_hash' => $channel['channel_portable_id'],
- 'hubloc_addr' => channel_reddress($channel),
- 'hubloc_network' => 'zot',
- 'hubloc_primary' => 1,
- 'hubloc_url' => z_root(),
- 'hubloc_url_sig' => base64url_encode(Crypto::sign(z_root(),$channel['channel_prvkey'])),
- 'hubloc_host' => App::get_hostname(),
- 'hubloc_callback' => z_root() . '/post',
- 'hubloc_sitekey' => get_config('system','pubkey'),
- 'hubloc_updated' => datetime_convert(),
- ]
- );
-
- if($r) {
- $x = zot_encode_locations($channel);
- if($x) {
- $ret['locations'] = $x;
- }
- }
- else {
- logger('Unable to store sys hub location');
- }
- }
- }
-}
-
-/**
- * @brief
- *
- * @param array $dr
- * @return boolean
- */
-function delivery_report_is_storable($dr) {
-
- if(get_config('system', 'disable_dreport'))
- return false;
-
- /**
- * @hooks dreport_is_storable
- * Called before storing a dreport record to determine whether to store it.
- * * \e array
- */
- call_hooks('dreport_is_storable', $dr);
-
- // let plugins accept or reject - if neither, continue on
- if(array_key_exists('accept',$dr) && intval($dr['accept']))
- return true;
- if(array_key_exists('reject',$dr) && intval($dr['reject']))
- return false;
-
- if(! ($dr['sender']))
- return false;
-
- // Is the sender one of our channels?
-
- $c = q("select channel_id from channel where channel_portable_id = '%s' limit 1",
- dbesc($dr['sender'])
- );
- if(! $c)
- return false;
-
-
- // is the recipient one of our connections, or do we want to store every report?
-
- $r = explode(' ', $dr['recipient']);
- $rxchan = $r[0];
- $pcf = get_pconfig($c[0]['channel_id'],'system','dreport_store_all');
- if($pcf)
- return true;
-
- // We always add ourself as a recipient to private and relayed posts
- // So if a remote site says they can't find us, that's no big surprise
- // and just creates a lot of extra report noise
-
- if(($dr['location'] !== z_root()) && ($dr['sender'] === $rxchan) && ($dr['status'] === 'recipient_not_found'))
- return false;
-
- // If you have a private post with a recipient list, every single site is going to report
- // back a failed delivery for anybody on that list that isn't local to them. We're only
- // concerned about this if we have a local hubloc record which says we expected them to
- // have a channel on that site.
-
- $r = q("select hubloc_id from hubloc where hubloc_hash = '%s' and hubloc_url = '%s'",
- dbesc($rxchan),
- dbesc($dr['location'])
- );
- if((! $r) && ($dr['status'] === 'recipient_not_found'))
- return false;
-
- $r = q("select abook_id from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
- dbesc($rxchan),
- intval($c[0]['channel_id'])
- );
- if($r)
- return true;
-
- return false;
-}
-
-
-/**
- * @brief
- *
- * @param array $hub
- * @param string $sitekey (optional, default empty)
- *
- * @return string hubloc_url
- */
-function update_hub_connected($hub, $sitekey = '') {
-
- if($sitekey) {
-
- /*
- * This hub has now been proven to be valid.
- * Any hub with the same URL and a different sitekey cannot be valid.
- * Get rid of them (mark them deleted). There's a good chance they were re-installs.
- */
-
- q("update hubloc set hubloc_deleted = 1, hubloc_error = 1 where hubloc_url = '%s' and hubloc_sitekey != '%s' ",
- dbesc($hub['hubloc_url']),
- dbesc($sitekey)
- );
-
- }
- else {
- $sitekey = $hub['sitekey'];
- }
-
- // $sender['sitekey'] is a new addition to the protocol to distinguish
- // hublocs coming from re-installed sites. Older sites will not provide
- // this field and we have to still mark them valid, since we can't tell
- // if this hubloc has the same sitekey as the packet we received.
-
-
- // Update our DB to show when we last communicated successfully with this hub
- // This will allow us to prune dead hubs from using up resources
-
- $t = datetime_convert('UTC', 'UTC', 'now - 15 minutes');
-
- $r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d and hubloc_sitekey = '%s' and hubloc_connected < '%s' ",
- dbesc(datetime_convert()),
- intval($hub['hubloc_id']),
- dbesc($sitekey),
- dbesc($t)
- );
-
- // a dead hub came back to life - reset any tombstones we might have
-
- if(intval($hub['hubloc_error'])) {
- q("update hubloc set hubloc_error = 0 where hubloc_id = %d and hubloc_sitekey = '%s' ",
- intval($hub['hubloc_id']),
- dbesc($sitekey)
- );
- if(intval($hub['hubloc_orphancheck'])) {
- q("update hubloc set hubloc_orphancheck = 0 where hubloc_id = %d and hubloc_sitekey = '%s' ",
- intval($hub['hubloc_id']),
- dbesc($sitekey)
- );
- }
- q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'",
- dbesc($hub['hubloc_hash'])
- );
- }
-
- return $hub['hubloc_url'];
-}
-
-/**
- * @brief Useful to get a health check on a remote site.
- *
- * This will let us know if any important communication details
- * that we may have stored are no longer valid, regardless of xchan details.
- *
- * @return json_return_and_die()
- */
-function zot_reply_ping() {
-
- $ret = array('success'=> false);
-
- logger('POST: got ping send pong now back: ' . z_root() , LOGGER_DEBUG );
-
- $ret['success'] = true;
- $ret['site'] = array();
- $ret['site']['url'] = z_root();
- $ret['site']['url_sig'] = base64url_encode(Crypto::sign(z_root(),get_config('system','prvkey')));
- $ret['site']['sitekey'] = get_config('system','pubkey');
-
- json_return_and_die($ret);
-}
-
-function zot_reply_pickup($data) {
-
- $ret = array('success'=> false);
-
- /*
- * The 'pickup' message arrives with a tracking ID which is associated with a particular outq_hash
- * First verify that that the returned signatures verify, then check that we have an outbound queue item
- * with the correct hash.
- * If everything verifies, find any/all outbound messages in the queue for this hubloc and send them back
- */
-
- if((! $data['secret']) || (! $data['secret_sig'])) {
- $ret['message'] = 'no verification signature';
- logger('mod_zot: pickup: ' . $ret['message'], LOGGER_DEBUG);
-
- json_return_and_die($ret);
- }
-
- $r = q("select distinct hubloc_sitekey from hubloc where hubloc_url = '%s' and hubloc_callback = '%s' and hubloc_sitekey != '' group by hubloc_sitekey ",
- dbesc($data['url']),
- dbesc($data['callback'])
- );
- if(! $r) {
- $ret['message'] = 'site not found';
- logger('mod_zot: pickup: ' . $ret['message']);
-
- json_return_and_die($ret);
- }
-
- foreach ($r as $hubsite) {
-
- // verify the url_sig
- // If the server was re-installed at some point, there could be multiple hubs with the same url and callback.
- // Only one will have a valid key.
-
- $forgery = true;
- $secret_fail = true;
-
- $sitekey = $hubsite['hubloc_sitekey'];
-
- logger('mod_zot: Checking sitekey: ' . $sitekey, LOGGER_DATA, LOG_DEBUG);
-
- if(Crypto::verify($data['callback'],base64url_decode($data['callback_sig']),$sitekey)) {
- $forgery = false;
- }
- if(Crypto::verify($data['secret'],base64url_decode($data['secret_sig']),$sitekey)) {
- $secret_fail = false;
- }
- if((! $forgery) && (! $secret_fail))
- break;
- }
-
- if($forgery) {
- $ret['message'] = 'possible site forgery';
- logger('mod_zot: pickup: ' . $ret['message']);
-
- json_return_and_die($ret);
- }
-
- if($secret_fail) {
- $ret['message'] = 'secret validation failed';
- logger('mod_zot: pickup: ' . $ret['message']);
-
- json_return_and_die($ret);
- }
-
- /*
- * If we made it to here, the signatures verify, but we still don't know if the tracking ID is valid.
- * It wouldn't be an error if the tracking ID isn't found, because we may have sent this particular
- * queue item with another pickup (after the tracking ID for the other pickup was verified).
- */
-
- $r = q("select outq_posturl from outq where outq_hash = '%s' and outq_posturl = '%s' limit 1",
- dbesc($data['secret']),
- dbesc($data['callback'])
- );
-
- if(! $r) {
- $ret['message'] = 'nothing to pick up';
- logger('mod_zot: pickup: ' . $ret['message']);
-
- json_return_and_die($ret);
- }
-
- /*
- * Everything is good if we made it here, so find all messages that are going to this location
- * and send them all - or a reasonable number if there are a lot so we don't overflow memory.
- */
-
- $r = q("select * from outq where outq_posturl = '%s' limit 100",
- dbesc($data['callback'])
- );
-
- if($r) {
- logger('mod_zot: successful pickup message received from ' . $data['callback'] . ' ' . count($r) . ' message(s) picked up', LOGGER_DEBUG);
-
- $ret['success'] = true;
- $ret['pickup'] = array();
- foreach($r as $rr) {
- if($rr['outq_msg']) {
- $x = json_decode($rr['outq_msg'],true);
-
- if(! $x)
- continue;
-
- if(is_array($x) && array_key_exists('message_list',$x)) {
- foreach($x['message_list'] as $xx) {
- $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => $xx);
- }
- }
- else
- $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => $x);
-
- remove_queue_item($rr['outq_hash']);
- }
- }
- }
-
- // It's possible that we have more than 100 messages waiting to be sent.
-
- // See if there are any more messages in the queue.
- $x = q("select * from outq where outq_posturl = '%s' order by outq_created limit 1",
- dbesc($data['callback'])
- );
-
- // If so, kick off a new delivery notification for the next batch
- if ($x) {
- logger("Send additional pickup request.", LOGGER_DEBUG);
- queue_deliver($x[0],true);
- }
-
- // this is a bit of a hack because we don't have the hubloc_url here, only the callback url.
- // worst case is we'll end up using aes256cbc if they've got a different post endpoint
-
- $x = q("select site_crypto from site where site_url = '%s' limit 1",
- dbesc(str_replace('/post','',$data['callback']))
- );
- $algorithm = zot_best_algorithm(($x) ? $x[0]['site_crypto'] : '');
-
- $encrypted = Crypto::encapsulate(json_encode($ret),$sitekey,$algorithm);
-
- json_return_and_die($encrypted);
- // @FIXME: There is a possibility that the transmission will get interrupted
- // and fail - in which case this packet of messages will be lost.
- /* pickup: end */
-}
-
-
-
-function zot_reply_auth_check($data,$encrypted_packet) {
-
- $ret = array('success' => false);
-
- /*
- * Requestor visits /magic/?dest=somewhere on their own site with a browser
- * magic redirects them to $destsite/post [with auth args....]
- * $destsite sends an auth_check packet to originator site
- * The auth_check packet is handled here by the originator's site
- * - the browser session is still waiting
- * inside $destsite/post for everything to verify
- * If everything checks out we'll return a token to $destsite
- * and then $destsite will verify the token, authenticate the browser
- * session and then redirect to the original destination.
- * If authentication fails, the redirection to the original destination
- * will still take place but without authentication.
- */
- logger('mod_zot: auth_check', LOGGER_DEBUG);
-
- if (! $encrypted_packet) {
- logger('mod_zot: auth_check packet was not encrypted.');
- $ret['message'] .= 'no packet encryption' . EOL;
-
- json_return_and_die($ret);
- }
-
- $arr = $data['sender'];
- $sender_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']);
-
- // garbage collect any old unused notifications
-
- /**
- * @TODO This was and should be 10 minutes but my hosting provider has time lag between the DB and
- * the web server. We should probably convert this to webserver time rather than DB time so
- * that the different clocks won't affect it and allow us to keep the time short.
- */
- Zotlabs\Lib\Verify::purge('auth', '30 MINUTE');
-
- $y = q("select xchan_pubkey from xchan where xchan_hash = '%s' limit 1",
- dbesc($sender_hash)
- );
-
- // We created a unique hash in mod/magic.php when we invoked remote auth, and stored it in
- // the verify table. It is now coming back to us as 'secret' and is signed by a channel at the other end.
- // First verify their signature. We will have obtained a zot-info packet from them as part of the sender
- // verification.
-
- if ((! $y) || (! Crypto::verify($data['secret'], base64url_decode($data['secret_sig']),$y[0]['xchan_pubkey']))) {
- logger('mod_zot: auth_check: sender not found or secret_sig invalid.');
- $ret['message'] .= 'sender not found or sig invalid ' . print_r($y,true) . EOL;
-
- json_return_and_die($ret);
- }
-
- // There should be exactly one recipient, the original auth requestor
- /// @FIXME $recipients is undefined here.
- $ret['message'] .= 'recipients ' . print_r($recipients,true) . EOL;
-
- if ($data['recipients']) {
-
- $arr = $data['recipients'][0];
- $recip_hash = make_xchan_hash($arr['guid'], $arr['guid_sig']);
- $c = q("select channel_id, channel_account_id, channel_prvkey from channel where channel_portable_id = '%s' limit 1",
- dbesc($recip_hash)
- );
- if (! $c) {
- logger('mod_zot: auth_check: recipient channel not found.');
- $ret['message'] .= 'recipient not found.' . EOL;
-
- json_return_and_die($ret);
- }
-
- $confirm = base64url_encode(Crypto::sign($data['secret'] . $recip_hash,$c[0]['channel_prvkey']));
-
- // This additionally checks for forged sites since we already stored the expected result in meta
- // and we've already verified that this is them via zot_gethub() and that their key signed our token
-
- $z = Zotlabs\Lib\Verify::match('auth',$c[0]['channel_id'],$data['secret'],$data['sender']['url']);
- if (! $z) {
- logger('mod_zot: auth_check: verification key not found.');
- $ret['message'] .= 'verification key not found' . EOL;
-
- json_return_and_die($ret);
- }
-
- $u = q("select account_service_class from account where account_id = %d limit 1",
- intval($c[0]['channel_account_id'])
- );
-
- logger('mod_zot: auth_check: success', LOGGER_DEBUG);
- $ret['success'] = true;
- $ret['confirm'] = $confirm;
- if ($u && $u[0]['account_service_class'])
- $ret['service_class'] = $u[0]['account_service_class'];
-
- // Set "do not track" flag if this site or this channel's profile is restricted
- // in some way
-
- if (intval(get_config('system','block_public')))
- $ret['DNT'] = true;
- if (! perm_is_allowed($c[0]['channel_id'],'','view_profile'))
- $ret['DNT'] = true;
- if (get_pconfig($c[0]['channel_id'],'system','do_not_track'))
- $ret['DNT'] = true;
- if (get_pconfig($c[0]['channel_id'],'system','hide_online_status'))
- $ret['DNT'] = true;
-
- json_return_and_die($ret);
- }
-
- json_return_and_die($ret);
-}
-
-/**
- * @brief
- *
- * @param array $sender
- * @param array $recipients
- *
- * return json_return_and_die()
- */
-function zot_reply_purge($sender, $recipients) {
-
- $ret = array('success' => false);
-
- if ($recipients) {
- // basically this means "unfriend"
- foreach ($recipients as $recip) {
- $r = q("select channel.*,xchan.* from channel
- left join xchan on channel_portable_id = xchan_hash
- where channel_guid = '%s' and channel_guid_sig = '%s' limit 1",
- dbesc($recip['guid']),
- dbesc($recip['guid_sig'])
- );
- if ($r) {
- $r = q("select abook_id from abook where uid = %d and abook_xchan = '%s' limit 1",
- intval($r[0]['channel_id']),
- dbesc(make_xchan_hash($sender['guid'],$sender['guid_sig']))
- );
- if ($r) {
- contact_remove($r[0]['channel_id'],$r[0]['abook_id']);
- }
- }
- }
- $ret['success'] = true;
- }
- else {
- // Unfriend everybody - basically this means the channel has committed suicide
- $arr = $sender;
- $sender_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']);
-
- remove_all_xchan_resources($sender_hash);
-
- $ret['success'] = true;
- }
-
- json_return_and_die($ret);
-}
-
-/**
- * @brief Remote channel info (such as permissions or photo or something)
- * has been updated. Grab a fresh copy and sync it.
- *
- * The difference between refresh and force_refresh is that force_refresh
- * unconditionally creates a directory update record, even if no changes were
- * detected upon processing.
- *
- * @param array $sender
- * @param array $recipients
- *
- * @return json_return_and_die()
- */
-function zot_reply_refresh($sender, $recipients) {
-
- $ret = array('success' => false);
-
- if($recipients) {
-
- // This would be a permissions update, typically for one connection
-
- foreach ($recipients as $recip) {
- $r = q("select channel.*,xchan.* from channel
- left join xchan on channel_portable_id = xchan_hash
- where xchan_guid = '%s' and xchan_guid_sig = '%s' limit 1",
- dbesc($recip['guid']),
- dbesc($recip['guid_sig'])
- );
- $x = zot_refresh(array(
- 'xchan_guid' => $sender['guid'],
- 'xchan_guid_sig' => $sender['guid_sig'],
- 'hubloc_url' => $sender['url']
- ), $r[0], (($msgtype === 'force_refresh') ? true : false));
- }
- }
- else {
- // system wide refresh
-
- $x = zot_refresh(array(
- 'xchan_guid' => $sender['guid'],
- 'xchan_guid_sig' => $sender['guid_sig'],
- 'hubloc_url' => $sender['url']
- ), null, (($msgtype === 'force_refresh') ? true : false));
- }
-
- $ret['success'] = true;
- json_return_and_die($ret);
-}
-
-
-function zot6_check_sig() {
-
- $ret = [ 'success' => false ];
-
- logger('server: ' . print_r($_SERVER,true), LOGGER_DATA);
-
- if(array_key_exists('HTTP_SIGNATURE',$_SERVER)) {
- $sigblock = \Zotlabs\Web\HTTPSig::parse_sigheader($_SERVER['HTTP_SIGNATURE']);
- if($sigblock) {
- $keyId = $sigblock['keyId'];
- logger('keyID: ' . $keyId);
- if($keyId) {
- $r = q("select hubloc.*, site_crypto from hubloc left join site on hubloc_url = site_url
- where hubloc_addr = '%s' ",
- dbesc(str_replace('acct:','',$keyId))
- );
- if($r) {
- foreach($r as $hubloc) {
- $verified = \Zotlabs\Web\HTTPSig::verify('',$hubloc['xchan_pubkey']);
- if($verified && $verified['header_signed'] && $verified['header_valid'] && $verified['content_signed'] && $verified['content_valid']) {
- logger('zot6 verified');
- $ret['hubloc'] = $hubloc;
- $ret['success'] = true;
- return $ret;
- }
- }
- }
- }
- }
- }
-
- return $ret;
-}
-
-function zot_reply_notify($data) {
-
- $ret = array('success' => false);
-
- logger('notify received from ' . $data['sender']['url']);
-
- $async = get_config('system','queued_fetch');
-
- if($async) {
- // add to receive queue
- // qreceive_add($data);
- }
- else {
- $x = zot_fetch($data);
- $ret['delivery_report'] = $x;
- }
-
- $ret['success'] = true;
- json_return_and_die($ret);
-}
-
-
-function zot_record_preferred($arr, $check = 'hubloc_network') {
-
- if(! $arr) {
- return $arr;
- }
-
- foreach($arr as $v) {
- if($v[$check] === 'zot') {
- return $v;
- }
- }
- foreach($arr as $v) {
- if($v[$check] === 'zot6') {
- return $v;
- }
- }
-
- return $arr[0];
-
-}
-
-function find_best_zot_identity($xchan) {
-
- $r = q("select hubloc_addr from hubloc where hubloc_hash = '%s' and hubloc_network in ('zot6', 'zot') and hubloc_deleted = 0",
- dbesc($xchan)
- );
-
- if ($r) {
-
- $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_addr = '%s' and hubloc_network in ('zot6', 'zot') and hubloc_deleted = 0",
- dbesc($r[0]['hubloc_addr'])
- );
- if ($r) {
- $r = Libzot::zot_record_preferred($r);
- logger('find_best_zot_identity: ' . $xchan . ' > ' . $r['hubloc_hash']);
- return $r['hubloc_hash'];
- }
- }
-
- return $xchan;
-}
diff --git a/tests/unit/includes/FeedutilsTest.php b/tests/unit/includes/FeedutilsTest.php
index e9826a73d..bda0bf425 100644
--- a/tests/unit/includes/FeedutilsTest.php
+++ b/tests/unit/includes/FeedutilsTest.php
@@ -4,6 +4,8 @@ namespace Zotlabs\Tests\Unit\includes;
use Zotlabs\Tests\Unit\UnitTestCase;
+require_once('include/feedutils.php');
+
/**
* @brief Unit Test case for include/feedutils.php file.
*/
diff --git a/tests/unit/includes/LanguageTest.php b/tests/unit/includes/LanguageTest.php
index 0ca9eacd0..9f1af2b50 100644
--- a/tests/unit/includes/LanguageTest.php
+++ b/tests/unit/includes/LanguageTest.php
@@ -155,7 +155,7 @@ class LanguageTest extends UnitTestCase {
'nb',
'Norwegian Bokmål',
[
- 'de' => 'Norwegisch Bokmål',
+ 'de' => 'Norwegisch (Bokmål)',
'nb' => 'norsk bokmål'
]
]
diff --git a/util/fresh b/util/fresh
index 0482d1215..6e2c6f897 100755
--- a/util/fresh
+++ b/util/fresh
@@ -4,7 +4,6 @@
// Red cli interpreter
require_once('include/cli_startup.php');
-require_once('include/zot.php');
cli_startup();
@@ -23,7 +22,7 @@ function fresh_main($argc,$argv) {
$line = fgets(STDIN);
}
-
+
if($line === FALSE) {
if(feof(STDIN)) {
break;
@@ -34,7 +33,7 @@ function fresh_main($argc,$argv) {
$line = trim($line);
if($line == 'quit' || $line == 'exit')
exit();
-
+
process_command($line);
}
@@ -62,8 +61,8 @@ function process_command($line) {
case '?':
case 'help':
fresh_help();
- break;
-
+ break;
+/*
case 'finger':
if(argv(1)) {
$x = Zotlabs\Zot\Finger::run(argv(1),$channel);
@@ -71,7 +70,7 @@ function process_command($line) {
echo jindent($x);
}
break;
-
+*/
case 'login':
if(argv(1)) {
echo 'Password: ';
@@ -92,13 +91,13 @@ function process_command($line) {
echo 'logged in';
$channel = App::get_channel();
if($channel)
- echo ' as ' . $channel['channel_name'];
+ echo ' as ' . $channel['channel_name'];
}
else
echo 'login failed.';
}
- break;
+ break;
case 'channel':
if(! local_channel())
echo 'Permission denied.';
@@ -115,19 +114,19 @@ function process_command($line) {
else
echo 'Channel not found.';
}
- break;
+ break;
case 'conn':
if(! local_channel()) {
echo "Permission denied.";
break;
}
if(argc() > 1) {
- for($x = 1; $x < argc(); $x ++) {
+ for($x = 1; $x < argc(); $x ++) {
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d",
intval(argv($x)),
intval(local_channel())
);
- if($r) echo jindent(json_encode($r[0])) . "\n";
+ if($r) echo jindent(json_encode($r[0])) . "\n";
}
}
else {
@@ -144,21 +143,21 @@ function process_command($line) {
default:
break;
- }
+ }
}
-
+
function fresh_help() {
if(argc() == 1) {
echo "help - this text\n";
echo "login email_address - login with email_address, prompts for password\n";
- echo "finger channel_address - lookup channel_address remotely\n";
+// echo "finger channel_address - lookup channel_address remotely\n";
echo "channel new_channel - change active channel to new_channel (nickname)\n";
echo "conn [id1] [id2...] - without args list connections, or report detail of connection id1 (etc.)\n";
echo "quit|exit - terminate fresh\n";
}
-} \ No newline at end of file
+}
diff --git a/util/hmessages.po b/util/hmessages.po
index a51bab69a..38c7c2e11 100644
--- a/util/hmessages.po
+++ b/util/hmessages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: STD_VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-23 21:08+0200\n"
+"POT-Creation-Date: 2021-06-12 02:13+0200\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"
@@ -150,8 +150,8 @@ msgid "Special - Group Repository"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:310
-#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:797
-#: ../../Zotlabs/Module/Connedit.php:928 ../../include/selectors.php:60
+#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:796
+#: ../../Zotlabs/Module/Connedit.php:920 ../../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
@@ -163,15 +163,14 @@ msgstr ""
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:242 ../../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/Authtest.php:13 ../../Zotlabs/Module/Pdledit.php:35
+#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Bookmarks.php:70
+#: ../../Zotlabs/Module/Webpages.php:133 ../../Zotlabs/Module/Profiles.php:200
+#: ../../Zotlabs/Module/Profiles.php:636 ../../Zotlabs/Module/Like.php:242
+#: ../../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/Moderate.php:15
#: ../../Zotlabs/Module/New_channel.php:105
#: ../../Zotlabs/Module/New_channel.php:130
#: ../../Zotlabs/Module/Filestorage.php:20
@@ -184,36 +183,33 @@ msgstr ""
#: ../../Zotlabs/Module/Viewconnections.php:33 ../../Zotlabs/Module/Wiki.php:59
#: ../../Zotlabs/Module/Wiki.php:284 ../../Zotlabs/Module/Wiki.php:427
#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
-#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:397
+#: ../../Zotlabs/Module/Locs.php:98 ../../Zotlabs/Module/Connedit.php:394
#: ../../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:506 ../../Zotlabs/Module/Item.php:525
-#: ../../Zotlabs/Module/Item.php:535 ../../Zotlabs/Module/Item.php:1444
-#: ../../Zotlabs/Module/Rate.php:115 ../../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:420
-#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:209
-#: ../../Zotlabs/Module/Channel.php:365 ../../Zotlabs/Module/Channel.php:404
-#: ../../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/Item.php:535 ../../Zotlabs/Module/Item.php:1446
+#: ../../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:420 ../../Zotlabs/Module/Photos.php:71
+#: ../../Zotlabs/Module/Channel.php:222 ../../Zotlabs/Module/Channel.php:378
+#: ../../Zotlabs/Module/Channel.php:417 ../../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:99
#: ../../Zotlabs/Module/Profile.php:114
#: ../../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:208
-#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126
-#: ../../Zotlabs/Module/Register.php:200
+#: ../../Zotlabs/Module/Suggest.php:32 ../../Zotlabs/Module/Articles.php:89
+#: ../../Zotlabs/Module/Setup.php:208 ../../Zotlabs/Module/Mitem.php:129
+#: ../../Zotlabs/Module/Mood.php:126 ../../Zotlabs/Module/Register.php:200
#: ../../Zotlabs/Module/Channel_calendar.php:232
#: ../../Zotlabs/Module/Invite.php:51 ../../Zotlabs/Module/Invite.php:302
#: ../../Zotlabs/Module/Service_limits.php:11
@@ -224,7 +220,7 @@ msgstr ""
#: ../../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/Module/Settings.php:58 ../../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
@@ -232,7 +228,7 @@ msgstr ""
#: ../../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:4088
+#: ../../include/items.php:3744
#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:53
#: ../../extend/addon/hubzilla-addons/keepout/keepout.php:36
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:26
@@ -256,11 +252,11 @@ msgstr ""
#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:62
#: ../../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/Notes.php:56 ../../Zotlabs/Module/Tokens.php:99
#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134
-#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:19
-#: ../../Zotlabs/Module/Invite.php:56 ../../Zotlabs/Module/Invite.php:310
-#: ../../Zotlabs/Module/Lang.php:17 ../../Zotlabs/Module/Sources.php:88
+#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Invite.php:56
+#: ../../Zotlabs/Module/Invite.php:310 ../../Zotlabs/Module/Lang.php:20
+#: ../../Zotlabs/Module/Lang.php:63 ../../Zotlabs/Module/Sources.php:88
#: ../../Zotlabs/Module/Poke.php:165
#: ../../extend/addon/hubzilla-addons/gnusoc/Mod_Gnusoc.php:22
#: ../../extend/addon/hubzilla-addons/skeleton/Mod_Skeleton.php:32
@@ -332,20 +328,20 @@ msgstr ""
msgid "System layout"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Events.php:501
-#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Import.php:647
-#: ../../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/Pdledit.php:108 ../../Zotlabs/Module/Profiles.php:724
+#: ../../Zotlabs/Module/Import.php:582 ../../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:214 ../../Zotlabs/Module/Locs.php:132
-#: ../../Zotlabs/Module/Connedit.php:897 ../../Zotlabs/Module/Regate.php:387
-#: ../../Zotlabs/Module/Rate.php:168 ../../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/Wiki.php:214 ../../Zotlabs/Module/Locs.php:130
+#: ../../Zotlabs/Module/Connedit.php:889 ../../Zotlabs/Module/Regate.php:387
+#: ../../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:1214
+#: ../../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:309
@@ -461,7 +457,7 @@ msgstr ""
#: ../../Zotlabs/Module/Like.php:342 ../../Zotlabs/Module/Group.php:99
#: ../../Zotlabs/Module/Import_items.php:120
#: ../../Zotlabs/Module/Subthread.php:89 ../../Zotlabs/Module/Share.php:72
-#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:441
+#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:440
#: ../../extend/addon/hubzilla-addons/hzfiles/hzfiles.php:75
#: ../../extend/addon/hubzilla-addons/redphotos/redphotos.php:119
#: ../../extend/addon/hubzilla-addons/redfiles/redfiles.php:109
@@ -472,65 +468,65 @@ msgstr ""
msgid "Invalid message"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:93
+#: ../../Zotlabs/Module/Dreport.php:92
msgid "no results"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:107
+#: ../../Zotlabs/Module/Dreport.php:106
msgid "channel sync processed"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:111
+#: ../../Zotlabs/Module/Dreport.php:110
msgid "queued"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:115
+#: ../../Zotlabs/Module/Dreport.php:114
msgid "posted"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:119
+#: ../../Zotlabs/Module/Dreport.php:118
msgid "accepted for delivery"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:123
+#: ../../Zotlabs/Module/Dreport.php:122
msgid "updated"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:126
+#: ../../Zotlabs/Module/Dreport.php:125
msgid "update ignored"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:129
+#: ../../Zotlabs/Module/Dreport.php:128
msgid "permission denied"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:133
+#: ../../Zotlabs/Module/Dreport.php:132
msgid "recipient not found"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:136
+#: ../../Zotlabs/Module/Dreport.php:135
msgid "mail recalled"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:139
+#: ../../Zotlabs/Module/Dreport.php:138
msgid "duplicate mail received"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:142
+#: ../../Zotlabs/Module/Dreport.php:141
msgid "mail delivered"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:162
+#: ../../Zotlabs/Module/Dreport.php:161
#, php-format
msgid "Delivery report for %1$s"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:166 ../../Zotlabs/Widget/Wiki_pages.php:41
+#: ../../Zotlabs/Module/Dreport.php:165 ../../Zotlabs/Widget/Wiki_pages.php:41
#: ../../Zotlabs/Widget/Wiki_pages.php:98
msgid "Options"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:167
+#: ../../Zotlabs/Module/Dreport.php:166
msgid "Redeliver"
msgstr ""
@@ -543,7 +539,7 @@ msgid "Profile Visibility Editor"
msgstr ""
#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362
-#: ../../include/channel.php:1914
+#: ../../include/channel.php:1834
msgid "Profile"
msgstr ""
@@ -590,11 +586,11 @@ msgstr ""
msgid "Deny"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:819 ../../Zotlabs/Module/Events.php:28
+#: ../../Zotlabs/Module/Cdav.php:819
msgid "Calendar entries imported."
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:821 ../../Zotlabs/Module/Events.php:30
+#: ../../Zotlabs/Module/Cdav.php:821
msgid "No calendar entries found."
msgstr ""
@@ -611,11 +607,11 @@ msgstr ""
msgid "Link to source"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:468
+#: ../../Zotlabs/Module/Cdav.php:1010
msgid "Event title"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1011 ../../Zotlabs/Module/Events.php:474
+#: ../../Zotlabs/Module/Cdav.php:1011
msgid "Start date and time"
msgstr ""
@@ -623,51 +619,47 @@ msgstr ""
msgid "End date and time"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1013 ../../Zotlabs/Module/Events.php:497
+#: ../../Zotlabs/Module/Cdav.php:1013
msgid "Timezone:"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:481
-#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Appman.php:145
+#: ../../Zotlabs/Module/Rbmark.php:100
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:173
#: ../../extend/addon/hubzilla-addons/cart/submodules/hzservices.php:655
#: ../../extend/addon/hubzilla-addons/cart/submodules/manualcat.php:260
msgid "Description"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1016 ../../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
+#: ../../Zotlabs/Module/Cdav.php:1016 ../../Zotlabs/Module/Profiles.php:511
+#: ../../Zotlabs/Module/Profiles.php:735 ../../Zotlabs/Module/Locs.php:126
+#: ../../Zotlabs/Module/Pubsites.php:52 ../../include/js_strings.php:25
msgid "Location"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:697
-#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947
+#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Photos.php:947
#: ../../Zotlabs/Module/Cal.php:203
msgid "Previous"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:698
-#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956
+#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Photos.php:956
#: ../../Zotlabs/Module/Cal.php:204 ../../Zotlabs/Module/Setup.php:262
msgid "Next"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:708
-#: ../../Zotlabs/Module/Cal.php:205
+#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Cal.php:205
msgid "Today"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:703
+#: ../../Zotlabs/Module/Cdav.php:1039
msgid "Month"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:704
+#: ../../Zotlabs/Module/Cdav.php:1040
msgid "Week"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1041 ../../Zotlabs/Module/Events.php:705
+#: ../../Zotlabs/Module/Cdav.php:1041
msgid "Day"
msgstr ""
@@ -692,9 +684,9 @@ msgid "Less"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1054 ../../Zotlabs/Module/Cdav.php:1389
-#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53
+#: ../../Zotlabs/Module/Profiles.php:800 ../../Zotlabs/Module/Oauth.php:53
#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58
-#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:932
+#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:924
#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536
msgid "Update"
msgstr ""
@@ -713,15 +705,15 @@ msgid "CalDAV Calendars"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1057 ../../Zotlabs/Module/Cdav.php:1390
-#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Profiles.php:801
#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:130
#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Connedit.php:661 ../../Zotlabs/Module/Connedit.php:933
+#: ../../Zotlabs/Module/Connedit.php:653 ../../Zotlabs/Module/Connedit.php:925
#: ../../Zotlabs/Module/Editlayout.php:138
#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179
#: ../../Zotlabs/Module/Connections.php:329
#: ../../Zotlabs/Module/Editwebpage.php:167
-#: ../../Zotlabs/Module/Article_edit.php:129
+#: ../../Zotlabs/Module/Article_edit.php:128
#: ../../Zotlabs/Module/Admin/Accounts.php:320
#: ../../Zotlabs/Module/Admin/Channels.php:149
#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Thing.php:269
@@ -736,32 +728,32 @@ msgid "Delete all"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1391
-#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:802
#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138
#: ../../Zotlabs/Module/Card_edit.php:132 ../../Zotlabs/Module/Oauth2.php:117
#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:367
#: ../../Zotlabs/Module/Wiki.php:400 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:934
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:926
#: ../../Zotlabs/Module/Profile_photo.php:507
#: ../../Zotlabs/Module/Editlayout.php:140
#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:111
#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
#: ../../Zotlabs/Module/Editwebpage.php:169
-#: ../../Zotlabs/Module/Article_edit.php:131
+#: ../../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:1460
-#: ../../include/conversation.php:1515
+#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1455
+#: ../../include/conversation.php:1510
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:209
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:258
msgid "Cancel"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1060 ../../Zotlabs/Module/Cdav.php:1388
-#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Profiles.php:800
+#: ../../Zotlabs/Module/Webpages.php:253 ../../Zotlabs/Module/Profiles.php:799
#: ../../Zotlabs/Module/Layouts.php:185
#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159
-#: ../../Zotlabs/Module/Connedit.php:931 ../../Zotlabs/Module/Menu.php:182
+#: ../../Zotlabs/Module/Connedit.php:923 ../../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"
@@ -784,7 +776,7 @@ msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1373 ../../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:217 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Connedit.php:908
#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257
#: ../../Zotlabs/Module/Admin/Channels.php:159
#: ../../Zotlabs/Storage/Browser.php:377
@@ -794,25 +786,25 @@ msgstr ""
msgid "Name"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:909
msgid "Organisation"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Connedit.php:918
+#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Connedit.php:910
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:2617
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:2678
msgid "Title"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:788
-#: ../../Zotlabs/Module/Connedit.php:919
+#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:787
+#: ../../Zotlabs/Module/Connedit.php:911
msgid "Phone"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:789
-#: ../../Zotlabs/Module/Connedit.php:920
+#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Connedit.php:912
#: ../../Zotlabs/Module/Admin/Accounts.php:316
-#: ../../Zotlabs/Module/Admin/Accounts.php:330 ../../include/network.php:1768
+#: ../../Zotlabs/Module/Admin/Accounts.php:330 ../../include/network.php:1743
#: ../../extend/addon/hubzilla-addons/redred/Mod_Redred.php:71
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:56
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:57
@@ -820,82 +812,82 @@ msgstr ""
msgid "Email"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:790
-#: ../../Zotlabs/Module/Connedit.php:921
+#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:789
+#: ../../Zotlabs/Module/Connedit.php:913
msgid "Instant messenger"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:791
-#: ../../Zotlabs/Module/Connedit.php:922
+#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Connedit.php:914
msgid "Website"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:504
-#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129
-#: ../../Zotlabs/Module/Connedit.php:923
+#: ../../Zotlabs/Module/Profiles.php:791 ../../Zotlabs/Module/Locs.php:127
+#: ../../Zotlabs/Module/Connedit.php:915
#: ../../Zotlabs/Module/Admin/Channels.php:160
msgid "Address"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:793
-#: ../../Zotlabs/Module/Connedit.php:924
+#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:792
+#: ../../Zotlabs/Module/Connedit.php:916
msgid "Note"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:794
-#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:734
+#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Connedit.php:917 ../../include/connections.php:734
#: ../../include/event.php:1422
msgid "Mobile"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:795
-#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:735
+#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:794
+#: ../../Zotlabs/Module/Connedit.php:918 ../../include/connections.php:735
#: ../../include/event.php:1423
msgid "Home"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:796
-#: ../../Zotlabs/Module/Connedit.php:927 ../../include/connections.php:738
+#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:795
+#: ../../Zotlabs/Module/Connedit.php:919 ../../include/connections.php:738
#: ../../include/event.php:1426
msgid "Work"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:798
-#: ../../Zotlabs/Module/Connedit.php:929
+#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:797
+#: ../../Zotlabs/Module/Connedit.php:921
msgid "Add Contact"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Profiles.php:799
-#: ../../Zotlabs/Module/Connedit.php:930
+#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Connedit.php:922
msgid "Add Field"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935
+#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:927
msgid "P.O. Box"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936
+#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:928
msgid "Additional"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937
+#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:929
msgid "Street"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938
+#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:930
msgid "Locality"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939
+#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:931
msgid "Region"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Connedit.php:940
+#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Connedit.php:932
msgid "ZIP Code"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1398 ../../Zotlabs/Module/Profiles.php:759
-#: ../../Zotlabs/Module/Connedit.php:941
+#: ../../Zotlabs/Module/Cdav.php:1398 ../../Zotlabs/Module/Profiles.php:758
+#: ../../Zotlabs/Module/Connedit.php:933
msgid "Country"
msgstr ""
@@ -925,13 +917,12 @@ msgid ""
"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:636 ../../Zotlabs/Module/Import.php:640
-#: ../../Zotlabs/Module/Import.php:641 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Profiles.php:682
+#: ../../Zotlabs/Module/Import.php:571 ../../Zotlabs/Module/Import.php:575
+#: ../../Zotlabs/Module/Import.php:576 ../../Zotlabs/Module/Defperms.php:198
#: ../../Zotlabs/Module/Filestorage.php:203
#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:226
-#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:404
+#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:401
#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:321
#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
@@ -944,7 +935,7 @@ msgstr ""
#: ../../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:1468
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1463
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
#: ../../include/dir_fns.php:146
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:111
@@ -996,18 +987,17 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:98
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:102
#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1721
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1725
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:636 ../../Zotlabs/Module/Import.php:640
-#: ../../Zotlabs/Module/Import.php:641 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Profiles.php:682
+#: ../../Zotlabs/Module/Import.php:571 ../../Zotlabs/Module/Import.php:575
+#: ../../Zotlabs/Module/Import.php:576 ../../Zotlabs/Module/Defperms.php:198
#: ../../Zotlabs/Module/Filestorage.php:203
#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:226
-#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:404
-#: ../../Zotlabs/Module/Connedit.php:789 ../../Zotlabs/Module/Photos.php:673
+#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:401
+#: ../../Zotlabs/Module/Connedit.php:781 ../../Zotlabs/Module/Photos.php:673
#: ../../Zotlabs/Module/Admin/Site.php:319 ../../Zotlabs/Module/Mitem.php:176
#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
#: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Register.php:512
@@ -1019,7 +1009,7 @@ msgstr ""
#: ../../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:1468
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1463
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
#: ../../include/dir_fns.php:146
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:111
@@ -1071,15 +1061,15 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:98
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:102
#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1721
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1725
msgid "No"
msgstr ""
-#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52
+#: ../../Zotlabs/Module/Dirsearch.php:24 ../../Zotlabs/Module/Regdir.php:52
msgid "This site is not a directory server"
msgstr ""
-#: ../../Zotlabs/Module/Dirsearch.php:37
+#: ../../Zotlabs/Module/Dirsearch.php:33
msgid "This directory server requires an access token"
msgstr ""
@@ -1094,8 +1084,8 @@ msgstr ""
#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Cards.php:113
#: ../../Zotlabs/Module/Admin/Profs.php:94
#: ../../Zotlabs/Module/Admin/Profs.php:114
-#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23
+#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Rbmark.php:31
+#: ../../Zotlabs/Module/Rbmark.php:103 ../../Zotlabs/Widget/Notes.php:23
#: ../../include/text.php:1145 ../../include/text.php:1157
#: ../../extend/addon/hubzilla-addons/queueworker/Mod_Queueworker.php:116
msgid "Save"
@@ -1105,167 +1095,6 @@ msgstr ""
msgid "Save to Folder"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:113
-#: ../../Zotlabs/Module/Channel_calendar.php:62
-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:64
-#: ../../Zotlabs/Module/Channel_calendar.php:72
-#: ../../Zotlabs/Module/Channel_calendar.php:87
-msgid "Unable to generate preview."
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:122
-#: ../../Zotlabs/Module/Channel_calendar.php:70
-msgid "Event title and start time are required."
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271
-#: ../../Zotlabs/Module/Channel_calendar.php:85
-#: ../../Zotlabs/Module/Channel_calendar.php:226
-msgid "Event not found."
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:441
-#: ../../Zotlabs/Module/Tagger.php:75
-#: ../../Zotlabs/Module/Channel_calendar.php:221
-#: ../../include/conversation.php:132 ../../include/text.php:2257
-#: ../../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
-#: ../../Zotlabs/Module/Register.php:498 ../../include/js_strings.php:123
-#: ../../include/datetime.php:211
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:334
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:358
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:434
-#: ../../extend/addon/hubzilla-addons/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:837
-#: ../../include/conversation.php:1404
-#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:153
-msgid "Preview"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1482
-#: ../../extend/addon/hubzilla-addons/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:370
-msgid "Edit event"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:643
-#: ../../Zotlabs/Module/Channel_calendar.php:372
-msgid "Delete event"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2076
-msgid "Link to Source"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:677
-#: ../../Zotlabs/Module/Channel_calendar.php:406
-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:1917
-msgid "Export"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261
-#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:212
-#: ../../Zotlabs/Module/Wiki.php:408 ../../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:493
-msgid "Failed to remove event"
-msgstr ""
-
#: ../../Zotlabs/Module/Help.php:23
msgid "Documentation Search"
msgstr ""
@@ -1325,7 +1154,7 @@ msgstr ""
#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42
#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:27
#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1464
+#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1384
#: ../../extend/addon/hubzilla-addons/gallery/Mod_Gallery.php:49
msgid "Requested profile is not available."
msgstr ""
@@ -1354,12 +1183,12 @@ msgstr ""
msgid "Export selected"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341
+#: ../../Zotlabs/Module/Webpages.php:251 ../../Zotlabs/Lib/Apps.php:341
#: ../../include/nav.php:524
msgid "Webpages"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Webpages.php:254 ../../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:210 ../../Zotlabs/Module/Wiki.php:383
@@ -1369,67 +1198,79 @@ msgstr ""
#: ../../Zotlabs/Module/Connections.php:363
#: ../../Zotlabs/Module/Connections.php:383
#: ../../Zotlabs/Module/Editwebpage.php:142
-#: ../../Zotlabs/Module/Article_edit.php:98
+#: ../../Zotlabs/Module/Article_edit.php:97
#: ../../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:149 ../../Zotlabs/Widget/Cdav.php:138
-#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1566
-#: ../../include/channel.php:1570 ../../include/menu.php:120
+#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1486
+#: ../../include/channel.php:1490 ../../include/menu.php:120
msgid "Edit"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:194
#: ../../Zotlabs/Module/Wiki.php:300 ../../Zotlabs/Module/Blocks.php:161
#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136
-#: ../../include/conversation.php:1437
+#: ../../include/conversation.php:1432
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:186
msgid "Share"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:263
+#: ../../Zotlabs/Module/Webpages.php:260 ../../Zotlabs/Module/Layouts.php:198
+#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Module/Wiki.php:408
+#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Pubsites.php:60
+msgid "View"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:261 ../../Zotlabs/Module/Photos.php:1099
+#: ../../Zotlabs/Lib/ThreadItem.php:837 ../../include/conversation.php:1399
+#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:153
+msgid "Preview"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:262
msgid "Actions"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:264
+#: ../../Zotlabs/Module/Webpages.php:263
msgid "Page Link"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:265
+#: ../../Zotlabs/Module/Webpages.php:264
msgid "Page Title"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Webpages.php:265 ../../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/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:192
#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179
msgid "Edited"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:295
+#: ../../Zotlabs/Module/Webpages.php:294
msgid "Invalid file type."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:307
+#: ../../Zotlabs/Module/Webpages.php:306
msgid "Error opening zip file"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:318
+#: ../../Zotlabs/Module/Webpages.php:317
msgid "Invalid folder path."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:345
+#: ../../Zotlabs/Module/Webpages.php:344
msgid "No webpage elements detected."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:420
+#: ../../Zotlabs/Module/Webpages.php:419
msgid "Import complete."
msgstr ""
#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186
-#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661
+#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:660
msgid "Profile not found."
msgstr ""
@@ -1465,15 +1306,15 @@ msgstr ""
msgid "Romantic Partner"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774
+#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:773
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775
+#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:774
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:781
msgid "Work/Employment"
msgstr ""
@@ -1506,283 +1347,294 @@ msgstr ""
msgid "Profile updated."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:680
+#: ../../Zotlabs/Module/Profiles.php:679
msgid "Hide your connections list from viewers of this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:724
+#: ../../Zotlabs/Module/Profiles.php:723
msgid "Edit Profile Details"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:726
+#: ../../Zotlabs/Module/Profiles.php:725
msgid "View this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826
-#: ../../include/channel.php:1589
+#: ../../Zotlabs/Module/Profiles.php:726 ../../Zotlabs/Module/Profiles.php:825
+#: ../../include/channel.php:1509
msgid "Edit visibility"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:728
+#: ../../Zotlabs/Module/Profiles.php:727
msgid "Profile Tools"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:729
+#: ../../Zotlabs/Module/Profiles.php:728
msgid "Change cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1559
+#: ../../Zotlabs/Module/Profiles.php:729 ../../include/channel.php:1479
msgid "Change profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:731
+#: ../../Zotlabs/Module/Profiles.php:730
msgid "Create a new profile using these settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:732
+#: ../../Zotlabs/Module/Profiles.php:731
msgid "Clone this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:733
+#: ../../Zotlabs/Module/Profiles.php:732
msgid "Delete this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:734
+#: ../../Zotlabs/Module/Profiles.php:733
msgid "Add profile things"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:735
+#: ../../Zotlabs/Module/Profiles.php:734
msgid "Personal"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:737
+#: ../../Zotlabs/Module/Profiles.php:736
msgid "Relationship"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51
+#: ../../Zotlabs/Module/Profiles.php:737 ../../Zotlabs/Widget/Newmember.php:51
#: ../../include/datetime.php:58
msgid "Miscellaneous"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:740
+#: ../../Zotlabs/Module/Profiles.php:739
msgid "Import profile from file"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:741
+#: ../../Zotlabs/Module/Profiles.php:740
msgid "Export profile to file"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:742
+#: ../../Zotlabs/Module/Profiles.php:741
msgid "Your gender"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:743
+#: ../../Zotlabs/Module/Profiles.php:742
msgid "Marital status"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:744
+#: ../../Zotlabs/Module/Profiles.php:743
msgid "Sexual preference"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:747
+#: ../../Zotlabs/Module/Profiles.php:746
msgid "Profile name"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:749
+#: ../../Zotlabs/Module/Profiles.php:746 ../../Zotlabs/Module/Profiles.php:750
+#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144
+#: ../../Zotlabs/Module/Register.php:498 ../../include/js_strings.php:123
+#: ../../include/datetime.php:211
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:334
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:358
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:434
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:458
+msgid "Required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:748
msgid "This is your default profile."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:751
+#: ../../Zotlabs/Module/Profiles.php:750
msgid "Your full name"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:752
+#: ../../Zotlabs/Module/Profiles.php:751
msgid "Short title/description"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:752
+#: ../../Zotlabs/Module/Profiles.php:751
msgid "Maximal 190 characters"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:755
+#: ../../Zotlabs/Module/Profiles.php:754
msgid "Street address"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:756
+#: ../../Zotlabs/Module/Profiles.php:755
msgid "Locality/City"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:757
+#: ../../Zotlabs/Module/Profiles.php:756
msgid "Region/State"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:758
+#: ../../Zotlabs/Module/Profiles.php:757
msgid "Postal/Zip code"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:764
+#: ../../Zotlabs/Module/Profiles.php:763
msgid "Who (if applicable)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:764
+#: ../../Zotlabs/Module/Profiles.php:763
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:765
+#: ../../Zotlabs/Module/Profiles.php:764
msgid "Since (date)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:768
+#: ../../Zotlabs/Module/Profiles.php:767
msgid "Tell us about yourself"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:769
+#: ../../Zotlabs/Module/Profiles.php:768
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:68
msgid "Homepage URL"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:770
+#: ../../Zotlabs/Module/Profiles.php:769
msgid "Hometown"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:771
+#: ../../Zotlabs/Module/Profiles.php:770
msgid "Political views"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:772
+#: ../../Zotlabs/Module/Profiles.php:771
msgid "Religious views"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:773
+#: ../../Zotlabs/Module/Profiles.php:772
msgid "Keywords used in directory listings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:773
+#: ../../Zotlabs/Module/Profiles.php:772
msgid "Example: fishing photography software"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:776
+#: ../../Zotlabs/Module/Profiles.php:775
msgid "Musical interests"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:777
+#: ../../Zotlabs/Module/Profiles.php:776
msgid "Books, literature"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Profiles.php:777
msgid "Television"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:779
+#: ../../Zotlabs/Module/Profiles.php:778
msgid "Film/Dance/Culture/Entertainment"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:780
+#: ../../Zotlabs/Module/Profiles.php:779
msgid "Hobbies/Interests"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:781
+#: ../../Zotlabs/Module/Profiles.php:780
msgid "Love/Romance"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:783
+#: ../../Zotlabs/Module/Profiles.php:782
msgid "School/Education"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:784
+#: ../../Zotlabs/Module/Profiles.php:783
msgid "Contact information and social networks"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:785
+#: ../../Zotlabs/Module/Profiles.php:784
msgid "My other channels"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:787
+#: ../../Zotlabs/Module/Profiles.php:786
msgid "Communications"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1585
+#: ../../Zotlabs/Module/Profiles.php:821 ../../include/channel.php:1505
msgid "Profile Image"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1566
+#: ../../Zotlabs/Module/Profiles.php:831 ../../include/channel.php:1486
#: ../../include/nav.php:118
msgid "Edit Profiles"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:213
-#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262
+#: ../../Zotlabs/Module/Profiles.php:832 ../../Zotlabs/Module/Wiki.php:213
+#: ../../Zotlabs/Module/Manage.php:135 ../../Zotlabs/Module/Chat.php:262
msgid "Create New"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:69 ../../Zotlabs/Module/Import_items.php:48
+#: ../../Zotlabs/Module/Import.php:68 ../../Zotlabs/Module/Import_items.php:48
msgid "Nothing to import."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:84 ../../Zotlabs/Module/Import.php:100
+#: ../../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:107 ../../Zotlabs/Module/Import_items.php:77
+#: ../../Zotlabs/Module/Import.php:106 ../../Zotlabs/Module/Import_items.php:77
msgid "Imported file is empty."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:163
+#: ../../Zotlabs/Module/Import.php:162
#, php-format
msgid "Your service plan only allows %d channels."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:190
+#: ../../Zotlabs/Module/Import.php:189
msgid "No channel. Import failed."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:595
+#: ../../Zotlabs/Module/Import.php:530
#: ../../extend/addon/hubzilla-addons/diaspora/import_diaspora.php:142
msgid "Import completed."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:623
+#: ../../Zotlabs/Module/Import.php:558
msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:628
+#: ../../Zotlabs/Module/Import.php:563
msgid "Import Channel"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:629
+#: ../../Zotlabs/Module/Import.php:564
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:630
+#: ../../Zotlabs/Module/Import.php:565
#: ../../Zotlabs/Module/Import_items.php:127
msgid "File to Upload"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:631
+#: ../../Zotlabs/Module/Import.php:566
msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:633
+#: ../../Zotlabs/Module/Import.php:568
msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:634
+#: ../../Zotlabs/Module/Import.php:569
msgid "Your old login email address"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:635
+#: ../../Zotlabs/Module/Import.php:570
msgid "Your old login password"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:636
+#: ../../Zotlabs/Module/Import.php:571
msgid "Import a few months of posts if possible (limited by available memory"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:573
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 "
@@ -1790,25 +1642,25 @@ msgid ""
"location for files, photos, and media."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:640
+#: ../../Zotlabs/Module/Import.php:575
msgid "Make this hub my primary location"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:641
+#: ../../Zotlabs/Module/Import.php:576
msgid "Move this channel (disable all previous locations)"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:642
+#: ../../Zotlabs/Module/Import.php:577
msgid "Use this channel nickname instead of the one provided"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:642
+#: ../../Zotlabs/Module/Import.php:577
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:644
+#: ../../Zotlabs/Module/Import.php:579
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
@@ -1850,31 +1702,38 @@ msgid "Previous action reversed."
msgstr ""
#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Tagger.php:71
-#: ../../Zotlabs/Module/Subthread.php:115 ../../Zotlabs/Lib/Activity.php:3264
-#: ../../include/conversation.php:128 ../../include/text.php:2254
+#: ../../Zotlabs/Module/Subthread.php:115 ../../Zotlabs/Lib/Activity.php:3248
+#: ../../include/conversation.php:128 ../../include/text.php:2236
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1649
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2101
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2111
#: ../../extend/addon/hubzilla-addons/redphotos/redphotohelper.php:71
msgid "photo"
msgstr ""
#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Subthread.php:115
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1649
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2101
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2111
msgid "status"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3297
+#: ../../Zotlabs/Module/Like.php:441 ../../Zotlabs/Module/Tagger.php:75
+#: ../../Zotlabs/Module/Channel_calendar.php:221
+#: ../../include/conversation.php:132 ../../include/text.php:2239
+#: ../../include/event.php:1259
+msgid "event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3281
#: ../../include/conversation.php:174
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1595
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2138
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2148
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:473 ../../Zotlabs/Lib/Activity.php:3299
+#: ../../Zotlabs/Module/Like.php:473 ../../Zotlabs/Lib/Activity.php:3283
#: ../../include/conversation.php:177
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2140
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2150
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
@@ -1932,7 +1791,7 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/diaspora/diaspora.php:97
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:171
#: ../../extend/addon/hubzilla-addons/xmpp/xmpp.php:54
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:494
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:487
#: ../../extend/addon/hubzilla-addons/logrot/logrot.php:54
msgid "Settings updated."
msgstr ""
@@ -1945,11 +1804,11 @@ msgstr ""
msgid "Set custom default permissions for new connections"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:860
+#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:852
msgid "Connection Default Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:853
msgid "Apply these permissions automatically"
msgstr ""
@@ -1959,23 +1818,23 @@ msgid ""
"If enabled, connection requests will be approved without your interaction"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:862
+#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:854
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:862
-#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324
+#: ../../Zotlabs/Module/Connedit.php:854
+#: ../../Zotlabs/Widget/Notifications.php:167 ../../include/nav.php:324
msgid "Loading"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:863
+#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:855
msgid "Add permission role"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:876
+#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:868
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
@@ -1985,17 +1844,17 @@ msgstr ""
msgid "Automatic approval settings"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:896
+#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:888
#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124
msgid "inherited"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:901
+#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:893
#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122
msgid "My Settings"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:903
+#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:895
#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127
msgid "Individual Permissions"
msgstr ""
@@ -2015,13 +1874,13 @@ msgstr ""
msgid "Layout Description (Optional)"
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2714
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2675
msgid "Layouts"
msgstr ""
#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348
#: ../../include/nav.php:180 ../../include/nav.php:320
-#: ../../include/help.php:117 ../../include/help.php:125
+#: ../../include/help.php:118 ../../include/help.php:126
msgid "Help"
msgstr ""
@@ -2046,21 +1905,21 @@ msgid "The unmoderated public stream of this hub"
msgstr ""
#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76
-#: ../../Zotlabs/Module/Channel.php:256 ../../Zotlabs/Module/Hq.php:125
+#: ../../Zotlabs/Module/Channel.php:269 ../../Zotlabs/Module/Hq.php:125
#: ../../Zotlabs/Module/Network.php:209
msgid "Reset form"
msgstr ""
#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375
-#: ../../Zotlabs/Widget/Notifications.php:162
+#: ../../Zotlabs/Widget/Notifications.php:147
msgid "Public Stream"
msgstr ""
-#: ../../Zotlabs/Module/Sse_bs.php:554 ../../Zotlabs/Module/Ping.php:672
+#: ../../Zotlabs/Module/Sse_bs.php:569
msgid "Private forum"
msgstr ""
-#: ../../Zotlabs/Module/Sse_bs.php:554 ../../Zotlabs/Module/Ping.php:672
+#: ../../Zotlabs/Module/Sse_bs.php:569
msgid "Public forum"
msgstr ""
@@ -2073,7 +1932,7 @@ msgid "Could not create privacy group."
msgstr ""
#: ../../Zotlabs/Module/Group.php:62 ../../Zotlabs/Module/Group.php:214
-#: ../../include/items.php:4585
+#: ../../include/items.php:4241
msgid "Privacy group not found."
msgstr ""
@@ -2234,12 +2093,12 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Changeaddr.php:46 ../../Zotlabs/Module/Register.php:100
-#: ../../include/channel.php:226 ../../include/channel.php:706
+#: ../../include/channel.php:225 ../../include/channel.php:657
msgid "Reserved nickname. Please choose another."
msgstr ""
#: ../../Zotlabs/Module/Changeaddr.php:51 ../../Zotlabs/Module/Register.php:105
-#: ../../include/channel.php:231 ../../include/channel.php:711
+#: ../../include/channel.php:230 ../../include/channel.php:662
msgid ""
"Nickname has unsupported characters or is already being used on this site."
msgstr ""
@@ -2289,7 +2148,7 @@ msgstr ""
#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140
#: ../../extend/addon/hubzilla-addons/statusnet/statusnet.php:596
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:505
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:498
msgid "Consumer Key"
msgstr ""
@@ -2301,7 +2160,7 @@ msgstr ""
#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141
#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
#: ../../extend/addon/hubzilla-addons/statusnet/statusnet.php:595
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:506
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:499
msgid "Consumer Secret"
msgstr ""
@@ -2361,8 +2220,7 @@ msgstr ""
#: ../../Zotlabs/Module/Search.php:21
#: ../../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
+#: ../../Zotlabs/Module/Directory.php:72 ../../Zotlabs/Module/Directory.php:77
msgid "Public access denied."
msgstr ""
@@ -2392,7 +2250,7 @@ msgstr ""
msgid "Comment deleted"
msgstr ""
-#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:110
+#: ../../Zotlabs/Module/Rpost.php:151 ../../Zotlabs/Module/Editpost.php:110
msgid "Edit post"
msgstr ""
@@ -2420,14 +2278,14 @@ msgstr ""
msgid "Post not found."
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:3264
-#: ../../include/conversation.php:158 ../../include/text.php:2260
-#: ../../include/markdown.php:204 ../../include/bbcode.php:555
+#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:3248
+#: ../../include/conversation.php:158 ../../include/text.php:2242
+#: ../../include/markdown.php:205 ../../include/bbcode.php:555
msgid "post"
msgstr ""
#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160
-#: ../../include/text.php:2262
+#: ../../include/text.php:2244
msgid "comment"
msgstr ""
@@ -2496,7 +2354,7 @@ msgstr ""
msgid "Restricted or Premium Channel"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138
+#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:128
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr ""
@@ -2607,10 +2465,10 @@ msgid "Deprecated!"
msgstr ""
#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Display.php:42
-#: ../../Zotlabs/Module/Display.php:424 ../../Zotlabs/Module/Admin.php:62
+#: ../../Zotlabs/Module/Display.php:424 ../../Zotlabs/Module/Admin.php:61
#: ../../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:4011
+#: ../../Zotlabs/Module/Viewsrc.php:25 ../../include/items.php:3667
#: ../../extend/addon/hubzilla-addons/flashcards/Mod_Flashcards.php:284
#: ../../extend/addon/hubzilla-addons/flashcards/Mod_Flashcards.php:285
msgid "Item not found."
@@ -2630,7 +2488,7 @@ msgid "Edit file permissions"
msgstr ""
#: ../../Zotlabs/Module/Filestorage.php:195
-#: ../../Zotlabs/Module/Connedit.php:683 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Connedit.php:675 ../../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:154
@@ -2686,8 +2544,7 @@ 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:1345
+#: ../../Zotlabs/Module/Article_edit.php:99 ../../include/conversation.php:1340
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:95
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:167
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:310
@@ -2697,8 +2554,8 @@ msgstr ""
#: ../../Zotlabs/Module/Card_edit.php:118
#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674
#: ../../Zotlabs/Module/Photos.php:1044
-#: ../../Zotlabs/Module/Article_edit.php:117
-#: ../../include/conversation.php:1477
+#: ../../Zotlabs/Module/Article_edit.php:116
+#: ../../include/conversation.php:1472
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:221
msgid "Title (optional)"
msgstr ""
@@ -2839,19 +2696,19 @@ msgstr ""
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Module/Wiki.php:370
#: ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2118
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2100
#: ../../extend/addon/hubzilla-addons/mdpost/mdpost.php:41
msgid "Markdown"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Module/Wiki.php:370
#: ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2116
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2098
msgid "BBcode"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2119
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2101
msgid "Text"
msgstr ""
@@ -2921,27 +2778,27 @@ msgstr ""
msgid "Embed image from photo albums"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:399 ../../include/conversation.php:1459
+#: ../../Zotlabs/Module/Wiki.php:399 ../../include/conversation.php:1454
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:208
msgid "Embed an image from your albums"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Profile_photo.php:508
-#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1461
-#: ../../include/conversation.php:1514
+#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1456
+#: ../../include/conversation.php:1509
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:210
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:257
msgid "OK"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:509
-#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1387
+#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1382
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:139
msgid "Choose images to embed"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:510
-#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1388
+#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1383
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:140
msgid "Choose an album"
msgstr ""
@@ -2952,19 +2809,19 @@ msgid "Choose a different album"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:512
-#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1390
+#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1385
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:142
msgid "Error getting album list"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:513
-#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1391
+#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1386
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:143
msgid "Error getting photo link"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:514
-#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1392
+#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1387
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:144
msgid "Error getting album"
msgstr ""
@@ -3030,7 +2887,7 @@ msgstr ""
msgid "Block Name"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2712
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2673
msgid "Blocks"
msgstr ""
@@ -3046,56 +2903,56 @@ msgstr ""
msgid "Entry uncensored"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66
+#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:65
msgid "Location not found."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:75
+#: ../../Zotlabs/Module/Locs.php:74
msgid "Location lookup failed."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:79
+#: ../../Zotlabs/Module/Locs.php:78
msgid ""
"Please select another location to become primary before removing the primary "
"location."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:108
+#: ../../Zotlabs/Module/Locs.php:106
msgid "Syncing locations"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Locs.php:115
msgid "No locations found."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:127
+#: ../../Zotlabs/Module/Locs.php:125
msgid "Manage Channel Locations"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:130
+#: ../../Zotlabs/Module/Locs.php:128
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:285
msgid "Primary"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177
+#: ../../Zotlabs/Module/Locs.php:129 ../../Zotlabs/Module/Menu.php:177
msgid "Drop"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:133
+#: ../../Zotlabs/Module/Locs.php:131
msgid "Sync Now"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:134
+#: ../../Zotlabs/Module/Locs.php:132
msgid "Please wait several minutes between consecutive operations."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:135
+#: ../../Zotlabs/Module/Locs.php:133
msgid ""
"When possible, drop a location by logging into that website/hub and removing "
"your channel."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:136
+#: ../../Zotlabs/Module/Locs.php:134
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr ""
@@ -3121,286 +2978,285 @@ msgstr ""
msgid "Could not locate selected profile."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:265
+#: ../../Zotlabs/Module/Connedit.php:262
msgid "Connection updated."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:267
+#: ../../Zotlabs/Module/Connedit.php:264
msgid "Failed to update connection record."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:310
+#: ../../Zotlabs/Module/Connedit.php:307
msgid "is now connected to"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:435
+#: ../../Zotlabs/Module/Connedit.php:432
msgid "Could not access address book record."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:483 ../../Zotlabs/Module/Connedit.php:487
+#: ../../Zotlabs/Module/Connedit.php:480
msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:502 ../../Zotlabs/Module/Connedit.php:511
-#: ../../Zotlabs/Module/Connedit.php:520 ../../Zotlabs/Module/Connedit.php:529
-#: ../../Zotlabs/Module/Connedit.php:542
+#: ../../Zotlabs/Module/Connedit.php:494 ../../Zotlabs/Module/Connedit.php:503
+#: ../../Zotlabs/Module/Connedit.php:512 ../../Zotlabs/Module/Connedit.php:521
+#: ../../Zotlabs/Module/Connedit.php:534
msgid "Unable to set address book parameters."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:561
+#: ../../Zotlabs/Module/Connedit.php:553
msgid "Connection has been removed."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:601 ../../Zotlabs/Lib/Apps.php:344
-#: ../../include/conversation.php:1083 ../../include/nav.php:115
+#: ../../Zotlabs/Module/Connedit.php:593 ../../Zotlabs/Lib/Apps.php:344
+#: ../../include/conversation.php:1078 ../../include/nav.php:115
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:57
msgid "View Profile"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:604
+#: ../../Zotlabs/Module/Connedit.php:596
#, php-format
msgid "View %s's profile"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:608
+#: ../../Zotlabs/Module/Connedit.php:600
msgid "Refresh Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:611
+#: ../../Zotlabs/Module/Connedit.php:603
msgid "Fetch updated permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:615
+#: ../../Zotlabs/Module/Connedit.php:607
msgid "Refresh Photo"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:618
+#: ../../Zotlabs/Module/Connedit.php:610
msgid "Fetch updated photo"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:622 ../../include/conversation.php:1093
+#: ../../Zotlabs/Module/Connedit.php:614 ../../include/conversation.php:1088
msgid "Recent Activity"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:625
+#: ../../Zotlabs/Module/Connedit.php:617
msgid "View recent posts and comments"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:629
+#: ../../Zotlabs/Module/Connedit.php:621
#: ../../Zotlabs/Module/Admin/Accounts.php:322
msgid "Unblock"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:629
+#: ../../Zotlabs/Module/Connedit.php:621
#: ../../Zotlabs/Module/Admin/Accounts.php:321
msgid "Block"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:632
+#: ../../Zotlabs/Module/Connedit.php:624
msgid "Block (or Unblock) all communications with this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:633
+#: ../../Zotlabs/Module/Connedit.php:625
msgid "This connection is blocked!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:637
+#: ../../Zotlabs/Module/Connedit.php:629
msgid "Unignore"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:637
+#: ../../Zotlabs/Module/Connedit.php:629
#: ../../Zotlabs/Module/Connections.php:345
msgid "Ignore"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:640
+#: ../../Zotlabs/Module/Connedit.php:632
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:641
+#: ../../Zotlabs/Module/Connedit.php:633
msgid "This connection is ignored!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:645
+#: ../../Zotlabs/Module/Connedit.php:637
msgid "Unarchive"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:645
+#: ../../Zotlabs/Module/Connedit.php:637
msgid "Archive"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:648
+#: ../../Zotlabs/Module/Connedit.php:640
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:649
+#: ../../Zotlabs/Module/Connedit.php:641
msgid "This connection is archived!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:645
msgid "Unhide"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:645
msgid "Hide"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:656
+#: ../../Zotlabs/Module/Connedit.php:648
msgid "Hide or Unhide this connection from your other connections"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:657
+#: ../../Zotlabs/Module/Connedit.php:649
msgid "This connection is hidden!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:664
+#: ../../Zotlabs/Module/Connedit.php:656
msgid "Delete this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:672
+#: ../../Zotlabs/Module/Connedit.php:664
msgid "Fetch Vcard"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:675
+#: ../../Zotlabs/Module/Connedit.php:667
msgid "Fetch electronic calling card for this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Connedit.php:678
msgid "Open Individual Permissions section by default"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:701
msgid "Affinity"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:712
+#: ../../Zotlabs/Module/Connedit.php:704
msgid "Open Set Affinity section by default"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:30
+#: ../../Zotlabs/Module/Connedit.php:708 ../../Zotlabs/Widget/Affinity.php:30
msgid "Me"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:717 ../../Zotlabs/Widget/Affinity.php:31
+#: ../../Zotlabs/Module/Connedit.php:709 ../../Zotlabs/Widget/Affinity.php:31
msgid "Family"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:718
+#: ../../Zotlabs/Module/Connedit.php:710
#: ../../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:506
-#: ../../include/channel.php:509 ../../include/selectors.php:134
+#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:457
+#: ../../include/channel.php:460 ../../include/selectors.php:134
msgid "Friends"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Widget/Affinity.php:33
+#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:33
msgid "Acquaintances"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:720
+#: ../../Zotlabs/Module/Connedit.php:712
#: ../../Zotlabs/Module/Connections.php:97
#: ../../Zotlabs/Module/Connections.php:111
#: ../../Zotlabs/Widget/Affinity.php:34
msgid "All"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:749
+#: ../../Zotlabs/Module/Connedit.php:741
msgid "Filter"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:752
+#: ../../Zotlabs/Module/Connedit.php:744
msgid "Open Custom Filter section by default"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:789
+#: ../../Zotlabs/Module/Connedit.php:781
msgid "Approve this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:789
+#: ../../Zotlabs/Module/Connedit.php:781
msgid "Accept connection to allow communication"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:794
+#: ../../Zotlabs/Module/Connedit.php:786
msgid "Set Affinity"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:797
+#: ../../Zotlabs/Module/Connedit.php:789
msgid "Set Profile"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:800
+#: ../../Zotlabs/Module/Connedit.php:792
msgid "Set Affinity & Profile"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:848
+#: ../../Zotlabs/Module/Connedit.php:840
msgid "This connection is unreachable from this location."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:849
+#: ../../Zotlabs/Module/Connedit.php:841
msgid "This connection may be unreachable from other channel locations."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:851
+#: ../../Zotlabs/Module/Connedit.php:843
msgid "Location independence is not supported by their network."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:857
+#: ../../Zotlabs/Module/Connedit.php:849
msgid ""
"This connection is unreachable from this location. Location independence is "
"not supported by their network."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:860 ../../include/items.php:4618
+#: ../../Zotlabs/Module/Connedit.php:852 ../../include/items.php:4274
#, php-format
msgid "Connection: %s"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Module/Connedit.php:853
msgid "Connection requests will be approved without your interaction"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:870
+#: ../../Zotlabs/Module/Connedit.php:862
msgid "This connection's primary address is"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:871
+#: ../../Zotlabs/Module/Connedit.php:863
msgid "Available locations:"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:877
+#: ../../Zotlabs/Module/Connedit.php:869
msgid "Connection Tools"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:879
+#: ../../Zotlabs/Module/Connedit.php:871
msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:880 ../../Zotlabs/Module/Rate.php:157
-#: ../../include/js_strings.php:20
+#: ../../Zotlabs/Module/Connedit.php:872 ../../include/js_strings.php:20
msgid "Rating"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:881
+#: ../../Zotlabs/Module/Connedit.php:873
msgid "Slide to adjust your rating"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:882 ../../Zotlabs/Module/Connedit.php:887
+#: ../../Zotlabs/Module/Connedit.php:874 ../../Zotlabs/Module/Connedit.php:879
msgid "Optionally explain your rating"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:884
+#: ../../Zotlabs/Module/Connedit.php:876
msgid "Custom Filter"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:885
+#: ../../Zotlabs/Module/Connedit.php:877
msgid "Only import posts with this text"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:885 ../../Zotlabs/Module/Connedit.php:886
+#: ../../Zotlabs/Module/Connedit.php:877 ../../Zotlabs/Module/Connedit.php:878
#: ../../Zotlabs/Module/Admin/Site.php:512
#: ../../Zotlabs/Module/Admin/Site.php:513
msgid ""
@@ -3408,30 +3264,30 @@ msgid ""
"all posts"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:886
+#: ../../Zotlabs/Module/Connedit.php:878
msgid "Do not import posts with this text"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:888
+#: ../../Zotlabs/Module/Connedit.php:880
msgid "This information is public!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:893
+#: ../../Zotlabs/Module/Connedit.php:885
msgid "Connection Pending Approval"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:898
+#: ../../Zotlabs/Module/Connedit.php:890
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:900 ../../Zotlabs/Module/Tokens.php:180
+#: ../../Zotlabs/Module/Connedit.php:892 ../../Zotlabs/Module/Tokens.php:180
msgid "Their Settings"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:904 ../../Zotlabs/Module/Tokens.php:187
+#: ../../Zotlabs/Module/Connedit.php:896 ../../Zotlabs/Module/Tokens.php:187
#: ../../Zotlabs/Module/Permcats.php:128
msgid ""
"Some permissions may be inherited from your channel's <a href=\"settings"
@@ -3439,7 +3295,7 @@ msgid ""
"individual settings. You can <strong>not</strong> change those settings here."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:905
+#: ../../Zotlabs/Module/Connedit.php:897
msgid ""
"Some permissions may be inherited from your channel's <a href=\"settings"
"\"><strong>privacy settings</strong></a>, which have higher priority than "
@@ -3447,11 +3303,11 @@ msgid ""
"any impact unless the inherited setting changes."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:906
+#: ../../Zotlabs/Module/Connedit.php:898
msgid "Last update:"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:914
+#: ../../Zotlabs/Module/Connedit.php:906
msgid "Details"
msgstr ""
@@ -3714,7 +3570,7 @@ msgid "NEW"
msgstr ""
#: ../../Zotlabs/Module/Sharedwithme.php:108
-#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1558
+#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1540
msgid "Size"
msgstr ""
@@ -3735,42 +3591,37 @@ msgstr ""
msgid "Edit Layout"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:145
+#: ../../Zotlabs/Module/Manage.php:135
msgid "Create a new channel"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337
+#: ../../Zotlabs/Module/Manage.php:160 ../../Zotlabs/Lib/Apps.php:337
#: ../../include/nav.php:101
msgid "Channel Manager"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:171
+#: ../../Zotlabs/Module/Manage.php:161
msgid "Current Channel"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:173
+#: ../../Zotlabs/Module/Manage.php:163
msgid "Switch to one of your channels by selecting it."
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:174
+#: ../../Zotlabs/Module/Manage.php:164
msgid "Default Channel"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:175
+#: ../../Zotlabs/Module/Manage.php:165
msgid "Make Default"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:178
-#, php-format
-msgid "%d new messages"
-msgstr ""
-
-#: ../../Zotlabs/Module/Manage.php:179
+#: ../../Zotlabs/Module/Manage.php:168
#, php-format
msgid "%d new introductions"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:181
+#: ../../Zotlabs/Module/Manage.php:170
msgid "Delegated Channel"
msgstr ""
@@ -3786,49 +3637,32 @@ msgstr ""
msgid "Empty post discarded."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1189
+#: ../../Zotlabs/Module/Item.php:1191
msgid "Duplicate post suppressed."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1334
+#: ../../Zotlabs/Module/Item.php:1336
msgid "System error. Post not saved."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1368
+#: ../../Zotlabs/Module/Item.php:1370
msgid "Your comment is awaiting approval."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1498
+#: ../../Zotlabs/Module/Item.php:1500
msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1505
+#: ../../Zotlabs/Module/Item.php:1507
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1512
+#: ../../Zotlabs/Module/Item.php:1514
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:158
-msgid "Website:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Rate.php:161
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Rate.php:162
-msgid "Rating (this information is public)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Rate.php:163
-msgid "Optionally explain your rating (this information is public)"
-msgstr ""
-
#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
msgid "Invalid item."
msgstr ""
@@ -3837,7 +3671,7 @@ msgstr ""
#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173
#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77
#: ../../Zotlabs/Web/Router.php:186 ../../Zotlabs/Lib/NativeWikiPage.php:533
-#: ../../include/help.php:132
+#: ../../include/help.php:133
msgid "Page not found."
msgstr ""
@@ -3912,11 +3746,11 @@ msgstr ""
msgid "%s element installation failed"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../Zotlabs/Widget/Pubsites.php:12
msgid "Public Hubs"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:28
+#: ../../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 "
@@ -3925,32 +3759,31 @@ msgid ""
"additional details."
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Hub URL"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Access Type"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Registration Policy"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Stats"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Software"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97
-#: ../../include/conversation.php:1133
+#: ../../Zotlabs/Module/Pubsites.php:35 ../../include/conversation.php:1128
msgid "Ratings"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:50
+#: ../../Zotlabs/Module/Pubsites.php:49
msgid "Rate"
msgstr ""
@@ -3991,7 +3824,7 @@ msgstr ""
msgid "Bookmark this room"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1382
+#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1377
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:134
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:120
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:241
@@ -3999,7 +3832,7 @@ msgid "Please enter a link URL:"
msgstr ""
#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:841
-#: ../../include/conversation.php:1512
+#: ../../include/conversation.php:1507
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:255
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:173
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:316
@@ -4125,7 +3958,7 @@ msgid ""
"Password reset failed."
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1725
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1729
msgid "Password Reset"
msgstr ""
@@ -4182,36 +4015,7 @@ msgstr ""
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
-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:354 ../../Zotlabs/Module/Channel.php:483
+#: ../../Zotlabs/Module/Display.php:354 ../../Zotlabs/Module/Channel.php:496
msgid ""
"You must enable javascript for your browser to be able to view this content."
msgstr ""
@@ -4224,40 +4028,40 @@ msgstr ""
msgid "Item has been removed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:96
+#: ../../Zotlabs/Module/Admin.php:95
#: ../../Zotlabs/Module/Admin/Accounts.php:308
#: ../../Zotlabs/Module/Admin/Accounts.php:327
#: ../../Zotlabs/Widget/Admin.php:23
msgid "Accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:97
+#: ../../Zotlabs/Module/Admin.php:96
msgid "Blocked accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:98
+#: ../../Zotlabs/Module/Admin.php:97
msgid "Expired accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:99
+#: ../../Zotlabs/Module/Admin.php:98
msgid "Expiring accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:117
+#: ../../Zotlabs/Module/Admin.php:116
#: ../../Zotlabs/Module/Admin/Channels.php:146
#: ../../Zotlabs/Widget/Admin.php:24
msgid "Channels"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:123
+#: ../../Zotlabs/Module/Admin.php:122
msgid "Message queues"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:137
+#: ../../Zotlabs/Module/Admin.php:136
msgid "Your software should be updated"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:141 ../../Zotlabs/Module/Admin/Themes.php:122
+#: ../../Zotlabs/Module/Admin.php:140 ../../Zotlabs/Module/Admin/Themes.php:122
#: ../../Zotlabs/Module/Admin/Themes.php:156
#: ../../Zotlabs/Module/Admin/Security.php:98
#: ../../Zotlabs/Module/Admin/Accounts.php:307
@@ -4269,35 +4073,35 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:142
+#: ../../Zotlabs/Module/Admin.php:141
msgid "Summary"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:145
+#: ../../Zotlabs/Module/Admin.php:144
msgid "Registered accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:146
+#: ../../Zotlabs/Module/Admin.php:145
msgid "Pending registrations"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:147
+#: ../../Zotlabs/Module/Admin.php:146
msgid "Registered channels"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:148
+#: ../../Zotlabs/Module/Admin.php:147
msgid "Active addons"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:149
+#: ../../Zotlabs/Module/Admin.php:148
msgid "Version"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:150
+#: ../../Zotlabs/Module/Admin.php:149
msgid "Repository version (master)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:151
+#: ../../Zotlabs/Module/Admin.php:150
msgid "Repository version (dev)"
msgstr ""
@@ -4363,20 +4167,20 @@ msgstr ""
msgid "Show Oldest First"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333
+#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1331
#: ../../Zotlabs/Module/Embedphotos.php:171
#: ../../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/Photos.php:793 ../../Zotlabs/Module/Photos.php:1253
#: ../../Zotlabs/Module/Embedphotos.php:177 ../../Zotlabs/Lib/Apps.php:1112
-#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1552
+#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1553
#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:268
-#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1214
+#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1209
#: ../../include/cdav.php:158 ../../include/cdav.php:159
#: ../../include/cdav.php:167
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1189
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1196
msgid "Unknown"
msgstr ""
@@ -4385,7 +4189,7 @@ msgstr ""
msgid "Edit Album"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1362
msgid "Add Photos"
msgstr ""
@@ -4462,12 +4266,12 @@ msgstr ""
msgid "Please wait"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1211
#: ../../Zotlabs/Lib/ThreadItem.php:824
msgid "This is you"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1213
#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/js_strings.php:6
msgid "Comment"
msgstr ""
@@ -4524,7 +4328,7 @@ msgid "View all"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:243
-#: ../../include/conversation.php:1752 ../../include/channel.php:1809
+#: ../../include/conversation.php:1744 ../../include/channel.php:1729
#: ../../include/taxonomy.php:670
msgctxt "noun"
msgid "Like"
@@ -4533,62 +4337,62 @@ msgstr[0] ""
msgstr[1] ""
#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:248
-#: ../../include/conversation.php:1755
+#: ../../include/conversation.php:1747
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:1247
+#: ../../Zotlabs/Module/Photos.php:1245
msgid "Photo Tools"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1256
+#: ../../Zotlabs/Module/Photos.php:1254
msgid "In This Photo:"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1261
+#: ../../Zotlabs/Module/Photos.php:1259
msgid "Map"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:491
+#: ../../Zotlabs/Module/Photos.php:1267 ../../Zotlabs/Lib/ThreadItem.php:491
msgctxt "noun"
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:492
+#: ../../Zotlabs/Module/Photos.php:1268 ../../Zotlabs/Lib/ThreadItem.php:492
msgctxt "noun"
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411
+#: ../../Zotlabs/Module/Photos.php:1273 ../../Zotlabs/Storage/Browser.php:411
#: ../../Zotlabs/Lib/ThreadItem.php:497 ../../Zotlabs/Widget/Pinned.php:158
#: ../../include/acl_selectors.php:156
#: ../../extend/addon/hubzilla-addons/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
+#: ../../Zotlabs/Module/Photos.php:1346 ../../Zotlabs/Module/Photos.php:1359
+#: ../../Zotlabs/Module/Photos.php:1360 ../../include/photos.php:667
msgid "Recent Photos"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:131 ../../Zotlabs/Module/Profile.php:62
+#: ../../Zotlabs/Module/Channel.php:144 ../../Zotlabs/Module/Profile.php:62
#: ../../Zotlabs/Module/Hcard.php:37
msgid "Posts and comments"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:138 ../../Zotlabs/Module/Profile.php:69
+#: ../../Zotlabs/Module/Channel.php:151 ../../Zotlabs/Module/Profile.php:69
#: ../../Zotlabs/Module/Hcard.php:44
msgid "Only posts"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:206
+#: ../../Zotlabs/Module/Channel.php:219
msgid "Insufficient permissions. Request redirected to profile page."
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:221 ../../Zotlabs/Module/Network.php:168
+#: ../../Zotlabs/Module/Channel.php:234 ../../Zotlabs/Module/Network.php:168
msgid "Search Results For:"
msgstr ""
@@ -4703,7 +4507,7 @@ msgstr ""
#: ../../Zotlabs/Module/Connections.php:83
#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Notifications.php:53 ../../Zotlabs/Module/Menu.php:180
+#: ../../Zotlabs/Module/Notifications.php:101 ../../Zotlabs/Module/Menu.php:180
msgid "New"
msgstr ""
@@ -4716,7 +4520,7 @@ msgid "Show active connections"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:165
-#: ../../Zotlabs/Widget/Notifications.php:104
+#: ../../Zotlabs/Widget/Notifications.php:89
msgid "New Connections"
msgstr ""
@@ -4808,9 +4612,9 @@ msgid "Recent activity"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:350 ../../Zotlabs/Module/Suggest.php:71
-#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32
-#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1103
-#: ../../include/channel.php:1646 ../../include/connections.php:110
+#: ../../Zotlabs/Module/Directory.php:369 ../../Zotlabs/Widget/Follow.php:32
+#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1098
+#: ../../include/channel.php:1566 ../../include/connections.php:110
msgid "Connect"
msgstr ""
@@ -4832,8 +4636,8 @@ msgid "Connections search"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:382
-#: ../../Zotlabs/Module/Directory.php:433
-#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23
+#: ../../Zotlabs/Module/Directory.php:432
+#: ../../Zotlabs/Module/Directory.php:437 ../../include/contact_widgets.php:23
msgid "Find"
msgstr ""
@@ -4916,7 +4720,7 @@ msgstr ""
msgid "View Common Connections"
msgstr ""
-#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2186
+#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2182
#, php-format
msgid "&#x1f501; Repeated %1$s's %2$s"
msgstr ""
@@ -4937,7 +4741,7 @@ msgstr ""
msgid "vcard"
msgstr ""
-#: ../../Zotlabs/Module/Article_edit.php:128
+#: ../../Zotlabs/Module/Article_edit.php:127
msgid "Edit Article"
msgstr ""
@@ -4945,16 +4749,16 @@ msgstr ""
msgid "Authentication failed."
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2625
-#: ../../boot.php:1717
+#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2545
+#: ../../boot.php:1721
msgid "Remote Authentication"
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2626
+#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2546
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2627
+#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2547
msgid "Authenticate"
msgstr ""
@@ -5196,7 +5000,7 @@ msgstr[1] ""
msgid "Account not found"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:184 ../../include/channel.php:2785
+#: ../../Zotlabs/Module/Admin/Accounts.php:184 ../../include/channel.php:2705
#, php-format
msgid "Account '%s' deleted"
msgstr ""
@@ -5309,7 +5113,7 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Admin/Accounts.php:347
-#: ../../include/conversation.php:1123
+#: ../../include/conversation.php:1118
msgid "Message"
msgstr ""
@@ -5481,12 +5285,12 @@ msgid "select all"
msgstr ""
#: ../../Zotlabs/Module/Admin/Channels.php:150
-#: ../../Zotlabs/Module/Directory.php:362
+#: ../../Zotlabs/Module/Directory.php:361
msgid "Censor"
msgstr ""
#: ../../Zotlabs/Module/Admin/Channels.php:151
-#: ../../Zotlabs/Module/Directory.php:362
+#: ../../Zotlabs/Module/Directory.php:361
msgid "Uncensor"
msgstr ""
@@ -5674,7 +5478,7 @@ msgstr ""
msgid "Site settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:251 ../../include/text.php:3395
+#: ../../Zotlabs/Module/Admin/Site.php:251 ../../include/text.php:3356
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:335
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:359
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:435
@@ -6304,11 +6108,13 @@ msgstr ""
msgid "Create Custom Field"
msgstr ""
-#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:58
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:106
msgid "No more system notifications."
msgstr ""
-#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:62
+#: ../../Zotlabs/Module/Notify.php:65
+#: ../../Zotlabs/Module/Notifications.php:110
msgid "System Notifications"
msgstr ""
@@ -6393,7 +6199,7 @@ msgstr ""
msgid "Ignore/Hide"
msgstr ""
-#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:437
+#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:436
#: ../../include/contact_widgets.php:24
msgid "Channel Suggestions"
msgstr ""
@@ -6418,11 +6224,11 @@ msgstr ""
msgid "Validation token"
msgstr ""
-#: ../../Zotlabs/Module/Notes.php:57
+#: ../../Zotlabs/Module/Notes.php:56
msgid "Notes App"
msgstr ""
-#: ../../Zotlabs/Module/Notes.php:58
+#: ../../Zotlabs/Module/Notes.php:57
msgid "A simple notes app with a widget (note: notes are not encrypted)"
msgstr ""
@@ -6495,7 +6301,7 @@ msgstr ""
msgid "Use arrows to move the corresponding app up or down in the app tray"
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:63
+#: ../../Zotlabs/Module/Notifications.php:111
#: ../../Zotlabs/Lib/ThreadItem.php:484
msgid "Mark all seen"
msgstr ""
@@ -6973,107 +6779,107 @@ msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:122
+#: ../../Zotlabs/Module/Directory.php:121
msgid "No default suggestions were found."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:282
+#: ../../Zotlabs/Module/Directory.php:281
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Directory.php:293
+#: ../../Zotlabs/Module/Directory.php:292
msgid "Gender: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:295
+#: ../../Zotlabs/Module/Directory.php:294
msgid "Status: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:297
+#: ../../Zotlabs/Module/Directory.php:296
msgid "Homepage: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1834
+#: ../../Zotlabs/Module/Directory.php:348 ../../include/channel.php:1754
msgid "Age:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1661
+#: ../../Zotlabs/Module/Directory.php:353 ../../include/channel.php:1581
#: ../../include/event.php:63 ../../include/event.php:134
msgid "Location:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:360
+#: ../../Zotlabs/Module/Directory.php:359
msgid "Description:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1863
+#: ../../Zotlabs/Module/Directory.php:366 ../../include/channel.php:1783
msgid "Hometown:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1869
+#: ../../Zotlabs/Module/Directory.php:368 ../../include/channel.php:1789
msgid "About:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:371
+#: ../../Zotlabs/Module/Directory.php:370
msgid "Public Forum:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:374
+#: ../../Zotlabs/Module/Directory.php:373
msgid "Keywords: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:377
+#: ../../Zotlabs/Module/Directory.php:376
msgid "Don't suggest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:379
+#: ../../Zotlabs/Module/Directory.php:378
msgid "Common connections (estimated):"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:428
+#: ../../Zotlabs/Module/Directory.php:427
msgid "Global Directory"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:428
+#: ../../Zotlabs/Module/Directory.php:427
msgid "Local Directory"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:434
+#: ../../Zotlabs/Module/Directory.php:433
msgid "Finding:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:439
+#: ../../Zotlabs/Module/Directory.php:438
msgid "next page"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:439
+#: ../../Zotlabs/Module/Directory.php:438
msgid "previous page"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:440
+#: ../../Zotlabs/Module/Directory.php:439
msgid "Sort options"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:441
+#: ../../Zotlabs/Module/Directory.php:440
msgid "Alphabetic"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:442
+#: ../../Zotlabs/Module/Directory.php:441
msgid "Reverse Alphabetic"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:443
+#: ../../Zotlabs/Module/Directory.php:442
msgid "Newest to Oldest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:444
+#: ../../Zotlabs/Module/Directory.php:443
msgid "Oldest to Newest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:461
+#: ../../Zotlabs/Module/Directory.php:460
msgid "No entries (some entries may be hidden)."
msgstr ""
@@ -7246,23 +7052,7 @@ msgstr ""
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:95 ../../include/channel.php:212
+#: ../../Zotlabs/Module/Register.php:95 ../../include/channel.php:211
msgid "Nickname is required."
msgstr ""
@@ -7396,7 +7186,7 @@ msgid "I have an invite code"
msgstr ""
#: ../../Zotlabs/Module/Register.php:542 ../../include/nav.php:168
-#: ../../boot.php:1696
+#: ../../boot.php:1697
msgid "Register"
msgstr ""
@@ -7415,6 +7205,41 @@ msgstr ""
msgid "network"
msgstr ""
+#: ../../Zotlabs/Module/Channel_calendar.php:62
+msgid "Event can not end before it has started."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:64
+#: ../../Zotlabs/Module/Channel_calendar.php:72
+#: ../../Zotlabs/Module/Channel_calendar.php:87
+msgid "Unable to generate preview."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:70
+msgid "Event title and start time are required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:85
+#: ../../Zotlabs/Module/Channel_calendar.php:226
+msgid "Event not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:370
+msgid "Edit event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:372
+msgid "Delete event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:406
+msgid "calendar"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:493
+msgid "Failed to remove event"
+msgstr ""
+
#: ../../Zotlabs/Module/Settings/Featured.php:25
msgid "No feature settings configured"
msgstr ""
@@ -7655,7 +7480,7 @@ msgstr ""
msgid "Basic Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1791
+#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1711
msgid "Full Name:"
msgstr ""
@@ -8024,14 +7849,6 @@ msgstr ""
msgid "Conversation Settings"
msgstr ""
-#: ../../Zotlabs/Module/Probe.php:19
-msgid "Remote Diagnostics App"
-msgstr ""
-
-#: ../../Zotlabs/Module/Probe.php:20
-msgid "Perform diagnostics on remote channels"
-msgstr ""
-
#: ../../Zotlabs/Module/Invite.php:56 ../../Zotlabs/Module/Invite.php:310
msgid "Invite App"
msgstr ""
@@ -8211,27 +8028,27 @@ msgstr ""
msgid "No service class restrictions found."
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:94
+#: ../../Zotlabs/Module/Rbmark.php:93
msgid "Select a bookmark folder"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:99
+#: ../../Zotlabs/Module/Rbmark.php:98
msgid "Save Bookmark"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:100
+#: ../../Zotlabs/Module/Rbmark.php:99
msgid "URL of bookmark"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:105
+#: ../../Zotlabs/Module/Rbmark.php:104
msgid "Or enter new bookmark folder name"
msgstr ""
-#: ../../Zotlabs/Module/Lang.php:17
+#: ../../Zotlabs/Module/Lang.php:20 ../../Zotlabs/Module/Lang.php:63
msgid "Language App"
msgstr ""
-#: ../../Zotlabs/Module/Lang.php:18
+#: ../../Zotlabs/Module/Lang.php:64
msgid "Change UI language"
msgstr ""
@@ -8248,30 +8065,30 @@ msgstr ""
msgid "Cover Photos"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4966
+#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4622
msgid "female"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4967
+#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4623
#, php-format
msgid "%1$s updated her %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4968
+#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4624
msgid "male"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4969
+#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4625
#, php-format
msgid "%1$s updated his %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4971
+#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4627
#, php-format
msgid "%1$s updated their %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2356
+#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2276
msgid "cover photo"
msgstr ""
@@ -8319,7 +8136,7 @@ msgstr ""
msgid "Submit and proceed"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2713
+#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2674
msgid "Menus"
msgstr ""
@@ -8468,7 +8285,7 @@ msgid "Poke somebody in your addressbook"
msgstr ""
#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351
-#: ../../include/conversation.php:1143
+#: ../../include/conversation.php:1138
msgid "Poke"
msgstr ""
@@ -8654,19 +8471,6 @@ msgid ""
"an existing folder."
msgstr ""
-#: ../../Zotlabs/Zot/Auth.php:154
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please "
-"logout and retry."
-msgstr ""
-
-#: ../../Zotlabs/Zot/Auth.php:266
-#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:76
-#: ../../extend/addon/hubzilla-addons/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 "
@@ -8701,27 +8505,26 @@ msgid "add"
msgstr ""
#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143
-#: ../../include/follow.php:39
msgid "Channel is blocked on this site."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:44
+#: ../../Zotlabs/Lib/Connect.php:51
msgid "Channel location missing."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:168
+#: ../../Zotlabs/Lib/Connect.php:103
msgid "Remote channel or protocol unavailable."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:192
+#: ../../Zotlabs/Lib/Connect.php:137
msgid "Channel discovery failed."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:204
+#: ../../Zotlabs/Lib/Connect.php:155
msgid "Protocol disabled."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:215
+#: ../../Zotlabs/Lib/Connect.php:167
msgid "Cannot connect to yourself."
msgstr ""
@@ -8773,7 +8576,7 @@ msgid "Suggest Channels"
msgstr ""
#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:127
-#: ../../include/nav.php:131 ../../boot.php:1716
+#: ../../include/nav.php:131 ../../boot.php:1720
msgid "Login"
msgstr ""
@@ -8997,8 +8800,8 @@ msgid "$Projectname Notification"
msgstr ""
#: ../../Zotlabs/Lib/Enotify.php:61
-#: ../../extend/addon/hubzilla-addons/diaspora/util.php:336
-#: ../../extend/addon/hubzilla-addons/diaspora/util.php:349
+#: ../../extend/addon/hubzilla-addons/diaspora/util.php:337
+#: ../../extend/addon/hubzilla-addons/diaspora/util.php:350
#: ../../extend/addon/hubzilla-addons/diaspora/p.php:48
msgid "$projectname"
msgstr ""
@@ -9270,6 +9073,10 @@ msgstr ""
msgid "repeated %s's post"
msgstr ""
+#: ../../Zotlabs/Lib/Enotify.php:829 ../../Zotlabs/Lib/Enotify.php:931
+msgid "shared a file with you"
+msgstr ""
+
#: ../../Zotlabs/Lib/Enotify.php:837
#, php-format
msgid "edited a post dated %s"
@@ -9280,6 +9087,22 @@ msgstr ""
msgid "edited a comment dated %s"
msgstr ""
+#: ../../Zotlabs/Lib/Enotify.php:914
+msgid "added your channel"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:948
+msgid "sent you a private message"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:957
+msgid "g A l F d"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:960
+msgid "[today]"
+msgstr ""
+
#: ../../Zotlabs/Lib/Enotify.php:970
msgid "created an event"
msgstr ""
@@ -9288,7 +9111,7 @@ msgstr ""
msgid "status verified"
msgstr ""
-#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2663
+#: ../../Zotlabs/Lib/Libsync.php:737
#, php-format
msgid "Unable to verify site signature for %s"
msgstr ""
@@ -9511,7 +9334,7 @@ msgstr ""
msgid "Attendance Options"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:446 ../../include/text.php:1924
+#: ../../Zotlabs/Lib/ThreadItem.php:446 ../../include/text.php:1906
msgid "Vote"
msgstr ""
@@ -9554,27 +9377,27 @@ msgstr ""
msgid "%s show all"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451
+#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1446
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:200
msgid "Bold"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452
+#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1447
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:201
msgid "Italic"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453
+#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1448
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:202
msgid "Underline"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:831 ../../include/conversation.php:1454
+#: ../../Zotlabs/Lib/ThreadItem.php:831 ../../include/conversation.php:1449
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:203
msgid "Quote"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1455
+#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1450
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:204
msgid "Code"
msgstr ""
@@ -9583,7 +9406,7 @@ msgstr ""
msgid "Image"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:834 ../../include/conversation.php:1456
+#: ../../Zotlabs/Lib/ThreadItem.php:834 ../../include/conversation.php:1451
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:205
msgid "Attach/Upload file"
msgstr ""
@@ -9608,41 +9431,41 @@ msgstr ""
msgid "Your website URL (optional)"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2163
+#: ../../Zotlabs/Lib/Activity.php:2159
#, php-format
msgid "Likes %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2166
+#: ../../Zotlabs/Lib/Activity.php:2162
#, php-format
msgid "Doesn't like %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2172
+#: ../../Zotlabs/Lib/Activity.php:2168
#, php-format
msgid "Will attend %s's event"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2175
+#: ../../Zotlabs/Lib/Activity.php:2171
#, php-format
msgid "Will not attend %s's event"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2178
+#: ../../Zotlabs/Lib/Activity.php:2174
#, php-format
msgid "May attend %s's event"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2181
+#: ../../Zotlabs/Lib/Activity.php:2177
#, php-format
msgid "May not attend %s's event"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:3114 ../../Zotlabs/Lib/Activity.php:3306
-#: ../../include/network.php:1767
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1490
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1939
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2147
+#: ../../Zotlabs/Lib/Activity.php:3098 ../../Zotlabs/Lib/Activity.php:3290
+#: ../../include/network.php:1742
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1500
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1949
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2157
msgid "ActivityPub"
msgstr ""
@@ -9690,7 +9513,7 @@ msgctxt "permcat"
msgid "publisher"
msgstr ""
-#: ../../Zotlabs/Lib/Libzot.php:655 ../../include/zot.php:805
+#: ../../Zotlabs/Lib/Libzot.php:655
msgid "Unable to verify channel signature"
msgstr ""
@@ -9894,8 +9717,8 @@ msgstr ""
#: ../../Zotlabs/Widget/Forums.php:100
#: ../../Zotlabs/Widget/Activity_filter.php:123
-#: ../../Zotlabs/Widget/Notifications.php:139
-#: ../../Zotlabs/Widget/Notifications.php:140
+#: ../../Zotlabs/Widget/Notifications.php:124
+#: ../../Zotlabs/Widget/Notifications.php:125
#: ../../include/acl_selectors.php:125
msgid "Forums"
msgstr ""
@@ -10013,10 +9836,6 @@ msgstr ""
msgid "Outbox"
msgstr ""
-#: ../../Zotlabs/Widget/Mailmenu.php:30
-msgid "New Message"
-msgstr ""
-
#: ../../Zotlabs/Widget/Affinity.php:54
msgid "Refresh"
msgstr ""
@@ -10148,15 +9967,15 @@ msgstr ""
#: ../../Zotlabs/Widget/Notifications.php:26
#: ../../Zotlabs/Widget/Notifications.php:46
#: ../../Zotlabs/Widget/Notifications.php:65
-#: ../../Zotlabs/Widget/Notifications.php:172
+#: ../../Zotlabs/Widget/Notifications.php:157
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
+#: ../../Zotlabs/Widget/Notifications.php:127
+#: ../../Zotlabs/Widget/Notifications.php:158
msgid "Filter by name or address"
msgstr ""
@@ -10173,7 +9992,7 @@ msgid "View your home activity"
msgstr ""
#: ../../Zotlabs/Widget/Notifications.php:43
-#: ../../Zotlabs/Widget/Notifications.php:169
+#: ../../Zotlabs/Widget/Notifications.php:154
msgid "Mark all notifications seen"
msgstr ""
@@ -10190,83 +10009,67 @@ 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
+#: ../../Zotlabs/Widget/Notifications.php:75
msgid "New Events Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:93
+#: ../../Zotlabs/Widget/Notifications.php:78
msgid "View events"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:96
+#: ../../Zotlabs/Widget/Notifications.php:81
msgid "Mark all events seen"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:105
+#: ../../Zotlabs/Widget/Notifications.php:90
msgid "New Connections Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:108
+#: ../../Zotlabs/Widget/Notifications.php:93
msgid "View all connections"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:116
+#: ../../Zotlabs/Widget/Notifications.php:101
msgid "New Files"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:117
+#: ../../Zotlabs/Widget/Notifications.php:102
msgid "New Files Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:124
-#: ../../Zotlabs/Widget/Notifications.php:125
+#: ../../Zotlabs/Widget/Notifications.php:109
+#: ../../Zotlabs/Widget/Notifications.php:110
msgid "Notices"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:128
+#: ../../Zotlabs/Widget/Notifications.php:113
msgid "View all notices"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:131
+#: ../../Zotlabs/Widget/Notifications.php:116
msgid "Mark all notices seen"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:152
+#: ../../Zotlabs/Widget/Notifications.php:137
msgid "New Registrations"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:153
+#: ../../Zotlabs/Widget/Notifications.php:138
msgid "New Registrations Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:163
+#: ../../Zotlabs/Widget/Notifications.php:148
msgid "Public Stream Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:166
+#: ../../Zotlabs/Widget/Notifications.php:151
msgid "View the public stream"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:181
+#: ../../Zotlabs/Widget/Notifications.php:166
msgid "Sorry, you have got no notifications at the moment"
msgstr ""
@@ -10299,23 +10102,23 @@ msgstr ""
msgid "Suggested Chatrooms"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:17
+#: ../../Zotlabs/Widget/Conversations.php:15
msgid "Received Messages"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:21
+#: ../../Zotlabs/Widget/Conversations.php:19
msgid "Sent Messages"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:25
+#: ../../Zotlabs/Widget/Conversations.php:23
msgid "Conversations"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:37
+#: ../../Zotlabs/Widget/Conversations.php:33
msgid "No messages."
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:57
+#: ../../Zotlabs/Widget/Conversations.php:53
msgid "Delete conversation"
msgstr ""
@@ -10497,394 +10300,403 @@ msgstr ""
msgid "Unfollow Thread"
msgstr ""
-#: ../../include/conversation.php:1113
+#: ../../include/conversation.php:1108
msgid "Edit Connection"
msgstr ""
-#: ../../include/conversation.php:1265
+#: ../../include/conversation.php:1260
#, php-format
msgid "%s likes this."
msgstr ""
-#: ../../include/conversation.php:1265
+#: ../../include/conversation.php:1260
#, php-format
msgid "%s doesn't like this."
msgstr ""
-#: ../../include/conversation.php:1269
+#: ../../include/conversation.php:1264
#, 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:1271
+#: ../../include/conversation.php:1266
#, 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:1277
+#: ../../include/conversation.php:1272
msgid "and"
msgstr ""
-#: ../../include/conversation.php:1280
+#: ../../include/conversation.php:1275
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1281
+#: ../../include/conversation.php:1276
#, php-format
msgid "%s like this."
msgstr ""
-#: ../../include/conversation.php:1281
+#: ../../include/conversation.php:1276
#, php-format
msgid "%s don't like this."
msgstr ""
-#: ../../include/conversation.php:1332
+#: ../../include/conversation.php:1327
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:82
msgid "Set your location"
msgstr ""
-#: ../../include/conversation.php:1333
+#: ../../include/conversation.php:1328
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:83
msgid "Clear browser location"
msgstr ""
-#: ../../include/conversation.php:1349
+#: ../../include/conversation.php:1344
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:99
msgid "Embed (existing) photo from your photo albums"
msgstr ""
-#: ../../include/conversation.php:1383
+#: ../../include/conversation.php:1378
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:135
msgid "Tag term:"
msgstr ""
-#: ../../include/conversation.php:1384
+#: ../../include/conversation.php:1379
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:136
msgid "Where are you right now?"
msgstr ""
-#: ../../include/conversation.php:1389
+#: ../../include/conversation.php:1384
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:141
msgid "Choose a different album..."
msgstr ""
-#: ../../include/conversation.php:1393
+#: ../../include/conversation.php:1388
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:145
msgid "Comments enabled"
msgstr ""
-#: ../../include/conversation.php:1394
+#: ../../include/conversation.php:1389
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:146
msgid "Comments disabled"
msgstr ""
-#: ../../include/conversation.php:1446
+#: ../../include/conversation.php:1441
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:195
msgid "Page link name"
msgstr ""
-#: ../../include/conversation.php:1449
+#: ../../include/conversation.php:1444
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:198
msgid "Post as"
msgstr ""
-#: ../../include/conversation.php:1463
+#: ../../include/conversation.php:1458
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:212
msgid "Toggle voting"
msgstr ""
-#: ../../include/conversation.php:1464
+#: ../../include/conversation.php:1459
msgid "Toggle poll"
msgstr ""
-#: ../../include/conversation.php:1465
+#: ../../include/conversation.php:1460
msgid "Option"
msgstr ""
-#: ../../include/conversation.php:1466
+#: ../../include/conversation.php:1461
msgid "Add option"
msgstr ""
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Minutes"
msgstr ""
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Hours"
msgstr ""
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Days"
msgstr ""
-#: ../../include/conversation.php:1468
+#: ../../include/conversation.php:1463
msgid "Allow multiple answers"
msgstr ""
-#: ../../include/conversation.php:1470
+#: ../../include/conversation.php:1465
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:215
msgid "Disable comments"
msgstr ""
-#: ../../include/conversation.php:1471
+#: ../../include/conversation.php:1466
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:216
msgid "Toggle comments"
msgstr ""
-#: ../../include/conversation.php:1478
+#: ../../include/conversation.php:1473
msgid "Summary (optional)"
msgstr ""
-#: ../../include/conversation.php:1481
+#: ../../include/conversation.php:1476
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:224
msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/conversation.php:1504
+#: ../../include/conversation.php:1477
+#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:225
+msgid "Permission settings"
+msgstr ""
+
+#: ../../include/conversation.php:1499
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:247
msgid "Other networks and post services"
msgstr ""
-#: ../../include/conversation.php:1507
+#: ../../include/conversation.php:1502
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:250
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:171
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:314
msgid "Set expiration date"
msgstr ""
-#: ../../include/conversation.php:1510
+#: ../../include/conversation.php:1505
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:253
msgid "Set publish date"
msgstr ""
-#: ../../include/conversation.php:1758
+#: ../../include/conversation.php:1750
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1761
+#: ../../include/conversation.php:1753
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1764
+#: ../../include/conversation.php:1756
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1767
+#: ../../include/conversation.php:1759
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1770
+#: ../../include/conversation.php:1762
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1773
+#: ../../include/conversation.php:1765
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/channel.php:47
+#: ../../include/channel.php:46
msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../include/channel.php:80
+#: ../../include/channel.php:79
msgid "Empty name"
msgstr ""
-#: ../../include/channel.php:83
+#: ../../include/channel.php:82
msgid "Name too long"
msgstr ""
-#: ../../include/channel.php:200
+#: ../../include/channel.php:199
msgid "No account identifier"
msgstr ""
-#: ../../include/channel.php:295
+#: ../../include/channel.php:290
msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../include/channel.php:442
+#: ../../include/channel.php:393
msgid "Default Profile"
msgstr ""
-#: ../../include/channel.php:639 ../../include/channel.php:728
+#: ../../include/channel.php:590 ../../include/channel.php:679
msgid "Unable to retrieve modified identity"
msgstr ""
-#: ../../include/channel.php:1410
-msgid "Requested channel is not available."
+#: ../../include/channel.php:1330
+msgid "Requested channel is not available"
msgstr ""
-#: ../../include/channel.php:1567
+#: ../../include/channel.php:1487
msgid "Create New Profile"
msgstr ""
-#: ../../include/channel.php:1570 ../../include/nav.php:120
+#: ../../include/channel.php:1490 ../../include/nav.php:120
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:58
msgid "Edit Profile"
msgstr ""
-#: ../../include/channel.php:1588
+#: ../../include/channel.php:1508
msgid "Visible to everybody"
msgstr ""
-#: ../../include/channel.php:1665 ../../include/channel.php:1793
+#: ../../include/channel.php:1585 ../../include/channel.php:1713
msgid "Gender:"
msgstr ""
-#: ../../include/channel.php:1666 ../../include/channel.php:1837
+#: ../../include/channel.php:1586 ../../include/channel.php:1757
msgid "Status:"
msgstr ""
-#: ../../include/channel.php:1667 ../../include/channel.php:1861
+#: ../../include/channel.php:1587 ../../include/channel.php:1781
msgid "Homepage:"
msgstr ""
-#: ../../include/channel.php:1668
+#: ../../include/channel.php:1588
msgid "Online Now"
msgstr ""
-#: ../../include/channel.php:1721
+#: ../../include/channel.php:1641
msgid "Change your profile photo"
msgstr ""
-#: ../../include/channel.php:1748 ../../include/selectors.php:60
+#: ../../include/channel.php:1668 ../../include/selectors.php:60
#: ../../include/selectors.php:77
#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:87
msgid "Female"
msgstr ""
-#: ../../include/channel.php:1750 ../../include/selectors.php:60
+#: ../../include/channel.php:1670 ../../include/selectors.php:60
#: ../../include/selectors.php:77
#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:85
msgid "Male"
msgstr ""
-#: ../../include/channel.php:1752
+#: ../../include/channel.php:1672
msgid "Trans"
msgstr ""
-#: ../../include/channel.php:1754 ../../include/selectors.php:60
+#: ../../include/channel.php:1674 ../../include/selectors.php:60
msgid "Neuter"
msgstr ""
-#: ../../include/channel.php:1756 ../../include/selectors.php:60
+#: ../../include/channel.php:1676 ../../include/selectors.php:60
msgid "Non-specific"
msgstr ""
-#: ../../include/channel.php:1798
+#: ../../include/channel.php:1718
msgid "Like this channel"
msgstr ""
-#: ../../include/channel.php:1822
+#: ../../include/channel.php:1742
msgid "j F, Y"
msgstr ""
-#: ../../include/channel.php:1823
+#: ../../include/channel.php:1743
msgid "j F"
msgstr ""
-#: ../../include/channel.php:1830
+#: ../../include/channel.php:1750
msgid "Birthday:"
msgstr ""
-#: ../../include/channel.php:1843
+#: ../../include/channel.php:1763
#, php-format
msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/channel.php:1855
+#: ../../include/channel.php:1775
msgid "Tags:"
msgstr ""
-#: ../../include/channel.php:1859
+#: ../../include/channel.php:1779
msgid "Sexual Preference:"
msgstr ""
-#: ../../include/channel.php:1865
+#: ../../include/channel.php:1785
msgid "Political Views:"
msgstr ""
-#: ../../include/channel.php:1867
+#: ../../include/channel.php:1787
msgid "Religion:"
msgstr ""
-#: ../../include/channel.php:1871
+#: ../../include/channel.php:1791
msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/channel.php:1873
+#: ../../include/channel.php:1793
msgid "Likes:"
msgstr ""
-#: ../../include/channel.php:1875
+#: ../../include/channel.php:1795
msgid "Dislikes:"
msgstr ""
-#: ../../include/channel.php:1877
+#: ../../include/channel.php:1797
msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/channel.php:1879
+#: ../../include/channel.php:1799
msgid "My other channels:"
msgstr ""
-#: ../../include/channel.php:1881
+#: ../../include/channel.php:1801
msgid "Musical interests:"
msgstr ""
-#: ../../include/channel.php:1883
+#: ../../include/channel.php:1803
msgid "Books, literature:"
msgstr ""
-#: ../../include/channel.php:1885
+#: ../../include/channel.php:1805
msgid "Television:"
msgstr ""
-#: ../../include/channel.php:1887
+#: ../../include/channel.php:1807
msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/channel.php:1889
+#: ../../include/channel.php:1809
msgid "Love/Romance:"
msgstr ""
-#: ../../include/channel.php:1891
+#: ../../include/channel.php:1811
msgid "Work/employment:"
msgstr ""
-#: ../../include/channel.php:1893
+#: ../../include/channel.php:1813
msgid "School/education:"
msgstr ""
-#: ../../include/channel.php:1916
+#: ../../include/channel.php:1836
msgid "Like this thing"
msgstr ""
+#: ../../include/channel.php:1837
+msgid "Export"
+msgstr ""
+
#: ../../include/features.php:86
msgid "Start calendar week on Monday"
msgstr ""
@@ -11417,169 +11229,157 @@ msgstr ""
msgid "December"
msgstr ""
-#: ../../include/text.php:1556
+#: ../../include/text.php:1538
msgid "Unknown Attachment"
msgstr ""
-#: ../../include/text.php:1558 ../../include/feedutils.php:872
+#: ../../include/text.php:1540 ../../include/feedutils.php:874
msgid "unknown"
msgstr ""
-#: ../../include/text.php:1599
+#: ../../include/text.php:1581
msgid "remove category"
msgstr ""
-#: ../../include/text.php:1676
+#: ../../include/text.php:1658
msgid "remove from file"
msgstr ""
-#: ../../include/text.php:1845 ../../include/message.php:13
+#: ../../include/text.php:1827
msgid "Download binary/encrypted content"
msgstr ""
-#: ../../include/text.php:1916
+#: ../../include/text.php:1898
msgid "Poll has ended."
msgstr ""
-#: ../../include/text.php:1919
+#: ../../include/text.php:1901
#, php-format
msgid "Poll ends: %s"
msgstr ""
-#: ../../include/text.php:2098 ../../include/language.php:428
+#: ../../include/text.php:2058
+msgid "Link to Source"
+msgstr ""
+
+#: ../../include/text.php:2080 ../../include/language.php:428
msgid "default"
msgstr ""
-#: ../../include/text.php:2106
+#: ../../include/text.php:2088
msgid "Page layout"
msgstr ""
-#: ../../include/text.php:2106
+#: ../../include/text.php:2088
msgid "You can create your own with the layouts tool"
msgstr ""
-#: ../../include/text.php:2117
+#: ../../include/text.php:2099
msgid "HTML"
msgstr ""
-#: ../../include/text.php:2120
+#: ../../include/text.php:2102
msgid "Comanche Layout"
msgstr ""
-#: ../../include/text.php:2125
+#: ../../include/text.php:2107
msgid "PHP"
msgstr ""
-#: ../../include/text.php:2134
+#: ../../include/text.php:2116
msgid "Page content type"
msgstr ""
-#: ../../include/text.php:2267
+#: ../../include/text.php:2249
msgid "activity"
msgstr ""
-#: ../../include/text.php:2270
+#: ../../include/text.php:2252
msgid "poll"
msgstr ""
-#: ../../include/text.php:2383
+#: ../../include/text.php:2365
msgid "a-z, 0-9, -, and _ only"
msgstr ""
-#: ../../include/text.php:2709
+#: ../../include/text.php:2670
msgid "Design Tools"
msgstr ""
-#: ../../include/text.php:2715
+#: ../../include/text.php:2676
msgid "Pages"
msgstr ""
-#: ../../include/text.php:2727
+#: ../../include/text.php:2688
msgid "Import"
msgstr ""
-#: ../../include/text.php:2728
+#: ../../include/text.php:2689
msgid "Import website..."
msgstr ""
-#: ../../include/text.php:2729
+#: ../../include/text.php:2690
msgid "Select folder to import"
msgstr ""
-#: ../../include/text.php:2730
+#: ../../include/text.php:2691
msgid "Import from a zipped folder:"
msgstr ""
-#: ../../include/text.php:2731
+#: ../../include/text.php:2692
msgid "Import from cloud files:"
msgstr ""
-#: ../../include/text.php:2732
+#: ../../include/text.php:2693
msgid "/cloud/channel/path/to/folder"
msgstr ""
-#: ../../include/text.php:2733
+#: ../../include/text.php:2694
msgid "Enter path to website files"
msgstr ""
-#: ../../include/text.php:2734
+#: ../../include/text.php:2695
msgid "Select folder"
msgstr ""
-#: ../../include/text.php:2735
+#: ../../include/text.php:2696
msgid "Export website..."
msgstr ""
-#: ../../include/text.php:2736
+#: ../../include/text.php:2697
msgid "Export to a zip file"
msgstr ""
-#: ../../include/text.php:2737
+#: ../../include/text.php:2698
msgid "website.zip"
msgstr ""
-#: ../../include/text.php:2738
+#: ../../include/text.php:2699
msgid "Enter a name for the zip file."
msgstr ""
-#: ../../include/text.php:2739
+#: ../../include/text.php:2700
msgid "Export to cloud files"
msgstr ""
-#: ../../include/text.php:2740
+#: ../../include/text.php:2701
msgid "/path/to/export/folder"
msgstr ""
-#: ../../include/text.php:2741
+#: ../../include/text.php:2702
msgid "Enter a path to a cloud files destination."
msgstr ""
-#: ../../include/text.php:2742
+#: ../../include/text.php:2703
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:559
+#: ../../include/markdown.php:203 ../../include/bbcode.php:559
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../include/markdown.php:255 ../../include/bbcode.php:644
+#: ../../include/markdown.php:256 ../../include/bbcode.php:644
msgid "spoiler"
msgstr ""
@@ -11692,7 +11492,7 @@ msgid "Account/Channel Settings"
msgstr ""
#: ../../include/nav.php:112 ../../include/nav.php:142
-#: ../../include/nav.php:163 ../../boot.php:1715
+#: ../../include/nav.php:163 ../../boot.php:1719
msgid "Logout"
msgstr ""
@@ -12429,43 +12229,43 @@ msgstr ""
msgid "Ask me"
msgstr ""
-#: ../../include/network.php:1762 ../../include/network.php:1763
+#: ../../include/network.php:1737 ../../include/network.php:1738
msgid "Friendica"
msgstr ""
-#: ../../include/network.php:1764
+#: ../../include/network.php:1739
msgid "OStatus"
msgstr ""
-#: ../../include/network.php:1765
+#: ../../include/network.php:1740
msgid "GNU-Social"
msgstr ""
-#: ../../include/network.php:1766
+#: ../../include/network.php:1741
msgid "RSS/Atom"
msgstr ""
-#: ../../include/network.php:1769
+#: ../../include/network.php:1744
msgid "Diaspora"
msgstr ""
-#: ../../include/network.php:1770
+#: ../../include/network.php:1745
msgid "Facebook"
msgstr ""
-#: ../../include/network.php:1771
+#: ../../include/network.php:1746
msgid "Zot"
msgstr ""
-#: ../../include/network.php:1772
+#: ../../include/network.php:1747
msgid "LinkedIn"
msgstr ""
-#: ../../include/network.php:1773
+#: ../../include/network.php:1748
msgid "XMPP/IM"
msgstr ""
-#: ../../include/network.php:1774
+#: ../../include/network.php:1749
msgid "MySpace"
msgstr ""
@@ -12559,11 +12359,11 @@ msgstr ""
msgid "please come back"
msgstr ""
-#: ../../include/help.php:80
+#: ../../include/help.php:81
msgid "Help:"
msgstr ""
-#: ../../include/help.php:129
+#: ../../include/help.php:130
msgid "Not Found"
msgstr ""
@@ -12753,7 +12553,7 @@ msgstr ""
msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../include/datetime.php:238 ../../boot.php:2730
+#: ../../include/datetime.php:238 ../../boot.php:2734
msgid "never"
msgstr ""
@@ -12826,95 +12626,75 @@ msgstr ""
msgid "Happy Birthday %1$s"
msgstr ""
-#: ../../include/items.php:1038 ../../include/items.php:1098
+#: ../../include/items.php:979 ../../include/items.php:1039
msgid "(Unknown)"
msgstr ""
-#: ../../include/items.php:1302
+#: ../../include/items.php:1243
msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/items.php:1304
+#: ../../include/items.php:1245
msgid "Visible to you only."
msgstr ""
-#: ../../include/items.php:1306
+#: ../../include/items.php:1247
msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/items.php:1308
+#: ../../include/items.php:1249
msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/items.php:1310
+#: ../../include/items.php:1251
#, php-format
msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/items.php:1312
+#: ../../include/items.php:1253
msgid "Visible to all connections."
msgstr ""
-#: ../../include/items.php:1314
+#: ../../include/items.php:1255
msgid "Visible to approved connections."
msgstr ""
-#: ../../include/items.php:1316
+#: ../../include/items.php:1257
msgid "Visible to specific connections."
msgstr ""
-#: ../../include/items.php:4601
+#: ../../include/items.php:4257
msgid "Privacy group is empty."
msgstr ""
-#: ../../include/items.php:4608
+#: ../../include/items.php:4264
#, php-format
msgid "Privacy group: %s"
msgstr ""
-#: ../../include/items.php:4620
+#: ../../include/items.php:4276
msgid "Connection not found."
msgstr ""
-#: ../../include/items.php:4973
+#: ../../include/items.php:4629
msgid "profile photo"
msgstr ""
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
#, php-format
msgid "[Edited %s]"
msgstr ""
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
msgctxt "edit_activity"
msgid "Post"
msgstr ""
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
msgctxt "edit_activity"
msgid "Comment"
msgstr ""
-#: ../../include/follow.php:86
-msgid "Response from remote channel was incomplete."
-msgstr ""
-
-#: ../../include/follow.php:98
-msgid "Premium channel - please visit:"
-msgstr ""
-
-#: ../../include/follow.php:112
-msgid "Channel was deleted and no longer exists."
-msgstr ""
-
-#: ../../include/zot.php:778
-msgid "Invalid data packet"
-msgstr ""
-
-#: ../../include/zot.php:4378
-msgid "invalid target signature"
-msgstr ""
-
#: ../../include/bbcode.php:233 ../../include/bbcode.php:928
#: ../../include/bbcode.php:1525 ../../include/bbcode.php:1533
msgid "Image/photo"
@@ -13305,7 +13085,7 @@ msgid "Errors encountered deleting database table "
msgstr ""
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:95
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:503
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:496
msgid "Submit Settings"
msgstr ""
@@ -13494,6 +13274,7 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/redred/Mod_Redred.php:75
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:54
+#: ../../boot.php:1714
msgid "Nickname"
msgstr ""
@@ -13597,11 +13378,11 @@ msgstr ""
msgid "Your $Productname test account is about to expire."
msgstr ""
-#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:70
+#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:101
msgid "An account has been created for you."
msgstr ""
-#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:77
+#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:108
msgid "Authentication successful but rejected: account creation is disabled."
msgstr ""
@@ -13968,6 +13749,12 @@ msgstr ""
msgid "OpenID protocol error. No ID returned."
msgstr ""
+#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:76
+#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr ""
+
#: ../../extend/addon/hubzilla-addons/hzfiles/hzfiles.php:81
msgid "Hubzilla File Storage Import"
msgstr ""
@@ -14258,6 +14045,10 @@ msgstr ""
msgid "This channel"
msgstr ""
+#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:327
+msgid "Create New Workflow Item"
+msgstr ""
+
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:541
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:1437
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:1456
@@ -16076,40 +15867,40 @@ msgstr ""
msgid "Show advanced settings"
msgstr ""
-#: ../../boot.php:1695
+#: ../../boot.php:1696
msgid "Create an account to access services and applications"
msgstr ""
-#: ../../boot.php:1719
-msgid "Login/Email"
+#: ../../boot.php:1714
+msgid "Email or nickname"
msgstr ""
-#: ../../boot.php:1720
+#: ../../boot.php:1724
msgid "Password"
msgstr ""
-#: ../../boot.php:1721
+#: ../../boot.php:1725
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1724
+#: ../../boot.php:1728
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:2603
+#: ../../boot.php:2607
#, php-format
msgid "[$Projectname] Website SSL error for %s"
msgstr ""
-#: ../../boot.php:2608
+#: ../../boot.php:2612
msgid "Website SSL certificate is not valid. Please correct."
msgstr ""
-#: ../../boot.php:2724
+#: ../../boot.php:2728
#, php-format
msgid "[$Projectname] Cron tasks not running on %s"
msgstr ""
-#: ../../boot.php:2729
+#: ../../boot.php:2733
msgid "Cron/Scheduled tasks not running."
msgstr ""
diff --git a/util/pconfig b/util/pconfig
index c2027adaf..13fd1e99b 100755
--- a/util/pconfig
+++ b/util/pconfig
@@ -14,7 +14,6 @@ if(!file_exists('include/cli_startup.php')) {
require_once('include/cli_startup.php');
-require_once('include/zot.php');
cli_startup();
@@ -36,7 +35,7 @@ Usage: util/pconfig
Displays all of the the channel's config entries
util/pconfig <channel_id> <family>
- Displays all of the channel's config entries for the specified family
+ Displays all of the channel's config entries for the specified family
(system, database, etc)
util/pconfig <channel_id> <family> <key>
diff --git a/vendor/commerceguys/intl/.travis.yml b/vendor/commerceguys/intl/.travis.yml
index 368b63291..6d1cecaa5 100644
--- a/vendor/commerceguys/intl/.travis.yml
+++ b/vendor/commerceguys/intl/.travis.yml
@@ -1,3 +1,4 @@
+sudo: false
language: php
php:
@@ -5,8 +6,13 @@ php:
- 7.3
- 7.2
- 7.1
- - 7.0
install:
- composer self-update
- composer install
+
+script:
+ - XDEBUG_MODE=coverage ./vendor/bin/phpunit -c ./phpunit.xml --coverage-text
+
+matrix:
+ fast_finish: true
diff --git a/vendor/commerceguys/intl/README.md b/vendor/commerceguys/intl/README.md
index 06235c45a..593805264 100644
--- a/vendor/commerceguys/intl/README.md
+++ b/vendor/commerceguys/intl/README.md
@@ -3,7 +3,7 @@ intl
[![Build Status](https://travis-ci.org/commerceguys/intl.svg?branch=master)](https://travis-ci.org/commerceguys/intl)
-A PHP 7.0+ internationalization library, powered by CLDR data.
+A PHP 7.1+ internationalization library, powered by CLDR data.
Features:
- NumberFormatter and CurrencyFormatter, inspired by [intl](http://php.net/manual/en/class.numberformatter.php).
diff --git a/vendor/commerceguys/intl/composer.json b/vendor/commerceguys/intl/composer.json
index 2685c8283..acd44066f 100644
--- a/vendor/commerceguys/intl/composer.json
+++ b/vendor/commerceguys/intl/composer.json
@@ -4,10 +4,10 @@
"description": "Internationalization library powered by CLDR data.",
"license": "MIT",
"require": {
- "php": ">=7.0.8"
+ "php": ">=7.1.3"
},
"require-dev": {
- "phpunit/phpunit": "^6.0",
+ "phpunit/phpunit": "^7.5",
"mikey179/vfsstream": "1.*"
},
"autoload": {
diff --git a/vendor/commerceguys/intl/resources/currency/af.json b/vendor/commerceguys/intl/resources/currency/af.json
index 22c13e69d..02ad48858 100644
--- a/vendor/commerceguys/intl/resources/currency/af.json
+++ b/vendor/commerceguys/intl/resources/currency/af.json
@@ -481,7 +481,7 @@
},
"XOF": {
"name": "Wes-Afrikaanse CFA-frank",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"ISK": {
"name": "Yslandse kroon"
diff --git a/vendor/commerceguys/intl/resources/currency/ar.json b/vendor/commerceguys/intl/resources/currency/ar.json
index aac5acfd0..286959c2c 100644
--- a/vendor/commerceguys/intl/resources/currency/ar.json
+++ b/vendor/commerceguys/intl/resources/currency/ar.json
@@ -367,7 +367,7 @@
},
"XOF": {
"name": "فرنك غرب أفريقي",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"GNF": {
"name": "فرنك غينيا"
diff --git a/vendor/commerceguys/intl/resources/currency/as.json b/vendor/commerceguys/intl/resources/currency/as.json
index 3803ee65b..e7820e162 100644
--- a/vendor/commerceguys/intl/resources/currency/as.json
+++ b/vendor/commerceguys/intl/resources/currency/as.json
@@ -294,7 +294,7 @@
},
"XOF": {
"name": "পশ্চিম আফ্ৰিকান CFA ফ্ৰেংক",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PKR": {
"name": "পাকিস্তানী ৰুপী"
diff --git a/vendor/commerceguys/intl/resources/currency/ast.json b/vendor/commerceguys/intl/resources/currency/ast.json
index eb3afccd7..179e89777 100644
--- a/vendor/commerceguys/intl/resources/currency/ast.json
+++ b/vendor/commerceguys/intl/resources/currency/ast.json
@@ -188,7 +188,7 @@
},
"XOF": {
"name": "francu CFA BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Francu CFA centroafricanu",
diff --git a/vendor/commerceguys/intl/resources/currency/az.json b/vendor/commerceguys/intl/resources/currency/az.json
index 1c3749e66..5d6ac7b1d 100644
--- a/vendor/commerceguys/intl/resources/currency/az.json
+++ b/vendor/commerceguys/intl/resources/currency/az.json
@@ -135,7 +135,7 @@
},
"XOF": {
"name": "Fil Dişi Sahili Frankı",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PHP": {
"name": "Filippin Pesosu"
diff --git a/vendor/commerceguys/intl/resources/currency/be.json b/vendor/commerceguys/intl/resources/currency/be.json
index 18ae8df72..6670849af 100644
--- a/vendor/commerceguys/intl/resources/currency/be.json
+++ b/vendor/commerceguys/intl/resources/currency/be.json
@@ -164,7 +164,7 @@
},
"XOF": {
"name": "заходнеафрыканскі франк КФА",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"JOD": {
"name": "іарданскі дынар"
diff --git a/vendor/commerceguys/intl/resources/currency/bg.json b/vendor/commerceguys/intl/resources/currency/bg.json
index 3ebf8d528..bba50d073 100644
--- a/vendor/commerceguys/intl/resources/currency/bg.json
+++ b/vendor/commerceguys/intl/resources/currency/bg.json
@@ -150,7 +150,7 @@
},
"XOF": {
"name": "Западноафрикански франк",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"ZWL": {
"name": "Зимбабвийски долар (2009)"
@@ -255,7 +255,7 @@
"name": "Македонски денар"
},
"MWK": {
- "name": "Малавийска квача"
+ "name": "Малавийска куача"
},
"MYR": {
"name": "Малайзийски рингит"
@@ -273,13 +273,13 @@
"name": "Мексиканско песо"
},
"MMK": {
- "name": "Мианмарски кият"
+ "name": "Мианмарски киат"
},
"MZN": {
"name": "Мозамбикски метикал"
},
"MDL": {
- "name": "Молдовско леу"
+ "name": "Молдовска лея"
},
"MNT": {
"name": "Монголски тугрик"
@@ -405,7 +405,7 @@
"name": "Узбекски сум"
},
"UAH": {
- "name": "Украинска хривня"
+ "name": "Украинска гривня"
},
"HUF": {
"name": "Унгарски форинт"
@@ -420,7 +420,7 @@
"name": "Филипинско песо"
},
"FKP": {
- "name": "Фолклендска лира"
+ "name": "Фолкландска лира"
},
"HTG": {
"name": "Хаитски гурд"
diff --git a/vendor/commerceguys/intl/resources/currency/bn.json b/vendor/commerceguys/intl/resources/currency/bn.json
index 8a12a7311..927202b39 100644
--- a/vendor/commerceguys/intl/resources/currency/bn.json
+++ b/vendor/commerceguys/intl/resources/currency/bn.json
@@ -245,7 +245,7 @@
},
"XOF": {
"name": "পশ্চিম আফ্রিকান [CFA] ফ্র্যাঙ্ক",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PKR": {
"name": "পাকিস্তানি রুপি"
diff --git a/vendor/commerceguys/intl/resources/currency/brx.json b/vendor/commerceguys/intl/resources/currency/brx.json
index 0103a6079..8159a6424 100644
--- a/vendor/commerceguys/intl/resources/currency/brx.json
+++ b/vendor/commerceguys/intl/resources/currency/brx.json
@@ -269,7 +269,8 @@
"name": "फ़िजी का डॉलर"
},
"PHP": {
- "name": "फ़िलिपीन का पेसो"
+ "name": "फ़िलिपीन का पेसो",
+ "symbol": "₱"
},
"XPF": {
"name": "फ्रानसीसी फेदेरेशनी फ्राँ",
@@ -277,7 +278,7 @@
},
"XOF": {
"name": "फ्रानसीसी फेदेरेशनी बीसीएआओ फ्राँ",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"BMD": {
"name": "बरमुडी डॉलर"
diff --git a/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json b/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json
index e4e38ab00..7249a849d 100644
--- a/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json
@@ -440,7 +440,8 @@
"name": "Уругвајски пезос"
},
"PHP": {
- "name": "Филипински пезос"
+ "name": "Филипински пезос",
+ "symbol": "₱"
},
"FJD": {
"name": "Фиџи долар"
@@ -485,7 +486,7 @@
},
"XOF": {
"name": "CFA франак BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA франак BEAC",
diff --git a/vendor/commerceguys/intl/resources/currency/bs.json b/vendor/commerceguys/intl/resources/currency/bs.json
index d61de915b..593bf85c6 100644
--- a/vendor/commerceguys/intl/resources/currency/bs.json
+++ b/vendor/commerceguys/intl/resources/currency/bs.json
@@ -477,7 +477,7 @@
},
"XOF": {
"name": "Zapadnoafrički franak (CFA)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"CVE": {
"name": "Zelenortski eskudo"
diff --git a/vendor/commerceguys/intl/resources/currency/ca.json b/vendor/commerceguys/intl/resources/currency/ca.json
index ceaf59540..8a3ced75e 100644
--- a/vendor/commerceguys/intl/resources/currency/ca.json
+++ b/vendor/commerceguys/intl/resources/currency/ca.json
@@ -181,7 +181,7 @@
},
"XOF": {
"name": "franc CFA BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "franc CFA BEAC",
diff --git a/vendor/commerceguys/intl/resources/currency/ce.json b/vendor/commerceguys/intl/resources/currency/ce.json
index 844849763..60052cda0 100644
--- a/vendor/commerceguys/intl/resources/currency/ce.json
+++ b/vendor/commerceguys/intl/resources/currency/ce.json
@@ -279,7 +279,7 @@
},
"XOF": {
"name": "Малхбузен Африкан КФА франк",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"MVR": {
"name": "Мальдивийн руфи"
diff --git a/vendor/commerceguys/intl/resources/currency/cs.json b/vendor/commerceguys/intl/resources/currency/cs.json
index 21c3be746..fd0219fbf 100644
--- a/vendor/commerceguys/intl/resources/currency/cs.json
+++ b/vendor/commerceguys/intl/resources/currency/cs.json
@@ -83,7 +83,7 @@
},
"XOF": {
"name": "CFA\/BCEAO frank",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA\/BEAC frank",
diff --git a/vendor/commerceguys/intl/resources/currency/cy.json b/vendor/commerceguys/intl/resources/currency/cy.json
index c02d5f10d..a8d95e277 100644
--- a/vendor/commerceguys/intl/resources/currency/cy.json
+++ b/vendor/commerceguys/intl/resources/currency/cy.json
@@ -177,7 +177,7 @@
},
"XOF": {
"name": "Ffranc CFA Gorllewin Affrica",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "Ffranc CFP",
@@ -307,7 +307,7 @@
"name": "Paʻanga Tonga"
},
"MOP": {
- "name": "Pataca Macau"
+ "name": "pataca Macau"
},
"CUP": {
"name": "Peso Ciwba"
diff --git a/vendor/commerceguys/intl/resources/currency/da.json b/vendor/commerceguys/intl/resources/currency/da.json
index 501dc97fe..061701f9f 100644
--- a/vendor/commerceguys/intl/resources/currency/da.json
+++ b/vendor/commerceguys/intl/resources/currency/da.json
@@ -94,7 +94,7 @@
},
"XOF": {
"name": "CFA-franc BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "CFP-franc",
@@ -134,9 +134,6 @@
"STN": {
"name": "dobra fra Sao Tome og Principe"
},
- "TTD": {
- "name": "dollar fra Trinidad og Tobago"
- },
"DOP": {
"name": "dominikansk peso"
},
@@ -445,6 +442,9 @@
"TOP": {
"name": "tongansk paʻanga"
},
+ "TTD": {
+ "name": "trinidadisk dollar"
+ },
"TND": {
"name": "tunesisk dinar"
},
diff --git a/vendor/commerceguys/intl/resources/currency/de-CH.json b/vendor/commerceguys/intl/resources/currency/de-CH.json
index fd79f4e53..ae8822463 100644
--- a/vendor/commerceguys/intl/resources/currency/de-CH.json
+++ b/vendor/commerceguys/intl/resources/currency/de-CH.json
@@ -57,9 +57,6 @@
"BOB": {
"name": "Bolivianischer Boliviano"
},
- "BAM": {
- "name": "Bosnien und Herzegowina Konvertierbare Mark"
- },
"BWP": {
"name": "Botswanischer Pula"
},
@@ -85,7 +82,7 @@
},
"XOF": {
"name": "CFA-Franc (BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA-Franc (BEAC)",
@@ -220,6 +217,9 @@
"CDF": {
"name": "Kongo-Franc"
},
+ "BAM": {
+ "name": "Konvertible Mark Bosnien und Herzegowina"
+ },
"HRK": {
"name": "Kroatischer Kuna"
},
@@ -336,7 +336,7 @@
"name": "Panamaischer Balboa"
},
"PGK": {
- "name": "Papua-Neuguineischer Kina"
+ "name": "Papua-neuguineischer Kina"
},
"PYG": {
"name": "Paraguayischer Guaraní"
@@ -403,7 +403,7 @@
"name": "Sri-Lanka-Rupie"
},
"SHP": {
- "name": "St. Helena-Pfund"
+ "name": "St.-Helena-Pfund"
},
"ZAR": {
"name": "Südafrikanischer Rand"
@@ -441,7 +441,7 @@
"name": "Tongaischer Paʻanga"
},
"TTD": {
- "name": "Trinidad und Tobago-Dollar"
+ "name": "Trinidad-und-Tobago-Dollar"
},
"CZK": {
"name": "Tschechische Krone"
diff --git a/vendor/commerceguys/intl/resources/currency/de.json b/vendor/commerceguys/intl/resources/currency/de.json
index 84c9309b5..712bae1e7 100644
--- a/vendor/commerceguys/intl/resources/currency/de.json
+++ b/vendor/commerceguys/intl/resources/currency/de.json
@@ -57,9 +57,6 @@
"BOB": {
"name": "Bolivianischer Boliviano"
},
- "BAM": {
- "name": "Bosnien und Herzegowina Konvertierbare Mark"
- },
"BWP": {
"name": "Botswanischer Pula"
},
@@ -85,7 +82,7 @@
},
"XOF": {
"name": "CFA-Franc (BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA-Franc (BEAC)",
@@ -221,6 +218,9 @@
"CDF": {
"name": "Kongo-Franc"
},
+ "BAM": {
+ "name": "Konvertible Mark Bosnien und Herzegowina"
+ },
"HRK": {
"name": "Kroatischer Kuna"
},
@@ -337,7 +337,7 @@
"name": "Panamaischer Balboa"
},
"PGK": {
- "name": "Papua-Neuguineischer Kina"
+ "name": "Papua-neuguineischer Kina"
},
"PYG": {
"name": "Paraguayischer Guaraní"
@@ -404,7 +404,7 @@
"name": "Sri-Lanka-Rupie"
},
"SHP": {
- "name": "St. Helena-Pfund"
+ "name": "St.-Helena-Pfund"
},
"ZAR": {
"name": "Südafrikanischer Rand"
@@ -442,7 +442,7 @@
"name": "Tongaischer Paʻanga"
},
"TTD": {
- "name": "Trinidad und Tobago-Dollar"
+ "name": "Trinidad-und-Tobago-Dollar"
},
"CZK": {
"name": "Tschechische Krone"
diff --git a/vendor/commerceguys/intl/resources/currency/dz.json b/vendor/commerceguys/intl/resources/currency/dz.json
index 381687529..b52b81fa0 100644
--- a/vendor/commerceguys/intl/resources/currency/dz.json
+++ b/vendor/commerceguys/intl/resources/currency/dz.json
@@ -246,7 +246,7 @@
},
"XOF": {
"name": "West African CFA Franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"YER": {
"name": "Yemeni Rial"
@@ -342,7 +342,8 @@
"name": "པོ་ལེནཌ་ཀྱི་དངུལ ཛ྄ལོ་ཊི"
},
"PHP": {
- "name": "ཕི་ལི་པིནས་གྱི་དངུལ་ པེ་སོ"
+ "name": "ཕི་ལི་པིནས་གྱི་དངུལ་ པེ་སོ",
+ "symbol": "₱"
},
"BMD": {
"name": "བར་མུ་ཌ་གི་དངུལ་ ཌོ་ལར"
diff --git a/vendor/commerceguys/intl/resources/currency/el.json b/vendor/commerceguys/intl/resources/currency/el.json
index d67d56947..5121f9056 100644
--- a/vendor/commerceguys/intl/resources/currency/el.json
+++ b/vendor/commerceguys/intl/resources/currency/el.json
@@ -478,7 +478,7 @@
},
"XOF": {
"name": "Φράγκο CFA Δυτικής Αφρικής",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Φράγκο CFA Κεντρικής Αφρικής",
diff --git a/vendor/commerceguys/intl/resources/currency/en-001.json b/vendor/commerceguys/intl/resources/currency/en-001.json
index ce24303cf..ac353e93d 100644
--- a/vendor/commerceguys/intl/resources/currency/en-001.json
+++ b/vendor/commerceguys/intl/resources/currency/en-001.json
@@ -46,7 +46,7 @@
"name": "Belize Dollar"
},
"BMD": {
- "name": "Bermudan Dollar"
+ "name": "Bermudian Dollar"
},
"BTN": {
"name": "Bhutanese Ngultrum"
@@ -343,7 +343,8 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Peso",
+ "symbol": "₱"
},
"PLN": {
"name": "Polish Zloty"
@@ -482,7 +483,7 @@
},
"XOF": {
"name": "West African CFA Franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"YER": {
"name": "Yemeni Rial"
diff --git a/vendor/commerceguys/intl/resources/currency/en-AU.json b/vendor/commerceguys/intl/resources/currency/en-AU.json
index 5749df5d9..f750967bd 100644
--- a/vendor/commerceguys/intl/resources/currency/en-AU.json
+++ b/vendor/commerceguys/intl/resources/currency/en-AU.json
@@ -332,7 +332,7 @@
"name": "Peso Uruguayo"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Peso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-GG.json b/vendor/commerceguys/intl/resources/currency/en-GG.json
index 785d94390..7465255a3 100644
--- a/vendor/commerceguys/intl/resources/currency/en-GG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-GG.json
@@ -46,7 +46,7 @@
"name": "Belize Dollar"
},
"BMD": {
- "name": "Bermudan Dollar"
+ "name": "Bermudian Dollar"
},
"BTN": {
"name": "Bhutanese Ngultrum"
@@ -339,7 +339,8 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Peso",
+ "symbol": "₱"
},
"PLN": {
"name": "Polish Zloty"
@@ -482,7 +483,7 @@
},
"XOF": {
"name": "West African CFA Franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"YER": {
"name": "Yemeni Rial"
diff --git a/vendor/commerceguys/intl/resources/currency/en-IM.json b/vendor/commerceguys/intl/resources/currency/en-IM.json
index 785d94390..7465255a3 100644
--- a/vendor/commerceguys/intl/resources/currency/en-IM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-IM.json
@@ -46,7 +46,7 @@
"name": "Belize Dollar"
},
"BMD": {
- "name": "Bermudan Dollar"
+ "name": "Bermudian Dollar"
},
"BTN": {
"name": "Bhutanese Ngultrum"
@@ -339,7 +339,8 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Peso",
+ "symbol": "₱"
},
"PLN": {
"name": "Polish Zloty"
@@ -482,7 +483,7 @@
},
"XOF": {
"name": "West African CFA Franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"YER": {
"name": "Yemeni Rial"
diff --git a/vendor/commerceguys/intl/resources/currency/en-JE.json b/vendor/commerceguys/intl/resources/currency/en-JE.json
index 785d94390..7465255a3 100644
--- a/vendor/commerceguys/intl/resources/currency/en-JE.json
+++ b/vendor/commerceguys/intl/resources/currency/en-JE.json
@@ -46,7 +46,7 @@
"name": "Belize Dollar"
},
"BMD": {
- "name": "Bermudan Dollar"
+ "name": "Bermudian Dollar"
},
"BTN": {
"name": "Bhutanese Ngultrum"
@@ -339,7 +339,8 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Peso",
+ "symbol": "₱"
},
"PLN": {
"name": "Polish Zloty"
@@ -482,7 +483,7 @@
},
"XOF": {
"name": "West African CFA Franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"YER": {
"name": "Yemeni Rial"
diff --git a/vendor/commerceguys/intl/resources/currency/en.json b/vendor/commerceguys/intl/resources/currency/en.json
index a6c443334..c4921b070 100644
--- a/vendor/commerceguys/intl/resources/currency/en.json
+++ b/vendor/commerceguys/intl/resources/currency/en.json
@@ -343,7 +343,8 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Piso",
+ "symbol": "₱"
},
"PLN": {
"name": "Polish Zloty"
@@ -482,7 +483,7 @@
},
"XOF": {
"name": "West African CFA Franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"YER": {
"name": "Yemeni Rial"
diff --git a/vendor/commerceguys/intl/resources/currency/es-US.json b/vendor/commerceguys/intl/resources/currency/es-US.json
index e9409dd1c..57623ac3d 100644
--- a/vendor/commerceguys/intl/resources/currency/es-US.json
+++ b/vendor/commerceguys/intl/resources/currency/es-US.json
@@ -12,7 +12,7 @@
"name": "bat"
},
"ETB": {
- "name": "bir"
+ "name": "birr"
},
"VES": {
"name": "bolívar venezolano"
@@ -96,7 +96,7 @@
"name": "dírham marroquí"
},
"STN": {
- "name": "dobra santotomense"
+ "name": "dobra"
},
"AUD": {
"name": "dólar australiano"
@@ -434,7 +434,7 @@
"name": "sol peruano"
},
"KGS": {
- "name": "som kirguís"
+ "name": "som"
},
"TJS": {
"name": "somoni tayiko"
diff --git a/vendor/commerceguys/intl/resources/currency/es.json b/vendor/commerceguys/intl/resources/currency/es.json
index a9902c411..09b1b640c 100644
--- a/vendor/commerceguys/intl/resources/currency/es.json
+++ b/vendor/commerceguys/intl/resources/currency/es.json
@@ -43,7 +43,7 @@
"name": "colón salvadoreño"
},
"NIO": {
- "name": "córdoba nicaragüense"
+ "name": "córdoba oro"
},
"CZK": {
"name": "corona checa"
@@ -111,15 +111,14 @@
"BZD": {
"name": "dólar beliceño"
},
+ "BMD": {
+ "name": "dólar bermudeño"
+ },
"BND": {
"name": "dólar bruneano"
},
"CAD": {
- "name": "dólar canadiense",
- "symbol": "CA$"
- },
- "BMD": {
- "name": "dólar de Bermudas"
+ "name": "dólar canadiense"
},
"KYD": {
"name": "dólar de las Islas Caimán"
@@ -184,12 +183,12 @@
"name": "euro",
"symbol": "€"
},
+ "ANG": {
+ "name": "florín antillano"
+ },
"AWG": {
"name": "florín arubeño"
},
- "ANG": {
- "name": "florín de las Antillas Neerlandesas"
- },
"HUF": {
"name": "forinto húngaro"
},
diff --git a/vendor/commerceguys/intl/resources/currency/et.json b/vendor/commerceguys/intl/resources/currency/et.json
index 59d5fea56..e39b6c2f3 100644
--- a/vendor/commerceguys/intl/resources/currency/et.json
+++ b/vendor/commerceguys/intl/resources/currency/et.json
@@ -263,7 +263,7 @@
},
"XOF": {
"name": "Lääne-Aafrika CFA frank",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"MOP": {
"name": "Macau pataaka"
diff --git a/vendor/commerceguys/intl/resources/currency/eu.json b/vendor/commerceguys/intl/resources/currency/eu.json
index 2a3c2ce6c..88ce30f63 100644
--- a/vendor/commerceguys/intl/resources/currency/eu.json
+++ b/vendor/commerceguys/intl/resources/currency/eu.json
@@ -8,7 +8,7 @@
},
"XOF": {
"name": "Afrika mendebaldeko CFA frankoa",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"AED": {
"name": "Arabiar Emirerri Batuetako dirhama"
@@ -40,7 +40,7 @@
"symbol": "CFPF"
},
"NIO": {
- "name": "córdoba nikaraguarra"
+ "name": "cordoba nikaraguarra"
},
"CRC": {
"name": "Costa Ricako colona"
@@ -114,6 +114,9 @@
"name": "dolar hongkongtarra",
"symbol": "HK$"
},
+ "JMD": {
+ "name": "dolar jamaikarra"
+ },
"KYD": {
"name": "dolar kaimandarra"
},
@@ -168,9 +171,6 @@
"IDR": {
"name": "errupia indonesiarra"
},
- "MVR": {
- "name": "errupia maldivarra"
- },
"MUR": {
"name": "errupia mauriziarra"
},
@@ -229,8 +229,8 @@
"ANG": {
"name": "Holandarren Antilletako florina"
},
- "JMD": {
- "name": "Jamaikako dolarra"
+ "UAH": {
+ "name": "hryvnia ukrainarra"
},
"XCD": {
"name": "Karibe ekialdeko dolarra",
@@ -351,6 +351,9 @@
"BTN": {
"name": "ngultrum bhutandarra"
},
+ "TOP": {
+ "name": "paʻanga tongatarra"
+ },
"MOP": {
"name": "pataca macauarra"
},
@@ -409,6 +412,9 @@
"SAR": {
"name": "riyal saudiarabiarra"
},
+ "MVR": {
+ "name": "rufiyaa maldivarra"
+ },
"SVC": {
"name": "Salvadoran Colón"
},
@@ -440,9 +446,6 @@
"KZT": {
"name": "tenge kazakhstandarra"
},
- "TOP": {
- "name": "Tongako Paʻanga"
- },
"TTD": {
"name": "Trinidad eta Tobagoko dolarra"
},
@@ -464,9 +467,6 @@
"MRU": {
"name": "uguiya mauritaniarra"
},
- "UAH": {
- "name": "Ukrainako hryvnia"
- },
"UYW": {
"name": "Uruguayan Nominal Wage Index Unit"
},
diff --git a/vendor/commerceguys/intl/resources/currency/fa-AF.json b/vendor/commerceguys/intl/resources/currency/fa-AF.json
index c477c916e..276cb4211 100644
--- a/vendor/commerceguys/intl/resources/currency/fa-AF.json
+++ b/vendor/commerceguys/intl/resources/currency/fa-AF.json
@@ -345,7 +345,7 @@
},
"XOF": {
"name": "فرانک CFA غرب افریقا",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "فرانک CFA مرکز افریقا",
diff --git a/vendor/commerceguys/intl/resources/currency/fa.json b/vendor/commerceguys/intl/resources/currency/fa.json
index a1d6c3a7c..d8f5535b4 100644
--- a/vendor/commerceguys/intl/resources/currency/fa.json
+++ b/vendor/commerceguys/intl/resources/currency/fa.json
@@ -345,7 +345,7 @@
},
"XOF": {
"name": "فرانک CFA غرب افریقا",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "فرانک CFA مرکز افریقا",
diff --git a/vendor/commerceguys/intl/resources/currency/fi.json b/vendor/commerceguys/intl/resources/currency/fi.json
index cb9faf1c6..abaeef912 100644
--- a/vendor/commerceguys/intl/resources/currency/fi.json
+++ b/vendor/commerceguys/intl/resources/currency/fi.json
@@ -79,7 +79,7 @@
},
"XOF": {
"name": "CFA-frangi BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA-frangi BEAC",
diff --git a/vendor/commerceguys/intl/resources/currency/fil.json b/vendor/commerceguys/intl/resources/currency/fil.json
index 0d73bae4e..1ee6f2ac3 100644
--- a/vendor/commerceguys/intl/resources/currency/fil.json
+++ b/vendor/commerceguys/intl/resources/currency/fil.json
@@ -69,7 +69,7 @@
},
"XOF": {
"name": "CFA Franc ng Kanlurang Africa",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "CFP Franc",
@@ -403,7 +403,7 @@
"name": "Samoan Tala"
},
"STN": {
- "name": "São Tomé & Príncipe Dobra (2018)"
+ "name": "São Tomé & Príncipe Dobra"
},
"SAR": {
"name": "Saudi Riyal"
diff --git a/vendor/commerceguys/intl/resources/currency/fr-CA.json b/vendor/commerceguys/intl/resources/currency/fr-CA.json
index a257ad79a..74340acbf 100644
--- a/vendor/commerceguys/intl/resources/currency/fr-CA.json
+++ b/vendor/commerceguys/intl/resources/currency/fr-CA.json
@@ -107,7 +107,7 @@
},
"CAD": {
"name": "dollar canadien",
- "symbol": "$"
+ "symbol": "$ CA"
},
"HKD": {
"name": "dollar de Hong Kong",
@@ -271,7 +271,7 @@
"name": "livre de Sainte-Hélène"
},
"FKP": {
- "name": "livre des Îles Malouines"
+ "name": "livre des îles Malouines"
},
"EGP": {
"name": "livre égyptienne"
diff --git a/vendor/commerceguys/intl/resources/currency/fr.json b/vendor/commerceguys/intl/resources/currency/fr.json
index e1b57a8a5..610c689f4 100644
--- a/vendor/commerceguys/intl/resources/currency/fr.json
+++ b/vendor/commerceguys/intl/resources/currency/fr.json
@@ -119,6 +119,10 @@
"name": "dollar de Singapour",
"symbol": "$SG"
},
+ "TTD": {
+ "name": "dollar de Trinité-et-Tobago",
+ "symbol": "$TT"
+ },
"XCD": {
"name": "dollar des Caraïbes orientales"
},
@@ -158,10 +162,6 @@
"name": "dollar surinamais",
"symbol": "$SR"
},
- "TTD": {
- "name": "dollar trinidadien",
- "symbol": "$TT"
- },
"ZWL": {
"name": "dollar zimbabwéen (2009)"
},
@@ -193,7 +193,7 @@
},
"XOF": {
"name": "franc CFA (BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "franc CFA (BEAC)",
diff --git a/vendor/commerceguys/intl/resources/currency/ga.json b/vendor/commerceguys/intl/resources/currency/ga.json
index cc18a81d6..6b3423e81 100644
--- a/vendor/commerceguys/intl/resources/currency/ga.json
+++ b/vendor/commerceguys/intl/resources/currency/ga.json
@@ -179,7 +179,7 @@
},
"XOF": {
"name": "Franc CFA Iarthar na hAfraice",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Franc CFA na hAfraice Láir",
@@ -323,7 +323,8 @@
"name": "Peso na hAirgintíne"
},
"PHP": {
- "name": "Peso na nOileán Filipíneach"
+ "name": "Peso na nOileán Filipíneach",
+ "symbol": "₱"
},
"DOP": {
"name": "Peso na Poblachta Doiminicí"
diff --git a/vendor/commerceguys/intl/resources/currency/gd.json b/vendor/commerceguys/intl/resources/currency/gd.json
index 8d76692e6..78252d8fd 100644
--- a/vendor/commerceguys/intl/resources/currency/gd.json
+++ b/vendor/commerceguys/intl/resources/currency/gd.json
@@ -3,7 +3,7 @@
"name": "Afghani Afghanach"
},
"UYW": {
- "name": "aonad inneacs tuarastail ainmeach Uruguaidh"
+ "name": "Aonad inneacs tuarastail ainmeach Uruguaidh"
},
"MGA": {
"name": "Ariary Madagasgarach"
@@ -176,7 +176,7 @@
},
"XOF": {
"name": "Franc CFA Afraga an Iar",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Franc CFA Meadhan-Afragach",
diff --git a/vendor/commerceguys/intl/resources/currency/gl.json b/vendor/commerceguys/intl/resources/currency/gl.json
index 6beec93ba..38bb5763e 100644
--- a/vendor/commerceguys/intl/resources/currency/gl.json
+++ b/vendor/commerceguys/intl/resources/currency/gl.json
@@ -183,7 +183,7 @@
},
"XOF": {
"name": "franco CFA (BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "franco CFA (BEAC)",
@@ -262,7 +262,7 @@
"name": "leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
"name": "leu romanés"
@@ -299,7 +299,7 @@
"name": "libra xibraltareña"
},
"SZL": {
- "name": "lilangeni de Eswatini"
+ "name": "lilangeni de Swazilandia"
},
"TRY": {
"name": "lira turca"
diff --git a/vendor/commerceguys/intl/resources/currency/gsw.json b/vendor/commerceguys/intl/resources/currency/gsw.json
index f3c415c01..9e6f2c866 100644
--- a/vendor/commerceguys/intl/resources/currency/gsw.json
+++ b/vendor/commerceguys/intl/resources/currency/gsw.json
@@ -79,7 +79,7 @@
},
"XOF": {
"name": "CFA-Franc (Wescht)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "CFP-Franc",
@@ -333,7 +333,8 @@
"symbol": "£"
},
"PHP": {
- "name": "Philippiinische Peso"
+ "name": "Philippiinische Peso",
+ "symbol": "₱"
},
"GTQ": {
"name": "Quetzal"
diff --git a/vendor/commerceguys/intl/resources/currency/gu.json b/vendor/commerceguys/intl/resources/currency/gu.json
index 3a22f3e43..607bf1493 100644
--- a/vendor/commerceguys/intl/resources/currency/gu.json
+++ b/vendor/commerceguys/intl/resources/currency/gu.json
@@ -243,7 +243,7 @@
},
"XOF": {
"name": "પશ્ચિમી આફ્રિકન [CFA] ફ્રેંક",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PKR": {
"name": "પાકિસ્તાની રૂપી"
diff --git a/vendor/commerceguys/intl/resources/currency/he.json b/vendor/commerceguys/intl/resources/currency/he.json
index 1b058ceb9..b659e20e8 100644
--- a/vendor/commerceguys/intl/resources/currency/he.json
+++ b/vendor/commerceguys/intl/resources/currency/he.json
@@ -371,7 +371,7 @@
},
"XOF": {
"name": "פרנק CFA מערב אפריקני",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "פרנק CFA מרכז אפריקני",
diff --git a/vendor/commerceguys/intl/resources/currency/hi.json b/vendor/commerceguys/intl/resources/currency/hi.json
index c8e72bca4..87a55d02a 100644
--- a/vendor/commerceguys/intl/resources/currency/hi.json
+++ b/vendor/commerceguys/intl/resources/currency/hi.json
@@ -237,7 +237,7 @@
},
"XOF": {
"name": "पश्चिमी अफ़्रीकी CFA फ़्रैंक",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PKR": {
"name": "पाकिस्तानी रुपया"
diff --git a/vendor/commerceguys/intl/resources/currency/hr.json b/vendor/commerceguys/intl/resources/currency/hr.json
index e92749979..7ff996417 100644
--- a/vendor/commerceguys/intl/resources/currency/hr.json
+++ b/vendor/commerceguys/intl/resources/currency/hr.json
@@ -76,7 +76,7 @@
},
"XOF": {
"name": "CFA franak BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA franak BEAC",
diff --git a/vendor/commerceguys/intl/resources/currency/hu.json b/vendor/commerceguys/intl/resources/currency/hu.json
index 88d37acec..7aed06a73 100644
--- a/vendor/commerceguys/intl/resources/currency/hu.json
+++ b/vendor/commerceguys/intl/resources/currency/hu.json
@@ -71,12 +71,9 @@
"BIF": {
"name": "burundi frank"
},
- "CVE": {
- "name": "Cape Verde-i escudo"
- },
"XOF": {
"name": "CFA frank BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA frank BEAC",
@@ -477,5 +474,8 @@
},
"ZWL": {
"name": "Zimbabwei dollár (2009)"
+ },
+ "CVE": {
+ "name": "Zöld-foki escudo"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/hy.json b/vendor/commerceguys/intl/resources/currency/hy.json
index c279de863..7eee595d2 100644
--- a/vendor/commerceguys/intl/resources/currency/hy.json
+++ b/vendor/commerceguys/intl/resources/currency/hy.json
@@ -34,7 +34,7 @@
},
"XOF": {
"name": "Արևմտյան Աֆրիկայի ԿՖԱ ֆրանկ",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"AFN": {
"name": "աֆղանական աֆղանի"
diff --git a/vendor/commerceguys/intl/resources/currency/id.json b/vendor/commerceguys/intl/resources/currency/id.json
index 920a86971..1db96868f 100644
--- a/vendor/commerceguys/intl/resources/currency/id.json
+++ b/vendor/commerceguys/intl/resources/currency/id.json
@@ -40,7 +40,7 @@
"name": "Denar Makedonia"
},
"DZD": {
- "name": "Dinar Algeria"
+ "name": "Dinar Aljazair"
},
"BHD": {
"name": "Dinar Bahrain"
@@ -172,11 +172,11 @@
"name": "Franc Burundi"
},
"XOF": {
- "name": "Franc CFA BCEAO",
- "symbol": "CFA"
+ "name": "Franc CFA Afrika Barat",
+ "symbol": "F CFA"
},
"XAF": {
- "name": "Franc CFA BEAC",
+ "name": "Franc CFA Afrika Tengah",
"symbol": "FCFA"
},
"XPF": {
@@ -220,7 +220,7 @@
"name": "Kip Laos"
},
"CZK": {
- "name": "Koruna Cheska"
+ "name": "Koruna Ceko"
},
"ISK": {
"name": "Krona Islandia"
@@ -283,7 +283,7 @@
"name": "Manat Azerbaijan"
},
"TMT": {
- "name": "Manat Turkimenistan"
+ "name": "Manat Turkmenistan"
},
"BAM": {
"name": "Mark Konvertibel Bosnia-Herzegovina"
@@ -337,9 +337,6 @@
"UYU": {
"name": "Peso Uruguay"
},
- "PLN": {
- "name": "Polandia Zloty"
- },
"GIP": {
"name": "Pound Gibraltar"
},
@@ -454,7 +451,7 @@
"name": "Sol Peru"
},
"KGS": {
- "name": "Som Kirgistan"
+ "name": "Som Kirgizstan"
},
"UZS": {
"name": "Som Uzbekistan"
@@ -469,7 +466,7 @@
"name": "Tala Samoa"
},
"KZT": {
- "name": "Tenge Kazakstan"
+ "name": "Tenge Kazakhstan"
},
"MNT": {
"name": "Tugrik Mongolia"
@@ -494,5 +491,8 @@
"CNY": {
"name": "Yuan Tiongkok",
"symbol": "CN¥"
+ },
+ "PLN": {
+ "name": "Zloty Polandia"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/is.json b/vendor/commerceguys/intl/resources/currency/is.json
index 0cf39e5a6..a6117f1ca 100644
--- a/vendor/commerceguys/intl/resources/currency/is.json
+++ b/vendor/commerceguys/intl/resources/currency/is.json
@@ -302,7 +302,7 @@
"name": "nígerísk næra"
},
"NIO": {
- "name": "níkaraögsk kordóva"
+ "name": "níkarögsk kordóva"
},
"KPW": {
"name": "norðurkóreskt vonn"
@@ -473,7 +473,7 @@
},
"XOF": {
"name": "vesturafrískur franki",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"VND": {
"name": "víetnamskt dong"
diff --git a/vendor/commerceguys/intl/resources/currency/it.json b/vendor/commerceguys/intl/resources/currency/it.json
index 16c75b6de..39aff7e37 100644
--- a/vendor/commerceguys/intl/resources/currency/it.json
+++ b/vendor/commerceguys/intl/resources/currency/it.json
@@ -51,9 +51,6 @@
"GMD": {
"name": "dalasi gambiano"
},
- "MKD": {
- "name": "denar macedone"
- },
"DZD": {
"name": "dinaro algerino"
},
@@ -72,6 +69,9 @@
"LYD": {
"name": "dinaro libico"
},
+ "MKD": {
+ "name": "dinaro macedone"
+ },
"RSD": {
"name": "dinaro serbo"
},
@@ -158,8 +158,7 @@
"name": "dollaro zimbabwiano (2009)"
},
"VND": {
- "name": "dong vietnamita",
- "symbol": "₫"
+ "name": "dong vietnamita"
},
"AMD": {
"name": "dram armeno"
@@ -182,7 +181,7 @@
},
"XOF": {
"name": "franco CFA BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "franco CFA BEAC",
@@ -231,12 +230,12 @@
"HRK": {
"name": "kuna croata"
},
- "ZMW": {
- "name": "kwacha dello Zambia"
- },
"MWK": {
"name": "kwacha malawiano"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"AOA": {
"name": "kwanza angolano"
},
@@ -335,7 +334,8 @@
"name": "peso dominicano"
},
"PHP": {
- "name": "peso filippino"
+ "name": "peso filippino",
+ "symbol": "₱"
},
"MXN": {
"name": "peso messicano"
@@ -396,8 +396,7 @@
"name": "rupia di Sri Lanka"
},
"INR": {
- "name": "rupia indiana",
- "symbol": "₹"
+ "name": "rupia indiana"
},
"IDR": {
"name": "rupia indonesiana"
diff --git a/vendor/commerceguys/intl/resources/currency/ja.json b/vendor/commerceguys/intl/resources/currency/ja.json
index 326926e46..aa0d4cc72 100644
--- a/vendor/commerceguys/intl/resources/currency/ja.json
+++ b/vendor/commerceguys/intl/resources/currency/ja.json
@@ -25,7 +25,7 @@
"name": "アルゼンチン ペソ"
},
"AWG": {
- "name": "アルバ ギルダー"
+ "name": "アルバ フロリン"
},
"ALL": {
"name": "アルバニア レク"
@@ -462,7 +462,7 @@
},
"XOF": {
"name": "西アフリカ CFA フラン",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "中央アフリカ CFA フラン",
diff --git a/vendor/commerceguys/intl/resources/currency/ka.json b/vendor/commerceguys/intl/resources/currency/ka.json
index 5f44bcb11..635a4c852 100644
--- a/vendor/commerceguys/intl/resources/currency/ka.json
+++ b/vendor/commerceguys/intl/resources/currency/ka.json
@@ -113,7 +113,7 @@
},
"XOF": {
"name": "დასავლეთ აფრიკული CFA ფრანკი",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"DOP": {
"name": "დომინიკური პესო"
@@ -281,7 +281,7 @@
"name": "ნიდერლანდების ანტილების გულდენი"
},
"NIO": {
- "name": "ნიკარაგუული კორდობა"
+ "name": "ნიკარაგუას ოქროს კორდობა"
},
"NOK": {
"name": "ნორვეგიული კრონა"
diff --git a/vendor/commerceguys/intl/resources/currency/kk.json b/vendor/commerceguys/intl/resources/currency/kk.json
index add9dded9..61076f187 100644
--- a/vendor/commerceguys/intl/resources/currency/kk.json
+++ b/vendor/commerceguys/intl/resources/currency/kk.json
@@ -227,7 +227,7 @@
},
"XOF": {
"name": "КФА ВСЕАО франкі",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "КФП франкі",
diff --git a/vendor/commerceguys/intl/resources/currency/km.json b/vendor/commerceguys/intl/resources/currency/km.json
index 90edab51a..ac93071c2 100644
--- a/vendor/commerceguys/intl/resources/currency/km.json
+++ b/vendor/commerceguys/intl/resources/currency/km.json
@@ -27,7 +27,7 @@
"name": "ក្វាន់ហ្សា​អង់ហ្គោឡា"
},
"NIO": {
- "name": "ខឌូបា​នីការ៉ាហ្គា"
+ "name": "ខឌូបា​នីការ៉ាហ្កា"
},
"PGK": {
"name": "គីណាប៉ាពួញូហ្គីណេ"
@@ -98,7 +98,7 @@
"name": "ដុល្លារ​បេលី"
},
"BND": {
- "name": "ដុល្លារ​ប្រុយណេ"
+ "name": "ដុល្លារព្រុយណេ"
},
"LRD": {
"name": "ដុល្លារ​លីប៊ី"
@@ -281,7 +281,7 @@
"name": "មីទីខល​ម៉ូសំប៊ិក"
},
"CNY": {
- "name": "យ៉ន់​ចិន",
+ "name": "យ័នចិន",
"symbol": "CN¥"
},
"JPY": {
@@ -431,7 +431,7 @@
},
"XOF": {
"name": "ហ្វ្រង់ CFA អាហ្វ្រិកខាងលិច",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "ហ្វ្រង់ CFP",
diff --git a/vendor/commerceguys/intl/resources/currency/ko.json b/vendor/commerceguys/intl/resources/currency/ko.json
index 7348a3378..d8eadf5bd 100644
--- a/vendor/commerceguys/intl/resources/currency/ko.json
+++ b/vendor/commerceguys/intl/resources/currency/ko.json
@@ -194,7 +194,7 @@
},
"XOF": {
"name": "서아프리카 CFA 프랑",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"RSD": {
"name": "세르비아 디나르"
@@ -284,6 +284,10 @@
"SVC": {
"name": "엘살바도르 콜론"
},
+ "GBP": {
+ "name": "영국 파운드",
+ "symbol": "£"
+ },
"YER": {
"name": "예멘 리알"
},
@@ -447,10 +451,6 @@
"PYG": {
"name": "파라과이 과라니"
},
- "GBP": {
- "name": "파운드",
- "symbol": "£"
- },
"PKR": {
"name": "파키스탄 루피"
},
diff --git a/vendor/commerceguys/intl/resources/currency/kok.json b/vendor/commerceguys/intl/resources/currency/kok.json
index eaa4b0d47..e43f429fb 100644
--- a/vendor/commerceguys/intl/resources/currency/kok.json
+++ b/vendor/commerceguys/intl/resources/currency/kok.json
@@ -25,7 +25,7 @@
},
"XOF": {
"name": "अस्तंत आफ्रिकी सीएफए फ्रँक",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"ISK": {
"name": "आईस्लान्डिक क्रोना"
diff --git a/vendor/commerceguys/intl/resources/currency/ks.json b/vendor/commerceguys/intl/resources/currency/ks.json
index 86c5cc5b6..a6b0f71b5 100644
--- a/vendor/commerceguys/intl/resources/currency/ks.json
+++ b/vendor/commerceguys/intl/resources/currency/ks.json
@@ -151,7 +151,8 @@
"name": "پٔریوٗوِیَن سولٕز"
},
"PHP": {
- "name": "پھِلِپایِٔن پؠسو"
+ "name": "پھِلِپایِٔن پؠسو",
+ "symbol": "₱"
},
"PLN": {
"name": "پولِش زلوٹی"
@@ -292,7 +293,7 @@
},
"XOF": {
"name": "سی ایف اے فرینک بی سی ایٖ اے او",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "سی ایف پی فرینک",
diff --git a/vendor/commerceguys/intl/resources/currency/ky.json b/vendor/commerceguys/intl/resources/currency/ky.json
index ef77c6a32..f78b00403 100644
--- a/vendor/commerceguys/intl/resources/currency/ky.json
+++ b/vendor/commerceguys/intl/resources/currency/ky.json
@@ -221,7 +221,7 @@
},
"XOF": {
"name": "КФА франкы",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "КФП франкы",
@@ -402,7 +402,7 @@
"name": "тунис динары"
},
"KPW": {
- "name": "Түндүк Корея уону"
+ "name": "Түндүк Корея вону"
},
"TRY": {
"name": "Түркия лирасы"
@@ -414,7 +414,7 @@
"name": "Түштүк Африка ранды"
},
"KRW": {
- "name": "Түштүк Корея уону"
+ "name": "Түштүк Корея вону"
},
"SSP": {
"name": "Түштүк Судан фунту"
diff --git a/vendor/commerceguys/intl/resources/currency/lb.json b/vendor/commerceguys/intl/resources/currency/lb.json
index 254295146..d875fb0b8 100644
--- a/vendor/commerceguys/intl/resources/currency/lb.json
+++ b/vendor/commerceguys/intl/resources/currency/lb.json
@@ -79,7 +79,7 @@
},
"XOF": {
"name": "CFA-Frang (BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA-Frang (BEAC)",
diff --git a/vendor/commerceguys/intl/resources/currency/lo.json b/vendor/commerceguys/intl/resources/currency/lo.json
index ff18da6b5..91e478ab6 100644
--- a/vendor/commerceguys/intl/resources/currency/lo.json
+++ b/vendor/commerceguys/intl/resources/currency/lo.json
@@ -306,7 +306,7 @@
},
"XOF": {
"name": "ຟັງເຊຟານ ອາຟຣິກາຕາເວັນຕົກ",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"FJD": {
"name": "ຟິ​ຈຽນ ໂດ​ລ່າ"
diff --git a/vendor/commerceguys/intl/resources/currency/lv.json b/vendor/commerceguys/intl/resources/currency/lv.json
index 299ace7a4..25da2109c 100644
--- a/vendor/commerceguys/intl/resources/currency/lv.json
+++ b/vendor/commerceguys/intl/resources/currency/lv.json
@@ -366,7 +366,7 @@
},
"XOF": {
"name": "Rietumāfrikas CFA franks",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"RWF": {
"name": "Ruandas franks"
diff --git a/vendor/commerceguys/intl/resources/currency/mg.json b/vendor/commerceguys/intl/resources/currency/mg.json
index bfe45e63f..8e24c9644 100644
--- a/vendor/commerceguys/intl/resources/currency/mg.json
+++ b/vendor/commerceguys/intl/resources/currency/mg.json
@@ -162,7 +162,7 @@
},
"XOF": {
"name": "Farantsa CFA (BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Farantsa CFA (BEAC)",
@@ -358,7 +358,8 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Piso",
+ "symbol": "₱"
},
"BWP": {
"name": "Pola botsoaney"
diff --git a/vendor/commerceguys/intl/resources/currency/mk.json b/vendor/commerceguys/intl/resources/currency/mk.json
index 675da11ce..cdc386c7d 100644
--- a/vendor/commerceguys/intl/resources/currency/mk.json
+++ b/vendor/commerceguys/intl/resources/currency/mk.json
@@ -115,9 +115,6 @@
"STN": {
"name": "Добра на Сао Томе и Принсипе"
},
- "KYD": {
- "name": "Долар на кајмански острови"
- },
"TTD": {
"name": "Долар на Тринидад и Тобаго"
},
@@ -145,7 +142,7 @@
},
"XOF": {
"name": "Западноафрикански франк",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"CVE": {
"name": "Зелено’ртски ескудо"
@@ -169,7 +166,7 @@
"name": "Исландска крона"
},
"XCD": {
- "name": "Источно карипски долар",
+ "name": "Источнокарипски долар",
"symbol": "EC$"
},
"JMD": {
@@ -196,6 +193,9 @@
"KZT": {
"name": "Казахстанска тенга"
},
+ "KYD": {
+ "name": "Кајмански долар"
+ },
"KHR": {
"name": "Камбоџиски рел"
},
@@ -227,12 +227,12 @@
"CRC": {
"name": "Костарикански колон"
},
+ "CUC": {
+ "name": "Кубански конвертибилен пезос"
+ },
"CUP": {
"name": "Кубански пезос"
},
- "CUC": {
- "name": "Кубански пезос (конвертибилен)"
- },
"KWD": {
"name": "Кувајтски динар"
},
@@ -271,7 +271,7 @@
"name": "Малагасиски ариари"
},
"MVR": {
- "name": "Малдивиска руфија"
+ "name": "Малдивска руфија"
},
"MYR": {
"name": "Малезиски рингит"
diff --git a/vendor/commerceguys/intl/resources/currency/ml.json b/vendor/commerceguys/intl/resources/currency/ml.json
index 1ac372c97..dbfde135e 100644
--- a/vendor/commerceguys/intl/resources/currency/ml.json
+++ b/vendor/commerceguys/intl/resources/currency/ml.json
@@ -249,7 +249,7 @@
},
"XOF": {
"name": "പശ്ചിമ ആഫ്രിക്കൻ [CFA] ഫ്രാങ്ക്",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PKR": {
"name": "പാക്കിസ്ഥാനി റുപ്പീ"
diff --git a/vendor/commerceguys/intl/resources/currency/mn.json b/vendor/commerceguys/intl/resources/currency/mn.json
index 356d47506..c46ccc87a 100644
--- a/vendor/commerceguys/intl/resources/currency/mn.json
+++ b/vendor/commerceguys/intl/resources/currency/mn.json
@@ -48,7 +48,7 @@
},
"XOF": {
"name": "Баруун Африкийн франк",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"BHD": {
"name": "Бахрейн динар"
diff --git a/vendor/commerceguys/intl/resources/currency/mr.json b/vendor/commerceguys/intl/resources/currency/mr.json
index 7cb16eb90..711015fb1 100644
--- a/vendor/commerceguys/intl/resources/currency/mr.json
+++ b/vendor/commerceguys/intl/resources/currency/mr.json
@@ -106,7 +106,7 @@
"name": "कोलंबियन पेसो"
},
"CRC": {
- "name": "कोस्टा रिका कोलोन"
+ "name": "कोस्टारिकन कोलोन"
},
"CUP": {
"name": "क्यूबन पेसो"
@@ -239,7 +239,7 @@
},
"XOF": {
"name": "पश्चिम आफ्रिकन [CFA] फ्रँक",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PKR": {
"name": "पाकिस्तानी रुपया"
diff --git a/vendor/commerceguys/intl/resources/currency/ms.json b/vendor/commerceguys/intl/resources/currency/ms.json
index e08b4e2b3..d4adc3f74 100644
--- a/vendor/commerceguys/intl/resources/currency/ms.json
+++ b/vendor/commerceguys/intl/resources/currency/ms.json
@@ -167,7 +167,7 @@
},
"XOF": {
"name": "Franc CFA BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Franc CFA BEAC",
diff --git a/vendor/commerceguys/intl/resources/currency/my.json b/vendor/commerceguys/intl/resources/currency/my.json
index 09c403d7f..5d6cf2e24 100644
--- a/vendor/commerceguys/intl/resources/currency/my.json
+++ b/vendor/commerceguys/intl/resources/currency/my.json
@@ -272,7 +272,7 @@
"name": "ဘဟားမား ဒေါ်လာ"
},
"BBD": {
- "name": "ဘာဘေးဒီယန်း ဒေါ်လာ"
+ "name": "ဘာဘေးဒိုးစ် ဒေါ်လာ"
},
"BMD": {
"name": "ဘာမြူဒါ ဒေါ်လာ"
@@ -407,7 +407,7 @@
},
"XOF": {
"name": "အနောက် အာဖရိက CFA ဖရန့်",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"USD": {
"name": "အမေရိကန် ဒေါ်လာ",
diff --git a/vendor/commerceguys/intl/resources/currency/nb.json b/vendor/commerceguys/intl/resources/currency/nb.json
index 2ee10b39f..bf461de2c 100644
--- a/vendor/commerceguys/intl/resources/currency/nb.json
+++ b/vendor/commerceguys/intl/resources/currency/nb.json
@@ -463,7 +463,7 @@
},
"XOF": {
"name": "vestafrikanske CFA-franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"VND": {
"name": "vietnamesiske dong"
diff --git a/vendor/commerceguys/intl/resources/currency/ne.json b/vendor/commerceguys/intl/resources/currency/ne.json
index 5e528a83b..4bda1ea35 100644
--- a/vendor/commerceguys/intl/resources/currency/ne.json
+++ b/vendor/commerceguys/intl/resources/currency/ne.json
@@ -437,7 +437,7 @@
},
"XOF": {
"name": "सीएफ्‌ए फ्रान्क बीसीइएओ",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "सीएफ्‌पी फ्रान्क",
diff --git a/vendor/commerceguys/intl/resources/currency/nl.json b/vendor/commerceguys/intl/resources/currency/nl.json
index ec4117a89..d68be3398 100644
--- a/vendor/commerceguys/intl/resources/currency/nl.json
+++ b/vendor/commerceguys/intl/resources/currency/nl.json
@@ -40,6 +40,9 @@
"BBD": {
"name": "Barbadaanse dollar"
},
+ "BYN": {
+ "name": "Belarussische roebel"
+ },
"BZD": {
"name": "Belizaanse dollar"
},
@@ -87,7 +90,7 @@
},
"XOF": {
"name": "CFA-franc BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA-frank",
@@ -470,9 +473,6 @@
"name": "Vietnamese dong",
"symbol": "₫"
},
- "BYN": {
- "name": "Wit-Russische roebel"
- },
"ZMW": {
"name": "Zambiaanse kwacha"
},
diff --git a/vendor/commerceguys/intl/resources/currency/nn.json b/vendor/commerceguys/intl/resources/currency/nn.json
index c80800fdf..9e90caf83 100644
--- a/vendor/commerceguys/intl/resources/currency/nn.json
+++ b/vendor/commerceguys/intl/resources/currency/nn.json
@@ -104,6 +104,9 @@
"ERN": {
"name": "eritreiske nakfa"
},
+ "SZL": {
+ "name": "eswatinisk lilangeni"
+ },
"ETB": {
"name": "etiopiske birr"
},
@@ -165,9 +168,6 @@
"ISK": {
"name": "islandske kroner"
},
- "ILS": {
- "name": "israelske nye sheklar"
- },
"JMD": {
"name": "jamaikanske dollar"
},
@@ -225,9 +225,6 @@
"KWD": {
"name": "kuwaitiske dinarar"
},
- "BYN": {
- "name": "kviterussiske rublar"
- },
"LAK": {
"name": "laotiske kip"
},
@@ -268,7 +265,7 @@
"name": "mauritanske ouguiya"
},
"MUR": {
- "name": "mauritanske rupiar"
+ "name": "mauritiske rupiar"
},
"MXN": {
"name": "meksikanske pesos"
@@ -307,6 +304,12 @@
"name": "norske kroner",
"symbol": "kr"
},
+ "ILS": {
+ "name": "nye israelske sheklar"
+ },
+ "BYN": {
+ "name": "nye kviterussiske rublar"
+ },
"TWD": {
"name": "nye taiwanske dollar"
},
@@ -397,9 +400,6 @@
"SEK": {
"name": "svenske kroner"
},
- "SZL": {
- "name": "swazilandske lilangeni"
- },
"SYP": {
"name": "syriske pund"
},
@@ -465,7 +465,7 @@
},
"XOF": {
"name": "vestafrikanske CFA-franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"VND": {
"name": "vietnamesiske dong"
@@ -474,6 +474,6 @@
"name": "zambiske kwacha"
},
"ZWL": {
- "name": "Zimbabwean Dollar (2009)"
+ "name": "zimbabwisk dollar (2009)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/no.json b/vendor/commerceguys/intl/resources/currency/no.json
new file mode 100644
index 000000000..bf461de2c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/no.json
@@ -0,0 +1,480 @@
+{
+ "AFN": {
+ "name": "afghanske afghani"
+ },
+ "ALL": {
+ "name": "albanske lek"
+ },
+ "DZD": {
+ "name": "algeriske dinarer"
+ },
+ "USD": {
+ "name": "amerikanske dollar"
+ },
+ "AOA": {
+ "name": "angolanske kwanza"
+ },
+ "ARS": {
+ "name": "argentinske pesos"
+ },
+ "AMD": {
+ "name": "armenske dram"
+ },
+ "AWG": {
+ "name": "arubiske floriner"
+ },
+ "AZN": {
+ "name": "aserbajdsjanske manat"
+ },
+ "AUD": {
+ "name": "australske dollar"
+ },
+ "BSD": {
+ "name": "bahamanske dollar"
+ },
+ "BHD": {
+ "name": "bahrainske dinarer"
+ },
+ "BDT": {
+ "name": "bangladeshiske taka"
+ },
+ "BBD": {
+ "name": "barbadiske dollar"
+ },
+ "BZD": {
+ "name": "beliziske dollar"
+ },
+ "BMD": {
+ "name": "bermudiske dollar"
+ },
+ "BTN": {
+ "name": "bhutanske ngultrum"
+ },
+ "BOB": {
+ "name": "bolivianske boliviano"
+ },
+ "BAM": {
+ "name": "bosnisk-hercegovinske konvertible mark"
+ },
+ "BWP": {
+ "name": "botswanske pula"
+ },
+ "BRL": {
+ "name": "brasilianske real"
+ },
+ "GBP": {
+ "name": "britiske pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiske dollar"
+ },
+ "BGN": {
+ "name": "bulgarske lev"
+ },
+ "BIF": {
+ "name": "burundiske franc"
+ },
+ "KYD": {
+ "name": "caymanske dollar"
+ },
+ "XPF": {
+ "name": "CFP-franc"
+ },
+ "CLP": {
+ "name": "chilenske pesos"
+ },
+ "COP": {
+ "name": "colombianske pesos"
+ },
+ "CRC": {
+ "name": "costaricanske colón"
+ },
+ "DKK": {
+ "name": "danske kroner"
+ },
+ "DJF": {
+ "name": "djiboutiske franc"
+ },
+ "DOP": {
+ "name": "dominikanske pesos"
+ },
+ "EGP": {
+ "name": "egyptiske pund"
+ },
+ "AED": {
+ "name": "emiratarabiske dirham"
+ },
+ "ERN": {
+ "name": "eritreiske nakfa"
+ },
+ "ETB": {
+ "name": "etiopiske birr"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandspund"
+ },
+ "FJD": {
+ "name": "fijianske dollar"
+ },
+ "PHP": {
+ "name": "filippinske pesos"
+ },
+ "GMD": {
+ "name": "gambiske dalasi"
+ },
+ "GEL": {
+ "name": "georgiske lari"
+ },
+ "GHS": {
+ "name": "ghanesiske cedi"
+ },
+ "GIP": {
+ "name": "gibraltarske pund"
+ },
+ "GTQ": {
+ "name": "guatemalanske quetzal"
+ },
+ "GNF": {
+ "name": "guineanske franc"
+ },
+ "GYD": {
+ "name": "guyanske dollar"
+ },
+ "HTG": {
+ "name": "haitiske gourde"
+ },
+ "HNL": {
+ "name": "honduranske lempira"
+ },
+ "HKD": {
+ "name": "Hongkong-dollar"
+ },
+ "INR": {
+ "name": "indiske rupier"
+ },
+ "IDR": {
+ "name": "indonesiske rupier"
+ },
+ "IQD": {
+ "name": "irakske dinarer"
+ },
+ "IRR": {
+ "name": "iranske rialer"
+ },
+ "ISK": {
+ "name": "islandske kroner"
+ },
+ "JMD": {
+ "name": "jamaikanske dollar"
+ },
+ "JPY": {
+ "name": "japanske yen"
+ },
+ "YER": {
+ "name": "jemenittiske rialer"
+ },
+ "JOD": {
+ "name": "jordanske dinarer"
+ },
+ "KHR": {
+ "name": "kambodsjanske riel"
+ },
+ "CAD": {
+ "name": "kanadiske dollar"
+ },
+ "CVE": {
+ "name": "kappverdiske escudos"
+ },
+ "KZT": {
+ "name": "kasakhstanske tenge"
+ },
+ "KES": {
+ "name": "kenyanske shilling"
+ },
+ "CNY": {
+ "name": "kinesiske yuan"
+ },
+ "KGS": {
+ "name": "kirgisiske som"
+ },
+ "KMF": {
+ "name": "komoriske franc"
+ },
+ "CDF": {
+ "name": "kongolesiske franc"
+ },
+ "HRK": {
+ "name": "kroatiske kuna"
+ },
+ "CUC": {
+ "name": "kubanske konvertible pesos"
+ },
+ "CUP": {
+ "name": "kubanske pesos"
+ },
+ "KWD": {
+ "name": "kuwaitiske dinarer"
+ },
+ "LAK": {
+ "name": "laotiske kip"
+ },
+ "LSL": {
+ "name": "lesothiske loti"
+ },
+ "LBP": {
+ "name": "libanesiske pund"
+ },
+ "LRD": {
+ "name": "liberiske dollar"
+ },
+ "LYD": {
+ "name": "libyske dinarer"
+ },
+ "MGA": {
+ "name": "madagassiske ariary"
+ },
+ "MOP": {
+ "name": "makaoiske pataca"
+ },
+ "MKD": {
+ "name": "makedonske denarer"
+ },
+ "MWK": {
+ "name": "malawiske kwacha"
+ },
+ "MYR": {
+ "name": "malaysiske ringgit"
+ },
+ "MVR": {
+ "name": "maldiviske rufiyaa"
+ },
+ "MAD": {
+ "name": "marokkanske dirham"
+ },
+ "MRU": {
+ "name": "mauritanske ouguiya"
+ },
+ "MUR": {
+ "name": "mauritiske rupier"
+ },
+ "MXN": {
+ "name": "meksikanske pesos"
+ },
+ "MDL": {
+ "name": "moldovske leu"
+ },
+ "MNT": {
+ "name": "mongolske tugrik"
+ },
+ "MZN": {
+ "name": "mosambikiske metical"
+ },
+ "MMK": {
+ "name": "myanmarske kyat"
+ },
+ "NAD": {
+ "name": "namibiske dollar"
+ },
+ "ANG": {
+ "name": "nederlandske antillegylden"
+ },
+ "NPR": {
+ "name": "nepalske rupier"
+ },
+ "NZD": {
+ "name": "newzealandske dollar"
+ },
+ "NIO": {
+ "name": "nicaraguanske córdoba"
+ },
+ "NGN": {
+ "name": "nigerianske naira"
+ },
+ "KPW": {
+ "name": "nordkoreanske won"
+ },
+ "NOK": {
+ "name": "norske kroner",
+ "symbol": "kr"
+ },
+ "BYN": {
+ "name": "nye hviterussiske rubler"
+ },
+ "ILS": {
+ "name": "nye israelske shekler"
+ },
+ "TWD": {
+ "name": "nye taiwanske dollar"
+ },
+ "OMR": {
+ "name": "omanske rialer"
+ },
+ "PKR": {
+ "name": "pakistanske rupier"
+ },
+ "PAB": {
+ "name": "panamanske balboa"
+ },
+ "PGK": {
+ "name": "papuanske kina"
+ },
+ "PYG": {
+ "name": "paraguayanske guarani"
+ },
+ "PEN": {
+ "name": "peruanske sol"
+ },
+ "PLN": {
+ "name": "polske zloty"
+ },
+ "QAR": {
+ "name": "qatarske rialer"
+ },
+ "RON": {
+ "name": "rumenske leu"
+ },
+ "RUB": {
+ "name": "russiske rubler"
+ },
+ "RWF": {
+ "name": "rwandiske franc"
+ },
+ "SBD": {
+ "name": "salomonske dollar"
+ },
+ "SVC": {
+ "name": "salvadoranske colon"
+ },
+ "WST": {
+ "name": "samoanske tala"
+ },
+ "SHP": {
+ "name": "sankthelenske pund"
+ },
+ "STN": {
+ "name": "saotomesiske dobra"
+ },
+ "SAR": {
+ "name": "saudiarabiske riyaler"
+ },
+ "XAF": {
+ "name": "sentralafrikanske CFA-franc"
+ },
+ "RSD": {
+ "name": "serbiske dinarer"
+ },
+ "SCR": {
+ "name": "seychelliske rupier"
+ },
+ "SLL": {
+ "name": "sierraleonske leone"
+ },
+ "SGD": {
+ "name": "singaporske dollar"
+ },
+ "SOS": {
+ "name": "somaliske shilling"
+ },
+ "LKR": {
+ "name": "srilankiske rupier"
+ },
+ "SDG": {
+ "name": "sudanske pund"
+ },
+ "SRD": {
+ "name": "surinamske dollar"
+ },
+ "CHF": {
+ "name": "sveitsiske franc"
+ },
+ "SEK": {
+ "name": "svenske kroner"
+ },
+ "SZL": {
+ "name": "swazilandske lilangeni"
+ },
+ "SYP": {
+ "name": "syriske pund"
+ },
+ "ZAR": {
+ "name": "sørafrikanske rand"
+ },
+ "KRW": {
+ "name": "sørkoreanske won"
+ },
+ "SSP": {
+ "name": "sørsudanske pund"
+ },
+ "TJS": {
+ "name": "tadsjikiske somoni"
+ },
+ "TZS": {
+ "name": "tanzanianske shilling"
+ },
+ "THB": {
+ "name": "thailandske baht"
+ },
+ "TOP": {
+ "name": "tonganske paʻanga"
+ },
+ "TTD": {
+ "name": "trinidadiske dollar"
+ },
+ "CZK": {
+ "name": "tsjekkiske koruna"
+ },
+ "TND": {
+ "name": "tunisiske dinarer"
+ },
+ "TMT": {
+ "name": "turkmenske manat"
+ },
+ "TRY": {
+ "name": "tyrkiske lire"
+ },
+ "UGX": {
+ "name": "ugandiske shilling"
+ },
+ "UAH": {
+ "name": "ukrainske hryvnia"
+ },
+ "HUF": {
+ "name": "ungarske forinter"
+ },
+ "UYW": {
+ "name": "Uruguayan Nominal Wage Index Unit"
+ },
+ "UYU": {
+ "name": "uruguayanske pesos"
+ },
+ "UZS": {
+ "name": "usbekiske som"
+ },
+ "VUV": {
+ "name": "vanuatiske vatu"
+ },
+ "VES": {
+ "name": "venezuelanske bolivar"
+ },
+ "XOF": {
+ "name": "vestafrikanske CFA-franc",
+ "symbol": "F CFA"
+ },
+ "VND": {
+ "name": "vietnamesiske dong"
+ },
+ "ZMW": {
+ "name": "zambiske kwacha"
+ },
+ "ZWL": {
+ "name": "zimbabwisk dollar (2009)"
+ },
+ "XCD": {
+ "name": "østkaribiske dollar"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pa.json b/vendor/commerceguys/intl/resources/currency/pa.json
index 6f58520fe..dd1219c44 100644
--- a/vendor/commerceguys/intl/resources/currency/pa.json
+++ b/vendor/commerceguys/intl/resources/currency/pa.json
@@ -297,7 +297,7 @@
},
"XOF": {
"name": "ਪੱਛਮੀ ਅਫ਼ਰੀਕੀ (CFA) ਫ੍ਰੈਂਕ",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PAB": {
"name": "ਪਨਾਮੇਨੀਅਨ ਬਾਲਬੋਆ"
diff --git a/vendor/commerceguys/intl/resources/currency/pl.json b/vendor/commerceguys/intl/resources/currency/pl.json
index 7114ec8ad..82cf3282d 100644
--- a/vendor/commerceguys/intl/resources/currency/pl.json
+++ b/vendor/commerceguys/intl/resources/currency/pl.json
@@ -81,7 +81,7 @@
"name": "dolar bahamski"
},
"BBD": {
- "name": "dolar Barbadosu"
+ "name": "dolar barbadoski"
},
"BZD": {
"name": "dolar belizeński"
@@ -126,7 +126,7 @@
"name": "dolar surinamski"
},
"TTD": {
- "name": "dolar Trynidadu i Tobago"
+ "name": "dolar trynidadzki"
},
"XCD": {
"name": "dolar wschodniokaraibski",
@@ -162,7 +162,7 @@
},
"XOF": {
"name": "frank CFA",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "frank CFA BEAC",
diff --git a/vendor/commerceguys/intl/resources/currency/ps.json b/vendor/commerceguys/intl/resources/currency/ps.json
index 52bc3b3c8..1319a7fe9 100644
--- a/vendor/commerceguys/intl/resources/currency/ps.json
+++ b/vendor/commerceguys/intl/resources/currency/ps.json
@@ -146,6 +146,9 @@
"THB": {
"name": "تهايي بات"
},
+ "TND": {
+ "name": "تيونسې دينار"
+ },
"TTD": {
"name": "ټرينيډاډ او ټوباګو ډالر"
},
@@ -168,6 +171,9 @@
"JMD": {
"name": "جمايکايي ډالر"
},
+ "SSP": {
+ "name": "جنوب سوډاني پونډ"
+ },
"ZAR": {
"name": "جنوبي افريقاېي رنډ"
},
@@ -187,7 +193,7 @@
},
"XOF": {
"name": "ختيځ افريقايي CFA فرانک",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XCD": {
"name": "ختيځ کربين ډالر",
@@ -275,7 +281,8 @@
"name": "فجي ډالر"
},
"PHP": {
- "name": "فلپاينۍ پسو"
+ "name": "فلپاينۍ پسو",
+ "symbol": "₱"
},
"KZT": {
"name": "قازقستاني ټينج"
@@ -375,6 +382,9 @@
"EGP": {
"name": "مصري پونډ"
},
+ "MOP": {
+ "name": "مکانيس پټاکا"
+ },
"MGA": {
"name": "ملاګاسي ارياري"
},
@@ -476,18 +486,9 @@
"LSL": {
"name": "Lesotho Loti"
},
- "MOP": {
- "name": "Macanese Pataca"
- },
"SVC": {
"name": "Salvadoran Colón"
},
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "TND": {
- "name": "Tunisian Dinar"
- },
"UYW": {
"name": "Uruguayan Nominal Wage Index Unit"
},
diff --git a/vendor/commerceguys/intl/resources/currency/pt-PT.json b/vendor/commerceguys/intl/resources/currency/pt-PT.json
index 959351a46..2653c035b 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-PT.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-PT.json
@@ -187,7 +187,7 @@
},
"XOF": {
"name": "franco CFA (BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "franco CFA (BEAC)",
diff --git a/vendor/commerceguys/intl/resources/currency/pt.json b/vendor/commerceguys/intl/resources/currency/pt.json
index 6d888b9b2..5c90a205d 100644
--- a/vendor/commerceguys/intl/resources/currency/pt.json
+++ b/vendor/commerceguys/intl/resources/currency/pt.json
@@ -187,7 +187,7 @@
},
"XOF": {
"name": "Franco CFA de BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Franco CFA de BEAC",
@@ -343,7 +343,7 @@
"name": "Paʻanga tonganesa"
},
"MOP": {
- "name": "Pataca de Macau"
+ "name": "Pataca macaense"
},
"ARS": {
"name": "Peso argentino"
@@ -380,7 +380,7 @@
"name": "Quetzal guatemalteco"
},
"MMK": {
- "name": "Quiat de Myanmar"
+ "name": "Quiate mianmarense"
},
"ZAR": {
"name": "Rand sul-africano"
@@ -417,7 +417,7 @@
"name": "Rublo russo"
},
"LKR": {
- "name": "Rupia do Sri Lanka"
+ "name": "Rupia cingalesa"
},
"INR": {
"name": "Rupia indiana",
diff --git a/vendor/commerceguys/intl/resources/currency/rn.json b/vendor/commerceguys/intl/resources/currency/rn.json
index 4ad691033..fdc0ac52a 100644
--- a/vendor/commerceguys/intl/resources/currency/rn.json
+++ b/vendor/commerceguys/intl/resources/currency/rn.json
@@ -393,7 +393,8 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Piso",
+ "symbol": "₱"
},
"PLN": {
"name": "Polish Zloty"
@@ -486,7 +487,7 @@
},
"XOF": {
"name": "West African CFA Franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"YER": {
"name": "Yemeni Rial"
diff --git a/vendor/commerceguys/intl/resources/currency/ro.json b/vendor/commerceguys/intl/resources/currency/ro.json
index dc28a2712..bdc7db864 100644
--- a/vendor/commerceguys/intl/resources/currency/ro.json
+++ b/vendor/commerceguys/intl/resources/currency/ro.json
@@ -15,22 +15,22 @@
"name": "birr etiopian"
},
"VES": {
- "name": "bolivar venezuelean"
+ "name": "bolívar soberano"
},
"BOB": {
- "name": "boliviano bolivian"
+ "name": "boliviano"
},
"GHS": {
"name": "cedi ghanez"
},
"CRC": {
- "name": "colon costarican"
+ "name": "colón costarican"
},
"SVC": {
"name": "colon El Salvador"
},
"NIO": {
- "name": "cordoba nicaraguană"
+ "name": "córdoba oro"
},
"CZK": {
"name": "coroană cehă"
@@ -50,6 +50,9 @@
"GMD": {
"name": "dalasi din Gambia"
},
+ "MKD": {
+ "name": "denar"
+ },
"DZD": {
"name": "dinar algerian"
},
@@ -68,9 +71,6 @@
"LYD": {
"name": "dinar libian"
},
- "MKD": {
- "name": "dinar macedonean"
- },
"RSD": {
"name": "dinar sârbesc"
},
@@ -110,9 +110,6 @@
"BND": {
"name": "dolar din Brunei"
},
- "XCD": {
- "name": "dolar din Caraibele de Est"
- },
"HKD": {
"name": "dolar din Hong Kong"
},
@@ -123,7 +120,10 @@
"name": "dolar din Insulele Solomon"
},
"TTD": {
- "name": "dolar din Trinidad-Tobago"
+ "name": "dolar din Trinidad și Tobago"
+ },
+ "XCD": {
+ "name": "dolar est-caraib"
},
"FJD": {
"name": "dolar fijian"
@@ -171,14 +171,14 @@
"name": "florin aruban"
},
"HUF": {
- "name": "forint maghiar"
+ "name": "forint"
},
"BIF": {
"name": "franc burundez"
},
"XOF": {
"name": "franc CFA BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "franc CFA BEAC",
@@ -209,14 +209,14 @@
"HTG": {
"name": "gourde din Haiti"
},
+ "UAH": {
+ "name": "grivnă"
+ },
"PYG": {
- "name": "guarani paraguayan"
+ "name": "guarani"
},
"ANG": {
- "name": "gulden din Antilele Olandeze"
- },
- "UAH": {
- "name": "hryvna ucraineană"
+ "name": "gulden neerlandez antilez"
},
"PGK": {
"name": "kina din Papua-Noua Guinee"
@@ -225,7 +225,7 @@
"name": "kip laoțian"
},
"HRK": {
- "name": "kuna croată"
+ "name": "kuna"
},
"MWK": {
"name": "kwacha malawiană"
@@ -243,7 +243,7 @@
"name": "lari georgian"
},
"ALL": {
- "name": "leka albaneză"
+ "name": "lek"
},
"HNL": {
"name": "lempira honduriană"
@@ -258,7 +258,7 @@
"name": "leu românesc"
},
"BGN": {
- "name": "leva bulgărească"
+ "name": "leva"
},
"SZL": {
"name": "lilangeni din Swaziland"
@@ -303,7 +303,7 @@
"name": "manat turkmen"
},
"BAM": {
- "name": "marcă convertibilă din Bosnia și Herțegovina"
+ "name": "marcă convertibilă"
},
"MZN": {
"name": "metical mozambican"
@@ -363,7 +363,7 @@
"name": "rand sud-african"
},
"BRL": {
- "name": "real brazilian"
+ "name": "real"
},
"IRR": {
"name": "rial iranian"
@@ -417,7 +417,7 @@
"name": "rupie srilankeză"
},
"PEN": {
- "name": "sol peruvian"
+ "name": "sol"
},
"KGS": {
"name": "som kârgâz"
@@ -474,6 +474,6 @@
"name": "yuan chinezesc"
},
"PLN": {
- "name": "zlot polonez"
+ "name": "zlot"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ru.json b/vendor/commerceguys/intl/resources/currency/ru.json
index 76ddd20ac..10f4caac7 100644
--- a/vendor/commerceguys/intl/resources/currency/ru.json
+++ b/vendor/commerceguys/intl/resources/currency/ru.json
@@ -431,7 +431,7 @@
},
"XOF": {
"name": "франк КФА ВСЕАО",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "франк КФА BEAC",
diff --git a/vendor/commerceguys/intl/resources/currency/sd.json b/vendor/commerceguys/intl/resources/currency/sd.json
index 27a73929b..2c4fd3473 100644
--- a/vendor/commerceguys/intl/resources/currency/sd.json
+++ b/vendor/commerceguys/intl/resources/currency/sd.json
@@ -76,7 +76,7 @@
},
"XOF": {
"name": "اولهه آفريڪا فرينڪ",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"ETB": {
"name": "ايٿوپيائي بر"
diff --git a/vendor/commerceguys/intl/resources/currency/sk.json b/vendor/commerceguys/intl/resources/currency/sk.json
index 26ebab8ae..9853daeec 100644
--- a/vendor/commerceguys/intl/resources/currency/sk.json
+++ b/vendor/commerceguys/intl/resources/currency/sk.json
@@ -475,7 +475,7 @@
},
"XOF": {
"name": "západoafrický frank",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"ZWL": {
"name": "zimbabwiansky dolár (2009)"
diff --git a/vendor/commerceguys/intl/resources/currency/sl.json b/vendor/commerceguys/intl/resources/currency/sl.json
index f26d7687b..3dda208d9 100644
--- a/vendor/commerceguys/intl/resources/currency/sl.json
+++ b/vendor/commerceguys/intl/resources/currency/sl.json
@@ -244,7 +244,7 @@
"name": "komorski frank"
},
"CDF": {
- "name": "kongoški frank"
+ "name": "kongovski frank"
},
"CRC": {
"name": "kostariški kolon"
@@ -474,7 +474,7 @@
},
"XOF": {
"name": "zahodnoafriški frank CFA",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"ZMW": {
"name": "zambijska kvača"
diff --git a/vendor/commerceguys/intl/resources/currency/so.json b/vendor/commerceguys/intl/resources/currency/so.json
index 24e0d46ef..155a20422 100644
--- a/vendor/commerceguys/intl/resources/currency/so.json
+++ b/vendor/commerceguys/intl/resources/currency/so.json
@@ -46,7 +46,8 @@
"name": "Birta Itoobbiya"
},
"PHP": {
- "name": "Biso Filibin"
+ "name": "Biso Filibin",
+ "symbol": "₱"
},
"VES": {
"name": "Bolifarada Fenesuwela"
@@ -220,7 +221,7 @@
},
"XOF": {
"name": "Faranka CFA Galbeedka Afrika",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "Faranka CFP",
diff --git a/vendor/commerceguys/intl/resources/currency/sq.json b/vendor/commerceguys/intl/resources/currency/sq.json
index 4f2a13838..78375fb54 100644
--- a/vendor/commerceguys/intl/resources/currency/sq.json
+++ b/vendor/commerceguys/intl/resources/currency/sq.json
@@ -158,7 +158,7 @@
},
"XOF": {
"name": "Franga e Bregut të Fildishtë",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XPF": {
"name": "Franga franceze e Polinezisë",
diff --git a/vendor/commerceguys/intl/resources/currency/sr-Cyrl-BA.json b/vendor/commerceguys/intl/resources/currency/sr-Cyrl-BA.json
new file mode 100644
index 000000000..2ce408333
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sr-Cyrl-BA.json
@@ -0,0 +1,493 @@
+{
+ "AFN": {
+ "name": "Авганистански авгани"
+ },
+ "AZN": {
+ "name": "Азербејџански манат"
+ },
+ "ALL": {
+ "name": "Албански лек"
+ },
+ "DZD": {
+ "name": "Алжирски динар"
+ },
+ "USD": {
+ "name": "Амерички долар",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Анголска кванза"
+ },
+ "ARS": {
+ "name": "Аргентински пезос"
+ },
+ "AWG": {
+ "name": "Арубански флорин"
+ },
+ "AUD": {
+ "name": "Аустралијски долар"
+ },
+ "BDT": {
+ "name": "Бангладешка така"
+ },
+ "BBD": {
+ "name": "Барбадошки долар"
+ },
+ "BSD": {
+ "name": "Бахамски долар"
+ },
+ "BHD": {
+ "name": "Бахреински динар"
+ },
+ "BZD": {
+ "name": "Белиски долар"
+ },
+ "BMD": {
+ "name": "Бермудски долар"
+ },
+ "BYN": {
+ "name": "Бјелоруска рубља"
+ },
+ "BOB": {
+ "name": "Боливијски боливијано"
+ },
+ "BAM": {
+ "name": "Босанскохерцеговачка конвертибилна марка",
+ "symbol": "КМ"
+ },
+ "BWP": {
+ "name": "Боцванска пула"
+ },
+ "BRL": {
+ "name": "Бразилски реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Британска фунта",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Брунејски долар"
+ },
+ "BGN": {
+ "name": "Бугарски лев"
+ },
+ "BIF": {
+ "name": "Бурундски франак"
+ },
+ "BTN": {
+ "name": "Бутански нгултрум"
+ },
+ "VUV": {
+ "name": "Вануатски вату"
+ },
+ "VES": {
+ "name": "Венецуелански боливар"
+ },
+ "VND": {
+ "name": "Вијетнамски донг"
+ },
+ "GMD": {
+ "name": "Гамбијски даласи"
+ },
+ "GHS": {
+ "name": "Гански седи"
+ },
+ "GYD": {
+ "name": "Гвајански долар"
+ },
+ "GTQ": {
+ "name": "Гватемалски кецал"
+ },
+ "GNF": {
+ "name": "Гвинејски франак"
+ },
+ "GIP": {
+ "name": "Гибралтарска фунта"
+ },
+ "GEL": {
+ "name": "Грузијски лари"
+ },
+ "DKK": {
+ "name": "Данска круна"
+ },
+ "DOP": {
+ "name": "Доминикански пезос"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "Египатска фунта"
+ },
+ "ETB": {
+ "name": "Етиопски бир"
+ },
+ "ZMW": {
+ "name": "Замбијска квача"
+ },
+ "CVE": {
+ "name": "Зеленортски ескудо"
+ },
+ "ZWL": {
+ "name": "Зимбабвеански долар (2009)"
+ },
+ "ILS": {
+ "name": "Израелски нови шекел",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Индијска рупија",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Индонежанска рупија"
+ },
+ "IRR": {
+ "name": "Ирански риjал"
+ },
+ "IQD": {
+ "name": "Ирачки динар"
+ },
+ "ISK": {
+ "name": "Исландска круна"
+ },
+ "XCD": {
+ "name": "Источнокарипски долар",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "Јамајчански долар"
+ },
+ "JPY": {
+ "name": "Јапански јен",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Јеменски риjал"
+ },
+ "AMD": {
+ "name": "Јерменски драм"
+ },
+ "JOD": {
+ "name": "Јордански динар"
+ },
+ "ZAR": {
+ "name": "Јужноафрички ранд"
+ },
+ "KRW": {
+ "name": "Јужнокорејски вон"
+ },
+ "SSP": {
+ "name": "Јужносуданска фунта"
+ },
+ "KZT": {
+ "name": "Казахстански тенге"
+ },
+ "KYD": {
+ "name": "Кајмански долар"
+ },
+ "CAD": {
+ "name": "Канадски долар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Катарски ријал"
+ },
+ "KES": {
+ "name": "Кенијски шилинг"
+ },
+ "CNY": {
+ "name": "Кинески јуан",
+ "symbol": "CN¥"
+ },
+ "KGS": {
+ "name": "Киргистански сом"
+ },
+ "COP": {
+ "name": "Колумбијски пезос"
+ },
+ "KMF": {
+ "name": "Коморски франак"
+ },
+ "CDF": {
+ "name": "Конгоански франак"
+ },
+ "CRC": {
+ "name": "Костарикански колон"
+ },
+ "CUC": {
+ "name": "Кубански конвертибилни пезос"
+ },
+ "CUP": {
+ "name": "Кубански пезос"
+ },
+ "KWD": {
+ "name": "Кувајтски динар"
+ },
+ "LAK": {
+ "name": "Лаошки кип"
+ },
+ "LSL": {
+ "name": "Лесото лоти"
+ },
+ "LBP": {
+ "name": "Либанска фунта"
+ },
+ "LRD": {
+ "name": "Либеријски долар"
+ },
+ "LYD": {
+ "name": "Либијски динар"
+ },
+ "MGA": {
+ "name": "Мадагаскарски ариари"
+ },
+ "HUF": {
+ "name": "Мађарска форинта"
+ },
+ "MOP": {
+ "name": "Макаоска патака"
+ },
+ "MKD": {
+ "name": "Македонски денар"
+ },
+ "MWK": {
+ "name": "Малавијска квача"
+ },
+ "MVR": {
+ "name": "Малдивска руфија"
+ },
+ "MYR": {
+ "name": "Малезијски рингит"
+ },
+ "MAD": {
+ "name": "Марокански дирхам"
+ },
+ "MRU": {
+ "name": "Мауританска огија"
+ },
+ "MUR": {
+ "name": "Маурицијска рупија"
+ },
+ "MXN": {
+ "name": "Мексички пезос",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Мјанмарски кјат"
+ },
+ "MZN": {
+ "name": "Мозамбички метикал"
+ },
+ "MDL": {
+ "name": "Молдавски леј"
+ },
+ "MNT": {
+ "name": "Монголски тугрик"
+ },
+ "NAD": {
+ "name": "Намибијски долар"
+ },
+ "NPR": {
+ "name": "Непалскa рупиja"
+ },
+ "NGN": {
+ "name": "Нигеријска наира"
+ },
+ "NIO": {
+ "name": "Никарагванска златна кордоба"
+ },
+ "TWD": {
+ "name": "Нови тајвански долар",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Новозеландски долар"
+ },
+ "NOK": {
+ "name": "Норвешка круна"
+ },
+ "OMR": {
+ "name": "Омански ријал"
+ },
+ "PKR": {
+ "name": "Пакистанскa рупиja"
+ },
+ "PAB": {
+ "name": "Панамска балбоа"
+ },
+ "PGK": {
+ "name": "Папуанска кина"
+ },
+ "PYG": {
+ "name": "Парагвајски гварани"
+ },
+ "PEN": {
+ "name": "Перуански сол"
+ },
+ "PLN": {
+ "name": "Пољски злот"
+ },
+ "RWF": {
+ "name": "Руандски франак"
+ },
+ "RON": {
+ "name": "Румунски леј"
+ },
+ "RUB": {
+ "name": "Руска рубља"
+ },
+ "SVC": {
+ "name": "Салвадорски колон"
+ },
+ "WST": {
+ "name": "Самоанска тала"
+ },
+ "STN": {
+ "name": "Саотомска добра"
+ },
+ "SAR": {
+ "name": "Саудијски ријал"
+ },
+ "SZL": {
+ "name": "Свазилендски лилангени"
+ },
+ "SHP": {
+ "name": "Свете Јелене фунта"
+ },
+ "SCR": {
+ "name": "Сејшелска рупија"
+ },
+ "SLL": {
+ "name": "Сијералеонски леоне"
+ },
+ "SGD": {
+ "name": "Сингапурски долар"
+ },
+ "SYP": {
+ "name": "Сиријска фунта"
+ },
+ "KPW": {
+ "name": "Сјевернокорејски вон"
+ },
+ "SBD": {
+ "name": "Соломонски долар"
+ },
+ "SOS": {
+ "name": "Сомалијски шилинг"
+ },
+ "RSD": {
+ "name": "Српски динар"
+ },
+ "SDG": {
+ "name": "Суданска фунта"
+ },
+ "SRD": {
+ "name": "Суринамски долар"
+ },
+ "THB": {
+ "name": "Тајландски бат"
+ },
+ "TZS": {
+ "name": "Танзанијски шилинг"
+ },
+ "TJS": {
+ "name": "Таџикистански сомон"
+ },
+ "TOP": {
+ "name": "Тонганска панга"
+ },
+ "TTD": {
+ "name": "Тринидад-тобагошки долар"
+ },
+ "TND": {
+ "name": "Туниски динар"
+ },
+ "TMT": {
+ "name": "Туркменистански манат"
+ },
+ "TRY": {
+ "name": "Турска лира"
+ },
+ "AED": {
+ "name": "УАЕ дирхам"
+ },
+ "UGX": {
+ "name": "Угандски шилинг"
+ },
+ "UZS": {
+ "name": "Узбекистански сом"
+ },
+ "UAH": {
+ "name": "Украјинска хривња"
+ },
+ "UYU": {
+ "name": "Уругвајски пезос"
+ },
+ "PHP": {
+ "name": "Филипински пезос"
+ },
+ "FJD": {
+ "name": "Фиџијски долар"
+ },
+ "FKP": {
+ "name": "Фокландска фунта"
+ },
+ "HTG": {
+ "name": "Хаићански гурд"
+ },
+ "ANG": {
+ "name": "Холандскоантилски гулден"
+ },
+ "HKD": {
+ "name": "Хонгконшки долар",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "Хондурашка лемпира"
+ },
+ "HRK": {
+ "name": "Хрватска куна"
+ },
+ "XOF": {
+ "name": "ЦФА франак БЦЕАО",
+ "symbol": "F CFA"
+ },
+ "CZK": {
+ "name": "Чешка круна"
+ },
+ "CLP": {
+ "name": "Чилеански пезос"
+ },
+ "DJF": {
+ "name": "Џибутски франак"
+ },
+ "CHF": {
+ "name": "Швајцарски франак"
+ },
+ "SEK": {
+ "name": "Шведска круна"
+ },
+ "LKR": {
+ "name": "Шриланканскa рупиja"
+ },
+ "XAF": {
+ "name": "CFA франак BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP франак",
+ "symbol": "CFPF"
+ },
+ "ERN": {
+ "name": "Eритрејска накфa"
+ },
+ "KHR": {
+ "name": "Kамбоџански ријел"
+ },
+ "UYW": {
+ "name": "Uruguayan Nominal Wage Index Unit"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sr-Latn-BA.json b/vendor/commerceguys/intl/resources/currency/sr-Latn-BA.json
new file mode 100644
index 000000000..ba9360d9e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sr-Latn-BA.json
@@ -0,0 +1,493 @@
+{
+ "ALL": {
+ "name": "Albanski lek"
+ },
+ "DZD": {
+ "name": "Alžirski dinar"
+ },
+ "USD": {
+ "name": "Američki dolar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolska kvanza"
+ },
+ "ARS": {
+ "name": "Argentinski pezos"
+ },
+ "AWG": {
+ "name": "Arubanski florin"
+ },
+ "AUD": {
+ "name": "Australijski dolar"
+ },
+ "AFN": {
+ "name": "Avganistanski avgani"
+ },
+ "AZN": {
+ "name": "Azerbejdžanski manat"
+ },
+ "BSD": {
+ "name": "Bahamski dolar"
+ },
+ "BHD": {
+ "name": "Bahreinski dinar"
+ },
+ "BDT": {
+ "name": "Bangladeška taka"
+ },
+ "BBD": {
+ "name": "Barbadoški dolar"
+ },
+ "BZD": {
+ "name": "Beliski dolar"
+ },
+ "BMD": {
+ "name": "Bermudski dolar"
+ },
+ "BYN": {
+ "name": "Bjeloruska rublja"
+ },
+ "BWP": {
+ "name": "Bocvanska pula"
+ },
+ "BOB": {
+ "name": "Bolivijski bolivijano"
+ },
+ "BAM": {
+ "name": "Bosanskohercegovačka konvertibilna marka",
+ "symbol": "KM"
+ },
+ "BRL": {
+ "name": "Brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britanska funta",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunejski dolar"
+ },
+ "BGN": {
+ "name": "Bugarski lev"
+ },
+ "BIF": {
+ "name": "Burundski franak"
+ },
+ "BTN": {
+ "name": "Butanski ngultrum"
+ },
+ "XOF": {
+ "name": "CFA franak BCEAO",
+ "symbol": "F CFA"
+ },
+ "XAF": {
+ "name": "CFA franak BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franak",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Češka kruna"
+ },
+ "CLP": {
+ "name": "Čileanski pezos"
+ },
+ "DKK": {
+ "name": "Danska kruna"
+ },
+ "DOP": {
+ "name": "Dominikanski pezos"
+ },
+ "DJF": {
+ "name": "Džibutski franak"
+ },
+ "EGP": {
+ "name": "Egipatska funta"
+ },
+ "ERN": {
+ "name": "Eritrejska nakfa"
+ },
+ "ETB": {
+ "name": "Etiopski bir"
+ },
+ "EUR": {
+ "name": "Evro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fidžijski dolar"
+ },
+ "PHP": {
+ "name": "Filipinski pezos"
+ },
+ "FKP": {
+ "name": "Foklandska funta"
+ },
+ "GMD": {
+ "name": "Gambijski dalasi"
+ },
+ "GHS": {
+ "name": "Ganski sedi"
+ },
+ "GIP": {
+ "name": "Gibraltarska funta"
+ },
+ "GEL": {
+ "name": "Gruzijski lari"
+ },
+ "GYD": {
+ "name": "Gvajanski dolar"
+ },
+ "GTQ": {
+ "name": "Gvatemalski kecal"
+ },
+ "GNF": {
+ "name": "Gvinejski franak"
+ },
+ "HTG": {
+ "name": "Haićanski gurd"
+ },
+ "ANG": {
+ "name": "Holandskoantilski gulden"
+ },
+ "HNL": {
+ "name": "Honduraška lempira"
+ },
+ "HKD": {
+ "name": "Hongkonški dolar",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Hrvatska kuna"
+ },
+ "INR": {
+ "name": "Indijska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonežanska rupija"
+ },
+ "IQD": {
+ "name": "Irački dinar"
+ },
+ "IRR": {
+ "name": "Iranski rijal"
+ },
+ "ISK": {
+ "name": "Islandska kruna"
+ },
+ "XCD": {
+ "name": "Istočnokaripski dolar",
+ "symbol": "EC$"
+ },
+ "ILS": {
+ "name": "Izraelski novi šekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamajčanski dolar"
+ },
+ "JPY": {
+ "name": "Japanski jen",
+ "symbol": "¥"
+ },
+ "YER": {
+ "name": "Jemenski rijal"
+ },
+ "AMD": {
+ "name": "Jermenski dram"
+ },
+ "JOD": {
+ "name": "Jordanski dinar"
+ },
+ "ZAR": {
+ "name": "Južnoafrički rand"
+ },
+ "KRW": {
+ "name": "Južnokorejski von"
+ },
+ "SSP": {
+ "name": "Južnosudanska funta"
+ },
+ "KYD": {
+ "name": "Kajmanski dolar"
+ },
+ "KHR": {
+ "name": "Kambodžanski rijel"
+ },
+ "CAD": {
+ "name": "Kanadski dolar",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katarski rijal"
+ },
+ "KZT": {
+ "name": "Kazahstanski tenge"
+ },
+ "KES": {
+ "name": "Kenijski šiling"
+ },
+ "CNY": {
+ "name": "Kineski juan",
+ "symbol": "CN¥"
+ },
+ "KGS": {
+ "name": "Kirgistanski som"
+ },
+ "COP": {
+ "name": "Kolumbijski pezos"
+ },
+ "KMF": {
+ "name": "Komorski franak"
+ },
+ "CDF": {
+ "name": "Kongoanski franak"
+ },
+ "CRC": {
+ "name": "Kostarikanski kolon"
+ },
+ "CUC": {
+ "name": "Kubanski konvertibilni pezos"
+ },
+ "CUP": {
+ "name": "Kubanski pezos"
+ },
+ "KWD": {
+ "name": "Kuvajtski dinar"
+ },
+ "LAK": {
+ "name": "Laoški kip"
+ },
+ "LSL": {
+ "name": "Lesoto loti"
+ },
+ "LBP": {
+ "name": "Libanska funta"
+ },
+ "LRD": {
+ "name": "Liberijski dolar"
+ },
+ "LYD": {
+ "name": "Libijski dinar"
+ },
+ "MGA": {
+ "name": "Madagaskarski ariari"
+ },
+ "HUF": {
+ "name": "Mađarska forinta"
+ },
+ "MOP": {
+ "name": "Makaoska pataka"
+ },
+ "MKD": {
+ "name": "Makedonski denar"
+ },
+ "MWK": {
+ "name": "Malavijska kvača"
+ },
+ "MVR": {
+ "name": "Maldivska rufija"
+ },
+ "MYR": {
+ "name": "Malezijski ringit"
+ },
+ "MAD": {
+ "name": "Marokanski dirham"
+ },
+ "MUR": {
+ "name": "Mauricijska rupija"
+ },
+ "MRU": {
+ "name": "Mauritanska ogija"
+ },
+ "MXN": {
+ "name": "Meksički pezos",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Mjanmarski kjat"
+ },
+ "MDL": {
+ "name": "Moldavski lej"
+ },
+ "MNT": {
+ "name": "Mongolski tugrik"
+ },
+ "MZN": {
+ "name": "Mozambički metikal"
+ },
+ "NAD": {
+ "name": "Namibijski dolar"
+ },
+ "NPR": {
+ "name": "Nepalska rupija"
+ },
+ "NGN": {
+ "name": "Nigerijska naira"
+ },
+ "NIO": {
+ "name": "Nikaragvanska zlatna kordoba"
+ },
+ "NOK": {
+ "name": "Norveška kruna"
+ },
+ "TWD": {
+ "name": "Novi tajvanski dolar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Novozelandski dolar"
+ },
+ "OMR": {
+ "name": "Omanski rijal"
+ },
+ "PKR": {
+ "name": "Pakistanska rupija"
+ },
+ "PAB": {
+ "name": "Panamska balboa"
+ },
+ "PGK": {
+ "name": "Papuanska kina"
+ },
+ "PYG": {
+ "name": "Paragvajski gvarani"
+ },
+ "PEN": {
+ "name": "Peruanski sol"
+ },
+ "PLN": {
+ "name": "Poljski zlot"
+ },
+ "RWF": {
+ "name": "Ruandski franak"
+ },
+ "RON": {
+ "name": "Rumunski lej"
+ },
+ "RUB": {
+ "name": "Ruska rublja"
+ },
+ "SVC": {
+ "name": "Salvadorski kolon"
+ },
+ "WST": {
+ "name": "Samoanska tala"
+ },
+ "STN": {
+ "name": "Saotomska dobra"
+ },
+ "SAR": {
+ "name": "Saudijski rijal"
+ },
+ "SCR": {
+ "name": "Sejšelska rupija"
+ },
+ "SLL": {
+ "name": "Sijeraleonski leone"
+ },
+ "SGD": {
+ "name": "Singapurski dolar"
+ },
+ "SYP": {
+ "name": "Sirijska funta"
+ },
+ "KPW": {
+ "name": "Sjevernokorejski von"
+ },
+ "SBD": {
+ "name": "Solomonski dolar"
+ },
+ "SOS": {
+ "name": "Somalijski šiling"
+ },
+ "RSD": {
+ "name": "Srpski dinar"
+ },
+ "SDG": {
+ "name": "Sudanska funta"
+ },
+ "SRD": {
+ "name": "Surinamski dolar"
+ },
+ "SZL": {
+ "name": "Svazilendski lilangeni"
+ },
+ "SHP": {
+ "name": "Svete Jelene funta"
+ },
+ "LKR": {
+ "name": "Šrilankanska rupija"
+ },
+ "CHF": {
+ "name": "Švajcarski franak"
+ },
+ "SEK": {
+ "name": "Švedska kruna"
+ },
+ "TJS": {
+ "name": "Tadžikistanski somon"
+ },
+ "THB": {
+ "name": "Tajlandski bat"
+ },
+ "TZS": {
+ "name": "Tanzanijski šiling"
+ },
+ "TOP": {
+ "name": "Tonganska panga"
+ },
+ "TTD": {
+ "name": "Trinidad-tobagoški dolar"
+ },
+ "TND": {
+ "name": "Tuniski dinar"
+ },
+ "TMT": {
+ "name": "Turkmenistanski manat"
+ },
+ "TRY": {
+ "name": "Turska lira"
+ },
+ "AED": {
+ "name": "UAE dirham"
+ },
+ "UGX": {
+ "name": "Ugandski šiling"
+ },
+ "UAH": {
+ "name": "Ukrajinska hrivnja"
+ },
+ "UYW": {
+ "name": "Uruguayan Nominal Wage Index Unit"
+ },
+ "UYU": {
+ "name": "Urugvajski pezos"
+ },
+ "UZS": {
+ "name": "Uzbekistanski som"
+ },
+ "VUV": {
+ "name": "Vanuatski vatu"
+ },
+ "VES": {
+ "name": "Venecuelanski bolivar"
+ },
+ "VND": {
+ "name": "Vijetnamski dong"
+ },
+ "ZMW": {
+ "name": "Zambijska kvača"
+ },
+ "CVE": {
+ "name": "Zelenortski eskudo"
+ },
+ "ZWL": {
+ "name": "Zimbabveanski dolar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sr-Latn.json b/vendor/commerceguys/intl/resources/currency/sr-Latn.json
index ea7bd30be..9aad3027c 100644
--- a/vendor/commerceguys/intl/resources/currency/sr-Latn.json
+++ b/vendor/commerceguys/intl/resources/currency/sr-Latn.json
@@ -80,7 +80,7 @@
},
"XOF": {
"name": "CFA franak BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "CFA franak BEAC",
diff --git a/vendor/commerceguys/intl/resources/currency/sr.json b/vendor/commerceguys/intl/resources/currency/sr.json
index a7e2cb290..0acb81b88 100644
--- a/vendor/commerceguys/intl/resources/currency/sr.json
+++ b/vendor/commerceguys/intl/resources/currency/sr.json
@@ -453,7 +453,7 @@
},
"XOF": {
"name": "ЦФА франак БЦЕАО",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"CZK": {
"name": "Чешка круна"
diff --git a/vendor/commerceguys/intl/resources/currency/sv.json b/vendor/commerceguys/intl/resources/currency/sv.json
index 70a2f8a75..aed2411e3 100644
--- a/vendor/commerceguys/intl/resources/currency/sv.json
+++ b/vendor/commerceguys/intl/resources/currency/sv.json
@@ -8,9 +8,16 @@
"DZD": {
"name": "algerisk dinar"
},
+ "USD": {
+ "name": "amerikansk dollar",
+ "symbol": "US$"
+ },
"AOA": {
"name": "angolansk kwanza"
},
+ "ANG": {
+ "name": "Antillergulden"
+ },
"ARS": {
"name": "argentinsk peso"
},
@@ -37,7 +44,7 @@
"name": "bangladeshisk taka"
},
"BBD": {
- "name": "Barbados-dollar",
+ "name": "barbadisk dollar",
"symbol": "Bds$"
},
"BZD": {
@@ -45,7 +52,7 @@
"symbol": "BZ$"
},
"BMD": {
- "name": "Bermuda-dollar",
+ "name": "bermudisk dollar",
"symbol": "BM$"
},
"BTN": {
@@ -77,7 +84,7 @@
"name": "burundisk franc"
},
"KYD": {
- "name": "Cayman-dollar"
+ "name": "caymansk dollar"
},
"XAF": {
"name": "centralafrikansk franc",
@@ -111,6 +118,9 @@
"name": "egyptiskt pund",
"symbol": "EG£"
},
+ "AED": {
+ "name": "emiratisk dirham"
+ },
"ERN": {
"name": "eritreansk nakfa"
},
@@ -130,9 +140,6 @@
"PHP": {
"name": "filippinsk peso"
},
- "AED": {
- "name": "Förenade Arabemiratens dirham"
- },
"GMD": {
"name": "gambisk dalasi"
},
@@ -184,7 +191,7 @@
"symbol": "₪"
},
"JMD": {
- "name": "Jamaica-dollar",
+ "name": "jamaicansk dollar",
"symbol": "JM$"
},
"JPY": {
@@ -297,9 +304,6 @@
"NAD": {
"name": "namibisk dollar"
},
- "ANG": {
- "name": "Nederländska Antillernas gulden"
- },
"NPR": {
"name": "nepalesisk rupie"
},
@@ -352,15 +356,15 @@
"RUB": {
"name": "rysk rubel"
},
- "SHP": {
- "name": "S:t Helena-pund"
- },
"SBD": {
"name": "Salomondollar"
},
"SVC": {
"name": "salvadoransk colón"
},
+ "SHP": {
+ "name": "sankthelenskt pund"
+ },
"STN": {
"name": "saotomeansk dobra"
},
@@ -417,7 +421,7 @@
"name": "tadzjikisk somoni"
},
"TWD": {
- "name": "Taiwandollar"
+ "name": "taiwanesisk dollar"
},
"TZS": {
"name": "tanzanisk shilling"
@@ -432,7 +436,7 @@
"name": "tongansk paʻanga"
},
"TTD": {
- "name": "Trinidad och Tobago-dollar"
+ "name": "Trinidaddollar"
},
"TND": {
"name": "tunisisk dinar"
@@ -458,10 +462,6 @@
"UYU": {
"name": "uruguayansk peso"
},
- "USD": {
- "name": "US-dollar",
- "symbol": "US$"
- },
"UZS": {
"name": "uzbekisk sum"
},
@@ -479,7 +479,7 @@
},
"XOF": {
"name": "västafrikansk franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"WST": {
"name": "västsamoansk tala"
diff --git a/vendor/commerceguys/intl/resources/currency/sw-CD.json b/vendor/commerceguys/intl/resources/currency/sw-CD.json
index 39b1dd53a..edda13468 100644
--- a/vendor/commerceguys/intl/resources/currency/sw-CD.json
+++ b/vendor/commerceguys/intl/resources/currency/sw-CD.json
@@ -25,37 +25,37 @@
"name": "Cedi ya Ghana"
},
"CRC": {
- "name": "Colon ya Costa Rica"
+ "name": "Colon ya Kostarika"
},
"BAM": {
"name": "Convertible Mark ya Bosnia na Hezegovina"
},
"NIO": {
- "name": "Cordoba ya Nicaragua"
+ "name": "Cordoba ya Nikaragwa"
},
"GMD": {
"name": "Dalasi ya Gambia"
},
"MKD": {
- "name": "Denar ya Macedonia"
+ "name": "Denar ya Masedonia"
},
"DZD": {
"name": "Dinar ya Aljeria"
},
+ "RSD": {
+ "name": "Dinar ya Serbia"
+ },
"BHD": {
- "name": "Dinar ya Bahrain"
+ "name": "Dinari ya Bahareni"
},
"IQD": {
- "name": "Dinar ya Iraq"
+ "name": "Dinari ya Iraki"
},
"JOD": {
- "name": "Dinar ya Jordan"
+ "name": "Dinari ya Jordan"
},
"KWD": {
- "name": "Dinar ya Kuwait"
- },
- "RSD": {
- "name": "Dinar ya Serbia"
+ "name": "Dinari ya Kuwait"
},
"LYD": {
"name": "Dinari ya Libya"
@@ -67,7 +67,7 @@
"name": "Dirham ya Falme za Kiarabu"
},
"MAD": {
- "name": "Dirham ya Morocco"
+ "name": "Dirham ya Moroko"
},
"STN": {
"name": "Dobra ya Sao Tome na Principe"
@@ -95,10 +95,6 @@
"name": "Dola ya Canada",
"symbol": "CA$"
},
- "XCD": {
- "name": "Dola ya Caribbean Mashariki",
- "symbol": "EC$"
- },
"FJD": {
"name": "Dola ya Fiji"
},
@@ -110,7 +106,11 @@
"symbol": "HK$"
},
"JMD": {
- "name": "Dola ya Jamaica"
+ "name": "Dola ya Jamaika"
+ },
+ "XCD": {
+ "name": "Dola ya Karibi Mashariki",
+ "symbol": "EC$"
},
"LRD": {
"name": "Dola ya Liberia"
@@ -123,7 +123,7 @@
"name": "Dola ya Namibia"
},
"NZD": {
- "name": "Dola ya New Zealand",
+ "name": "Dola ya Nyuzilandi",
"symbol": "NZ$"
},
"SGD": {
@@ -157,7 +157,7 @@
},
"XOF": {
"name": "Faranga CFA BCEAO",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Faranga CFA BEAC",
@@ -170,14 +170,14 @@
"name": "Faranga ya CFP",
"symbol": "CFPF"
},
- "KMF": {
- "name": "Faranga ya Comoros"
+ "GNF": {
+ "name": "Faranga ya Guinea"
},
"DJF": {
- "name": "Faranga ya Djibouti"
+ "name": "Faranga ya Jibuti"
},
- "GNF": {
- "name": "Faranga ya Guinea"
+ "KMF": {
+ "name": "Faranga ya Komoro"
},
"CDF": {
"name": "Faranga ya Kongo",
@@ -199,7 +199,7 @@
"name": "Gourde ya Haiti"
},
"PYG": {
- "name": "Guarani ya Paraguay"
+ "name": "Guarani ya Paragwai"
},
"ANG": {
"name": "Guilder ya Antili za Kiholanzi"
@@ -214,7 +214,7 @@
"name": "Kip ya Laosi"
},
"CZK": {
- "name": "koruna ya Jamhuri ya Czech"
+ "name": "Koruna ya Jamhuri ya Czech"
},
"ISK": {
"name": "Krona ya Aisilandi"
@@ -226,10 +226,10 @@
"name": "Krone ya Denmark"
},
"NOK": {
- "name": "Krone ya Norway"
+ "name": "Krone ya Norwe"
},
"HRK": {
- "name": "Kuna ya Croatia"
+ "name": "Kuna ya Korasia"
},
"MWK": {
"name": "Kwacha ya Malawi"
@@ -244,7 +244,7 @@
"name": "Kyat ya Myanmar"
},
"GEL": {
- "name": "Lari ya Georgia"
+ "name": "Lari ya Jojia"
},
"ALL": {
"name": "Lek ya Albania"
@@ -253,7 +253,7 @@
"name": "Lempira ya Hondurasi"
},
"SLL": {
- "name": "Leone"
+ "name": "Leone ya Siera Leoni"
},
"MDL": {
"name": "Leu ya Moldova"
@@ -265,7 +265,7 @@
"name": "Lev ya Bulgaria"
},
"SZL": {
- "name": "Lilangeni"
+ "name": "Lilangeni ya Uswazi"
},
"TRY": {
"name": "Lira ya Uturuki"
@@ -326,32 +326,32 @@
"name": "Pauni ya Visiwa vya Falkland"
},
"ARS": {
- "name": "Peso ya Argentina"
+ "name": "Peso ya Ajentina"
},
"CLP": {
"name": "Peso ya Chile"
},
+ "DOP": {
+ "name": "Peso ya Dominika"
+ },
"COP": {
- "name": "Peso ya Colombia"
+ "name": "Peso ya Kolombia"
},
"CUP": {
- "name": "Peso ya Cuba"
+ "name": "Peso ya Kuba"
},
"CUC": {
- "name": "Peso ya Cuba Inayoweza Kubadilishwa"
- },
- "DOP": {
- "name": "Peso ya Dominica"
+ "name": "Peso ya Kuba Inayoweza Kubadilishwa"
},
"MXN": {
- "name": "Peso ya Mexico",
+ "name": "Peso ya Meksiko",
"symbol": "MX$"
},
"PHP": {
"name": "Peso ya Ufilipino"
},
"UYU": {
- "name": "Peso ya Uruguay"
+ "name": "Peso ya Urugwai"
},
"BWP": {
"name": "Pula ya Botswana"
@@ -379,7 +379,7 @@
"name": "Rial ya Yemen"
},
"KHR": {
- "name": "Riel ya Cambodia"
+ "name": "Riel ya Kambodia"
},
"MYR": {
"name": "Ringgit ya Malaysia"
@@ -401,7 +401,7 @@
"symbol": "₹"
},
"MUR": {
- "name": "Rupia ya Mauritius"
+ "name": "Rupia ya Morisi"
},
"NPR": {
"name": "Rupia ya Nepal"
diff --git a/vendor/commerceguys/intl/resources/currency/sw-KE.json b/vendor/commerceguys/intl/resources/currency/sw-KE.json
index 5584ff7fb..426ca78b7 100644
--- a/vendor/commerceguys/intl/resources/currency/sw-KE.json
+++ b/vendor/commerceguys/intl/resources/currency/sw-KE.json
@@ -154,7 +154,7 @@
},
"XOF": {
"name": "Faranga ya CFA ya Afrika Magharibi",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Faranga ya CFA ya Afrika ya Kati",
@@ -288,7 +288,7 @@
"name": "Ngultrumi ya Bhutani"
},
"MRU": {
- "name": "Ouguiya ya Mauritania"
+ "name": "Ouguiya ya Moritania"
},
"TOP": {
"name": "Paʻanga ya Tonga"
@@ -403,7 +403,7 @@
"name": "Rupia ya Indonesia"
},
"MUR": {
- "name": "Rupia ya Mauritius"
+ "name": "Rupia ya Morisi"
},
"NPR": {
"name": "Rupia ya Nepali"
diff --git a/vendor/commerceguys/intl/resources/currency/sw.json b/vendor/commerceguys/intl/resources/currency/sw.json
index 269544cd2..3672d6904 100644
--- a/vendor/commerceguys/intl/resources/currency/sw.json
+++ b/vendor/commerceguys/intl/resources/currency/sw.json
@@ -3,7 +3,7 @@
"name": "Afghani ya Afghanistan"
},
"MGA": {
- "name": "Ariari ya Madagascar"
+ "name": "Ariari ya Madagaska"
},
"THB": {
"name": "Baht ya Tailandi",
@@ -25,37 +25,37 @@
"name": "Cedi ya Ghana"
},
"CRC": {
- "name": "Colon ya Costa Rica"
+ "name": "Colon ya Kostarika"
},
"BAM": {
"name": "Convertible Mark ya Bosnia na Hezegovina"
},
"NIO": {
- "name": "Cordoba ya Nicaragua"
+ "name": "Cordoba ya Nikaragwa"
},
"GMD": {
"name": "Dalasi ya Gambia"
},
"MKD": {
- "name": "Denar ya Macedonia"
+ "name": "Denar ya Masedonia"
},
"DZD": {
"name": "Dinar ya Aljeria"
},
+ "RSD": {
+ "name": "Dinar ya Serbia"
+ },
"BHD": {
- "name": "Dinar ya Bahrain"
+ "name": "Dinari ya Bahareni"
},
"IQD": {
- "name": "Dinar ya Iraq"
+ "name": "Dinari ya Iraki"
},
"JOD": {
- "name": "Dinar ya Jordan"
+ "name": "Dinari ya Jordan"
},
"KWD": {
- "name": "Dinar ya Kuwait"
- },
- "RSD": {
- "name": "Dinar ya Serbia"
+ "name": "Dinari ya Kuwait"
},
"LYD": {
"name": "Dinari ya Libya"
@@ -67,7 +67,7 @@
"name": "Dirham ya Falme za Kiarabu"
},
"MAD": {
- "name": "Dirham ya Morocco"
+ "name": "Dirham ya Moroko"
},
"STN": {
"name": "Dobra ya Sao Tome na Principe"
@@ -95,10 +95,6 @@
"name": "Dola ya Canada",
"symbol": "CA$"
},
- "XCD": {
- "name": "Dola ya Caribbean Mashariki",
- "symbol": "EC$"
- },
"FJD": {
"name": "Dola ya Fiji"
},
@@ -110,7 +106,11 @@
"symbol": "HK$"
},
"JMD": {
- "name": "Dola ya Jamaica"
+ "name": "Dola ya Jamaika"
+ },
+ "XCD": {
+ "name": "Dola ya Karibi Mashariki",
+ "symbol": "EC$"
},
"LRD": {
"name": "Dola ya Liberia"
@@ -123,7 +123,7 @@
"name": "Dola ya Namibia"
},
"NZD": {
- "name": "Dola ya New Zealand",
+ "name": "Dola ya Nyuzilandi",
"symbol": "NZ$"
},
"SGD": {
@@ -157,7 +157,7 @@
},
"XOF": {
"name": "Faranga ya Afrika Magharibi CFA",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Faranga ya Afrika ya Kati CFA",
@@ -170,14 +170,14 @@
"name": "Faranga ya CFP",
"symbol": "CFPF"
},
- "KMF": {
- "name": "Faranga ya Comoros"
+ "GNF": {
+ "name": "Faranga ya Guinea"
},
"DJF": {
- "name": "Faranga ya Djibouti"
+ "name": "Faranga ya Jibuti"
},
- "GNF": {
- "name": "Faranga ya Guinea"
+ "KMF": {
+ "name": "Faranga ya Komoro"
},
"CDF": {
"name": "Faranga ya Kongo"
@@ -198,7 +198,7 @@
"name": "Gourde ya Haiti"
},
"PYG": {
- "name": "Guarani ya Paraguay"
+ "name": "Guarani ya Paragwai"
},
"ANG": {
"name": "Guilder ya Antili za Kiholanzi"
@@ -213,7 +213,7 @@
"name": "Kip ya Laosi"
},
"CZK": {
- "name": "koruna ya Jamhuri ya Czech"
+ "name": "Koruna ya Jamhuri ya Czech"
},
"ISK": {
"name": "Krona ya Aisilandi"
@@ -225,10 +225,10 @@
"name": "Krone ya Denmark"
},
"NOK": {
- "name": "Krone ya Norway"
+ "name": "Krone ya Norwe"
},
"HRK": {
- "name": "Kuna ya Croatia"
+ "name": "Kuna ya Korasia"
},
"MWK": {
"name": "Kwacha ya Malawi"
@@ -243,7 +243,7 @@
"name": "Kyat ya Myanmar"
},
"GEL": {
- "name": "Lari ya Georgia"
+ "name": "Lari ya Jojia"
},
"ALL": {
"name": "Lek ya Albania"
@@ -252,7 +252,7 @@
"name": "Lempira ya Hondurasi"
},
"SLL": {
- "name": "Leone"
+ "name": "Leone ya Siera Leoni"
},
"MDL": {
"name": "Leu ya Moldova"
@@ -264,7 +264,7 @@
"name": "Lev ya Bulgaria"
},
"SZL": {
- "name": "Lilangeni"
+ "name": "Lilangeni ya Uswazi"
},
"TRY": {
"name": "Lira ya Uturuki"
@@ -291,7 +291,7 @@
"name": "Ngultrum ya Bhutan"
},
"MRU": {
- "name": "Ouguiya ya Mauritania"
+ "name": "Ouguiya ya Moritania"
},
"TOP": {
"name": "Paʻanga ya Tonga"
@@ -328,32 +328,32 @@
"name": "Pauni ya Visiwa vya Falkland"
},
"ARS": {
- "name": "Peso ya Argentina"
+ "name": "Peso ya Ajentina"
},
"CLP": {
"name": "Peso ya Chile"
},
+ "DOP": {
+ "name": "Peso ya Dominika"
+ },
"COP": {
- "name": "Peso ya Colombia"
+ "name": "Peso ya Kolombia"
},
"CUP": {
- "name": "Peso ya Cuba"
+ "name": "Peso ya Kuba"
},
"CUC": {
- "name": "Peso ya Cuba Inayoweza Kubadilishwa"
- },
- "DOP": {
- "name": "Peso ya Dominica"
+ "name": "Peso ya Kuba Inayoweza Kubadilishwa"
},
"MXN": {
- "name": "Peso ya Mexico",
+ "name": "Peso ya Meksiko",
"symbol": "MX$"
},
"PHP": {
"name": "Peso ya Ufilipino"
},
"UYU": {
- "name": "Peso ya Uruguay"
+ "name": "Peso ya Urugwai"
},
"BWP": {
"name": "Pula ya Botswana"
@@ -381,7 +381,7 @@
"name": "Rial ya Yemen"
},
"KHR": {
- "name": "Riel ya Cambodia"
+ "name": "Riel ya Kambodia"
},
"MYR": {
"name": "Ringgit ya Malaysia"
@@ -403,7 +403,7 @@
"symbol": "₹"
},
"MUR": {
- "name": "Rupia ya Mauritius"
+ "name": "Rupia ya Morisi"
},
"NPR": {
"name": "Rupia ya Nepal"
@@ -479,7 +479,7 @@
"symbol": "₩"
},
"JPY": {
- "name": "Yen ya Ujapani",
+ "name": "Yen ya Japani",
"symbol": "JP¥"
},
"CNY": {
diff --git a/vendor/commerceguys/intl/resources/currency/ta.json b/vendor/commerceguys/intl/resources/currency/ta.json
index 8cacec3be..ee1f21ca5 100644
--- a/vendor/commerceguys/intl/resources/currency/ta.json
+++ b/vendor/commerceguys/intl/resources/currency/ta.json
@@ -392,7 +392,7 @@
},
"XOF": {
"name": "மேற்கு ஆப்பிரிக்க CFA ஃப்ராங்க்",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"MZN": {
"name": "மொசாம்பிகன் மெடிகல்"
diff --git a/vendor/commerceguys/intl/resources/currency/te.json b/vendor/commerceguys/intl/resources/currency/te.json
index 10eb8f8ba..bc70df4c9 100644
--- a/vendor/commerceguys/intl/resources/currency/te.json
+++ b/vendor/commerceguys/intl/resources/currency/te.json
@@ -255,7 +255,7 @@
},
"XOF": {
"name": "పశ్చిమ ఆఫ్రికన్ సిఏఫ్ఏ ఫ్రాంక్",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"PKR": {
"name": "పాకిస్థాన్ రూపాయి"
diff --git a/vendor/commerceguys/intl/resources/currency/th.json b/vendor/commerceguys/intl/resources/currency/th.json
index 81f887834..95a47fda8 100644
--- a/vendor/commerceguys/intl/resources/currency/th.json
+++ b/vendor/commerceguys/intl/resources/currency/th.json
@@ -329,7 +329,7 @@
},
"XOF": {
"name": "ฟรังก์เซฟาธนาคารกลางรัฐแอฟริกาตะวันตก",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "ฟรังก์เซฟาธนาคารรัฐแอฟริกากลาง",
diff --git a/vendor/commerceguys/intl/resources/currency/tk.json b/vendor/commerceguys/intl/resources/currency/tk.json
index bdecdd714..c9027d230 100644
--- a/vendor/commerceguys/intl/resources/currency/tk.json
+++ b/vendor/commerceguys/intl/resources/currency/tk.json
@@ -212,7 +212,7 @@
},
"XOF": {
"name": "KFA BCEAO franky",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "KFA BEAC franky",
diff --git a/vendor/commerceguys/intl/resources/currency/tr.json b/vendor/commerceguys/intl/resources/currency/tr.json
index 7538a4a84..37c155683 100644
--- a/vendor/commerceguys/intl/resources/currency/tr.json
+++ b/vendor/commerceguys/intl/resources/currency/tr.json
@@ -39,7 +39,7 @@
},
"XOF": {
"name": "Batı Afrika CFA Frangı",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"BYN": {
"name": "Belarus Rublesi"
diff --git a/vendor/commerceguys/intl/resources/currency/uk.json b/vendor/commerceguys/intl/resources/currency/uk.json
index 82aa458e6..916bfa342 100644
--- a/vendor/commerceguys/intl/resources/currency/uk.json
+++ b/vendor/commerceguys/intl/resources/currency/uk.json
@@ -132,7 +132,7 @@
"name": "долар США"
},
"TTD": {
- "name": "долар Трінідаду і Тобаґо"
+ "name": "долар Тринідаду і Тобаго"
},
"DOP": {
"name": "домініканський песо"
@@ -160,7 +160,7 @@
},
"XOF": {
"name": "західноафриканський франк",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"ZWL": {
"name": "зімбабвійський долар (2009)"
@@ -403,7 +403,7 @@
"name": "танзанійський шилінг"
},
"TOP": {
- "name": "тонґанська паанга"
+ "name": "тонганська паанга"
},
"TND": {
"name": "туніський динар"
diff --git a/vendor/commerceguys/intl/resources/currency/ur-IN.json b/vendor/commerceguys/intl/resources/currency/ur-IN.json
index 92314fdab..0d4c1e51f 100644
--- a/vendor/commerceguys/intl/resources/currency/ur-IN.json
+++ b/vendor/commerceguys/intl/resources/currency/ur-IN.json
@@ -250,7 +250,7 @@
"name": "سینٹ ہیلینا پاؤنڈ"
},
"SLL": {
- "name": "سیئرا لیون لیون"
+ "name": "سیئرا لیونین لیون"
},
"SYP": {
"name": "شامی پونڈ"
@@ -379,7 +379,7 @@
},
"XOF": {
"name": "مغربی افریقی [CFA] فرانک",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"MKD": {
"name": "مقدونیائی دینار"
diff --git a/vendor/commerceguys/intl/resources/currency/ur.json b/vendor/commerceguys/intl/resources/currency/ur.json
index 93bdb14f3..dab9464c3 100644
--- a/vendor/commerceguys/intl/resources/currency/ur.json
+++ b/vendor/commerceguys/intl/resources/currency/ur.json
@@ -9,7 +9,7 @@
"name": "اروبن فلورِن"
},
"ERN": {
- "name": "اریٹیریا کا نافکا"
+ "name": "اریٹیریائی ناکفا"
},
"UZS": {
"name": "ازبکستانی سوم"
@@ -251,7 +251,7 @@
"name": "سینٹ ہیلینا پاؤنڈ"
},
"SLL": {
- "name": "سیئرا لیون لیون"
+ "name": "سیئرا لیونین لیون"
},
"SYP": {
"name": "شامی پونڈ"
@@ -380,7 +380,7 @@
},
"XOF": {
"name": "مغربی افریقی [CFA] فرانک",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"MKD": {
"name": "مقدونیائی دینار"
diff --git a/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json b/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json
index 01a959ec9..4b14a49f6 100644
--- a/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json
@@ -220,7 +220,8 @@
"name": "Papua New Guinean Kina"
},
"PHP": {
- "name": "Philippine Piso"
+ "name": "Philippine Piso",
+ "symbol": "₱"
},
"PLN": {
"name": "Polish Zloty"
@@ -338,7 +339,7 @@
},
"XOF": {
"name": "West African CFA Franc",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"YER": {
"name": "Yemeni Rial"
diff --git a/vendor/commerceguys/intl/resources/currency/uz.json b/vendor/commerceguys/intl/resources/currency/uz.json
index c0c663226..d20643d6a 100644
--- a/vendor/commerceguys/intl/resources/currency/uz.json
+++ b/vendor/commerceguys/intl/resources/currency/uz.json
@@ -470,7 +470,7 @@
},
"XOF": {
"name": "G‘arbiy Afrika CFA franki",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XCD": {
"name": "Sharqiy Karib dollari",
diff --git a/vendor/commerceguys/intl/resources/currency/vi.json b/vendor/commerceguys/intl/resources/currency/vi.json
index e151a1c15..3a4ee43e6 100644
--- a/vendor/commerceguys/intl/resources/currency/vi.json
+++ b/vendor/commerceguys/intl/resources/currency/vi.json
@@ -201,7 +201,7 @@
},
"XOF": {
"name": "Franc CFA Tây Phi",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "Franc CFA Trung Phi",
@@ -489,7 +489,7 @@
},
"JPY": {
"name": "Yên Nhật",
- "symbol": "JP¥"
+ "symbol": "¥"
},
"PLN": {
"name": "Zloty Ba Lan"
diff --git a/vendor/commerceguys/intl/resources/currency/yue-Hans.json b/vendor/commerceguys/intl/resources/currency/yue-Hans.json
index 499e55222..9ed5a13a1 100644
--- a/vendor/commerceguys/intl/resources/currency/yue-Hans.json
+++ b/vendor/commerceguys/intl/resources/currency/yue-Hans.json
@@ -108,7 +108,7 @@
},
"XOF": {
"name": "法郎 (CFA–BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "法郎 (CFA–BEAC)",
diff --git a/vendor/commerceguys/intl/resources/currency/yue.json b/vendor/commerceguys/intl/resources/currency/yue.json
index 05e3d8145..287e98d0d 100644
--- a/vendor/commerceguys/intl/resources/currency/yue.json
+++ b/vendor/commerceguys/intl/resources/currency/yue.json
@@ -178,7 +178,7 @@
},
"XOF": {
"name": "法郎 (CFA–BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "法郎 (CFA–BEAC)",
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json b/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json
index 6186f6ce1..109470cde 100644
--- a/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json
@@ -424,7 +424,7 @@
},
"XOF": {
"name": "西非法郎",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"SGD": {
"name": "新加坡元"
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
index 9eb20aec4..09f48e010 100644
--- a/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
@@ -144,7 +144,7 @@
},
"XOF": {
"name": "多哥非洲共同體法郎",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"AOA": {
"name": "安哥拉寬扎"
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant.json b/vendor/commerceguys/intl/resources/currency/zh-Hant.json
index 8de16e158..d615d0c72 100644
--- a/vendor/commerceguys/intl/resources/currency/zh-Hant.json
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant.json
@@ -175,7 +175,7 @@
},
"XOF": {
"name": "法郎 (CFA–BCEAO)",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"XAF": {
"name": "法郎 (CFA–BEAC)",
diff --git a/vendor/commerceguys/intl/resources/currency/zh.json b/vendor/commerceguys/intl/resources/currency/zh.json
index 884946bb5..a1b2e5b15 100644
--- a/vendor/commerceguys/intl/resources/currency/zh.json
+++ b/vendor/commerceguys/intl/resources/currency/zh.json
@@ -424,7 +424,7 @@
},
"XOF": {
"name": "西非法郎",
- "symbol": "CFA"
+ "symbol": "F CFA"
},
"SGD": {
"name": "新加坡元"
diff --git a/vendor/commerceguys/intl/resources/language/af.json b/vendor/commerceguys/intl/resources/language/af.json
index 4f801a509..e2daba336 100644
--- a/vendor/commerceguys/intl/resources/language/af.json
+++ b/vendor/commerceguys/intl/resources/language/af.json
@@ -31,6 +31,7 @@
"zh-Hant": "Chinees (Tradisioneel)",
"zh-Hans": "Chinees (Vereenvoudig)",
"da": "Deens",
+ "doi": "Dogri",
"dua": "Duala",
"de": "Duits",
"de-AT": "Duits (Oostenryk)",
@@ -108,12 +109,14 @@
"lb": "Luxemburgs",
"luy": "Luyia",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"ml": "Malabaars",
"ms": "Maleis",
"mg": "Malgassies",
"mt": "Maltees",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -131,9 +134,11 @@
"ne": "Nepalees",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigeriese Pidgin",
"lrc": "Noord-Luri",
"nd": "Noord-Ndebele",
"se": "Noord-Sami",
+ "no": "Noors",
"nus": "Nuer",
"nn": "Nuwe Noors",
"nyn": "Nyankole",
@@ -163,6 +168,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santalies",
"seh": "Sena",
"tzm": "Sentraal-Atlas-Tamazight",
"sr": "Serwies",
@@ -181,6 +188,7 @@
"es-419": "Spaans (Latyns-Amerika)",
"es-MX": "Spaans (Meksiko)",
"zgh": "Standaard Marokkaanse Tamazight",
+ "su": "Sundanees",
"sw": "Swahili",
"sw-CD": "Swahili (Demokratiese Republiek van die Kongo)",
"sv": "Sweeds",
diff --git a/vendor/commerceguys/intl/resources/language/ar-EG.json b/vendor/commerceguys/intl/resources/language/ar-EG.json
index a89347ad5..768358325 100644
--- a/vendor/commerceguys/intl/resources/language/ar-EG.json
+++ b/vendor/commerceguys/intl/resources/language/ar-EG.json
@@ -41,6 +41,7 @@
"bas": "الباسا",
"eu": "الباسكية",
"bm": "البامبارا",
+ "pcm": "البدجنية النيجيرية",
"pt": "البرتغالية",
"pt-PT": "البرتغالية الأوروبية",
"br": "البريتونية",
@@ -71,6 +72,7 @@
"km": "الخميرية",
"xh": "الخوسا",
"da": "الدنماركية",
+ "doi": "الدوجرية",
"dua": "الديولا",
"rn": "الرندي",
"rwk": "الروا",
@@ -82,15 +84,18 @@
"zu": "الزولو",
"dz": "الزونخاية",
"sah": "الساخيّة",
+ "sat": "السانتالية",
"sg": "السانجو",
"nds-NL": "السكسونية السفلى",
"sk": "السلوفاكية",
"sl": "السلوفانية",
"sd": "السندية",
+ "sa": "السنسكريتية",
"si": "السنهالية",
"sw": "السواحلية",
"ckb": "السورانية الكردية",
"xog": "السوغا",
+ "su": "السوندانية",
"sv": "السويدية",
"ceb": "السيبيوانية",
"ii": "السيتشيون يي",
@@ -157,7 +162,9 @@
"ml": "المالايالامية",
"mt": "المالطية",
"ms": "الماليزية",
+ "mni": "المانيبورية",
"mi": "الماورية",
+ "mai": "المايثيلي",
"mk": "المقدونية",
"mg": "الملغاشي",
"mn": "المنغولية",
@@ -165,6 +172,7 @@
"ro-MD": "المولدوفية",
"mer": "الميرو",
"nd": "النديبيل الشمالية",
+ "no": "النرويجية",
"nb": "النرويجية بوكمال",
"nn": "النرويجية نينورسك",
"nus": "النوير",
diff --git a/vendor/commerceguys/intl/resources/language/ar-LY.json b/vendor/commerceguys/intl/resources/language/ar-LY.json
index 6095c088e..a66fd3d56 100644
--- a/vendor/commerceguys/intl/resources/language/ar-LY.json
+++ b/vendor/commerceguys/intl/resources/language/ar-LY.json
@@ -41,6 +41,7 @@
"bas": "الباسا",
"eu": "الباسكية",
"bm": "البامبارا",
+ "pcm": "البدجنية النيجيرية",
"pt": "البرتغالية",
"pt-PT": "البرتغالية الأوروبية",
"br": "البريتونية",
@@ -71,6 +72,7 @@
"km": "الخميرية",
"xh": "الخوسا",
"da": "الدانمركية",
+ "doi": "الدوجرية",
"dua": "الديولا",
"rn": "الرندي",
"rwk": "الروا",
@@ -82,16 +84,19 @@
"zu": "الزولو",
"dz": "الزونخاية",
"sah": "الساخيّة",
+ "sat": "السانتالية",
"sg": "السانجو",
"nds-NL": "السكسونية السفلى",
"sk": "السلوفاكية",
"sl": "السلوفانية",
"sd": "السندية",
+ "sa": "السنسكريتية",
"si": "السنهالية",
"sw": "السواحيلية",
"sw-CD": "السواحيلية الكونغولية",
"ckb": "السورانية الكردية",
"xog": "السوغا",
+ "su": "السوندانية",
"sv": "السويدية",
"ceb": "السيبيوانية",
"ii": "السيتشيون يي",
@@ -156,7 +161,9 @@
"ml": "المالايالامية",
"mt": "المالطية",
"ms": "الماليزية",
+ "mni": "المانيبورية",
"mi": "الماورية",
+ "mai": "المايثيلي",
"mk": "المقدونية",
"mg": "الملغاشي",
"mn": "المنغولية",
@@ -164,6 +171,7 @@
"ro-MD": "المولدوفية",
"mer": "الميرو",
"nd": "النديبيل الشمالية",
+ "no": "النرويجية",
"nb": "النرويجية بوكمال",
"nn": "النرويجية نينورسك",
"nus": "النوير",
diff --git a/vendor/commerceguys/intl/resources/language/ar-SA.json b/vendor/commerceguys/intl/resources/language/ar-SA.json
index 2781ab3d5..cef1ccf1b 100644
--- a/vendor/commerceguys/intl/resources/language/ar-SA.json
+++ b/vendor/commerceguys/intl/resources/language/ar-SA.json
@@ -41,6 +41,7 @@
"bas": "الباسا",
"eu": "الباسكية",
"bm": "البامبارا",
+ "pcm": "البدجنية النيجيرية",
"pt": "البرتغالية",
"pt-PT": "البرتغالية الأوروبية",
"br": "البريتونية",
@@ -71,6 +72,7 @@
"km": "الخميرية",
"xh": "الخوسا",
"da": "الدانمركية",
+ "doi": "الدوجرية",
"dua": "الديولا",
"rn": "الرندي",
"rwk": "الروا",
@@ -82,16 +84,19 @@
"zu": "الزولو",
"dz": "الزونخاية",
"sah": "الساخيّة",
+ "sat": "السانتالية",
"sg": "السانجو",
"nds-NL": "السكسونية السفلى",
"sk": "السلوفاكية",
"sl": "السلوفانية",
"sd": "السندية",
+ "sa": "السنسكريتية",
"si": "السنهالية",
"sw": "السواحيلية",
"sw-CD": "السواحيلية الكونغولية",
"ckb": "السورانية الكردية",
"xog": "السوغا",
+ "su": "السوندانية",
"sv": "السويدية",
"ceb": "السيبيوانية",
"ii": "السيتشيون يي",
@@ -156,7 +161,9 @@
"ml": "المالايالامية",
"mt": "المالطية",
"ms": "الماليزية",
+ "mni": "المانيبورية",
"mi": "الماورية",
+ "mai": "المايثيلي",
"mk": "المقدونية",
"mg": "الملغاشي",
"mn": "المنغولية",
@@ -164,6 +171,7 @@
"ro-MD": "المولدوفية",
"mer": "الميرو",
"nd": "النديبيل الشمالية",
+ "no": "النرويجية",
"nb": "النرويجية بوكمال",
"nn": "النرويجية نينورسك",
"nus": "النوير",
diff --git a/vendor/commerceguys/intl/resources/language/ar.json b/vendor/commerceguys/intl/resources/language/ar.json
index bef20a7fb..a775401ae 100644
--- a/vendor/commerceguys/intl/resources/language/ar.json
+++ b/vendor/commerceguys/intl/resources/language/ar.json
@@ -41,6 +41,7 @@
"bas": "الباسا",
"eu": "الباسكية",
"bm": "البامبارا",
+ "pcm": "البدجنية النيجيرية",
"pt": "البرتغالية",
"pt-PT": "البرتغالية الأوروبية",
"br": "البريتونية",
@@ -71,6 +72,7 @@
"km": "الخميرية",
"xh": "الخوسا",
"da": "الدانمركية",
+ "doi": "الدوجرية",
"dua": "الديولا",
"rn": "الرندي",
"rwk": "الروا",
@@ -82,15 +84,18 @@
"zu": "الزولو",
"dz": "الزونخاية",
"sah": "الساخيّة",
+ "sat": "السانتالية",
"sg": "السانجو",
"nds-NL": "السكسونية السفلى",
"sk": "السلوفاكية",
"sl": "السلوفانية",
"sd": "السندية",
+ "sa": "السنسكريتية",
"si": "السنهالية",
"sw": "السواحلية",
"ckb": "السورانية الكردية",
"xog": "السوغا",
+ "su": "السوندانية",
"sv": "السويدية",
"ceb": "السيبيوانية",
"ii": "السيتشيون يي",
@@ -157,7 +162,9 @@
"ml": "المالايالامية",
"mt": "المالطية",
"ms": "الماليزية",
+ "mni": "المانيبورية",
"mi": "الماورية",
+ "mai": "المايثيلي",
"mk": "المقدونية",
"mg": "الملغاشي",
"mn": "المنغولية",
@@ -165,6 +172,7 @@
"ro-MD": "المولدوفية",
"mer": "الميرو",
"nd": "النديبيل الشمالية",
+ "no": "النرويجية",
"nb": "النرويجية بوكمال",
"nn": "النرويجية نينورسك",
"nus": "النوير",
diff --git a/vendor/commerceguys/intl/resources/language/as.json b/vendor/commerceguys/intl/resources/language/as.json
index d34922a86..63da73d1b 100644
--- a/vendor/commerceguys/intl/resources/language/as.json
+++ b/vendor/commerceguys/intl/resources/language/as.json
@@ -70,6 +70,7 @@
"gu": "গুজৰাটী",
"gl": "গেলিচিয়ান",
"el": "গ্ৰীক",
+ "sat": "চাওতালি",
"ksb": "চাম্বালা",
"cgg": "চিগা",
"ceb": "চিবুৱানো",
@@ -90,6 +91,7 @@
"fr-CH": "ছুইচ ফ্ৰেন্স",
"de-CH": "ছুইচ হাই জাৰ্মান",
"sv": "ছুইডিচ",
+ "su": "ছুণ্ডানীজ",
"seh": "ছেনা",
"xog": "ছোগা",
"so": "ছোমালি",
@@ -121,6 +123,7 @@
"jgo": "নগোম্বা",
"nn": "নৰৱেজিয়ান নায়নোৰ্স্ক",
"nb": "নৰৱেজিয়ান বোকমাল",
+ "pcm": "নাইজেৰিয়ান পিজিন",
"naq": "নামা",
"nnh": "নিয়েম্বোন",
"nus": "নুয়েৰ",
@@ -157,6 +160,7 @@
"vi": "ভিয়েটনামী",
"vun": "ভুঞ্জু",
"mn": "মংগোলীয়",
+ "mni": "মণিপুৰী",
"mfe": "মৰিছিয়ান",
"mi": "মাওৰি",
"kde": "মাকোণ্ড",
@@ -174,6 +178,7 @@
"mk": "মেচিডোনীয়",
"mgo": "মেটা",
"mer": "মেৰু",
+ "mai": "মৈথিলী",
"ro-MD": "মোল্ডাভিয়ান",
"yav": "য়াংবেন",
"rwk": "ৰৱা",
@@ -204,6 +209,7 @@
"sk": "শ্লোভাক",
"sl": "শ্লোভেনিয়ান",
"zgh": "ষ্টেণ্ডাৰ্ড মোৰোক্কান তামাজাইট",
+ "sa": "সংস্কৃত",
"zh-Hans": "সৰলীকৃত চীনা",
"si": "সিংহলা",
"sd": "সিন্ধী",
@@ -215,5 +221,7 @@
"haw": "হাৱাই",
"hi": "হিন্দী",
"he": "হিব্ৰু",
- "xh": "হোছা"
+ "xh": "হোছা",
+ "doi": "Dogri",
+ "no": "Norwegian"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ast.json b/vendor/commerceguys/intl/resources/language/ast.json
index 2265c5662..338441c13 100644
--- a/vendor/commerceguys/intl/resources/language/ast.json
+++ b/vendor/commerceguys/intl/resources/language/ast.json
@@ -50,6 +50,7 @@
"hr": "croata",
"ku": "curdu",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embú",
@@ -122,12 +123,14 @@
"luy": "luyia",
"mk": "macedoniu",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayu",
"mg": "malgaxe",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "marathi",
"mas": "masái",
@@ -144,6 +147,8 @@
"ne": "nepalés",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nixerianu simplificáu",
+ "no": "noruegu",
"nb": "noruegu Bokmål",
"nn": "noruegu Nynorsk",
"nus": "nuer",
@@ -169,6 +174,8 @@
"se": "sami del norte",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscritu",
+ "sat": "santali",
"seh": "sena",
"sr": "serbiu",
"ksb": "shambala",
@@ -176,6 +183,7 @@
"sd": "sindhi",
"xog": "soga",
"so": "somalín",
+ "su": "sondanés",
"sw": "suaḥili",
"sw-CD": "suaḥili del Congu",
"sv": "suecu",
diff --git a/vendor/commerceguys/intl/resources/language/az-Cyrl.json b/vendor/commerceguys/intl/resources/language/az-Cyrl.json
index f2ea178f7..3efc85473 100644
--- a/vendor/commerceguys/intl/resources/language/az-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/az-Cyrl.json
@@ -1,5 +1,7 @@
{
+ "doi": "Dogri",
"nds": "Low German",
+ "no": "Norwegian",
"ii": "Sichuan Yi",
"en-AU": "Австралија инҝилисҹәси",
"de-AT": "Австрија алманҹасы",
@@ -114,12 +116,14 @@
"luo": "луо",
"lb": "лүксембург",
"mzn": "мазандаран",
+ "mai": "маитили",
"mk": "македон",
"kde": "маконде",
"mg": "малагас",
"ms": "малај",
"ml": "малајалам",
"mt": "малта",
+ "mni": "манипүри",
"mi": "маори",
"mr": "маратһи",
"mas": "масај",
@@ -136,6 +140,7 @@
"naq": "нама",
"jgo": "нгомба",
"ne": "непал",
+ "pcm": "ниҝер креол",
"nyn": "нјанкол",
"nnh": "нҝиембоон",
"nus": "нуер",
@@ -160,6 +165,8 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантал",
"sah": "саха",
"ceb": "себуан",
"seh": "сена",
@@ -172,6 +179,7 @@
"so": "сомали",
"ckb": "соран",
"sw": "суаһили",
+ "su": "сундан",
"dav": "таита",
"th": "тај",
"zgh": "тамази",
diff --git a/vendor/commerceguys/intl/resources/language/az.json b/vendor/commerceguys/intl/resources/language/az.json
index 7d5685848..829c0e74b 100644
--- a/vendor/commerceguys/intl/resources/language/az.json
+++ b/vendor/commerceguys/intl/resources/language/az.json
@@ -36,6 +36,7 @@
"zh": "çin",
"da": "danimarka",
"dyo": "diola",
+ "doi": "doqri",
"dua": "duala",
"dz": "dzonqxa",
"ebu": "embu",
@@ -120,12 +121,14 @@
"hu": "macar",
"jmc": "maçam",
"mgh": "maxuva-meetto",
+ "mai": "maitili",
"mk": "makedon",
"kde": "makond",
"mg": "malaqas",
"ms": "malay",
"ml": "malayalam",
"mt": "malta",
+ "mni": "manipüri",
"mi": "maori",
"mr": "marathi",
"mas": "masay",
@@ -142,7 +145,9 @@
"naq": "nama",
"ne": "nepal",
"nnh": "ngiemboon",
+ "pcm": "niger kreol",
"jgo": "nqomba",
+ "no": "norveç",
"nus": "nuer",
"nn": "nünorsk norveç",
"nyn": "nyankol",
@@ -166,6 +171,8 @@
"saq": "samburu",
"sg": "sanqo",
"sbp": "sanqu",
+ "sa": "sanskrit",
+ "sat": "santal",
"ceb": "sebuan",
"seh": "sena",
"sr": "serb",
@@ -177,6 +184,7 @@
"xog": "soqa",
"so": "somali",
"sw": "suahili",
+ "su": "sundan",
"ksb": "şambala",
"lrc": "şimali luri",
"nd": "şimali ndebele",
diff --git a/vendor/commerceguys/intl/resources/language/be.json b/vendor/commerceguys/intl/resources/language/be.json
index 3a07944c4..8d5698b5a 100644
--- a/vendor/commerceguys/intl/resources/language/be.json
+++ b/vendor/commerceguys/intl/resources/language/be.json
@@ -106,6 +106,7 @@
"mi": "маары",
"mas": "маасай",
"mzn": "мазандэранская",
+ "mai": "майтхілі",
"mk": "македонская",
"kde": "макондэ",
"mgh": "макуўа-меета",
@@ -118,17 +119,20 @@
"mr": "маратхі",
"mfe": "марысьен",
"jmc": "мачамбэ",
+ "mni": "мейтэй",
"es-MX": "мексіканская іспанская",
"mer": "меру",
"mgo": "мета",
"mua": "мунданг",
"naq": "нама",
+ "no": "нарвежская",
"nb": "нарвежская (букмол)",
"nn": "нарвежская (нюношк)",
"nnh": "нг’ембон",
"jgo": "нгомба",
"nmg": "нгумба",
"ne": "непальская",
+ "pcm": "нігерыйскі піджын",
"nl": "нідэрландская",
"nds": "ніжненямецкая",
"nds-NL": "ніжнесаксонская",
@@ -155,6 +159,8 @@
"saq": "самбуру",
"sg": "санга",
"sbp": "сангу",
+ "sa": "санскрыт",
+ "sat": "санталі",
"ceb": "себуана",
"seh": "сена",
"sr": "сербская",
@@ -165,6 +171,7 @@
"xog": "сога",
"zgh": "стандартная мараканская тамазіхт",
"sw": "суахілі",
+ "su": "сунда",
"ii": "сычуаньская йі",
"tzm": "сярэднеатлаская тамазігхт",
"tg": "таджыкская",
@@ -215,5 +222,6 @@
"jv": "яванская",
"sah": "якуцкая",
"yav": "янгбэн",
- "ja": "японская"
+ "ja": "японская",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bg.json b/vendor/commerceguys/intl/resources/language/bg.json
index 46b79c821..6cc5e62ce 100644
--- a/vendor/commerceguys/intl/resources/language/bg.json
+++ b/vendor/commerceguys/intl/resources/language/bg.json
@@ -1,13 +1,11 @@
{
+ "en-AU": "австралийски английски",
"agq": "агем",
"az": "азербайджански",
"ak": "акан",
"sq": "албански",
"am": "амхарски",
"en": "английски",
- "en-AU": "английски (Австралия)",
- "en-CA": "английски (Канада)",
- "en-GB": "английски (Обединено кралство)",
"ar": "арабски",
"hy": "арменски",
"as": "асамски",
@@ -26,6 +24,7 @@
"brx": "бодо",
"bs": "босненски",
"br": "бретонски",
+ "en-GB": "британски английски",
"bg": "български",
"vai": "ваи",
"wae": "валзерски немски",
@@ -44,6 +43,7 @@
"da": "датски",
"dz": "дзонгкха",
"dyo": "диола-фони",
+ "doi": "догри",
"dsb": "долнолужишки",
"nds": "долнонемски",
"nds-NL": "долносаксонски",
@@ -73,6 +73,7 @@
"kkj": "како",
"kln": "календжин",
"kam": "камба",
+ "en-CA": "канадски английски",
"kn": "каннада",
"yue": "кантонски",
"ca": "каталонски",
@@ -91,8 +92,8 @@
"kok": "конкани",
"ko": "корейски",
"kw": "корнуолски",
- "xh": "ксоса",
"km": "кхмерски",
+ "xh": "кхоса",
"ksh": "кьолнски",
"ku": "кюрдски",
"ckb": "кюрдски (централен)",
@@ -107,6 +108,7 @@
"luy": "лухя",
"lb": "люксембургски",
"mzn": "мазандерански",
+ "mai": "майтхили",
"mk": "македонски",
"kde": "маконде",
"mgh": "макуа мето",
@@ -114,6 +116,7 @@
"ml": "малаялам",
"mg": "малгашки",
"mt": "малтийски",
+ "mni": "манипурски",
"mi": "маорски",
"mr": "марати",
"mas": "масайски",
@@ -131,7 +134,9 @@
"de-AT": "немски (Австрия)",
"de-CH": "немски (Швейцария)",
"ne": "непалски",
+ "pcm": "нигерийски пиджин",
"nl": "нидерландски",
+ "no": "норвежки",
"nb": "норвежки (букмол)",
"nn": "норвежки (нюношк)",
"nus": "нуер",
@@ -151,10 +156,12 @@
"ro": "румънски",
"rn": "рунди",
"ru": "руски",
- "sah": "сакха",
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
+ "sah": "саха",
"ceb": "себуански",
"lrc": "северен лури",
"nd": "северен ндебеле",
@@ -169,6 +176,7 @@
"sr": "сръбски",
"zgh": "стандартен марокански тамазигт",
"sw": "суахили",
+ "su": "сундански",
"ii": "съчуански йи",
"tg": "таджикски",
"dav": "таита",
diff --git a/vendor/commerceguys/intl/resources/language/bn-IN.json b/vendor/commerceguys/intl/resources/language/bn-IN.json
index 3149a9292..849d5a8d4 100644
--- a/vendor/commerceguys/intl/resources/language/bn-IN.json
+++ b/vendor/commerceguys/intl/resources/language/bn-IN.json
@@ -96,6 +96,7 @@
"xh": "জোসা",
"to": "টোঙ্গান",
"da": "ডেনিশ",
+ "doi": "ডোগরি",
"dav": "তাইতা",
"shi": "তাচেলহিত",
"tg": "তাজিক",
@@ -110,8 +111,10 @@
"teo": "তেসো",
"th": "থাই",
"dua": "দুয়ালা",
+ "nn": "নরওয়েজিয়ান নিনর্স্ক",
"nb": "নরওয়েজিয়ান বোকমাল",
- "nn": "নরওয়েজীয়ান নিনর্স্ক",
+ "no": "নরওয়েজীয়",
+ "pcm": "নাইজেরিয় পিজিন",
"naq": "নামা",
"nnh": "নিঙ্গেম্বুন",
"nds": "নিম্ন জার্মানি",
@@ -150,6 +153,7 @@
"vi": "ভিয়েতনামী",
"vun": "ভুঞ্জো",
"mn": "মঙ্গোলিয়",
+ "mni": "মণিপুরী",
"ckb": "মধ্য কুর্দিশ",
"mfe": "মরিসিয়ান",
"ro-MD": "মলদাভিয়",
@@ -167,6 +171,7 @@
"mua": "মুদাঙ্গ",
"mgo": "মেটা",
"mer": "মেরু",
+ "mai": "মৈথিলি",
"es-MX": "ম্যাক্সিকান স্প্যানিশ",
"mk": "ম্যাসিডোনীয়",
"rof": "রম্বো",
@@ -190,7 +195,9 @@
"sah": "শাখা",
"ksb": "শাম্বালা",
"sn": "শোনা",
+ "sa": "সংস্কৃত",
"zh-Hans": "সরলীকৃত চীনা",
+ "sat": "সাঁওতালি",
"sbp": "সাঙ্গু",
"sg": "সাঙ্গো",
"saq": "সামবুরু",
@@ -202,6 +209,7 @@
"gsw": "সুইস জার্মান",
"fr-CH": "সুইস ফরাসি",
"de-CH": "সুইস হাই জার্মান",
+ "su": "সুদানী",
"seh": "সেনা",
"tzm": "সেন্ট্রাল আটলাস তামাজিগাত",
"xog": "সোগা",
diff --git a/vendor/commerceguys/intl/resources/language/bn.json b/vendor/commerceguys/intl/resources/language/bn.json
index 53c5c3152..1243433c3 100644
--- a/vendor/commerceguys/intl/resources/language/bn.json
+++ b/vendor/commerceguys/intl/resources/language/bn.json
@@ -96,6 +96,7 @@
"xh": "জোসা",
"to": "টোঙ্গান",
"da": "ডেনিশ",
+ "doi": "ডোগরি",
"dav": "তাইতা",
"shi": "তাচেলহিত",
"tg": "তাজিক",
@@ -110,8 +111,10 @@
"teo": "তেসো",
"th": "থাই",
"dua": "দুয়ালা",
+ "nn": "নরওয়েজিয়ান নিনর্স্ক",
"nb": "নরওয়েজিয়ান বোকমাল",
- "nn": "নরওয়েজীয়ান নিনর্স্ক",
+ "no": "নরওয়েজীয়",
+ "pcm": "নাইজেরিয় পিজিন",
"naq": "নামা",
"nnh": "নিঙ্গেম্বুন",
"nds": "নিম্ন জার্মানি",
@@ -150,6 +153,7 @@
"vi": "ভিয়েতনামী",
"vun": "ভুঞ্জো",
"mn": "মঙ্গোলিয়",
+ "mni": "মণিপুরী",
"ckb": "মধ্য কুর্দিশ",
"mfe": "মরিসিয়ান",
"ro-MD": "মলদাভিয়",
@@ -167,6 +171,7 @@
"mua": "মুদাঙ্গ",
"mgo": "মেটা",
"mer": "মেরু",
+ "mai": "মৈথিলি",
"es-MX": "ম্যাক্সিকান স্প্যানিশ",
"mk": "ম্যাসিডোনীয়",
"rof": "রম্বো",
@@ -190,7 +195,9 @@
"sah": "শাখা",
"ksb": "শাম্বালা",
"sn": "শোনা",
+ "sa": "সংস্কৃত",
"zh-Hans": "সরলীকৃত চীনা",
+ "sat": "সাঁওতালি",
"sbp": "সাঙ্গু",
"sg": "সাঙ্গো",
"saq": "সামবুরু",
@@ -202,6 +209,7 @@
"gsw": "সুইস জার্মান",
"fr-CH": "সুইস ফরাসি",
"de-CH": "সুইস হাই জার্মান",
+ "su": "সুদানী",
"seh": "সেনা",
"tzm": "সেন্ট্রাল আটলাস তামাজিগাত",
"xog": "সোগা",
diff --git a/vendor/commerceguys/intl/resources/language/brx.json b/vendor/commerceguys/intl/resources/language/brx.json
index afe43b66c..3d011acc4 100644
--- a/vendor/commerceguys/intl/resources/language/brx.json
+++ b/vendor/commerceguys/intl/resources/language/brx.json
@@ -32,6 +32,7 @@
"naq": "Nama",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"lrc": "Northern Luri",
"nus": "Nuer",
"rof": "Rombo",
@@ -122,6 +123,7 @@
"nl": "डच्",
"dua": "डुआला",
"da": "डैनीश्",
+ "doi": "डोगरी",
"ta": "तमिळ",
"tg": "ताजिक्",
"ti": "तिग्रीन्या",
@@ -134,6 +136,7 @@
"nds-NL": "नीजी स्तरिय जर्मन (नेदरलैण्ड)",
"ne": "नेपाली",
"nn": "नॉर्वेजियन् नीनॉर्स्क्",
+ "no": "नॉर्वेजीयन्",
"nb": "नोर्वेगी बोकमाल",
"nyn": "न्यानकोले",
"ps": "पख़्तु",
@@ -164,6 +167,7 @@
"bs": "बोस्नियाई",
"br": "ब्रटों",
"dz": "भुटानी",
+ "mni": "मणीपुरी",
"mr": "मराठी",
"ml": "मलयालम",
"ms": "मलाय",
@@ -171,6 +175,7 @@
"mi": "माओरी",
"mt": "मालटीज़्",
"mg": "मालागासी",
+ "mai": "मैथीली",
"mk": "मैसेडोनियन्",
"mn": "मोंगोलियन",
"ro-MD": "मोल्डेवियन्",
@@ -195,11 +200,14 @@
"cy": "वैल्श्",
"wo": "वोलोफ",
"sn": "शोना",
+ "sat": "संताली",
"sr": "सर्बियन्",
+ "sa": "संस्कृत्",
"sg": "सांग्रो",
"sd": "सिंधी",
"ii": "सीचुआन् यी",
"si": "सींहाला",
+ "su": "सुन्दानी",
"so": "सोमाली",
"dsb": "सोर्बियन्",
"gd": "स्कॉट्स् गैलिक्",
diff --git a/vendor/commerceguys/intl/resources/language/bs-Cyrl.json b/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
index 412a742d4..47b2cf618 100644
--- a/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
@@ -38,6 +38,7 @@
"guz": "гуси",
"gu": "гуџарати",
"da": "дански",
+ "doi": "догри",
"dsb": "доњолужичкосрпски",
"dua": "дуала",
"ee": "еве",
@@ -105,6 +106,7 @@
"luo": "луо",
"hu": "мађарски",
"mzn": "мазандерани",
+ "mai": "маитили",
"mk": "македонски",
"kde": "маконде",
"mgh": "макуа-мето",
@@ -112,6 +114,7 @@
"ml": "малајалам",
"ms": "малајски",
"mt": "малтешки",
+ "mni": "манипури",
"mi": "маорски",
"mr": "марати",
"mas": "масаи",
@@ -128,6 +131,7 @@
"ne": "непалски",
"nds": "ниски њемачки",
"nds-NL": "ниски њемачки (Холандија)",
+ "no": "норвешки",
"nb": "норвешки бокмал",
"nn": "норвешки нинорск",
"nus": "нуер",
@@ -153,6 +157,8 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
"sw": "свахили",
"sw-CD": "свахили (Демократска Република Конго)",
"seh": "сена",
@@ -168,6 +174,7 @@
"so": "сомалски",
"sr": "српски",
"zgh": "стандардни марокански тамазихт",
+ "su": "сундански",
"dav": "таита",
"th": "тајландски",
"ta": "тамилски",
@@ -215,5 +222,6 @@
"sn": "шона",
"es": "шпански",
"es-419": "шпански (Латинска Америка)",
- "es-MX": "шпански (Мексико)"
+ "es-MX": "шпански (Мексико)",
+ "pcm": "Nigerian Pidgin"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bs.json b/vendor/commerceguys/intl/resources/language/bs.json
index f51f33bdb..fdff16da9 100644
--- a/vendor/commerceguys/intl/resources/language/bs.json
+++ b/vendor/commerceguys/intl/resources/language/bs.json
@@ -31,6 +31,7 @@
"cs": "češki",
"cgg": "čiga",
"da": "danski",
+ "doi": "dogri",
"dsb": "donjolužičkosrpski",
"nds": "donjonjemački",
"nds-NL": "donjosaksonski",
@@ -117,6 +118,7 @@
"lb": "luksemburški",
"luo": "Luo",
"hu": "mađarski",
+ "mai": "maitili",
"jmc": "makame",
"mk": "makedonski",
"kde": "makonde",
@@ -125,6 +127,7 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
+ "mni": "manipuri",
"mi": "maorski",
"mr": "marati",
"mas": "masai",
@@ -139,6 +142,8 @@
"ne": "nepalski",
"nnh": "ngiembon",
"jgo": "ngomba",
+ "pcm": "nigerijski pidžin",
+ "no": "norveški",
"nb": "norveški (Bokmal)",
"nn": "norveški (Nynorsk)",
"nus": "nuer",
@@ -164,6 +169,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"seh": "sena",
"ii": "sičuan ji",
"sd": "sindi",
@@ -177,6 +184,7 @@
"so": "somalski",
"sr": "srpski",
"zgh": "standardni marokanski tamazigt",
+ "su": "sundanski",
"sw": "svahili",
"sw-CD": "svahili (Demokratska Republika Kongo)",
"ksb": "šambala",
diff --git a/vendor/commerceguys/intl/resources/language/ca.json b/vendor/commerceguys/intl/resources/language/ca.json
index 326128f54..be4fc4fa9 100644
--- a/vendor/commerceguys/intl/resources/language/ca.json
+++ b/vendor/commerceguys/intl/resources/language/ca.json
@@ -51,6 +51,7 @@
"hr": "croat",
"da": "danès",
"dyo": "diola",
+ "doi": "dogri",
"dua": "douala",
"dz": "dzongka",
"ebu": "embu",
@@ -78,7 +79,7 @@
"lg": "ganda",
"ka": "georgià",
"el": "grec",
- "kl": "grenlandès",
+ "kl": "groenlandès",
"gu": "gujarati",
"guz": "gusí",
"ha": "haussa",
@@ -121,12 +122,14 @@
"luy": "luyia",
"mk": "macedoni",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-metto",
"kde": "makonde",
"ms": "malai",
"ml": "malaiàlam",
"mg": "malgaix",
"mt": "maltès",
+ "mni": "manipurí",
"mi": "maori",
"mr": "marathi",
"mas": "massai",
@@ -143,6 +146,7 @@
"ne": "nepalès",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruec",
"nb": "noruec bokmål",
"nn": "noruec nynorsk",
"nus": "nuer",
@@ -154,6 +158,7 @@
"pa": "panjabi",
"asa": "pare",
"fa": "persa",
+ "pcm": "pidgin de Nigèria",
"pl": "polonès",
"pt": "portuguès",
"pt-PT": "portuguès de Portugal",
@@ -170,6 +175,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sànscrit",
+ "sat": "santali",
"seh": "sena",
"sr": "serbi",
"ksb": "shambala",
@@ -178,6 +185,7 @@
"si": "singalès",
"xog": "soga",
"so": "somali",
+ "su": "sondanès",
"ses": "songhai oriental",
"sw": "suahili",
"sw-CD": "suahili del Congo",
diff --git a/vendor/commerceguys/intl/resources/language/ce.json b/vendor/commerceguys/intl/resources/language/ce.json
index 402e779ba..7b4cf3c3b 100644
--- a/vendor/commerceguys/intl/resources/language/ce.json
+++ b/vendor/commerceguys/intl/resources/language/ce.json
@@ -1,4 +1,6 @@
{
+ "doi": "Dogri",
+ "no": "Norwegian",
"en-AU": "Австралин ингалсан",
"de-AT": "австрин немцойн",
"agq": "агхӀем",
@@ -109,6 +111,7 @@
"lb": "люксембургхойн",
"mfe": "маврикин креолийн",
"mzn": "мазандеранхойн",
+ "mai": "майтхили",
"mk": "македонхойн",
"kde": "маконде",
"mgh": "макуа-меетто",
@@ -117,6 +120,7 @@
"ml": "малаялам",
"fy": "малхбузен-фризийн",
"mt": "мальтойн",
+ "mni": "манипурийн",
"mi": "маори",
"mr": "маратхи",
"mas": "масаи",
@@ -133,6 +137,7 @@
"jgo": "нгомба",
"de": "немцойн",
"ne": "непалхойн",
+ "pcm": "нигерийн-креолийн",
"nb": "норвегийн букмол",
"nn": "норвегийн нюнорск",
"ce": "нохчийн",
@@ -153,6 +158,8 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
"ceb": "себуано",
"seh": "сена",
"sr": "сербийн",
@@ -165,6 +172,7 @@
"dsb": "сорбийн",
"sw": "суахили",
"sw-CD": "суахили (Конго)",
+ "su": "сунданхойн",
"ii": "сычуань",
"tg": "таджикийн",
"dav": "таита",
diff --git a/vendor/commerceguys/intl/resources/language/cs.json b/vendor/commerceguys/intl/resources/language/cs.json
index 4efa09e32..a26a0ed0f 100644
--- a/vendor/commerceguys/intl/resources/language/cs.json
+++ b/vendor/commerceguys/intl/resources/language/cs.json
@@ -35,6 +35,7 @@
"zh-Hant": "čínština (tradiční)",
"zh-Hans": "čínština (zjednodušená)",
"da": "dánština",
+ "doi": "dogarština",
"dsb": "dolnolužická srbština",
"nds": "dolnoněmčina",
"nds-NL": "dolnosaština",
@@ -116,6 +117,7 @@
"luo": "luoština",
"lrc": "lúrština (severní)",
"hu": "maďarština",
+ "mai": "maithiliština",
"mk": "makedonština",
"mgh": "makhuwa-meetto",
"kde": "makonde",
@@ -123,6 +125,7 @@
"ms": "malajština",
"mg": "malgaština",
"mt": "maltština",
+ "mni": "manipurština",
"mi": "maorština",
"mr": "maráthština",
"mas": "masajština",
@@ -145,7 +148,9 @@
"ne": "nepálština",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nigerijský pidžin",
"nl": "nizozemština",
+ "no": "norština",
"nb": "norština (bokmål)",
"nn": "norština (nynorsk)",
"nus": "nuerština",
@@ -168,6 +173,8 @@
"se": "sámština (severní)",
"sbp": "sangoština",
"sg": "sangština",
+ "sa": "sanskrt",
+ "sat": "santálština",
"seh": "sena",
"sd": "sindhština",
"si": "sinhálština",
@@ -177,6 +184,7 @@
"xog": "sogština",
"so": "somálština",
"sr": "srbština",
+ "su": "sundština",
"sw": "svahilština",
"sw-CD": "svahilština (Kongo)",
"ksb": "šambala",
diff --git a/vendor/commerceguys/intl/resources/language/cy.json b/vendor/commerceguys/intl/resources/language/cy.json
index 490fedbb1..8d858c8d0 100644
--- a/vendor/commerceguys/intl/resources/language/cy.json
+++ b/vendor/commerceguys/intl/resources/language/cy.json
@@ -48,6 +48,7 @@
"km": "Chmereg",
"da": "Daneg",
"dua": "Diwaleg",
+ "doi": "Dogri",
"dz": "Dzongkha",
"it": "Eidaleg",
"ebu": "Embw",
@@ -115,11 +116,13 @@
"br": "Llydaweg",
"mk": "Macedoneg",
"kde": "Macondeg",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"mg": "Malagaseg",
"ml": "Malayalam",
"ms": "Maleieg",
"mt": "Malteg",
+ "mni": "Manipwri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -135,6 +138,7 @@
"nd": "Ndebele Gogleddol",
"ne": "Nepaleg",
"nyn": "Niancole",
+ "no": "Norwyeg",
"nb": "Norwyeg Bokmål",
"nn": "Norwyeg Nynorsk",
"nus": "Nŵereg",
@@ -144,8 +148,9 @@
"os": "Oseteg",
"ps": "Pashto",
"fa": "Perseg",
- "pt": "Portiwgeeg",
- "pt-PT": "Portiwgeeg Ewrop",
+ "pcm": "Pidgin Nigeria",
+ "pt": "Portiwgaleg",
+ "pt-PT": "Portiwgaleg Ewrop",
"pa": "Pwnjabeg",
"pl": "Pwyleg",
"qu": "Quechua",
@@ -165,6 +170,8 @@
"sah": "Sakha",
"saq": "Sambŵrw",
"se": "Sami Gogleddol",
+ "sa": "Sansgrit",
+ "sat": "Santali",
"dje": "Sarmaeg",
"es": "Sbaeneg",
"es-419": "Sbaeneg America Ladin",
@@ -185,10 +192,11 @@
"sw-CD": "Swahili’r Congo",
"sv": "Swedeg",
"zu": "Swlw",
+ "su": "Swndaneg",
"shi": "Tachelhit",
"dav": "Taita",
"tg": "Tajiceg",
- "zgh": "Tamaseit Safonol",
+ "zgh": "Tamaseit Moroco Safonol",
"tzm": "Tamazight Canol yr Atlas",
"ta": "Tamileg",
"twq": "Tasawaq",
diff --git a/vendor/commerceguys/intl/resources/language/da.json b/vendor/commerceguys/intl/resources/language/da.json
index ed719000a..f5c971f59 100644
--- a/vendor/commerceguys/intl/resources/language/da.json
+++ b/vendor/commerceguys/intl/resources/language/da.json
@@ -19,6 +19,7 @@
"bez": "bena",
"bn": "bengali",
"brx": "bodo",
+ "nb": "bokmål",
"bs": "bosnisk",
"br": "bretonsk",
"en-GB": "britisk engelsk",
@@ -34,6 +35,7 @@
"sw-CD": "congolesisk swahili",
"kw": "cornisk",
"da": "dansk",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"smn": "enaresamisk",
@@ -47,7 +49,7 @@
"nl-BE": "flamsk",
"zh-Hans": "forenklet kinesisk",
"fr": "fransk",
- "fur": "friulian",
+ "fur": "friulisk",
"ff": "fulah",
"fo": "færøsk",
"gl": "galicisk",
@@ -66,9 +68,9 @@
"ig": "igbo",
"id": "indonesisk",
"ga": "irsk",
- "xh": "isiXhosa",
"is": "islandsk",
"it": "italiensk",
+ "sah": "jakutisk",
"ja": "japansk",
"jv": "javanesisk",
"yi": "jiddisch",
@@ -108,6 +110,7 @@
"lb": "luxembourgsk",
"luy": "luyana",
"jmc": "machame",
+ "mai": "maithili",
"mk": "makedonsk",
"mgh": "makhuwa-meetto",
"kde": "makonde",
@@ -115,6 +118,7 @@
"ms": "malajisk",
"ml": "malayalam",
"mt": "maltesisk",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathisk",
"mas": "masai",
@@ -133,10 +137,11 @@
"ne": "nepalesisk",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nigeriansk pidgin",
"lrc": "nordluri",
"nd": "nordndebele",
"se": "nordsamisk",
- "nb": "norsk bokmål",
+ "no": "norsk",
"nus": "nuer",
"nyn": "nyankole",
"nn": "nynorsk",
@@ -158,6 +163,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"de-CH": "schweizerhøjtysk",
"gsw": "schweizertysk",
"fr-CH": "schweizisk fransk",
@@ -175,6 +182,7 @@
"so": "somali",
"ckb": "sorani",
"es": "spansk",
+ "su": "sundanesisk",
"sv": "svensk",
"sw": "swahili",
"shi": "tachelhit",
@@ -209,7 +217,7 @@
"cy": "walisisk",
"wae": "walsertysk",
"wo": "wolof",
- "sah": "yakut",
+ "xh": "xhosa",
"yav": "yangben",
"yo": "yoruba",
"dje": "zarma",
diff --git a/vendor/commerceguys/intl/resources/language/de-AT.json b/vendor/commerceguys/intl/resources/language/de-AT.json
index 661028680..f6088abd9 100644
--- a/vendor/commerceguys/intl/resources/language/de-AT.json
+++ b/vendor/commerceguys/intl/resources/language/de-AT.json
@@ -8,12 +8,13 @@
"hy": "Armenisch",
"az": "Aserbaidschanisch",
"as": "Assamesisch",
- "ast": "Asturianisch",
+ "ast": "Asturisch",
"asa": "Asu",
"ksf": "Bafia",
"bm": "Bambara",
- "bas": "Basaa",
"eu": "Baskisch",
+ "bas": "Bassa",
+ "be": "Belarussisch",
"bem": "Bemba",
"bez": "Bena",
"bn": "Bengalisch",
@@ -30,6 +31,7 @@
"da": "Dänisch",
"de": "Deutsch",
"dyo": "Diola",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -50,6 +52,7 @@
"fur": "Friulanisch",
"ff": "Ful",
"gl": "Galicisch",
+ "gd": "Gälisch (Schottland)",
"lg": "Ganda",
"ka": "Georgisch",
"el": "Griechisch",
@@ -105,9 +108,10 @@
"luo": "Luo",
"lb": "Luxemburgisch",
"jmc": "Machame",
- "mg": "Madagassisch",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
+ "mg": "Malagasy",
"ms": "Malaiisch",
"ml": "Malayalam",
"mt": "Maltesisch",
@@ -116,6 +120,7 @@
"mzn": "Masanderanisch",
"mas": "Massai",
"mk": "Mazedonisch",
+ "mni": "Meithei",
"mer": "Meru",
"mgo": "Meta’",
"ro-MD": "Moldauisch",
@@ -130,11 +135,13 @@
"nl": "Niederländisch",
"nds-NL": "Niedersächsisch",
"dsb": "Niedersorbisch",
+ "pcm": "Nigerianisches Pidgin",
"nd": "Nord-Ndebele",
"lrc": "Nördliches Luri",
"se": "Nordsamisch",
- "nb": "Norwegisch Bokmål",
- "nn": "Norwegisch Nynorsk",
+ "no": "Norwegisch",
+ "nb": "Norwegisch (Bokmål)",
+ "nn": "Norwegisch (Nynorsk)",
"nus": "Nuer",
"nyn": "Nyankole",
"hsb": "Obersorbisch",
@@ -159,7 +166,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
- "gd": "Schottisches Gälisch",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"sv": "Schwedisch",
"de-CH": "Schweizer Hochdeutsch",
"gsw": "Schweizerdeutsch",
@@ -177,6 +185,7 @@
"es-419": "Spanisch (Lateinamerika)",
"es-MX": "Spanisch (Mexiko)",
"sw": "Suaheli",
+ "su": "Sundanesisch",
"tg": "Tadschikisch",
"dav": "Taita",
"zgh": "Tamazight",
@@ -205,7 +214,6 @@
"cy": "Walisisch",
"wae": "Walliserdeutsch",
"wa": "Wallonisch",
- "be": "Weißrussisch",
"fy": "Westfriesisch",
"wo": "Wolof",
"xh": "Xhosa",
diff --git a/vendor/commerceguys/intl/resources/language/de-CH.json b/vendor/commerceguys/intl/resources/language/de-CH.json
index 40b0e9502..fa26088ac 100644
--- a/vendor/commerceguys/intl/resources/language/de-CH.json
+++ b/vendor/commerceguys/intl/resources/language/de-CH.json
@@ -8,12 +8,13 @@
"hy": "Armenisch",
"az": "Aserbaidschanisch",
"as": "Assamesisch",
- "ast": "Asturianisch",
+ "ast": "Asturisch",
"asa": "Asu",
"ksf": "Bafia",
"bm": "Bambara",
"bas": "Basaa-Sprache",
"eu": "Baskisch",
+ "be": "Belarussisch",
"bem": "Bemba",
"bez": "Bena",
"bn": "Bengalisch",
@@ -30,6 +31,7 @@
"da": "Dänisch",
"de": "Deutsch",
"dyo": "Diola",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -50,6 +52,7 @@
"fur": "Friaulisch",
"ff": "Ful",
"gl": "Galicisch",
+ "gd": "Gälisch (Schottland)",
"lg": "Ganda",
"ka": "Georgisch",
"el": "Griechisch",
@@ -105,9 +108,10 @@
"luo": "Luo",
"lb": "Luxemburgisch",
"jmc": "Machame",
- "mg": "Madagassisch",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
+ "mg": "Malagasy",
"ms": "Malaiisch",
"ml": "Malayalam",
"mt": "Maltesisch",
@@ -116,6 +120,7 @@
"mzn": "Masanderanisch",
"mas": "Massai",
"mk": "Mazedonisch",
+ "mni": "Meithei",
"mer": "Meru",
"mgo": "Meta’",
"ro-MD": "Moldauisch",
@@ -130,11 +135,13 @@
"nl": "Niederländisch",
"nds-NL": "Niedersächsisch",
"dsb": "Niedersorbisch",
+ "pcm": "Nigerianisches Pidgin",
"nd": "Nord-Ndebele",
"lrc": "Nördliches Luri",
"se": "Nordsamisch",
- "nb": "Norwegisch Bokmål",
- "nn": "Norwegisch Nynorsk",
+ "no": "Norwegisch",
+ "nb": "Norwegisch (Bokmål)",
+ "nn": "Norwegisch (Nynorsk)",
"nus": "Nuer",
"nyn": "Nyankole",
"hsb": "Obersorbisch",
@@ -159,7 +166,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
- "gd": "Schottisches Gälisch",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"sv": "Schwedisch",
"de-CH": "Schweizer Hochdeutsch",
"gsw": "Schweizerdeutsch",
@@ -177,6 +185,7 @@
"es-419": "Spanisch (Lateinamerika)",
"es-MX": "Spanisch (Mexiko)",
"sw": "Suaheli",
+ "su": "Sundanesisch",
"tg": "Tadschikisch",
"dav": "Taita",
"zgh": "Tamazight",
@@ -205,7 +214,6 @@
"cy": "Walisisch",
"wae": "Walliserdeutsch",
"wa": "Wallonisch",
- "be": "Weissrussisch",
"fy": "Westfriesisch",
"wo": "Wolof",
"xh": "Xhosa",
diff --git a/vendor/commerceguys/intl/resources/language/de-LU.json b/vendor/commerceguys/intl/resources/language/de-LU.json
deleted file mode 100644
index fa7f656af..000000000
--- a/vendor/commerceguys/intl/resources/language/de-LU.json
+++ /dev/null
@@ -1,219 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albanisch",
- "am": "Amharisch",
- "ar": "Arabisch",
- "hy": "Armenisch",
- "az": "Aserbaidschanisch",
- "as": "Assamesisch",
- "ast": "Asturianisch",
- "asa": "Asu",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Baskisch",
- "be": "Belarussisch",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengalisch",
- "my": "Birmanisch",
- "brx": "Bodo",
- "bs": "Bosnisch",
- "br": "Bretonisch",
- "bg": "Bulgarisch",
- "ceb": "Cebuano",
- "chr": "Cherokee",
- "zh": "Chinesisch",
- "zh-Hant": "Chinesisch (traditionell)",
- "zh-Hans": "Chinesisch (vereinfacht)",
- "da": "Dänisch",
- "de": "Deutsch",
- "dyo": "Diola",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "en": "Englisch",
- "en-AU": "Englisch (Australien)",
- "en-CA": "Englisch (Kanada)",
- "en-GB": "Englisch (Vereinigtes Königreich)",
- "et": "Estnisch",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Färöisch",
- "fil": "Filipino",
- "fi": "Finnisch",
- "nl-BE": "Flämisch",
- "fr": "Französisch",
- "fr-CA": "Französisch (Kanada)",
- "fr-CH": "Französisch (Schweiz)",
- "fur": "Friaulisch",
- "ff": "Ful",
- "gl": "Galicisch",
- "lg": "Ganda",
- "ka": "Georgisch",
- "el": "Griechisch",
- "kl": "Grönländisch",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "Haussa",
- "haw": "Hawaiisch",
- "he": "Hebräisch",
- "hi": "Hindi",
- "ig": "Igbo",
- "smn": "Inari-Samisch",
- "id": "Indonesisch",
- "ga": "Irisch",
- "is": "Isländisch",
- "it": "Italienisch",
- "sah": "Jakutisch",
- "ja": "Japanisch",
- "jv": "Javanisch",
- "yi": "Jiddisch",
- "kea": "Kabuverdianu",
- "kab": "Kabylisch",
- "kkj": "Kako",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "yue": "Kantonesisch",
- "kk": "Kasachisch",
- "ks": "Kaschmiri",
- "ca": "Katalanisch",
- "km": "Khmer",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "ky": "Kirgisisch",
- "ksh": "Kölsch",
- "sw-CD": "Kongo-Swahili",
- "kok": "Konkani",
- "ko": "Koreanisch",
- "kw": "Kornisch",
- "khq": "Koyra Chiini",
- "ses": "Koyra Senni",
- "hr": "Kroatisch",
- "ku": "Kurdisch",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Laotisch",
- "lv": "Lettisch",
- "ln": "Lingala",
- "lt": "Litauisch",
- "lu": "Luba-Katanga",
- "luy": "Luhya",
- "luo": "Luo",
- "lb": "Luxemburgisch",
- "jmc": "Machame",
- "mg": "Madagassisch",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "ms": "Malaiisch",
- "ml": "Malayalam",
- "mt": "Maltesisch",
- "mi": "Maori",
- "mr": "Marathi",
- "mzn": "Masanderanisch",
- "mas": "Massai",
- "mk": "Mazedonisch",
- "mer": "Meru",
- "mgo": "Meta’",
- "ro-MD": "Moldauisch",
- "mn": "Mongolisch",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "ne": "Nepalesisch",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nds": "Niederdeutsch",
- "nl": "Niederländisch",
- "nds-NL": "Niedersächsisch",
- "dsb": "Niedersorbisch",
- "nd": "Nord-Ndebele",
- "lrc": "Nördliches Luri",
- "se": "Nordsamisch",
- "nb": "Norwegisch Bokmål",
- "nn": "Norwegisch Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "hsb": "Obersorbisch",
- "or": "Oriya",
- "om": "Oromo",
- "os": "Ossetisch",
- "de-AT": "Österreichisches Deutsch",
- "ps": "Paschtu",
- "fa": "Persisch",
- "pl": "Polnisch",
- "pt": "Portugiesisch",
- "pt-PT": "Portugiesisch (Portugal)",
- "pa": "Punjabi",
- "qu": "Quechua",
- "rm": "Rätoromanisch",
- "rof": "Rombo",
- "cgg": "Rukiga",
- "ro": "Rumänisch",
- "rn": "Rundi",
- "ru": "Russisch",
- "rwk": "Rwa",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Schottisches Gälisch",
- "sv": "Schwedisch",
- "de-CH": "Schweizer Hochdeutsch",
- "gsw": "Schweizerdeutsch",
- "seh": "Sena",
- "sr": "Serbisch",
- "ksb": "Shambala",
- "sn": "Shona",
- "sd": "Sindhi",
- "si": "Singhalesisch",
- "sk": "Slowakisch",
- "sl": "Slowenisch",
- "xog": "Soga",
- "so": "Somali",
- "es": "Spanisch",
- "es-419": "Spanisch (Lateinamerika)",
- "es-MX": "Spanisch (Mexiko)",
- "sw": "Suaheli",
- "tg": "Tadschikisch",
- "dav": "Taita",
- "zgh": "Tamazight",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "shi": "Taschelhit",
- "tt": "Tatarisch",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thailändisch",
- "bo": "Tibetisch",
- "ti": "Tigrinya",
- "to": "Tongaisch",
- "cs": "Tschechisch",
- "ce": "Tschetschenisch",
- "tr": "Türkisch",
- "tk": "Turkmenisch",
- "ug": "Uigurisch",
- "uk": "Ukrainisch",
- "hu": "Ungarisch",
- "ur": "Urdu",
- "uz": "Usbekisch",
- "vai": "Vai",
- "vi": "Vietnamesisch",
- "vun": "Vunjo",
- "cy": "Walisisch",
- "wae": "Walliserdeutsch",
- "wa": "Wallonisch",
- "fy": "Westfriesisch",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "ii": "Yi",
- "yo": "Yoruba",
- "dje": "Zarma",
- "tzm": "Zentralatlas-Tamazight",
- "ckb": "Zentralkurdisch",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/de.json b/vendor/commerceguys/intl/resources/language/de.json
index a03589bac..6d2d5a57c 100644
--- a/vendor/commerceguys/intl/resources/language/de.json
+++ b/vendor/commerceguys/intl/resources/language/de.json
@@ -8,12 +8,13 @@
"hy": "Armenisch",
"az": "Aserbaidschanisch",
"as": "Assamesisch",
- "ast": "Asturianisch",
+ "ast": "Asturisch",
"asa": "Asu",
"ksf": "Bafia",
"bm": "Bambara",
- "bas": "Basaa",
"eu": "Baskisch",
+ "bas": "Bassa",
+ "be": "Belarussisch",
"bem": "Bemba",
"bez": "Bena",
"bn": "Bengalisch",
@@ -30,6 +31,7 @@
"da": "Dänisch",
"de": "Deutsch",
"dyo": "Diola",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -50,6 +52,7 @@
"fur": "Friaulisch",
"ff": "Ful",
"gl": "Galicisch",
+ "gd": "Gälisch (Schottland)",
"lg": "Ganda",
"ka": "Georgisch",
"el": "Griechisch",
@@ -105,9 +108,10 @@
"luo": "Luo",
"lb": "Luxemburgisch",
"jmc": "Machame",
- "mg": "Madagassisch",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
+ "mg": "Malagasy",
"ms": "Malaiisch",
"ml": "Malayalam",
"mt": "Maltesisch",
@@ -116,6 +120,7 @@
"mzn": "Masanderanisch",
"mas": "Massai",
"mk": "Mazedonisch",
+ "mni": "Meithei",
"mer": "Meru",
"mgo": "Meta’",
"ro-MD": "Moldauisch",
@@ -130,11 +135,13 @@
"nl": "Niederländisch",
"nds-NL": "Niedersächsisch",
"dsb": "Niedersorbisch",
+ "pcm": "Nigerianisches Pidgin",
"nd": "Nord-Ndebele",
"lrc": "Nördliches Luri",
"se": "Nordsamisch",
- "nb": "Norwegisch Bokmål",
- "nn": "Norwegisch Nynorsk",
+ "no": "Norwegisch",
+ "nb": "Norwegisch (Bokmål)",
+ "nn": "Norwegisch (Nynorsk)",
"nus": "Nuer",
"nyn": "Nyankole",
"hsb": "Obersorbisch",
@@ -159,7 +166,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
- "gd": "Schottisches Gälisch",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"sv": "Schwedisch",
"de-CH": "Schweizer Hochdeutsch",
"gsw": "Schweizerdeutsch",
@@ -177,6 +185,7 @@
"es-419": "Spanisch (Lateinamerika)",
"es-MX": "Spanisch (Mexiko)",
"sw": "Suaheli",
+ "su": "Sundanesisch",
"tg": "Tadschikisch",
"dav": "Taita",
"zgh": "Tamazight",
@@ -205,7 +214,6 @@
"cy": "Walisisch",
"wae": "Walliserdeutsch",
"wa": "Wallonisch",
- "be": "Weißrussisch",
"fy": "Westfriesisch",
"wo": "Wolof",
"xh": "Xhosa",
diff --git a/vendor/commerceguys/intl/resources/language/dz.json b/vendor/commerceguys/intl/resources/language/dz.json
index c0367cd20..95d7a3233 100644
--- a/vendor/commerceguys/intl/resources/language/dz.json
+++ b/vendor/commerceguys/intl/resources/language/dz.json
@@ -19,6 +19,7 @@
"cgg": "Chiga",
"ksh": "Colognian",
"kw": "Cornish",
+ "doi": "Dogri",
"dua": "Duala",
"ebu": "Embu",
"ee": "Ewe",
@@ -50,8 +51,10 @@
"luo": "Luo",
"luy": "Luyia",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
+ "mni": "Manipuri",
"mas": "Masai",
"mzn": "Mazanderani",
"mer": "Meru",
@@ -63,6 +66,7 @@
"nds-NL": "nds། (ནེ་དར་ལནཌས྄།)",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
@@ -77,6 +81,7 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"ksb": "Shambala",
@@ -129,6 +134,7 @@
"th": "ཐཱའི་ཁ",
"fy": "ནུབ་ཕྼི་སི་ཡན་ཁ",
"ne": "ནེ་པཱལི་ཁ",
+ "no": "ནོར་ཝི་ཇི་ཡན་ཁ",
"nn": "ནོར་ཝེ་ཇི་ཡཱན་ནོརསཀ་ཁ",
"nb": "ནོར་ཝེ་ཇི་ཡཱན་བོཀ་མཱལ་ཁ",
"fa": "པར་ཤི་ཡཱན་ཁ",
@@ -178,6 +184,7 @@
"zh-Hant": "སྔ་དུས་ཀྱི་རྒྱ་མི་ཁ",
"sw": "སྭཱ་ཧི་ལི་ཁ",
"sw-CD": "སྭཱ་ཧི་ལི་ཁ། (ཀོང་གྷོ ཀིན་ཤ་ས།)",
+ "sa": "སཾསྐྲྀཏ་ཁ",
"sr": "སཱར་བྷི་ཡཱན་ཁ",
"si": "སིང་ཧ་ལ་ཁ",
"sd": "སིན་དཱི་ཁ",
@@ -187,6 +194,7 @@
"sk": "སུ་ལོ་བཱཀ་ཁ",
"sl": "སུ་ལོ་བི་ནི་ཡཱན་ཁ",
"sv": "སུའི་ཌིཤ་ཁ",
+ "su": "སཱུན་ད་ནིས་ཁ",
"so": "སོ་མ་ལི་ཁ",
"haw": "ཧ་ཝ་ཡིའི་ཁ",
"ha": "ཧཝ་ས་ཁ",
diff --git a/vendor/commerceguys/intl/resources/language/el.json b/vendor/commerceguys/intl/resources/language/el.json
index 0dbb8c5db..5bee2cb38 100644
--- a/vendor/commerceguys/intl/resources/language/el.json
+++ b/vendor/commerceguys/intl/resources/language/el.json
@@ -110,13 +110,14 @@
"luo": "Λούο",
"luy": "Λούχια",
"mzn": "Μαζαντεράνι",
- "mk": "Μακεδονικά",
+ "mai": "Μαϊτχίλι",
"kde": "Μακόντε",
"mgh": "Μακούβα-Μέτο",
"ml": "Μαλαγιαλαμικά",
"ms": "Μαλαισιανά",
"mg": "Μαλγασικά",
"mt": "Μαλτεζικά",
+ "mni": "Μανιπούρι",
"mi": "Μαορί",
"mr": "Μαραθικά",
"mas": "Μασάι",
@@ -138,10 +139,12 @@
"jgo": "Νγκόμπα",
"ne": "Νεπαλικά",
"nyn": "Νιανκόλε",
+ "no": "Νορβηγικά",
"nb": "Νορβηγικά Μποκμάλ",
"nn": "Νορβηγικά Νινόρσκ",
"nus": "Νούερ",
"dz": "Ντζόνγκχα",
+ "doi": "Ντόγκρι",
"dua": "Ντουάλα",
"nl": "Ολλανδικά",
"or": "Όντια",
@@ -150,13 +153,14 @@
"cy": "Ουαλικά",
"hu": "Ουγγρικά",
"uz": "Ουζμπεκικά",
- "ug": "Ουιγκουρικά",
+ "ug": "Ουιγουρικά",
"uk": "Ουκρανικά",
"ur": "Ουρντού",
"pa": "Παντζαπικά",
"zh-Hant": "Παραδοσιακά Κινεζικά",
"ps": "Πάστο",
"fa": "Περσικά",
+ "pcm": "Πίτζιν Νιγηρίας",
"pl": "Πολωνικά",
"pt": "Πορτογαλικά",
"pt-PT": "Πορτογαλικά Ευρώπης",
@@ -170,6 +174,8 @@
"saq": "Σαμπούρου",
"sg": "Σάνγκο",
"sbp": "Σάνγκου",
+ "sa": "Σανσκριτικά",
+ "sat": "Σαντάλι",
"sah": "Σαχά",
"ceb": "Σεμπουάνο",
"seh": "Σένα",
@@ -178,6 +184,7 @@
"si": "Σινχαλεζικά",
"ii": "Σίτσουαν Γι",
"gd": "Σκωτικά Κελτικά",
+ "mk": "Σλαβομακεδονικά",
"sk": "Σλοβακικά",
"sl": "Σλοβενικά",
"xog": "Σόγκα",
@@ -185,6 +192,7 @@
"sn": "Σόνα",
"sw": "Σουαχίλι",
"sv": "Σουηδικά",
+ "su": "Σουνδανικά",
"th": "Ταϊλανδικά",
"dav": "Τάιτα",
"tzm": "Ταμαζίτ Κεντρικού Μαρόκο",
diff --git a/vendor/commerceguys/intl/resources/language/en-001.json b/vendor/commerceguys/intl/resources/language/en-001.json
index 408e0bd7d..e4b4cb314 100644
--- a/vendor/commerceguys/intl/resources/language/en-001.json
+++ b/vendor/commerceguys/intl/resources/language/en-001.json
@@ -43,6 +43,7 @@
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"nl": "Dutch",
"dz": "Dzongkha",
@@ -114,12 +115,14 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -135,9 +138,11 @@
"ne": "Nepali",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -157,10 +162,11 @@
"rn": "Rundi",
"ru": "Russian",
"rwk": "Rwa",
- "sah": "Sakha",
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"sr": "Serbian",
@@ -176,6 +182,7 @@
"so": "Somali",
"es": "Spanish",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw": "Swahili",
"sv": "Swedish",
"fr-CH": "Swiss French",
@@ -211,6 +218,7 @@
"fy": "Western Frisian",
"wo": "Wolof",
"xh": "Xhosa",
+ "sah": "Yakut",
"yav": "Yangben",
"yi": "Yiddish",
"yo": "Yoruba",
diff --git a/vendor/commerceguys/intl/resources/language/en-AU.json b/vendor/commerceguys/intl/resources/language/en-AU.json
index 03732caaf..a7ef07c43 100644
--- a/vendor/commerceguys/intl/resources/language/en-AU.json
+++ b/vendor/commerceguys/intl/resources/language/en-AU.json
@@ -43,6 +43,7 @@
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"nl": "Dutch",
"dz": "Dzongkha",
@@ -114,12 +115,14 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -135,9 +138,11 @@
"ne": "Nepali",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -157,10 +162,11 @@
"rn": "Rundi",
"ru": "Russian",
"rwk": "Rwa",
- "sah": "Sakha",
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"sr": "Serbian",
@@ -176,6 +182,7 @@
"so": "Somali",
"es": "Spanish",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw": "Swahili",
"sv": "Swedish",
"fr-CH": "Swiss French",
@@ -211,6 +218,7 @@
"fy": "Western Frisian",
"wo": "Wolof",
"xh": "Xhosa",
+ "sah": "Yakut",
"yav": "Yangben",
"yi": "Yiddish",
"yo": "Yoruba",
diff --git a/vendor/commerceguys/intl/resources/language/en-CA.json b/vendor/commerceguys/intl/resources/language/en-CA.json
index e4caacc6d..bd04bad74 100644
--- a/vendor/commerceguys/intl/resources/language/en-CA.json
+++ b/vendor/commerceguys/intl/resources/language/en-CA.json
@@ -43,6 +43,7 @@
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"nl": "Dutch",
"dz": "Dzongkha",
@@ -114,12 +115,14 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -135,9 +138,11 @@
"ne": "Nepali",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -157,10 +162,11 @@
"rn": "Rundi",
"ru": "Russian",
"rwk": "Rwa",
- "sah": "Sakha",
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"sr": "Serbian",
@@ -176,6 +182,7 @@
"so": "Somali",
"es": "Spanish",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw": "Swahili",
"sv": "Swedish",
"fr-CH": "Swiss French",
@@ -211,6 +218,7 @@
"fy": "Western Frisian",
"wo": "Wolof",
"xh": "Xhosa",
+ "sah": "Yakut",
"yav": "Yangben",
"yi": "Yiddish",
"yo": "Yoruba",
diff --git a/vendor/commerceguys/intl/resources/language/en-IN.json b/vendor/commerceguys/intl/resources/language/en-IN.json
index e5cea9323..e9c87982a 100644
--- a/vendor/commerceguys/intl/resources/language/en-IN.json
+++ b/vendor/commerceguys/intl/resources/language/en-IN.json
@@ -43,6 +43,7 @@
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"nl": "Dutch",
"dz": "Dzongkha",
@@ -114,12 +115,14 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -135,9 +138,11 @@
"ne": "Nepali",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -157,10 +162,11 @@
"rn": "Rundi",
"ru": "Russian",
"rwk": "Rwa",
- "sah": "Sakha",
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"sr": "Serbian",
@@ -176,6 +182,7 @@
"so": "Somali",
"es": "Spanish",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw": "Swahili",
"sv": "Swedish",
"fr-CH": "Swiss French",
@@ -211,6 +218,7 @@
"fy": "Western Frisian",
"wo": "Wolof",
"xh": "Xhosa",
+ "sah": "Yakut",
"yav": "Yangben",
"yi": "Yiddish",
"yo": "Yoruba",
diff --git a/vendor/commerceguys/intl/resources/language/en-NZ.json b/vendor/commerceguys/intl/resources/language/en-NZ.json
index d7dc9e64b..114fe6e02 100644
--- a/vendor/commerceguys/intl/resources/language/en-NZ.json
+++ b/vendor/commerceguys/intl/resources/language/en-NZ.json
@@ -43,6 +43,7 @@
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"nl": "Dutch",
"dz": "Dzongkha",
@@ -114,12 +115,14 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Māori",
"mr": "Marathi",
"mas": "Masai",
@@ -135,9 +138,11 @@
"ne": "Nepali",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -157,10 +162,11 @@
"rn": "Rundi",
"ru": "Russian",
"rwk": "Rwa",
- "sah": "Sakha",
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"sr": "Serbian",
@@ -176,6 +182,7 @@
"so": "Somali",
"es": "Spanish",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw": "Swahili",
"sv": "Swedish",
"fr-CH": "Swiss French",
@@ -211,6 +218,7 @@
"fy": "Western Frisian",
"wo": "Wolof",
"xh": "Xhosa",
+ "sah": "Yakut",
"yav": "Yangben",
"yi": "Yiddish",
"yo": "Yoruba",
diff --git a/vendor/commerceguys/intl/resources/language/en.json b/vendor/commerceguys/intl/resources/language/en.json
index 50f754ed1..46da5d206 100644
--- a/vendor/commerceguys/intl/resources/language/en.json
+++ b/vendor/commerceguys/intl/resources/language/en.json
@@ -43,6 +43,7 @@
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"nl": "Dutch",
"dz": "Dzongkha",
@@ -115,12 +116,14 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -136,9 +139,11 @@
"ne": "Nepali",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -162,6 +167,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"sr": "Serbian",
@@ -177,6 +184,7 @@
"so": "Somali",
"es": "Spanish",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw": "Swahili",
"sv": "Swedish",
"fr-CH": "Swiss French",
diff --git a/vendor/commerceguys/intl/resources/language/es-419.json b/vendor/commerceguys/intl/resources/language/es-419.json
index 1e1fa5dd4..029b3d65a 100644
--- a/vendor/commerceguys/intl/resources/language/es-419.json
+++ b/vendor/commerceguys/intl/resources/language/es-419.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -126,12 +127,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -147,6 +150,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"pa": "panyabí",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -172,6 +177,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -180,6 +187,7 @@
"xog": "soga",
"so": "somalí",
"sv": "sueco",
+ "su": "sundanés",
"sw": "swahili",
"sw-CD": "swahili (Congo)",
"th": "tailandés",
diff --git a/vendor/commerceguys/intl/resources/language/es-AR.json b/vendor/commerceguys/intl/resources/language/es-AR.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-AR.json
+++ b/vendor/commerceguys/intl/resources/language/es-AR.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-BO.json b/vendor/commerceguys/intl/resources/language/es-BO.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-BO.json
+++ b/vendor/commerceguys/intl/resources/language/es-BO.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-CL.json b/vendor/commerceguys/intl/resources/language/es-CL.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-CL.json
+++ b/vendor/commerceguys/intl/resources/language/es-CL.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-CO.json b/vendor/commerceguys/intl/resources/language/es-CO.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-CO.json
+++ b/vendor/commerceguys/intl/resources/language/es-CO.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-CR.json b/vendor/commerceguys/intl/resources/language/es-CR.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-CR.json
+++ b/vendor/commerceguys/intl/resources/language/es-CR.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-DO.json b/vendor/commerceguys/intl/resources/language/es-DO.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-DO.json
+++ b/vendor/commerceguys/intl/resources/language/es-DO.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-EC.json b/vendor/commerceguys/intl/resources/language/es-EC.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-EC.json
+++ b/vendor/commerceguys/intl/resources/language/es-EC.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-GT.json b/vendor/commerceguys/intl/resources/language/es-GT.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-GT.json
+++ b/vendor/commerceguys/intl/resources/language/es-GT.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-HN.json b/vendor/commerceguys/intl/resources/language/es-HN.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-HN.json
+++ b/vendor/commerceguys/intl/resources/language/es-HN.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-MX.json b/vendor/commerceguys/intl/resources/language/es-MX.json
index 0d600c2fa..476a91017 100644
--- a/vendor/commerceguys/intl/resources/language/es-MX.json
+++ b/vendor/commerceguys/intl/resources/language/es-MX.json
@@ -4,7 +4,7 @@
"ak": "akan",
"sq": "albanés",
"de": "alemán",
- "de-AT": "alemán austriaco",
+ "de-AT": "alemán austríaco",
"gsw": "alemán suizo",
"de-CH": "alto alemán suizo",
"hsb": "alto sorbio",
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-NI.json b/vendor/commerceguys/intl/resources/language/es-NI.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-NI.json
+++ b/vendor/commerceguys/intl/resources/language/es-NI.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-PA.json b/vendor/commerceguys/intl/resources/language/es-PA.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-PA.json
+++ b/vendor/commerceguys/intl/resources/language/es-PA.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-PE.json b/vendor/commerceguys/intl/resources/language/es-PE.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-PE.json
+++ b/vendor/commerceguys/intl/resources/language/es-PE.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-PR.json b/vendor/commerceguys/intl/resources/language/es-PR.json
index 4c63b9691..0c4023387 100644
--- a/vendor/commerceguys/intl/resources/language/es-PR.json
+++ b/vendor/commerceguys/intl/resources/language/es-PR.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -126,12 +127,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -147,6 +150,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"pa": "panyabí",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -172,6 +177,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -180,6 +187,7 @@
"xog": "soga",
"so": "somalí",
"sv": "sueco",
+ "su": "sundanés",
"sw": "swahili",
"sw-CD": "swahili (Congo)",
"th": "tailandés",
diff --git a/vendor/commerceguys/intl/resources/language/es-PY.json b/vendor/commerceguys/intl/resources/language/es-PY.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-PY.json
+++ b/vendor/commerceguys/intl/resources/language/es-PY.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es-SV.json b/vendor/commerceguys/intl/resources/language/es-SV.json
index 4c63b9691..0c4023387 100644
--- a/vendor/commerceguys/intl/resources/language/es-SV.json
+++ b/vendor/commerceguys/intl/resources/language/es-SV.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -126,12 +127,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -147,6 +150,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"pa": "panyabí",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -172,6 +177,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -180,6 +187,7 @@
"xog": "soga",
"so": "somalí",
"sv": "sueco",
+ "su": "sundanés",
"sw": "swahili",
"sw-CD": "swahili (Congo)",
"th": "tailandés",
diff --git a/vendor/commerceguys/intl/resources/language/es-US.json b/vendor/commerceguys/intl/resources/language/es-US.json
index 5abe4fb0a..853bb9ceb 100644
--- a/vendor/commerceguys/intl/resources/language/es-US.json
+++ b/vendor/commerceguys/intl/resources/language/es-US.json
@@ -20,7 +20,7 @@
"nds-NL": "bajo sajón",
"dsb": "bajo sorbio",
"bm": "bambara",
- "bas": "basa",
+ "bas": "basaa",
"bem": "bemba",
"bez": "bena",
"bn": "bengalí",
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -106,7 +107,7 @@
"ki": "kikuyu",
"rw": "kinyarwanda",
"ky": "kirguís",
- "rn": "kiroundi",
+ "rn": "kirundi",
"ksh": "kölsch",
"kok": "konkaní",
"khq": "koyra chiini",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -158,6 +162,7 @@
"pa": "panyabí",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -181,6 +188,7 @@
"xog": "soga",
"so": "somalí",
"sv": "sueco",
+ "su": "sundanés",
"sw": "swahili",
"sw-CD": "swahili del Congo",
"th": "tailandés",
@@ -208,7 +216,7 @@
"vi": "vietnamita",
"vun": "vunjo",
"wae": "walser",
- "wo": "wolof",
+ "wo": "wólof",
"xh": "xhosa",
"yav": "yangben",
"ii": "yi de Sichuán",
diff --git a/vendor/commerceguys/intl/resources/language/es-VE.json b/vendor/commerceguys/intl/resources/language/es-VE.json
index e5e7bb0fc..ffcd98e5c 100644
--- a/vendor/commerceguys/intl/resources/language/es-VE.json
+++ b/vendor/commerceguys/intl/resources/language/es-VE.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/es.json b/vendor/commerceguys/intl/resources/language/es.json
index fb6adb420..5e06f3ae2 100644
--- a/vendor/commerceguys/intl/resources/language/es.json
+++ b/vendor/commerceguys/intl/resources/language/es.json
@@ -50,6 +50,7 @@
"mfe": "criollo mauriciano",
"hr": "croata",
"da": "danés",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -127,12 +128,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -148,6 +151,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruego",
"nb": "noruego bokmal",
"nn": "noruego nynorsk",
"nus": "nuer",
@@ -157,6 +161,7 @@
"os": "osético",
"ps": "pastún",
"fa": "persa",
+ "pcm": "pidgin de Nigeria",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -173,6 +178,8 @@
"se": "sami septentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -183,6 +190,7 @@
"sw": "suajili",
"sw-CD": "suajili del Congo",
"sv": "sueco",
+ "su": "sundanés",
"th": "tailandés",
"dav": "taita",
"tzm": "tamazight del Atlas Central",
diff --git a/vendor/commerceguys/intl/resources/language/et.json b/vendor/commerceguys/intl/resources/language/et.json
index d7cce82ef..ae8ff3a44 100644
--- a/vendor/commerceguys/intl/resources/language/et.json
+++ b/vendor/commerceguys/intl/resources/language/et.json
@@ -28,6 +28,7 @@
"en-GB": "Briti inglise",
"bg": "bulgaaria",
"dav": "davida",
+ "doi": "dogri",
"dz": "dzongkha",
"dua": "duala",
"et": "eesti",
@@ -110,6 +111,7 @@
"luo": "Luo",
"lv": "läti",
"fy": "läänefriisi",
+ "mai": "maithili",
"mk": "makedoonia",
"mgh": "makhuwa-meetto",
"kde": "makonde",
@@ -117,6 +119,7 @@
"ms": "malai",
"ml": "malajalami",
"mt": "malta",
+ "mni": "manipuri",
"mi": "maoori",
"mr": "marathi",
"mas": "masai",
@@ -133,7 +136,9 @@
"ne": "nepali",
"nnh": "ngiembooni",
"jgo": "ngomba",
+ "pcm": "Nigeeria pidžinkeel",
"nyn": "njankole",
+ "no": "norra",
"nb": "norra bokmål",
"nus": "nueri",
"ii": "nuosu",
@@ -160,6 +165,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskriti",
+ "sat": "santali",
"ceb": "sebu",
"seh": "sena",
"sr": "serbia",
@@ -172,6 +179,7 @@
"fi": "soome",
"ckb": "sorani",
"sw": "suahiili",
+ "su": "sunda",
"zu": "suulu",
"ksb": "šambala",
"shi": "šilha",
diff --git a/vendor/commerceguys/intl/resources/language/eu.json b/vendor/commerceguys/intl/resources/language/eu.json
index e2fd1b215..4278a76bb 100644
--- a/vendor/commerceguys/intl/resources/language/eu.json
+++ b/vendor/commerceguys/intl/resources/language/eu.json
@@ -36,6 +36,7 @@
"ceb": "cebuera",
"cgg": "chigera",
"da": "daniera",
+ "doi": "Dogri",
"dua": "dualera",
"dz": "dzongkha",
"ebu": "embua",
@@ -127,12 +128,14 @@
"luo": "luoera",
"lb": "luxenburgera",
"jmc": "machame",
+ "mai": "maithilera",
"mgh": "makhuwa-meettoera",
"kde": "makondeera",
"ml": "malabarera",
"ms": "malaysiera",
"mg": "malgaxe",
"mt": "maltera",
+ "mni": "manipurera",
"mi": "maoriera",
"mr": "marathera",
"mas": "masaiera",
@@ -150,6 +153,8 @@
"ne": "nepalera",
"nnh": "ngiemboonera",
"jgo": "ngomba",
+ "pcm": "Nigeriako pidgina",
+ "no": "norvegiera",
"nus": "nuerera",
"nn": "nynorsk (norvegiera)",
"or": "oriya",
@@ -167,6 +172,8 @@
"saq": "samburuera",
"sg": "sango",
"sbp": "sanguera",
+ "sa": "sanskrito",
+ "sat": "santalera",
"seh": "senera",
"sr": "serbiera",
"ksb": "shambalera",
@@ -180,6 +187,7 @@
"gsw": "Suitzako aleman",
"de-CH": "Suitzako aleman garai",
"fr-CH": "Suitzako frantses",
+ "su": "sundanera",
"sw": "swahilia",
"shi": "tachelhit",
"dav": "taitera",
@@ -199,7 +207,7 @@
"chr": "txerokiera",
"ce": "txetxenera",
"zh": "txinera",
- "zh-Hans": "txinera soildua",
+ "zh-Hans": "txinera sinplifikatu",
"zh-Hant": "txinera tradizionala",
"ug": "uigurrera",
"uk": "ukrainera",
diff --git a/vendor/commerceguys/intl/resources/language/fa-AF.json b/vendor/commerceguys/intl/resources/language/fa-AF.json
index 50d87410b..5dfec0c17 100644
--- a/vendor/commerceguys/intl/resources/language/fa-AF.json
+++ b/vendor/commerceguys/intl/resources/language/fa-AF.json
@@ -77,7 +77,7 @@
"ja": "جاپانی",
"jv": "جاوه‌ای",
"ce": "چچنی",
- "chr": "چروکیایی",
+ "chr": "چروکی",
"cs": "چکی",
"cgg": "چیگا",
"zh": "چینی",
@@ -88,6 +88,7 @@
"da": "دانمارکی",
"dz": "دزونگخا",
"dua": "دوآلایی",
+ "doi": "دوگری",
"dyo": "دیولا فونی",
"rwk": "روایی",
"ru": "روسی",
@@ -100,6 +101,8 @@
"nds-NL": "ساکسونی سفلی",
"saq": "سامبورو",
"se": "سامی شمالی",
+ "sat": "سانتالی",
+ "sa": "سانسکریت",
"sg": "سانگو",
"sbp": "سانگویی",
"ceb": "سبویی",
@@ -109,6 +112,7 @@
"sw-CD": "سواحیلی کنگو",
"xog": "سوگایی",
"so": "سومالیایی",
+ "su": "سوندایی",
"sv": "سویدنی",
"si": "سینهالی",
"ksb": "شامبالا",
@@ -123,7 +127,7 @@
"fr": "فرانسوی",
"fr-CH": "فرانسوی سوئیس",
"fr-CA": "فرانسوی کانادا",
- "fy": "فریزی غربی",
+ "fy": "فریسی غربی",
"fur": "فریولیایی",
"nl-BE": "فلمیش",
"fi": "فنلندی",
@@ -176,12 +180,14 @@
"mas": "ماسایی",
"mgh": "ماکوا متو",
"kde": "ماکونده",
- "mg": "مالاگاسیایی",
+ "mg": "مالاگاسی",
"ml": "مالایالامی",
"ms": "مالایی",
"mt": "مالتی",
"mua": "ماندانگی",
- "mi": "مائوریایی",
+ "mni": "مانیپوری",
+ "mai": "مایتیلی",
+ "mi": "مائوری",
"mgo": "متایی",
"hu": "مجاری",
"mr": "مراتی",
@@ -190,6 +196,7 @@
"mk": "مقدونی",
"mfe": "موریسین",
"ro-MD": "مولداویایی",
+ "no": "نارویژی",
"naq": "نامایی",
"nb": "نروژی کتابی",
"nn": "نروژی نو",
@@ -198,11 +205,12 @@
"nnh": "نیامبون",
"nyn": "نیانکوله‌ای",
"ne": "نیپالی",
+ "pcm": "نیم‌زبان نیجریه‌ای",
"nl": "هالندی",
- "haw": "هاوائیایی",
+ "haw": "هاوایی",
"es": "هسپانوی",
"hi": "هندی",
- "ha": "هوسیایی",
+ "ha": "هوسایی",
"wae": "والسر",
"wa": "والونی",
"cy": "ولزی",
diff --git a/vendor/commerceguys/intl/resources/language/fa.json b/vendor/commerceguys/intl/resources/language/fa.json
index 31f5effcf..ba1dd753c 100644
--- a/vendor/commerceguys/intl/resources/language/fa.json
+++ b/vendor/commerceguys/intl/resources/language/fa.json
@@ -76,7 +76,7 @@
"ti": "تیگرینیایی",
"jv": "جاوه‌ای",
"ce": "چچنی",
- "chr": "چروکیایی",
+ "chr": "چروکی",
"cs": "چکی",
"cgg": "چیگا",
"zh": "چینی",
@@ -87,6 +87,7 @@
"da": "دانمارکی",
"dz": "دزونگخا",
"dua": "دوآلایی",
+ "doi": "دوگری",
"dyo": "دیولا فونی",
"rwk": "روایی",
"ru": "روسی",
@@ -94,13 +95,14 @@
"ro": "رومانیایی",
"rof": "رومبویی",
"rn": "روندیایی",
- "ksh": "ریپواری",
"dje": "زرما",
"zu": "زولویی",
"ja": "ژاپنی",
"nds-NL": "ساکسونی سفلی",
"saq": "سامبورو",
"se": "سامی شمالی",
+ "sat": "سانتالی",
+ "sa": "سانسکریت",
"sg": "سانگو",
"sbp": "سانگویی",
"ceb": "سبویی",
@@ -111,6 +113,7 @@
"sv": "سوئدی",
"xog": "سوگایی",
"so": "سومالیایی",
+ "su": "سوندایی",
"si": "سینهالی",
"ksb": "شامبالا",
"sn": "شونایی",
@@ -124,7 +127,7 @@
"fr": "فرانسوی",
"fr-CH": "فرانسوی سوئیس",
"fr-CA": "فرانسوی کانادا",
- "fy": "فریزی غربی",
+ "fy": "فریسی غربی",
"fur": "فریولیایی",
"nl-BE": "فلمنگی",
"fi": "فنلاندی",
@@ -143,13 +146,14 @@
"qu": "کچوایی",
"ku": "کردی",
"ckb": "کردی مرکزی",
- "kw": "کرنوالی",
"hr": "کروات",
"ko": "کره‌ای",
"ks": "کشمیری",
"kok": "کنکانی",
"nmg": "کوازیو",
"khq": "کوجراچینی",
+ "kw": "کورنی",
+ "ksh": "کولش",
"ses": "کویرابورا سنی",
"ki": "کیکویویی",
"rw": "کینیارواندایی",
@@ -172,17 +176,19 @@
"pl": "لهستانی",
"lt": "لیتوانیایی",
"ln": "لینگالا",
- "mi": "مائوریایی",
+ "mi": "مائوری",
"jmc": "ماچامه‌ای",
"mzn": "مازندرانی",
"mas": "ماسایی",
"mgh": "ماکوا متو",
"kde": "ماکونده",
- "mg": "مالاگاسیایی",
+ "mg": "مالاگاسی",
"ml": "مالایالامی",
"ms": "مالایی",
"mt": "مالتی",
"mua": "ماندانگی",
+ "mni": "مانیپوری",
+ "mai": "مایدیلی",
"mgo": "متایی",
"hu": "مجاری",
"mr": "مراتی",
@@ -193,12 +199,14 @@
"ro-MD": "مولداویایی",
"naq": "نامایی",
"ne": "نپالی",
+ "no": "نروژی",
"nb": "نروژی بوک‌مُل",
"nn": "نروژی نی‌نُشک",
"jgo": "نگومبا",
"nus": "نویر",
"nnh": "نیامبون",
"nyn": "نیانکوله‌ای",
+ "pcm": "نیم‌زبان نیجریه‌ای",
"wae": "والسر",
"wa": "والونی",
"cy": "ولزی",
@@ -206,10 +214,10 @@
"vun": "ونجو",
"vai": "ویایی",
"vi": "ویتنامی",
- "haw": "هاوائیایی",
+ "haw": "هاوایی",
"nl": "هلندی",
"hi": "هندی",
- "ha": "هوسیایی",
+ "ha": "هوسایی",
"sah": "یاقوتی",
"yav": "یانگبنی",
"yi": "یدی",
diff --git a/vendor/commerceguys/intl/resources/language/fi.json b/vendor/commerceguys/intl/resources/language/fi.json
index 039cd3de2..069acd906 100644
--- a/vendor/commerceguys/intl/resources/language/fi.json
+++ b/vendor/commerceguys/intl/resources/language/fi.json
@@ -31,6 +31,7 @@
"ceb": "cebuano",
"chr": "cherokee",
"dje": "djerma",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -87,6 +88,8 @@
"km": "khmer",
"cgg": "kiga",
"zh": "kiina",
+ "zh-Hant": "kiina (perinteinen)",
+ "zh-Hans": "kiina (yksinkertaistettu)",
"ki": "kikuju",
"sw-CD": "kingwana",
"ky": "kirgiisi",
@@ -113,6 +116,7 @@
"fy": "länsifriisi",
"mas": "maasai",
"jmc": "machame",
+ "mai": "maithili",
"mk": "makedonia",
"kde": "makonde",
"mgh": "makua-meetto",
@@ -120,6 +124,7 @@
"ms": "malaiji",
"ml": "malajalam",
"mt": "malta",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"mzn": "mazandarani",
@@ -134,6 +139,8 @@
"ne": "nepali",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nigerianpidgin",
+ "no": "norja",
"nb": "norjan bokmål",
"nn": "norjan nynorsk",
"nus": "nuer",
@@ -143,7 +150,6 @@
"os": "osseetti",
"pa": "pandžabi",
"ps": "paštu",
- "zh-Hant": "perinteinen kiina",
"fa": "persia",
"nd": "pohjois-ndebele",
"lrc": "pohjoisluri",
@@ -162,6 +168,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"seh": "sena",
"sr": "serbia",
"ksb": "shambala",
@@ -173,7 +181,8 @@
"xog": "soga",
"so": "somali",
"sn": "šona",
- "ckb": "sorani",
+ "ckb": "soranî",
+ "su": "sunda",
"fi": "suomi",
"fr-CH": "sveitsinranska",
"gsw": "sveitsinsaksa",
@@ -213,7 +222,6 @@
"wo": "wolof",
"xh": "xhosa",
"yav": "yangben",
- "zh-Hans": "yksinkertaistettu kiina",
"hsb": "yläsorbi",
"zu": "zulu"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fil.json b/vendor/commerceguys/intl/resources/language/fil.json
index 5d58eca77..1604445ef 100644
--- a/vendor/commerceguys/intl/resources/language/fil.json
+++ b/vendor/commerceguys/intl/resources/language/fil.json
@@ -39,6 +39,7 @@
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"nl": "Dutch",
"dz": "Dzongkha",
@@ -76,7 +77,7 @@
"id": "Indonesian",
"en": "Ingles",
"en-GB": "Ingles na British",
- "en-AU": "Ingles ng Australya",
+ "en-AU": "Ingles ng Australia",
"en-CA": "Ingles sa Canada",
"ga": "Irish",
"it": "Italian",
@@ -119,12 +120,14 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -138,6 +141,8 @@
"mua": "Mundang",
"naq": "Nama",
"ne": "Nepali",
+ "pcm": "Nigerian Pidgin",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -162,6 +167,8 @@
"rwk": "Rwa",
"sah": "Sakha",
"saq": "Samburu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"sg": "Sango",
"sbp": "Sangu",
"gd": "Scottish Gaelic",
@@ -178,6 +185,7 @@
"so": "Somali",
"es": "Spanish",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw": "Swahili",
"sv": "Swedish",
"gsw": "Swiss German",
diff --git a/vendor/commerceguys/intl/resources/language/fr-BE.json b/vendor/commerceguys/intl/resources/language/fr-BE.json
index b3359b5d6..86f47c255 100644
--- a/vendor/commerceguys/intl/resources/language/fr-BE.json
+++ b/vendor/commerceguys/intl/resources/language/fr-BE.json
@@ -18,7 +18,7 @@
"as": "assamais",
"ast": "asturien",
"asa": "asu",
- "az": "azéri",
+ "az": "azerbaïdjanais",
"ksf": "bafia",
"bm": "bambara",
"nds": "bas-allemand",
@@ -27,7 +27,7 @@
"eu": "basque",
"bas": "bassa",
"bem": "bemba",
- "bez": "béna",
+ "bez": "bena",
"bn": "bengali",
"be": "biélorusse",
"my": "birman",
@@ -53,9 +53,10 @@
"hr": "croate",
"da": "danois",
"dyo": "diola-fogny",
+ "doi": "dogri",
"dua": "douala",
"dz": "dzongkha",
- "ebu": "embou",
+ "ebu": "embu",
"es": "espagnol",
"es-419": "espagnol d’Amérique latine",
"es-MX": "espagnol du Mexique",
@@ -69,7 +70,6 @@
"fr": "français",
"fr-CA": "français canadien",
"fr-CH": "français suisse",
- "ksh": "francique ripuaire",
"fur": "frioulan",
"fy": "frison occidental",
"gd": "gaélique écossais",
@@ -107,6 +107,7 @@
"ki": "kikuyu",
"rw": "kinyarwanda",
"ky": "kirghize",
+ "ksh": "kölsch",
"kok": "konkani",
"khq": "koyra chiini",
"ses": "koyraboro senni",
@@ -124,12 +125,14 @@
"luy": "luyia",
"mas": "maasaï",
"mk": "macédonien",
+ "mai": "maïthili",
"kde": "makondé",
"mgh": "makua",
"ms": "malais",
"ml": "malayalam",
"mg": "malgache",
"mt": "maltais",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"jmc": "matchamé",
@@ -146,6 +149,7 @@
"nnh": "ngiemboon",
"jgo": "ngomba",
"nmg": "ngoumba",
+ "no": "norvégien",
"nb": "norvégien bokmål",
"nn": "norvégien nynorsk",
"nus": "nuer",
@@ -160,6 +164,7 @@
"pa": "pendjabi",
"fa": "persan",
"ff": "peul",
+ "pcm": "pidgin nigérian",
"pl": "polonais",
"pt": "portugais",
"pt-PT": "portugais européen",
@@ -174,6 +179,8 @@
"smn": "same d’Inari",
"se": "same du Nord",
"sg": "sango",
+ "sa": "sanskrit",
+ "sat": "santali",
"sr": "serbe",
"ksb": "shambala",
"sn": "shona",
@@ -183,6 +190,7 @@
"xog": "soga",
"so": "somali",
"ckb": "sorani",
+ "su": "soundanais",
"sv": "suédois",
"gsw": "suisse allemand",
"sw": "swahili",
diff --git a/vendor/commerceguys/intl/resources/language/fr-CA.json b/vendor/commerceguys/intl/resources/language/fr-CA.json
index a7e239d73..a19553bed 100644
--- a/vendor/commerceguys/intl/resources/language/fr-CA.json
+++ b/vendor/commerceguys/intl/resources/language/fr-CA.json
@@ -14,8 +14,8 @@
"en-CA": "anglais canadien",
"ar": "arabe",
"hy": "arménien",
+ "asa": "asou",
"as": "assamais",
- "asa": "assou",
"ast": "asturien",
"az": "azerbaïdjanais",
"ksf": "bafia",
@@ -52,6 +52,7 @@
"hr": "croate",
"da": "danois",
"dyo": "diola-fogny",
+ "doi": "dogri",
"dua": "douala",
"dz": "dzongkha",
"ebu": "embou",
@@ -125,12 +126,14 @@
"luy": "luyia",
"mas": "maasaï",
"mk": "macédonien",
+ "mai": "maïthili",
"mgh": "makhuwa-meetto",
"kde": "makondé",
"ms": "malais",
"ml": "malayalam",
"mg": "malgache",
"mt": "maltais",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathe",
"jmc": "matchamé",
@@ -147,6 +150,7 @@
"nnh": "ngiemboon",
"jgo": "ngomba",
"nyn": "nkole",
+ "no": "norvégien",
"nb": "norvégien bokmål",
"nn": "norvégien nynorsk",
"nus": "nuer",
@@ -160,6 +164,7 @@
"pa": "pendjabi",
"fa": "persan",
"ff": "peul",
+ "pcm": "pidgin nigérian",
"pl": "polonais",
"pt": "portugais",
"pt-PT": "portugais européen",
@@ -175,6 +180,8 @@
"smn": "sami d’Inari",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"sr": "serbe",
"sn": "shona",
"sd": "sindhi",
@@ -182,6 +189,7 @@
"sl": "slovène",
"xog": "soga",
"so": "somali",
+ "su": "soundanais",
"sv": "suédois",
"gsw": "suisse allemand",
"sw": "swahili",
diff --git a/vendor/commerceguys/intl/resources/language/fr-CH.json b/vendor/commerceguys/intl/resources/language/fr-CH.json
index 31670eb93..294885318 100644
--- a/vendor/commerceguys/intl/resources/language/fr-CH.json
+++ b/vendor/commerceguys/intl/resources/language/fr-CH.json
@@ -18,7 +18,7 @@
"as": "assamais",
"ast": "asturien",
"asa": "asu",
- "az": "azéri",
+ "az": "azerbaïdjanais",
"ksf": "bafia",
"bm": "bambara",
"nds": "bas-allemand",
@@ -27,7 +27,7 @@
"eu": "basque",
"bas": "bassa",
"bem": "bemba",
- "bez": "béna",
+ "bez": "bena",
"bn": "bengali",
"be": "biélorusse",
"my": "birman",
@@ -53,9 +53,10 @@
"hr": "croate",
"da": "danois",
"dyo": "diola-fogny",
+ "doi": "dogri",
"dua": "douala",
"dz": "dzongkha",
- "ebu": "embou",
+ "ebu": "embu",
"es": "espagnol",
"es-419": "espagnol d’Amérique latine",
"es-MX": "espagnol du Mexique",
@@ -69,7 +70,6 @@
"fr": "français",
"fr-CA": "français canadien",
"fr-CH": "français suisse",
- "ksh": "francique ripuaire",
"fur": "frioulan",
"fy": "frison occidental",
"gd": "gaélique écossais",
@@ -107,6 +107,7 @@
"ki": "kikuyu",
"rw": "kinyarwanda",
"ky": "kirghize",
+ "ksh": "kölsch",
"kok": "konkani",
"khq": "koyra chiini",
"ses": "koyraboro senni",
@@ -124,12 +125,14 @@
"luy": "luyia",
"mas": "maasaï",
"mk": "macédonien",
+ "mai": "maïthili",
"kde": "makondé",
"mgh": "makua",
"ms": "malais",
"ml": "malayalam",
"mg": "malgache",
"mt": "maltais",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"jmc": "matchamé",
@@ -146,6 +149,7 @@
"nnh": "ngiemboon",
"jgo": "ngomba",
"nmg": "ngoumba",
+ "no": "norvégien",
"nb": "norvégien bokmål",
"nn": "norvégien nynorsk",
"nus": "nuer",
@@ -160,6 +164,7 @@
"pa": "pendjabi",
"fa": "persan",
"ff": "peul",
+ "pcm": "pidgin nigérian",
"pl": "polonais",
"pt": "portugais",
"pt-PT": "portugais européen",
@@ -174,6 +179,8 @@
"smn": "same d’Inari",
"se": "same du Nord",
"sg": "sango",
+ "sa": "sanskrit",
+ "sat": "santali",
"sr": "serbe",
"ksb": "shambala",
"sn": "shona",
@@ -183,6 +190,7 @@
"xog": "soga",
"so": "somali",
"ckb": "sorani",
+ "su": "soundanais",
"sv": "suédois",
"gsw": "suisse allemand",
"sw": "swahili",
diff --git a/vendor/commerceguys/intl/resources/language/fr.json b/vendor/commerceguys/intl/resources/language/fr.json
index 7661af19b..c305f03dd 100644
--- a/vendor/commerceguys/intl/resources/language/fr.json
+++ b/vendor/commerceguys/intl/resources/language/fr.json
@@ -18,7 +18,7 @@
"as": "assamais",
"ast": "asturien",
"asa": "asu",
- "az": "azéri",
+ "az": "azerbaïdjanais",
"ksf": "bafia",
"bm": "bambara",
"nds": "bas-allemand",
@@ -27,7 +27,7 @@
"eu": "basque",
"bas": "bassa",
"bem": "bemba",
- "bez": "béna",
+ "bez": "bena",
"bn": "bengali",
"be": "biélorusse",
"my": "birman",
@@ -53,9 +53,10 @@
"hr": "croate",
"da": "danois",
"dyo": "diola-fogny",
+ "doi": "dogri",
"dua": "douala",
"dz": "dzongkha",
- "ebu": "embou",
+ "ebu": "embu",
"es": "espagnol",
"es-419": "espagnol d’Amérique latine",
"es-MX": "espagnol du Mexique",
@@ -69,7 +70,6 @@
"fr": "français",
"fr-CA": "français canadien",
"fr-CH": "français suisse",
- "ksh": "francique ripuaire",
"fur": "frioulan",
"fy": "frison occidental",
"gd": "gaélique écossais",
@@ -77,7 +77,7 @@
"cy": "gallois",
"lg": "ganda",
"ka": "géorgien",
- "gu": "goudjerati",
+ "gu": "goudjarati",
"el": "grec",
"kl": "groenlandais",
"guz": "gusii",
@@ -107,6 +107,7 @@
"ki": "kikuyu",
"rw": "kinyarwanda",
"ky": "kirghize",
+ "ksh": "kölsch",
"kok": "konkani",
"khq": "koyra chiini",
"ses": "koyraboro senni",
@@ -124,12 +125,14 @@
"luy": "luyia",
"mas": "maasaï",
"mk": "macédonien",
+ "mai": "maïthili",
"kde": "makondé",
"mgh": "makua",
"ms": "malais",
"ml": "malayalam",
"mg": "malgache",
"mt": "maltais",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"jmc": "matchamé",
@@ -146,6 +149,7 @@
"nnh": "ngiemboon",
"jgo": "ngomba",
"nmg": "ngoumba",
+ "no": "norvégien",
"nb": "norvégien bokmål",
"nn": "norvégien nynorsk",
"nus": "nuer",
@@ -160,6 +164,7 @@
"pa": "pendjabi",
"fa": "persan",
"ff": "peul",
+ "pcm": "pidgin nigérian",
"pl": "polonais",
"pt": "portugais",
"pt-PT": "portugais européen",
@@ -174,6 +179,8 @@
"smn": "same d’Inari",
"se": "same du Nord",
"sg": "sango",
+ "sa": "sanskrit",
+ "sat": "santali",
"sr": "serbe",
"ksb": "shambala",
"sn": "shona",
@@ -183,6 +190,7 @@
"xog": "soga",
"so": "somali",
"ckb": "sorani",
+ "su": "soundanais",
"sv": "suédois",
"gsw": "suisse allemand",
"sw": "swahili",
diff --git a/vendor/commerceguys/intl/resources/language/ga.json b/vendor/commerceguys/intl/resources/language/ga.json
index 4ef08e88d..9c6c0a3f5 100644
--- a/vendor/commerceguys/intl/resources/language/ga.json
+++ b/vendor/commerceguys/intl/resources/language/ga.json
@@ -11,9 +11,9 @@
"az": "Asarbaiseáinis",
"ast": "Astúiris",
"asa": "Asu",
- "ksf": "Bafia",
+ "ksf": "Baifiais",
"bm": "Bambairis",
- "bas": "Basaa",
+ "bas": "Basáis",
"eu": "Bascais",
"be": "Bealarúisis",
"bn": "Beangáilis",
@@ -22,13 +22,14 @@
"en-GB": "Béarla Briotanach",
"en-CA": "Béarla Ceanadach",
"bem": "Beimbis",
- "bez": "Bena",
- "brx": "Bodo",
+ "bez": "Béinis",
+ "brx": "Bódóis",
"bs": "Boisnis",
"cy": "Breatnais",
"br": "Briotáinis",
"bg": "Bulgáiris",
"my": "Burmais",
+ "kkj": "Cacóis",
"kab": "Caibílis",
"ks": "Caismíris",
"kam": "Cambais",
@@ -37,26 +38,29 @@
"kk": "Casaicis",
"ca": "Catalóinis",
"qu": "Ceatsuais",
- "cgg": "Chiga",
+ "cgg": "Cígis",
"km": "Ciméiris",
"rw": "Ciniaruaindis",
"ki": "Ciocúis",
"ky": "Cirgisis",
+ "ksh": "Coilsis",
"ku": "Coirdis",
"ckb": "Coirdis Lárnach",
"ko": "Cóiréis",
"kw": "Coirnis",
"xh": "Cóisis",
- "ksh": "Colognian",
"kok": "Concáinis",
+ "kea": "Criól Cabo Verde",
"hr": "Cróitis",
+ "nmg": "Cuaiseois",
"da": "Danmhairgis",
+ "doi": "Dogri",
"dua": "Duailis",
"ee": "Éabhais",
"ewo": "Éabhandóis",
"he": "Eabhrais",
+ "ebu": "Eambúis",
"et": "Eastóinis",
- "ebu": "Embu",
"fo": "Faróis",
"fil": "Filipínis",
"fi": "Fionlainnis",
@@ -76,7 +80,7 @@
"yi": "Giúdais",
"el": "Gréigis",
"gu": "Gúisearáitis",
- "guz": "Gusii",
+ "guz": "Gúisis",
"ha": "Hásais",
"haw": "Haváis",
"hi": "Hiondúis",
@@ -85,19 +89,16 @@
"id": "Indinéisis",
"it": "Iodáilis",
"ig": "Íogbóis",
+ "dyo": "Ióla-Fainís",
+ "no": "Ioruais",
"nb": "Ioruais Bokmål",
"is": "Íoslainnis",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kkj": "Kako",
+ "ii": "Ís Shichuan",
"kl": "Kalaallisut",
"kln": "Kalenjin",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "nmg": "Kwasio",
+ "lkt": "Lacótais",
+ "lag": "Láingis",
"lv": "Laitvis",
- "lkt": "Lakota",
- "lag": "Langi",
"lo": "Laoisis",
"ln": "Liongáilis",
"lt": "Liotuáinis",
@@ -110,15 +111,17 @@
"mk": "Macadóinis",
"jmc": "Machame",
"ml": "Mailéalaimis",
+ "mai": "Maitilis",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"ms": "Malaeis",
"mg": "Malagáisis",
"mt": "Máltais",
+ "mni": "Manapúiris",
"mi": "Maorais",
"mr": "Maraitis",
"mas": "Másais",
- "mzn": "Mazanderani",
+ "mzn": "Mázandaráinis",
"mer": "Meru",
"mgo": "Metaʼ",
"ro-MD": "Moldáivis",
@@ -132,13 +135,14 @@
"jgo": "Ngomba",
"nyn": "Niancóilis",
"nn": "Nua-Ioruais",
- "nus": "Nuer",
+ "nus": "Nuairis",
"or": "Oirísis",
"os": "Oiséitis",
"nl": "Ollainnis",
"om": "Oraimis",
"ps": "Paistis",
"fa": "Peirsis",
+ "pcm": "pidsean na Nigéire",
"nl-BE": "Pléimeannais",
"pl": "Polainnis",
"pt": "Portaingéilis",
@@ -157,6 +161,8 @@
"saq": "Samburu",
"sg": "Sangóis",
"sbp": "Sangu",
+ "sa": "Sanscrait",
+ "sat": "Santáilis",
"ceb": "Seabúáinis",
"ja": "Seapáinis",
"cs": "Seicis",
@@ -168,7 +174,6 @@
"sn": "Seoinis",
"ka": "Seoirsis",
"ksb": "Shambala",
- "ii": "Sichuan Yi",
"sd": "Sindis",
"zh": "Sínis",
"zh-Hans": "Sínis Shimplithe",
@@ -178,6 +183,8 @@
"sk": "Slóvaicis",
"xog": "Soga",
"so": "Somáilis",
+ "khq": "Songais Iartharach",
+ "ses": "Songais Oirthearach",
"dsb": "Sorbais Íochtarach",
"hsb": "Sorbais Uachtarach",
"es": "Spáinnis",
@@ -185,14 +192,15 @@
"es-419": "Spáinnis Mheiriceá Laidinigh",
"sv": "Sualainnis",
"zu": "Súlúis",
+ "su": "Sundais",
"sw": "Svahaílis",
"sw-CD": "Svahaílis an Chongó",
"shi": "Tachelhit",
"tg": "Táidsícis",
"dav": "Taita",
"ta": "Tamailis",
+ "zgh": "Tamaisis Chaighdeánach Mharacó",
"tzm": "Tamazight Atlais Láir",
- "zgh": "Tamazight Caighdeánach Mharacó",
"twq": "Tasawaq",
"tt": "Tatairis",
"th": "Téalainnis",
diff --git a/vendor/commerceguys/intl/resources/language/gd.json b/vendor/commerceguys/intl/resources/language/gd.json
index 2c23de45b..311c76875 100644
--- a/vendor/commerceguys/intl/resources/language/gd.json
+++ b/vendor/commerceguys/intl/resources/language/gd.json
@@ -23,6 +23,7 @@
"en-AU": "Beurla Astràilia",
"en-GB": "Beurla Bhreatainn",
"en-CA": "Beurla Chanada",
+ "pcm": "Beurla Nigèiriach",
"vi": "Bhiet-Namais",
"brx": "Bodo",
"nb": "Bokmål na Nirribhidh",
@@ -34,6 +35,7 @@
"ks": "Caismiris",
"haw": "Cànan Hawai’i",
"th": "Cànan nan Tàidh",
+ "su": "Cànan Sunda",
"yue": "Cantonais",
"kk": "Casachais",
"ca": "Catalanais",
@@ -51,6 +53,7 @@
"da": "Danmhairgis",
"jv": "Deàbhanais",
"ce": "Deideanais",
+ "doi": "Dogri",
"dua": "Duala",
"nl": "Duitsis",
"dz": "Dzongkha",
@@ -119,12 +122,14 @@
"luy": "Luyia",
"mas": "Maasai",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasais",
"ms": "Malaidhis",
"ml": "Malayalam",
"mt": "Maltais",
+ "mni": "Manipuri",
"mi": "Māori",
"mr": "Marathi",
"mk": "Masadonais",
@@ -140,6 +145,7 @@
"ne": "Neapàlais",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "no": "Nirribhis",
"nus": "Nuer",
"nyn": "Nyankole",
"nn": "Nynorsk na Nirribhidh",
@@ -165,6 +171,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"ja": "Seapanais",
"cs": "Seicis",
"sr": "Sèirbis",
diff --git a/vendor/commerceguys/intl/resources/language/gl.json b/vendor/commerceguys/intl/resources/language/gl.json
index 1a41367f1..da381af78 100644
--- a/vendor/commerceguys/intl/resources/language/gl.json
+++ b/vendor/commerceguys/intl/resources/language/gl.json
@@ -48,6 +48,7 @@
"mfe": "crioulo mauriciano",
"hr": "croata",
"da": "dinamarqués",
+ "doi": "Dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -125,12 +126,14 @@
"luy": "luyia",
"mk": "macedonio",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malabar",
"ms": "malaio",
"mg": "malgaxe",
"mt": "maltés",
+ "mni": "manipuri",
"mi": "maorí",
"mr": "marathi",
"mas": "masai",
@@ -146,6 +149,7 @@
"ne": "nepalí",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "noruegués",
"nb": "noruegués bokmål",
"nn": "noruegués nynorsk",
"nus": "nuer",
@@ -156,6 +160,7 @@
"pa": "panxabí",
"ps": "paxto",
"fa": "persa",
+ "pcm": "pidgin nixeriano",
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
@@ -171,6 +176,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sánscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbio",
"ksb": "shambala",
@@ -181,6 +188,7 @@
"sw": "suahili",
"sw-CD": "suahili congolés",
"sv": "sueco",
+ "su": "sundanés",
"shi": "tachelhit",
"th": "tailandés",
"dav": "taita",
diff --git a/vendor/commerceguys/intl/resources/language/gsw.json b/vendor/commerceguys/intl/resources/language/gsw.json
index b87533db7..825347bb6 100644
--- a/vendor/commerceguys/intl/resources/language/gsw.json
+++ b/vendor/commerceguys/intl/resources/language/gsw.json
@@ -104,6 +104,7 @@
"luy": "Luyia",
"jmc": "Machame",
"mg": "Madagassisch",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"ms": "Malaiisch",
@@ -114,6 +115,7 @@
"mas": "Massai-Schpraach",
"mzn": "Mazanderani",
"mk": "Mazedonisch",
+ "mni": "Meithei-Schpraach",
"mer": "Meru",
"mgo": "Metaʼ",
"ro-MD": "Moldawisch",
@@ -128,9 +130,11 @@
"dsb": "Nidersorbisch",
"nds": "Nidertüütsch",
"nds-NL": "Nidertüütsch (Holland)",
+ "pcm": "Nigerian Pidgin",
"nd": "Nord-Ndebele-Schpraach",
"se": "Nord-Samisch",
"lrc": "Northern Luri",
+ "no": "Norwegisch",
"nb": "Norwegisch Bokmål",
"nn": "Norwegisch Nynorsk",
"nus": "Nuer",
@@ -156,6 +160,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanschkrit",
+ "sat": "Santali",
"sn": "Schhona",
"gd": "Schottisch-Gäälisch",
"es": "Schpanisch",
@@ -177,6 +183,7 @@
"zgh": "Standard Moroccan Tamazight",
"sw": "Suaheli",
"sw-CD": "Suaheli (Temokraatischi Republik Kongo)",
+ "su": "Sundanesisch",
"shi": "Tachelhit",
"tg": "Tadschikisch",
"dav": "Taita",
@@ -189,6 +196,7 @@
"th": "Thailändisch",
"bo": "Tibeetisch",
"ti": "Tigrinja",
+ "doi": "Togri",
"to": "Tongaisch",
"zh-Hant": "Tradizionells Chineesisch",
"cs": "Tschechisch",
diff --git a/vendor/commerceguys/intl/resources/language/gu.json b/vendor/commerceguys/intl/resources/language/gu.json
index efcb14752..bc8b47422 100644
--- a/vendor/commerceguys/intl/resources/language/gu.json
+++ b/vendor/commerceguys/intl/resources/language/gu.json
@@ -83,6 +83,7 @@
"to": "ટોંગાન",
"nl": "ડચ",
"da": "ડેનિશ",
+ "doi": "ડોગ્રી",
"dz": "ડ્ઝોંગ્ખા",
"tt": "તતાર",
"ta": "તમિલ",
@@ -98,9 +99,11 @@
"dua": "દુઆલા",
"jgo": "નગોમ્બા",
"naq": "નમા",
+ "pcm": "નાઇજેરિયન પીજીન",
"nnh": "નીએમબુન",
"nus": "નુએર",
"ne": "નેપાળી",
+ "no": "નૉર્વેજીયન",
"nn": "નોર્વેજિયન નાયનૉર્સ્ક",
"nb": "નોર્વેજિયન બોકમાલ",
"nyn": "ન્યાનકોલ",
@@ -135,6 +138,7 @@
"jmc": "મકામે",
"kde": "મકોન્ડે",
"mzn": "મઝાન્દેરાની",
+ "mni": "મણિપુરી",
"mr": "મરાઠી",
"ms": "મલય",
"ml": "મલયાલમ",
@@ -149,6 +153,7 @@
"mgo": "મેતા",
"mer": "મેરુ",
"mk": "મેસેડોનિયન",
+ "mai": "મૈથિલી",
"mn": "મોંગોલિયન",
"mfe": "મોરીસ્યેન",
"ro-MD": "મોલડાવિયન",
@@ -187,6 +192,9 @@
"ksb": "શમ્બાલા",
"chr": "શેરોકી",
"sn": "શોના",
+ "su": "સંડેનીઝ",
+ "sat": "સંતાલી",
+ "sa": "સંસ્કૃત",
"sah": "સખા",
"saq": "સમ્બુરુ",
"zh-Hans": "સરળીકૃત ચાઇનીઝ",
diff --git a/vendor/commerceguys/intl/resources/language/he.json b/vendor/commerceguys/intl/resources/language/he.json
index 9d5be34dd..05ab7514c 100644
--- a/vendor/commerceguys/intl/resources/language/he.json
+++ b/vendor/commerceguys/intl/resources/language/he.json
@@ -53,10 +53,11 @@
"kl": "גרינלנדית",
"de": "גרמנית",
"de-AT": "גרמנית (אוסטריה)",
- "gsw": "גרמנית (בשוויץ)",
"de-CH": "גרמנית (שוויץ)",
+ "gsw": "גרמנית שוויצרית",
"nds": "גרמנית תחתית",
"dua": "דואלה",
+ "doi": "דוגרי",
"dz": "דזונקה",
"da": "דנית",
"ha": "האוסה",
@@ -106,6 +107,7 @@
"lkt": "לקוטה",
"mi": "מאורית",
"mzn": "מאזאנדראני",
+ "mai": "מאיטילית",
"jmc": "מאקאמה",
"mgh": "מאקוואה מטו",
"ro-MD": "מולדבית",
@@ -116,6 +118,7 @@
"mg": "מלגשית",
"mt": "מלטית",
"ml": "מליאלאם",
+ "mni": "מניפורית",
"mas": "מסאית",
"mk": "מקדונית",
"kde": "מקונדה",
@@ -126,17 +129,21 @@
"nnh": "נגיאמבון",
"nd": "נדבלה צפונית",
"nus": "נואר",
+ "no": "נורווגית",
"nn": "נורווגית חדשה",
"nb": "נורווגית ספרותית",
"nyn": "ניאנקולה",
+ "pcm": "ניגרית פידג׳ית",
"ne": "נפאלית",
"sah": "סאחה",
"sbp": "סאנגו",
+ "sat": "סאנטאלי",
"ceb": "סבואנו",
"xog": "סוגה",
"sw": "סווהילי",
"sw-CD": "סווהילי קונגו",
"so": "סומלית",
+ "su": "סונדנזית",
"hsb": "סורבית עילית",
"dsb": "סורבית תחתית",
"sd": "סינדהית",
@@ -150,6 +157,7 @@
"se": "סמי צפונית",
"sg": "סנגו",
"seh": "סנה",
+ "sa": "סנסקריט",
"es": "ספרדית",
"es-419": "ספרדית (אמריקה הלטינית)",
"es-MX": "ספרדית (מקסיקו)",
diff --git a/vendor/commerceguys/intl/resources/language/hi.json b/vendor/commerceguys/intl/resources/language/hi.json
index 8bab949ce..3e5c234bc 100644
--- a/vendor/commerceguys/intl/resources/language/hi.json
+++ b/vendor/commerceguys/intl/resources/language/hi.json
@@ -83,6 +83,7 @@
"to": "टोंगन",
"nl": "डच",
"da": "डेनिश",
+ "doi": "डोग्री",
"ta": "तमिल",
"tg": "ताजिक",
"tt": "तातार",
@@ -96,6 +97,7 @@
"th": "थाई",
"dua": "दुआला",
"jgo": "नगोंबा",
+ "pcm": "नाइजीरियाई पिडगिन",
"naq": "नामा",
"nds": "निचला जर्मन",
"dsb": "निचला सॉर्बियन",
@@ -103,6 +105,7 @@
"nus": "नुएर",
"ne": "नेपाली",
"se": "नॉर्दन सामी",
+ "no": "नॉर्वेजियाई",
"nn": "नॉर्वेजियाई नॉयनॉर्स्क",
"nb": "नॉर्वेजियाई बोकमाल",
"nyn": "न्यानकोल",
@@ -136,6 +139,7 @@
"br": "ब्रेटन",
"mn": "मंगोलियाई",
"mk": "मकदूनियाई",
+ "mni": "मणिपुरी",
"tzm": "मध्य एटलस तमाज़ित",
"mr": "मराठी",
"ms": "मलय",
@@ -153,6 +157,7 @@
"kde": "मैकोंड",
"es-MX": "मैक्सिकन स्पेनिश",
"mgh": "मैखुवा-मीट्टो",
+ "mai": "मैथिली",
"mfe": "मोरीस्येन",
"ro-MD": "मोलडावियन",
"yi": "यहूदी",
@@ -189,6 +194,8 @@
"ksb": "शम्बाला",
"cgg": "शिगा",
"sn": "शोणा",
+ "sat": "संथाली",
+ "sa": "संस्कृत",
"zh-Hans": "सरलीकृत चीनी",
"sr": "सर्बियाई",
"sg": "सांगो",
@@ -196,6 +203,7 @@
"si": "सिंहली",
"ii": "सिचुआन यी",
"ceb": "सिबुआनो",
+ "su": "सुंडानी",
"seh": "सेना",
"sbp": "सैंगु",
"saq": "सैम्बुरु",
diff --git a/vendor/commerceguys/intl/resources/language/hr.json b/vendor/commerceguys/intl/resources/language/hr.json
index 3042cff8d..dd3d930cc 100644
--- a/vendor/commerceguys/intl/resources/language/hr.json
+++ b/vendor/commerceguys/intl/resources/language/hr.json
@@ -32,6 +32,7 @@
"chr": "čerokijski",
"cs": "češki",
"da": "danski",
+ "doi": "dogri",
"dsb": "donjolužički",
"nds": "donjonjemački",
"nds-NL": "donjosaksonski",
@@ -116,6 +117,7 @@
"luy": "luyia",
"jmc": "machame",
"hu": "mađarski",
+ "mai": "maithili",
"mk": "makedonski",
"mgh": "makhuwa-meetto",
"kde": "makonde",
@@ -123,6 +125,7 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
+ "mni": "manipurski",
"mi": "maorski",
"mr": "marathski",
"mas": "masajski",
@@ -138,7 +141,9 @@
"ne": "nepalski",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nigerijski pidžin",
"nl": "nizozemski",
+ "no": "norveški",
"nb": "norveški bokmål",
"nn": "norveški nynorsk",
"nus": "nuerski",
@@ -161,6 +166,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrtski",
+ "sat": "santalski",
"seh": "sena",
"ksb": "shambala",
"sn": "shona",
@@ -177,6 +184,7 @@
"ckb": "soranski kurdski",
"sr": "srpski",
"zgh": "standardni marokanski tamašek",
+ "su": "sundanski",
"sw": "svahili",
"gd": "škotski gaelski",
"es": "španjolski",
diff --git a/vendor/commerceguys/intl/resources/language/hu.json b/vendor/commerceguys/intl/resources/language/hu.json
index a83d34ef4..794e8b873 100644
--- a/vendor/commerceguys/intl/resources/language/hu.json
+++ b/vendor/commerceguys/intl/resources/language/hu.json
@@ -32,6 +32,7 @@
"cs": "cseh",
"chr": "cseroki",
"da": "dán",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzsonga",
"zh-Hans": "egyszerűsített kínai",
@@ -121,12 +122,14 @@
"mk": "macedón",
"jmc": "machame",
"hu": "magyar",
+ "mai": "maithili",
"kde": "makonde",
"mgh": "makua-metó",
"ms": "maláj",
"ml": "malajálam",
"mg": "malgas",
"mt": "máltai",
+ "mni": "manipuri",
"mi": "maori",
"mr": "maráthi",
"zgh": "marokkói tamazight",
@@ -144,6 +147,8 @@
"nnh": "ngiemboon",
"jgo": "ngomba",
"nmg": "ngumba",
+ "pcm": "nigériai pidgin",
+ "no": "norvég",
"nb": "norvég (bokmål)",
"nn": "norvég (nynorsk)",
"nus": "nuer",
@@ -177,6 +182,8 @@
"saq": "szamburu",
"sg": "szangó",
"sbp": "szangu",
+ "sa": "szanszkrit",
+ "sat": "szantáli",
"twq": "szavák",
"ceb": "szebuano",
"ii": "szecsuán ji",
@@ -189,6 +196,7 @@
"xog": "szoga",
"so": "szomáli",
"sw": "szuahéli",
+ "su": "szundanéz",
"shi": "tachelhit",
"tg": "tadzsik",
"dav": "taita",
diff --git a/vendor/commerceguys/intl/resources/language/hy.json b/vendor/commerceguys/intl/resources/language/hy.json
index ddc341577..08b9f9c87 100644
--- a/vendor/commerceguys/intl/resources/language/hy.json
+++ b/vendor/commerceguys/intl/resources/language/hy.json
@@ -115,6 +115,8 @@
"mt": "մալթայերեն",
"mk": "մակեդոներեն",
"kde": "մակոնդե",
+ "mai": "մայթիլի",
+ "mni": "մանիպուրի",
"jmc": "մաշամե",
"mi": "մաորի",
"mas": "մասաի",
@@ -134,8 +136,10 @@
"nnh": "նգիեմբուն",
"jgo": "նգոմբա",
"ne": "նեպալերեն",
+ "pcm": "նիգերյան կրեոլերեն",
"nyn": "նյանկոլե",
"nn": "նոր նորվեգերեն",
+ "no": "նորվեգերեն",
"nus": "նուեր",
"ksb": "շամբալա",
"sn": "շոնա",
@@ -169,6 +173,8 @@
"saq": "սամբուրու",
"sg": "սանգո",
"sbp": "սանգու",
+ "sa": "սանսկրիտ",
+ "sat": "սանտալի",
"ceb": "սեբուերեն",
"seh": "սենա",
"sr": "սերբերեն",
@@ -181,6 +187,7 @@
"so": "սոմալիերեն",
"ckb": "սորանի քրդերեն",
"sw": "սուահիլի",
+ "su": "սունդաներեն",
"nds": "ստորին գերմաներեն",
"nds-NL": "ստորին սաքսոներեն",
"dsb": "ստորին սորբերեն",
@@ -215,5 +222,6 @@
"nl-BE": "ֆլամանդերեն",
"ff": "ֆուլահ",
"fr": "ֆրանսերեն",
- "fur": "ֆրիուլիերեն"
+ "fur": "ֆրիուլիերեն",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/id.json b/vendor/commerceguys/intl/resources/language/id.json
index e1a65bf3c..a69c3117d 100644
--- a/vendor/commerceguys/intl/resources/language/id.json
+++ b/vendor/commerceguys/intl/resources/language/id.json
@@ -32,6 +32,7 @@
"cs": "Cheska",
"da": "Dansk",
"ksh": "Dialek Kolsch",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -110,12 +111,14 @@
"lrc": "Luri Utara",
"luy": "Luyia",
"jmc": "Machame",
+ "mai": "Maithili",
"mk": "Makedonia",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasi",
"ml": "Malayalam",
"mt": "Malta",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -132,6 +135,7 @@
"ne": "Nepali",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "no": "Norwegia",
"nus": "Nuer",
"nyn": "Nyankole",
"nn": "Nynorsk Norwegia",
@@ -139,13 +143,14 @@
"om": "Oromo",
"os": "Ossetia",
"ps": "Pashto",
- "fr-CA": "Perancis (Kanada)",
- "fr-CH": "Perancis (Swiss)",
"fa": "Persia",
+ "pcm": "Pidgin Nigeria",
"pl": "Polski",
"pt": "Portugis",
"pt-PT": "Portugis (Eropa)",
"fr": "Prancis",
+ "fr-CA": "Prancis (Kanada)",
+ "fr-CH": "Prancis (Swiss)",
"pa": "Punjabi",
"qu": "Quechua",
"rm": "Reto-Roman",
@@ -159,6 +164,8 @@
"se": "Sami Utara",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskerta",
+ "sat": "Santali",
"seh": "Sena",
"sr": "Serbia",
"ksb": "Shambala",
@@ -175,6 +182,7 @@
"es": "Spanyol",
"es-419": "Spanyol (Amerika Latin)",
"es-MX": "Spanyol (Meksiko)",
+ "su": "Sunda",
"fi": "Suomi",
"sw": "Swahili",
"sw-CD": "Swahili (Kongo)",
@@ -193,8 +201,8 @@
"bo": "Tibet",
"ti": "Tigrinya",
"zh": "Tionghoa",
- "zh-Hans": "Tionghoa (Aksara Sederhana)",
- "zh-Hant": "Tionghoa (Aksara Tradisional)",
+ "zh-Hans": "Tionghoa (Sederhana)",
+ "zh-Hant": "Tionghoa (Tradisional)",
"to": "Tonga",
"tr": "Turki",
"tk": "Turkmen",
diff --git a/vendor/commerceguys/intl/resources/language/is.json b/vendor/commerceguys/intl/resources/language/is.json
index 1d5c6c20a..d4889902b 100644
--- a/vendor/commerceguys/intl/resources/language/is.json
+++ b/vendor/commerceguys/intl/resources/language/is.json
@@ -23,10 +23,11 @@
"brx": "bódó",
"en-GB": "bresk enska",
"br": "bretónska",
- "my": "burmneska",
"bg": "búlgarska",
+ "my": "búrmneska",
"chr": "Cherokee-mál",
"da": "danska",
+ "doi": "dogrí",
"dz": "dsongka",
"dua": "dúala",
"et": "eistneska",
@@ -43,7 +44,7 @@
"fur": "fríúlska",
"ff": "fúla",
"fo": "færeyska",
- "gl": "galíanska",
+ "gl": "galisíska",
"lg": "ganda",
"ka": "georgíska",
"el": "gríska",
@@ -113,6 +114,7 @@
"lu": "lúbakatanga",
"luo": "lúó",
"lb": "lúxemborgíska",
+ "mai": "maítílí",
"mk": "makedónska",
"mgh": "makhuwa-meetto",
"kde": "makonde",
@@ -120,6 +122,7 @@
"ms": "malaíska",
"ml": "malajalam",
"mt": "maltneska",
+ "mni": "manípúrí",
"mi": "maorí",
"mr": "maratí",
"mas": "masaí",
@@ -136,9 +139,11 @@
"ne": "nepalska",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nígerískt pidgin",
"nd": "norður-ndebele",
"lrc": "norðurlúrí",
"se": "norðursamíska",
+ "no": "norska",
"nb": "norskt bókmál",
"nus": "núer",
"nyn": "nyankole",
@@ -161,6 +166,8 @@
"saq": "sambúrú",
"sg": "sangó",
"sbp": "sangú",
+ "sa": "sanskrít",
+ "sat": "santalí",
"seh": "sena",
"sr": "serbneska",
"sn": "shona",
@@ -178,6 +185,7 @@
"es": "spænska",
"zgh": "staðlað marokkóskt tamazight",
"zu": "súlú",
+ "su": "súndanska",
"sw": "svahílí",
"fr-CH": "svissnesk franska",
"de-CH": "svissnesk háþýska",
diff --git a/vendor/commerceguys/intl/resources/language/it.json b/vendor/commerceguys/intl/resources/language/it.json
index 75fba9d8a..215e042ad 100644
--- a/vendor/commerceguys/intl/resources/language/it.json
+++ b/vendor/commerceguys/intl/resources/language/it.json
@@ -47,6 +47,7 @@
"ku": "curdo",
"ckb": "curdo sorani",
"da": "danese",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"he": "ebraico",
@@ -115,12 +116,14 @@
"luy": "luyia",
"mk": "macedone",
"jmc": "machame",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malese",
"mg": "malgascio",
"mt": "maltese",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -135,6 +138,7 @@
"ne": "nepalese",
"jgo": "ngamambo",
"nnh": "ngiemboon",
+ "no": "norvegese",
"nb": "norvegese bokmål",
"nn": "norvegese nynorsk",
"nus": "nuer",
@@ -145,6 +149,7 @@
"os": "ossetico",
"ps": "pashto",
"fa": "persiano",
+ "pcm": "pidgin nigeriano",
"pl": "polacco",
"pt": "portoghese",
"pt-PT": "portoghese europeo",
@@ -156,11 +161,14 @@
"rn": "rundi",
"ru": "russo",
"rwk": "rwa",
+ "sah": "sacha",
"saq": "samburu",
"se": "sami del nord",
"smn": "sami di Inari",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "serbo",
"ksb": "shambala",
@@ -175,6 +183,7 @@
"es": "spagnolo",
"es-419": "spagnolo latinoamericano",
"es-MX": "spagnolo messicano",
+ "su": "sundanese",
"sv": "svedese",
"sw": "swahili",
"sw-CD": "swahili del Congo",
@@ -210,7 +219,6 @@
"bem": "wemba",
"wo": "wolof",
"xh": "xhosa",
- "sah": "yakut",
"yav": "yangben",
"yi": "yiddish",
"yo": "yoruba",
diff --git a/vendor/commerceguys/intl/resources/language/ja.json b/vendor/commerceguys/intl/resources/language/ja.json
index 16b6a0125..b627eaf09 100644
--- a/vendor/commerceguys/intl/resources/language/ja.json
+++ b/vendor/commerceguys/intl/resources/language/ja.json
@@ -71,6 +71,8 @@
"dje": "ザルマ語",
"sbp": "サング語",
"sg": "サンゴ語",
+ "sa": "サンスクリット語",
+ "sat": "サンターリー語",
"ksb": "サンバー語",
"saq": "サンブル語",
"jv": "ジャワ語",
@@ -89,6 +91,7 @@
"sk": "スロバキア語",
"sl": "スロベニア語",
"sw": "スワヒリ語",
+ "su": "スンダ語",
"seh": "セナ語",
"ceb": "セブアノ語",
"sr": "セルビア語",
@@ -114,13 +117,16 @@
"de": "ドイツ語",
"de-AT": "ドイツ語 (オーストリア)",
"dua": "ドゥアラ語",
+ "doi": "ドーグリー語",
"tk": "トルクメン語",
"tr": "トルコ語",
"to": "トンガ語",
+ "pcm": "ナイジェリア・ピジン語",
"naq": "ナマ語",
"nyn": "ニャンコレ語",
"nus": "ヌエル語",
"ne": "ネパール語",
+ "no": "ノルウェー語",
"nn": "ノルウェー語(ニーノシュク)",
"nb": "ノルウェー語(ブークモール)",
"ha": "ハウサ語",
@@ -136,6 +142,7 @@
"fil": "フィリピノ語",
"fi": "フィンランド語",
"fo": "フェロー語",
+ "nl-BE": "フラマン語",
"fr": "フランス語",
"fr-CA": "フランス語 (カナダ)",
"fr-CH": "フランス語 (スイス)",
@@ -143,7 +150,6 @@
"fur": "フリウリ語",
"bg": "ブルガリア語",
"br": "ブルトン語",
- "nl-BE": "フレミッシュ語",
"vi": "ベトナム語",
"bez": "ベナ語",
"he": "ヘブライ語",
@@ -157,6 +163,7 @@
"pt": "ポルトガル語",
"pt-PT": "ポルトガル語 (イベリア半島)",
"mzn": "マーザンダラーン語",
+ "mai": "マイティリー語",
"mi": "マオリ語",
"mgh": "マクア・ミート語",
"mk": "マケドニア語",
@@ -164,6 +171,7 @@
"mas": "マサイ語",
"mg": "マダガスカル語",
"jmc": "マチャメ語",
+ "mni": "マニプリ語",
"mr": "マラーティー語",
"ml": "マラヤーラム語",
"mt": "マルタ語",
diff --git a/vendor/commerceguys/intl/resources/language/ka.json b/vendor/commerceguys/intl/resources/language/ka.json
index 467b4c54b..1380a98f3 100644
--- a/vendor/commerceguys/intl/resources/language/ka.json
+++ b/vendor/commerceguys/intl/resources/language/ka.json
@@ -15,7 +15,7 @@
"bas": "ბასა",
"eu": "ბასკური",
"ksf": "ბაფია",
- "be": "ბელორუსული",
+ "be": "ბელარუსული",
"bem": "ბემბა",
"bez": "ბენა",
"bn": "ბენგალური",
@@ -36,6 +36,7 @@
"kl": "დასავლეთ გრენლანდიური",
"fy": "დასავლეთფრიზიული",
"dyo": "დიოლა",
+ "doi": "დოგრი",
"dua": "დუალა",
"he": "ებრაული",
"ee": "ევე",
@@ -103,12 +104,14 @@
"lb": "ლუქსემბურგული",
"luy": "ლუჰია",
"mzn": "მაზანდერანული",
+ "mai": "მაითილი",
"mk": "მაკედონური",
"kde": "მაკონდე",
"mg": "მალაგასიური",
"ml": "მალაიალამური",
"ms": "მალაიური",
"mt": "მალტური",
+ "mni": "მანიპური",
"mi": "მაორი",
"mr": "მარათჰი",
"mas": "მასაი",
@@ -125,7 +128,9 @@
"jgo": "ნგომბა",
"ne": "ნეპალური",
"nyn": "ნიანკოლე",
+ "pcm": "ნიგერიული კრეოლური",
"nl": "ნიდერლანდური",
+ "no": "ნორვეგიული",
"nb": "ნორვეგიული ბუკმოლი",
"nn": "ნორვეგიული ნიუნორსკი",
"nus": "ნუერი",
@@ -145,6 +150,8 @@
"saq": "სამბურუ",
"sg": "სანგო",
"sbp": "სანგუ",
+ "sa": "სანსკრიტი",
+ "sat": "სანტალი",
"ceb": "სებუანო",
"seh": "სენა",
"sr": "სერბული",
@@ -159,6 +166,7 @@
"fa": "სპარსული",
"zgh": "სტანდარტული მაროკოული ტამაზიგხტი",
"sw": "სუაჰილი",
+ "su": "სუნდური",
"th": "ტაი",
"dav": "ტაიტა",
"ta": "ტამილური",
diff --git a/vendor/commerceguys/intl/resources/language/kk.json b/vendor/commerceguys/intl/resources/language/kk.json
index 865d1b843..fbb78db24 100644
--- a/vendor/commerceguys/intl/resources/language/kk.json
+++ b/vendor/commerceguys/intl/resources/language/kk.json
@@ -106,6 +106,7 @@
"luy": "лухиа тілі",
"lb": "люксембург тілі",
"mzn": "мазандеран тілі",
+ "mai": "майтхили тілі",
"mk": "македон тілі",
"kde": "маконде тілі",
"mgh": "макуа-меетто тілі",
@@ -113,6 +114,7 @@
"ms": "малай тілі",
"ml": "малаялам тілі",
"mt": "мальта тілі",
+ "mni": "манипури тілі",
"mi": "маори тілі",
"mr": "маратхи тілі",
"zgh": "марокколық стандартты тамазигхт тілі",
@@ -131,7 +133,9 @@
"de": "неміс тілі",
"ne": "непал тілі",
"nyn": "нианколе тілі",
+ "pcm": "нигериялық пиджин тілі",
"nl": "нидерланд тілі",
+ "no": "норвег тілі",
"nb": "норвегиялық букмол тілі",
"nn": "норвегиялық нюнорск тілі",
"nus": "нуэр тілі",
@@ -154,6 +158,8 @@
"saq": "самбуру тілі",
"sg": "санго тілі",
"sbp": "сангу тілі",
+ "sa": "санскрит тілі",
+ "sat": "сантали тілі",
"sah": "саха тілі",
"ceb": "себуано тілі",
"seh": "сена тілі",
@@ -169,6 +175,7 @@
"so": "сомали тілі",
"ckb": "сорани тілі",
"sw": "суахили тілі",
+ "su": "сундан тілі",
"ii": "сычуан и тілі",
"dav": "таита тілі",
"th": "тай тілі",
@@ -215,5 +222,6 @@
"ebu": "эмбу тілі",
"et": "эстон тілі",
"jv": "ява тілі",
- "yav": "янгбен тілі"
+ "yav": "янгбен тілі",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/km.json b/vendor/commerceguys/intl/resources/language/km.json
index de9a466db..ba684b51f 100644
--- a/vendor/commerceguys/intl/resources/language/km.json
+++ b/vendor/commerceguys/intl/resources/language/km.json
@@ -38,7 +38,7 @@
"ja": "ជប៉ុន",
"jv": "ជ្វា",
"ce": "ឈីឆេន",
- "cgg": "ឈីហ្គា",
+ "cgg": "ឈីហ្កា",
"da": "ដាណឺម៉ាក",
"dz": "ដុងខា",
"dua": "ឌួលឡា",
@@ -60,6 +60,7 @@
"bo": "ទីបេ",
"ti": "ទីហ្គ្រីញ៉ា",
"tr": "ទួរគី",
+ "no": "ន័រវែស",
"nn": "ន័រវែស នីនូស",
"nb": "ន័រវែស បុកម៉ាល់",
"nus": "នូអ័រ",
@@ -75,22 +76,24 @@
"ps": "បាស្តូ",
"ksf": "បាហ្វៀ",
"pa": "បឹនជាពិ",
- "bg": "ប៊ុលហ្គារី",
+ "bg": "ប៊ុលហ្ការី",
"brx": "បូដូ",
"bs": "បូស្នី",
"pl": "ប៉ូឡូញ",
"bez": "បេណា",
"bem": "បេមបា",
"be": "បេឡារុស",
- "br": "ប្រីស្តុន",
+ "br": "ប្រ៊ីស្តុន",
"nl-BE": "ផ្លាមីស",
"pt": "ព័រទុយហ្គាល់",
"pt-PT": "ព័រទុយហ្គាល់ (អឺរ៉ុប)",
+ "pcm": "ភាសាទំនាក់ទំនងនីហ្សេរីយ៉ា",
"fa": "ភឺសៀន",
"my": "ភូមា",
"mgh": "ម៉ាកគូវ៉ាមីតូ",
"kde": "ម៉ាកូនដេ",
"jmc": "ម៉ាឆាំ",
+ "mni": "ម៉ានីពូរី",
"mr": "ម៉ារ៉ាធី",
"mt": "ម៉ាល់តា",
"mk": "ម៉ាសេដូនី",
@@ -105,6 +108,7 @@
"mfe": "ម៉ូរីស៊ីន",
"mgo": "មេតា",
"mer": "មេរូ",
+ "mai": "ម៉ៃធីលី",
"mi": "ម៉ោរី",
"yo": "យរូបា",
"yav": "យ៉ាងបេន",
@@ -130,6 +134,7 @@
"wae": "វេលសឺ",
"vai": "វៃ",
"sah": "សាខា",
+ "sat": "សាន់តាលី",
"sbp": "សានហ្គូ",
"sg": "សានហ្គោ",
"ksb": "សាមបាឡា",
@@ -140,30 +145,32 @@
"sd": "ស៊ីនឌី",
"ceb": "ស៊ីប៊ូអាណូ",
"sv": "ស៊ុយអែត",
+ "su": "ស៊ូដង់",
"sn": "សូណា",
"dsb": "សូប៊ីក្រោម",
"hsb": "សូប៊ីលើ",
"so": "សូម៉ាលី",
"xog": "សូហ្គា",
"sr": "ស៊ែប",
+ "sa": "សំស្ក្រឹត",
"gd": "ស្កុតហ្កែលិគ",
"si": "ស្រីលង្កា",
"sk": "ស្លូវ៉ាគី",
"sl": "ស្លូវ៉ានី",
"sw": "ស្វាហ៊ីលី",
- "haw": "ហាវៃ",
+ "haw": "ហាវ៉ៃ",
"hi": "ហិណ្ឌី",
"hu": "ហុងគ្រី",
"ha": "ហូសា",
"nl": "ហូឡង់",
"he": "ហេប្រឺ",
- "gu": "ហ្កុយ៉ារាទី",
- "lg": "ហ្គាន់ដា",
- "gl": "ហ្គាលីស្យាន",
+ "lg": "ហ្កាន់ដា",
+ "gl": "ហ្កាលីស្យាន",
"qu": "ហ្គិកឈួ",
+ "gu": "ហ្គុយ៉ារ៉ាទី",
"guz": "ហ្គូស៊ី",
"fo": "ហ្វារូស",
- "fil": "ហ្វីលីពីន",
+ "fil": "ហ្វ៊ីលីពីន",
"ff": "ហ្វ៊ូឡា",
"fi": "ហ្វាំងឡង់",
"fy": "ហ្វ្រីស៊ានខាងលិច",
@@ -197,7 +204,7 @@
"af": "អាហ្វ្រិកាន",
"id": "ឥណ្ឌូណេស៊ី",
"ig": "អ៊ីកបូ",
- "smn": "អ៊ីណារីសាម៉ី",
+ "smn": "អ៊ីណារីសាមី",
"it": "អ៊ីតាលី",
"ee": "អ៊ីវ",
"ewo": "អ៊ីវ៉ុនដូ",
@@ -215,5 +222,6 @@
"es": "អេស្ប៉ាញ",
"es-MX": "អេស្ប៉ាញ (ម៉ិកស៊ិក)",
"es-419": "អេស្ប៉ាញ (អាមេរិក​ឡាទីន)",
- "am": "អាំហារិក"
+ "am": "អាំហារិក",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ko.json b/vendor/commerceguys/intl/resources/language/ko.json
index dc6cec792..ee49779c5 100644
--- a/vendor/commerceguys/intl/resources/language/ko.json
+++ b/vendor/commerceguys/intl/resources/language/ko.json
@@ -9,14 +9,17 @@
"el": "그리스어",
"kl": "그린란드어",
"naq": "나마어",
+ "pcm": "나이지리아 피진어",
"nl": "네덜란드어",
"ne": "네팔어",
+ "no": "노르웨이어",
"nn": "노르웨이어(니노르스크)",
"nb": "노르웨이어(보크말)",
"nus": "누에르어",
"nnh": "느기엠본어",
"nyn": "니안콜어",
"da": "덴마크어",
+ "doi": "도그리어",
"de": "독일어",
"gsw": "독일어(스위스)",
"de-AT": "독일어(오스트리아)",
@@ -38,9 +41,11 @@
"rw": "르완다어",
"lt": "리투아니아어",
"ln": "링갈라어",
+ "mni": "마니푸리어",
"mr": "마라티어",
"mas": "마사이어",
"mi": "마오리어",
+ "mai": "마이틸리어",
"mzn": "마잔데라니어",
"jmc": "마차메어",
"mk": "마케도니아어",
@@ -76,6 +81,8 @@
"bg": "불가리아어",
"br": "브르타뉴어",
"sg": "산고어",
+ "sa": "산스크리트어",
+ "sat": "산탈리어",
"saq": "삼부루어",
"sbp": "상구어",
"ksb": "샴발라어",
@@ -87,7 +94,7 @@
"ckb": "소라니 쿠르드어",
"so": "소말리아어",
"sn": "쇼나어",
- "si": "스리랑카어",
+ "su": "순다어",
"sw": "스와힐리어",
"sv": "스웨덴어",
"gd": "스코틀랜드 게일어",
@@ -97,6 +104,7 @@
"sk": "슬로바키아어",
"sl": "슬로베니아어",
"sd": "신디어",
+ "si": "싱할라어",
"ii": "쓰촨 이어",
"agq": "아그햄어",
"ar": "아랍어",
@@ -118,8 +126,8 @@
"ebu": "엠부어",
"en": "영어",
"en-GB": "영어(영국)",
+ "en-AU": "영어(오스트레일리아)",
"en-CA": "영어(캐나다)",
- "en-AU": "영어(호주)",
"om": "오로모어",
"or": "오리야어",
"os": "오세트어",
diff --git a/vendor/commerceguys/intl/resources/language/kok.json b/vendor/commerceguys/intl/resources/language/kok.json
index ad678bfb7..7a64b4d06 100644
--- a/vendor/commerceguys/intl/resources/language/kok.json
+++ b/vendor/commerceguys/intl/resources/language/kok.json
@@ -102,11 +102,13 @@
"th": "थाई",
"nyn": "नानकोले",
"naq": "नामा",
+ "pcm": "नायझेरियन पिडगीन",
"nds": "निम्न जर्मन",
"nds-NL": "निम्न जर्मन (नॅदरलँड)",
"ne": "नेपाळी",
- "nb": "नोर्वेजियन बोकमाल",
- "nn": "नोर्वोजियन नायनोर्स्क",
+ "nn": "नॉर्वेजियन नायनोर्स्क",
+ "nb": "नॉर्वेजियन बोकमाल",
+ "no": "नोर्वेजियन",
"nnh": "न्गेबून",
"jgo": "न्गोंबा",
"nus": "न्युयर",
@@ -142,6 +144,7 @@
"mn": "मंगोलियन",
"jmc": "मचामे",
"mzn": "मझांडेराणी",
+ "mni": "मणिपुरी",
"ckb": "मध्य खुर्दीश",
"mr": "मराठी",
"ms": "मलय",
@@ -157,6 +160,7 @@
"es-MX": "मॅक्सिकन स्पॅनीश",
"mgo": "मेटा",
"mer": "मेरू",
+ "mai": "मैथिली",
"mfe": "मोरिसेन",
"ro-MD": "मोल्डावियन्",
"yav": "यांगबेन",
@@ -189,6 +193,8 @@
"cy": "वेळ्ष्",
"ksb": "शांबाला",
"sn": "शोना",
+ "sat": "संथाली",
+ "sa": "संस्कृत",
"sah": "सखा",
"sr": "सर्बियन",
"sbp": "सांगू",
@@ -198,6 +204,7 @@
"ii": "सिच्युआन यी",
"si": "सिनहालीस",
"ceb": "सिबौना",
+ "su": "सुंदनीस",
"seh": "सेना",
"zh-Hans": "सोंपी चिनी",
"xog": "सोगा",
@@ -215,5 +222,6 @@
"haw": "हवायियान",
"hi": "हिन्दी",
"he": "हिब्रू",
- "ha": "हौसा"
+ "ha": "हौसा",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ks.json b/vendor/commerceguys/intl/resources/language/ks.json
index bde1c2933..ec514965f 100644
--- a/vendor/commerceguys/intl/resources/language/ks.json
+++ b/vendor/commerceguys/intl/resources/language/ks.json
@@ -32,6 +32,7 @@
"naq": "Nama",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"lrc": "Northern Luri",
"nus": "Nuer",
"rof": "Rombo",
@@ -115,6 +116,7 @@
"km": "خَمیر",
"dua": "دُوالا",
"nl": "ڈَچ",
+ "doi": "ڈوگری",
"da": "ڈینِش",
"rn": "رُندی",
"zh-Hant": "رِوٲجی چیٖنی",
@@ -130,7 +132,10 @@
"gd": "سکوٹِش گیےلِک",
"sk": "سلووَک",
"sl": "سلووینیَن",
+ "sat": "سَنتالی",
"sd": "سِندی",
+ "su": "سَنڈَنیٖز",
+ "sa": "سَنسکرٕت",
"sg": "سَنگو",
"si": "سِنہالا",
"sw": "سواہِلی",
@@ -195,8 +200,11 @@
"ml": "مٔلیالَم",
"ms": "مَلَے",
"mn": "مَنگولی",
+ "mni": "مَنیپوٗری",
"ro-MD": "مولداوِیَن",
+ "mai": "میتَھلی",
"mk": "میکَڈونیَن",
+ "no": "ناروییَن",
"nb": "ناروییَن بوکمال",
"nn": "ناروییَن نَے نورسک",
"ne": "نیپٲلۍ",
diff --git a/vendor/commerceguys/intl/resources/language/ku.json b/vendor/commerceguys/intl/resources/language/ku.json
index 0e31c3e07..bfc42f910 100644
--- a/vendor/commerceguys/intl/resources/language/ku.json
+++ b/vendor/commerceguys/intl/resources/language/ku.json
@@ -28,6 +28,7 @@
"chr": "çerokî",
"da": "danmarkî",
"dua": "diwalayî",
+ "doi": "Dogri",
"sq": "elbanî",
"de": "elmanî",
"de-AT": "elmanî (Awistirya)",
@@ -108,6 +109,7 @@
"lrc": "luriya bakur",
"luy": "Luyia",
"jmc": "Machame",
+ "mai": "Maithili",
"mk": "makedonî",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
@@ -115,6 +117,7 @@
"ml": "malayalamî",
"ms": "malezî",
"mt": "maltayî",
+ "mni": "Manipuri",
"mi": "maorî",
"mr": "maratî",
"mas": "masayî",
@@ -130,9 +133,11 @@
"ne": "nepalî",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"nb": "norwecî (bokmål)",
"nn": "norwecî (nynorsk)",
+ "no": "Norwegian",
"nus": "Nuer",
"nyn": "Nyankole",
"or": "oriyayî",
@@ -160,6 +165,8 @@
"smn": "samiya înarî",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "sanskrîtî",
+ "sat": "Santali",
"ceb": "sebwanoyî",
"seh": "Sena",
"ksb": "Shambala",
@@ -177,6 +184,7 @@
"es-419": "spanî (Amerîkaya Latînî)",
"es-MX": "spanî (Meksîk)",
"zgh": "Standard Moroccan Tamazight",
+ "su": "sundanî",
"sw": "swahîlî",
"sw-CD": "swahîlî (Kongo - Kînşasa)",
"sv": "swêdî",
diff --git a/vendor/commerceguys/intl/resources/language/ky.json b/vendor/commerceguys/intl/resources/language/ky.json
index 930e00cea..13fdee8b9 100644
--- a/vendor/commerceguys/intl/resources/language/ky.json
+++ b/vendor/commerceguys/intl/resources/language/ky.json
@@ -10,6 +10,7 @@
"en-CA": "англисче (Канада)",
"en-GB": "англисче (Улуу Британия)",
"ar": "арабча",
+ "pcm": "аргындашкан тил (Нигерия)",
"hy": "армянча",
"as": "ассамча",
"ast": "астурийче",
@@ -75,7 +76,7 @@
"kam": "камбача",
"kn": "каннадача",
"yue": "кантончо",
- "ca": "каталонча",
+ "ca": "каталончо",
"ks": "кашмирче",
"nmg": "квасиочо",
"qu": "кечуача",
@@ -105,6 +106,7 @@
"luy": "лухияча",
"lb": "люксембургча",
"mzn": "мазандераниче",
+ "mai": "маитиличе",
"mk": "македончо",
"kde": "макондече",
"mgh": "макуача",
@@ -112,6 +114,7 @@
"ml": "малайаламча",
"ms": "малайча",
"mt": "малтизче",
+ "mni": "манипуриче",
"mi": "маориче",
"mr": "маратиче",
"zgh": "марокко тамазигт адабий тилинде",
@@ -130,6 +133,7 @@
"de-AT": "немисче (Австрия)",
"gsw": "немисче (Швейцария)",
"ne": "непалча",
+ "no": "норвежче",
"nb": "норвежче (букмал)",
"nn": "норвежче (нинорск)",
"nus": "нуерче",
@@ -153,6 +157,8 @@
"saq": "самбуруча",
"sg": "сангочо",
"sbp": "сангуча",
+ "sa": "санскритче",
+ "sat": "санталиче",
"sah": "сахача",
"ceb": "себуанча",
"seh": "сенача",
@@ -164,6 +170,7 @@
"xog": "согача",
"so": "сомаличе",
"sw": "суахиличе",
+ "su": "сунданча",
"ii": "сычуань йиче",
"tg": "тажикче",
"dav": "таитача",
@@ -215,5 +222,6 @@
"ewo": "эвондочо",
"ebu": "эмбуча",
"et": "эстончо",
- "yav": "янгбенче"
+ "yav": "янгбенче",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lb.json b/vendor/commerceguys/intl/resources/language/lb.json
index 709e0db88..a5df8488f 100644
--- a/vendor/commerceguys/intl/resources/language/lb.json
+++ b/vendor/commerceguys/intl/resources/language/lb.json
@@ -32,6 +32,7 @@
"zh-Hans": "Chinesesch (vereinfacht)",
"de": "Däitsch",
"da": "Dänesch",
+ "doi": "Dogri",
"dua": "Duala",
"de-AT": "Éisträichescht Däitsch",
"en": "Englesch",
@@ -107,6 +108,7 @@
"lu": "Luba-Katanga",
"luo": "Luo-Sprooch",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagassi-Sprooch",
@@ -119,6 +121,7 @@
"mas": "Massai-Sprooch",
"mzn": "Mazandarani",
"mk": "Mazedonesch",
+ "mni": "Meithei-Sprooch",
"mer": "Meru-Sprooch",
"mgo": "Meta’",
"tzm": "Mëttlert-Atlas-Tamazight",
@@ -134,9 +137,11 @@
"nds": "Nidderdäitsch",
"nds-NL": "Nidderdäitsch (Holland)",
"dsb": "Niddersorbesch",
+ "pcm": "Nigerian Pidgin",
"nd": "Nord-Ndebele-Sprooch",
"se": "Nordsamesch",
"lrc": "Northern Luri",
+ "no": "Norwegesch",
"nb": "Norwegesch Bokmål",
"nn": "Norwegesch Nynorsk",
"nus": "Nuer",
@@ -161,6 +166,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Schottescht Gällesch",
"fr-CH": "Schwäizer Franséisch",
"de-CH": "Schwäizer Héichdäitsch",
@@ -180,6 +187,7 @@
"ckb": "Sorani",
"es": "Spuenesch",
"sw": "Suaheli",
+ "su": "Sundanesesch",
"tg": "Tadschikesch",
"dav": "Taita",
"ta": "Tamilesch",
diff --git a/vendor/commerceguys/intl/resources/language/lo.json b/vendor/commerceguys/intl/resources/language/lo.json
index 356956e4d..1d8478cbf 100644
--- a/vendor/commerceguys/intl/resources/language/lo.json
+++ b/vendor/commerceguys/intl/resources/language/lo.json
@@ -45,14 +45,17 @@
"gsw": "ສະວິສ ເຈີແມນ",
"de-CH": "ສະວິສ ໄຮ ເຈີແມນ",
"sv": "ສະວີດິຊ",
+ "sa": "ສັນສະກຣິດ",
"sd": "ສິນທິ",
"si": "ສິນຫາລາ",
+ "ii": "ເສສວນ ອີ",
"hsb": "ຊໍບຽນ ທາງຕອນເໜືອ",
"dsb": "ຊໍບຽນຕໍ່ກວ່າ",
"sw": "ຊວາຮີລິ",
"sah": "ຊາກາ",
"nds-NL": "ຊາຊອນ ຕອນໄຕ",
"sbp": "ຊານກູ",
+ "sat": "ຊານທາລິ",
"dje": "ຊາມາ",
"se": "ຊາມິເໜືອ",
"ksb": "ຊຳບາລ້າ",
@@ -62,9 +65,9 @@
"seh": "ຊີນາ",
"ceb": "ຊີບູໂນ",
"chr": "ຊີໂຣກີ",
+ "su": "ຊຸນແດນນີສ",
"zu": "ຊູລູ",
"cs": "ເຊກ",
- "ii": "ເຊສວຍຢີ",
"sr": "ເຊີບຽນ",
"sg": "ແຊງໂກ",
"xog": "ໂຊກາ",
@@ -73,6 +76,7 @@
"ckb": "ໂຊຣານິ ເຄີດິຊ",
"ja": "ຍີ່ປຸ່ນ",
"yav": "ແຍງເບນ",
+ "doi": "ດອກຣີ",
"nl": "ດັຊ",
"dz": "ດີຊອງຄາ",
"dua": "ດົວລາ",
@@ -93,10 +97,12 @@
"th": "ໄທ",
"nn": "ນໍເວຈຽນ ນີນອກ",
"nb": "ນໍເວຈຽນ ບັອກມອລ",
+ "no": "ນໍເວຍ",
"nyn": "ນານຄອນ",
"naq": "ນາມາ",
"ne": "ເນປາລີ",
"nus": "ເນີ",
+ "pcm": "ໄນຈີຣຽນພິດກິນ",
"bs": "ບອສນຽນ",
"bg": "ບັງກາຣຽນ",
"eu": "ບັສກີ",
@@ -134,6 +140,7 @@
"mzn": "ມາແຊນເດີລັງ",
"jmc": "ມາແຊມ",
"mas": "ມາໄຊ",
+ "mni": "ມານີພູຣິ",
"mr": "ມາຣາທີ",
"mg": "ມາລາກາສຊີ",
"ms": "ມາເລ",
@@ -146,6 +153,7 @@
"mk": "ແມຊິໂດນຽນ",
"ro-MD": "ໂມດາວຽນ",
"zgh": "ໂມຣັອກແຄນ ທາມາຊີກ ມາດຕະຖານ",
+ "mai": "ໄມທີລິ",
"yi": "ຢິວ",
"uk": "ຢູເຄຣນຽນ",
"de": "ເຢຍລະມັນ",
diff --git a/vendor/commerceguys/intl/resources/language/lt.json b/vendor/commerceguys/intl/resources/language/lt.json
index d92860fe6..a144d9a45 100644
--- a/vendor/commerceguys/intl/resources/language/lt.json
+++ b/vendor/commerceguys/intl/resources/language/lt.json
@@ -36,6 +36,7 @@
"cgg": "čigų",
"da": "danų",
"en-GB": "Didžiosios Britanijos anglų",
+ "doi": "dogri",
"dua": "dualų",
"dyo": "džiola-foni",
"ebu": "embu",
@@ -111,6 +112,7 @@
"luy": "luja",
"luo": "Luo",
"jmc": "mačamų",
+ "mai": "maithili",
"mk": "makedonų",
"kde": "makondų",
"mgh": "makua-maeto",
@@ -118,6 +120,7 @@
"ml": "malajalių",
"ms": "malajiečių",
"mt": "maltiečių",
+ "mni": "manipurių",
"mi": "maorių",
"mr": "maratų",
"mas": "masajų",
@@ -136,6 +139,8 @@
"nnh": "ngiembūnų",
"jgo": "ngombų",
"nyn": "niankolų",
+ "pcm": "Nigerijos pidžinų",
+ "no": "norvegų",
"nb": "norvegų bukmolas",
"nus": "nuerų",
"or": "odijų",
@@ -156,6 +161,8 @@
"saq": "sambūrų",
"sg": "sango",
"sbp": "sangų",
+ "sa": "sanskritas",
+ "sat": "santalių",
"ceb": "sebuanų",
"seh": "senų",
"sr": "serbų",
@@ -169,6 +176,7 @@
"ckb": "soranių kurdų",
"zgh": "standartinė Maroko tamazigtų",
"sw": "suahilių",
+ "su": "sundų",
"fi": "suomių",
"zh-Hans": "supaprastintoji kinų",
"ksb": "šambalų",
diff --git a/vendor/commerceguys/intl/resources/language/lv.json b/vendor/commerceguys/intl/resources/language/lv.json
index 954957b04..dfb449e3a 100644
--- a/vendor/commerceguys/intl/resources/language/lv.json
+++ b/vendor/commerceguys/intl/resources/language/lv.json
@@ -36,6 +36,7 @@
"chr": "čiroku",
"da": "dāņu",
"dyo": "diola-fonjī",
+ "doi": "dogru",
"dua": "dualu",
"dz": "dzongke",
"ewo": "evondu",
@@ -119,6 +120,7 @@
"lb": "luksemburgiešu",
"luo": "Luo",
"jmc": "mačamu",
+ "mai": "maithili",
"kde": "makonde",
"mgh": "makua",
"mk": "maķedoniešu",
@@ -126,6 +128,7 @@
"ml": "malajalu",
"ms": "malajiešu",
"mt": "maltiešu",
+ "mni": "manipūru",
"mi": "maoru",
"mr": "marathu",
"mas": "masaju",
@@ -140,6 +143,8 @@
"ne": "nepāliešu",
"nnh": "ngjembūnu",
"jgo": "ngomba",
+ "pcm": "Nigērijas pidžinvaloda",
+ "no": "norvēģu",
"nb": "norvēģu bukmols",
"nus": "nueru",
"nyn": "ņankolu",
@@ -161,6 +166,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrits",
+ "sat": "santalu",
"ceb": "sebuāņu",
"seh": "senu",
"sr": "serbu",
@@ -215,5 +222,6 @@
"nd": "ziemeļndebelu",
"se": "ziemeļsāmu",
"zu": "zulu",
+ "su": "zundu",
"sv": "zviedru"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mg.json b/vendor/commerceguys/intl/resources/language/mg.json
index 43f51c56c..6962989b6 100644
--- a/vendor/commerceguys/intl/resources/language/mg.json
+++ b/vendor/commerceguys/intl/resources/language/mg.json
@@ -42,6 +42,7 @@
"kw": "Cornish",
"hr": "Croatian",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -113,12 +114,14 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -133,9 +136,11 @@
"ne": "Nepale",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -164,6 +169,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"sr": "Serbian",
@@ -181,6 +188,7 @@
"sv": "Soisa",
"so": "Somalianina",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw-CD": "sw (Repoblikan’i Kongo)",
"sw": "Swahili",
"gsw": "Swiss German",
diff --git a/vendor/commerceguys/intl/resources/language/mk.json b/vendor/commerceguys/intl/resources/language/mk.json
index 1ccb82853..2a6b17588 100644
--- a/vendor/commerceguys/intl/resources/language/mk.json
+++ b/vendor/commerceguys/intl/resources/language/mk.json
@@ -42,6 +42,7 @@
"guz": "гуси",
"gu": "гуџарати",
"da": "дански",
+ "doi": "догри",
"nds": "долногермански",
"dsb": "долнолужички",
"nds-NL": "долносаксонски",
@@ -56,7 +57,7 @@
"zu": "зулу",
"dz": "ѕонгка",
"ig": "игбо",
- "smn": "инари сами",
+ "smn": "инариски сами",
"id": "индонезиски",
"ga": "ирски",
"is": "исландски",
@@ -108,6 +109,7 @@
"lb": "луксембуршки",
"luo": "луо",
"mzn": "мазендерански",
+ "mai": "маитили",
"mk": "македонски",
"kde": "маконде",
"mgh": "макува-мито",
@@ -115,6 +117,7 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
+ "mni": "манипурски",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -130,6 +133,8 @@
"nnh": "нгиембун",
"jgo": "нгомба",
"ne": "непалски",
+ "pcm": "нигериски пиџин",
+ "no": "норвешки",
"nb": "норвешки букмол",
"nn": "норвешки нинорск",
"nus": "нуер",
@@ -143,7 +148,7 @@
"zh-Hans": "поедноставен кинески",
"pl": "полски",
"pt": "португалски",
- "pt-PT": "португалски (во Европа)",
+ "pt-PT": "португалски (Европа)",
"rm": "реторомански",
"ro": "романски",
"rof": "ромбо",
@@ -154,6 +159,8 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
"sw": "свахили",
"ceb": "себуански",
"nd": "северен ндебеле",
@@ -169,6 +176,7 @@
"so": "сомалиски",
"sr": "српски",
"zgh": "стандарден марокански тамазитски",
+ "su": "сундски",
"twq": "тазавак",
"dav": "таита",
"th": "тајландски",
@@ -204,13 +212,13 @@
"hr": "хрватски",
"tzm": "централноатлански тамазитски",
"ckb": "централнокурдски",
- "chr": "черокиски",
+ "chr": "чероки",
"ce": "чеченски",
"cs": "чешки",
"cgg": "чига",
"ksb": "шамбала",
- "de-CH": "швајцарски високо-германски",
"gsw": "швајцарски германски",
+ "de-CH": "швајцарски горногермански",
"fr-CH": "швајцарски француски",
"sv": "шведски",
"gd": "шкотски гелски",
diff --git a/vendor/commerceguys/intl/resources/language/ml.json b/vendor/commerceguys/intl/resources/language/ml.json
index ddb80ebf9..2cf36c090 100644
--- a/vendor/commerceguys/intl/resources/language/ml.json
+++ b/vendor/commerceguys/intl/resources/language/ml.json
@@ -72,7 +72,7 @@
"zh": "ചൈനീസ്",
"de": "ജർമ്മൻ",
"ja": "ജാപ്പനീസ്",
- "jv": "ജാവാനീസ്",
+ "jv": "ജാവനീസ്",
"ka": "ജോർജിയൻ",
"tr": "ടർക്കിഷ്",
"twq": "ടസവാക്ക്",
@@ -83,6 +83,7 @@
"to": "ടോംഗൻ",
"nl": "ഡച്ച്",
"da": "ഡാനിഷ്",
+ "doi": "ഡോഗ്രി",
"ta": "തമിഴ്",
"shi": "താച്ചലിറ്റ്",
"tg": "താജിക്",
@@ -95,7 +96,9 @@
"naq": "നാമ",
"nus": "നുവേർ",
"ne": "നേപ്പാളി",
+ "pcm": "നൈജീരിയൻ പിഡ്‌ഗിൻ",
"nd": "നോർത്ത് ഡെബിൾ",
+ "no": "നോർവീജിയൻ",
"nn": "നോർവീജിയൻ നൈനോർക്‌സ്",
"nb": "നോർവീജിയൻ ബുക്‌മൽ",
"nyn": "ന്യാൻകോൾ",
@@ -129,6 +132,7 @@
"br": "ബ്രെട്ടൺ",
"kde": "മക്കോണ്ടെ",
"jmc": "മചേം",
+ "mni": "മണിപ്പൂരി",
"tzm": "മധ്യ അറ്റ്‌ലസ് ടമാസൈറ്റ്",
"mn": "മംഗോളിയൻ",
"mg": "മലഗാസി",
@@ -145,6 +149,7 @@
"es-MX": "മെക്സിക്കൻ സ്പാനിഷ്",
"mgo": "മേത്താ",
"mer": "മേരു",
+ "mai": "മൈഥിലി",
"mfe": "മൊറിസിൻ",
"ro-MD": "മോൾഡാവിയൻ",
"yav": "യാംഗ്ബെൻ",
@@ -181,13 +186,16 @@
"ii": "ഷുവാൻയി",
"chr": "ഷെരോക്കി",
"sn": "ഷോണ",
+ "sat": "സന്താലി",
"sbp": "സംഗു",
"saq": "സംബുരു",
+ "sa": "സംസ്‌കൃതം",
"sah": "സാഖ",
"sg": "സാംഗോ",
"dje": "സാർമ്മ",
"sd": "സിന്ധി",
"si": "സിംഹള",
+ "su": "സുണ്ടാനീസ്",
"zu": "സുലു",
"ckb": "സെൻട്രൽ കുർദിഷ്",
"ceb": "സെബുവാനോ",
diff --git a/vendor/commerceguys/intl/resources/language/mn.json b/vendor/commerceguys/intl/resources/language/mn.json
index cd6c9da22..137bfc64e 100644
--- a/vendor/commerceguys/intl/resources/language/mn.json
+++ b/vendor/commerceguys/intl/resources/language/mn.json
@@ -100,6 +100,7 @@
"lb": "люксембург",
"hu": "мажар",
"mzn": "мазандерани",
+ "mai": "май",
"mk": "македон",
"kde": "маконде",
"mgh": "макува-мито",
@@ -107,6 +108,7 @@
"ms": "малай",
"ml": "малаялам",
"mt": "малта",
+ "mni": "манипури",
"mi": "маори",
"mr": "марати",
"mas": "масай",
@@ -120,7 +122,9 @@
"naq": "нама",
"nnh": "нгиембүүн",
"jgo": "нгомба",
+ "pcm": "нигерийн пиджин",
"nl": "нидерланд",
+ "no": "норвеги",
"nb": "норвегийн букмол",
"nn": "норвегийн нинорск",
"nus": "нуер",
@@ -143,6 +147,8 @@
"saq": "самбүрү",
"sg": "санго",
"sbp": "сангү",
+ "sa": "санскрит",
+ "sat": "сантали",
"sah": "саха",
"sw": "свахили",
"ceb": "себуано",
@@ -156,6 +162,7 @@
"ko": "солонгос",
"so": "сомали",
"zgh": "стандарт тамазайт (Морокко)",
+ "su": "сундан",
"ii": "сычуань и",
"tg": "тажик",
"th": "тай",
@@ -215,5 +222,6 @@
"et": "эстони",
"jv": "ява",
"yav": "янгбен",
- "ja": "япон"
+ "ja": "япон",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mr.json b/vendor/commerceguys/intl/resources/language/mr.json
index 369473d33..85e0da13b 100644
--- a/vendor/commerceguys/intl/resources/language/mr.json
+++ b/vendor/commerceguys/intl/resources/language/mr.json
@@ -77,7 +77,7 @@
"jv": "जावानीज",
"nnh": "जिएम्बून",
"ka": "जॉर्जियन",
- "dyo": "जोला-फोंयी",
+ "dyo": "जोला-फॉन्यी",
"dje": "झार्मा",
"zu": "झुलू",
"cs": "झेक",
@@ -85,6 +85,7 @@
"to": "टोंगन",
"nl": "डच",
"da": "डॅनिश",
+ "doi": "डोगरी",
"tg": "ताजिक",
"tt": "तातर",
"ta": "तामिळ",
@@ -100,10 +101,12 @@
"th": "थाई",
"dua": "दुआला",
"naq": "नामा",
+ "pcm": "नायजिरिअन पिजिन",
"nus": "नुएर",
"ne": "नेपाळी",
"nn": "नॉर्वेजियन न्योर्स्क",
"nb": "नॉर्वेजियन बोकमाल",
+ "no": "नोर्वेजियन",
"nyn": "न्यानकोल",
"pa": "पंजाबी",
"fy": "पश्चिमी फ्रिशियन",
@@ -135,7 +138,8 @@
"en-GB": "ब्रिटिश इंग्रजी",
"br": "ब्रेतॉन",
"mn": "मंगोलियन",
- "tzm": "मध्य ऍटलास तॅमॅझायट",
+ "mni": "मणिपुरी",
+ "tzm": "मध्य अ‍ॅटलास तॅमाझाइट",
"ckb": "मध्य कुर्दिश",
"mr": "मराठी",
"ms": "मलय",
@@ -153,6 +157,7 @@
"mk": "मॅसेडोनियन",
"es-MX": "मेक्सिकन स्पॅनिश",
"mer": "मेरू",
+ "mai": "मैथिली",
"mfe": "मोरिस्येन",
"ro-MD": "मोल्डाव्हियन",
"yav": "यांगबेन",
@@ -189,6 +194,8 @@
"vi": "व्हिएतनामी",
"ksb": "शांबाला",
"sn": "शोना",
+ "sat": "संताली",
+ "sa": "संस्कृत",
"zh-Hans": "सरलीकृत चीनी",
"sr": "सर्बियन",
"sbp": "सांगु",
@@ -199,10 +206,11 @@
"si": "सिंहला",
"ii": "सिचुआन यी",
"ceb": "सिबुआनो",
+ "su": "सुंदानीज",
"seh": "सेना",
"xog": "सोगा",
"so": "सोमाली",
- "gd": "स्कॉट्स गेलिक",
+ "gd": "स्कॉटिश गेलिक",
"es": "स्पॅनिश",
"sk": "स्लोव्हाक",
"sl": "स्लोव्हेनियन",
diff --git a/vendor/commerceguys/intl/resources/language/ms.json b/vendor/commerceguys/intl/resources/language/ms.json
index 790eaaf85..56c9d1643 100644
--- a/vendor/commerceguys/intl/resources/language/ms.json
+++ b/vendor/commerceguys/intl/resources/language/ms.json
@@ -18,7 +18,7 @@
"be": "Belarus",
"bem": "Bemba",
"bez": "Bena",
- "bn": "Benggala",
+ "bn": "Benggali",
"brx": "Bodo",
"nb": "Bokmål Norway",
"bs": "Bosnia",
@@ -39,6 +39,7 @@
"hr": "Croatia",
"cs": "Czech",
"da": "Denmark",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -115,11 +116,13 @@
"luy": "Luyia",
"mk": "Macedonia",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ml": "Malayalam",
"mt": "Malta",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -136,6 +139,8 @@
"ne": "Nepal",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
+ "no": "Norway",
"nus": "Nuer",
"nyn": "Nyankole",
"nn": "Nynorsk Norway",
@@ -163,6 +168,8 @@
"se": "Sami Utara",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"nds-NL": "Saxon Rendah",
"gd": "Scots Gaelic",
"seh": "Sena",
@@ -181,6 +188,7 @@
"so": "Somali",
"hsb": "Sorbian Atas",
"dsb": "Sorbian Rendah",
+ "su": "Sunda",
"sw": "Swahili",
"sv": "Sweden",
"shi": "Tachelhit",
diff --git a/vendor/commerceguys/intl/resources/language/mt.json b/vendor/commerceguys/intl/resources/language/mt.json
index 9293cf0b7..56543a56d 100644
--- a/vendor/commerceguys/intl/resources/language/mt.json
+++ b/vendor/commerceguys/intl/resources/language/mt.json
@@ -33,6 +33,7 @@
"chr": "Cherokee",
"cgg": "Chiga",
"da": "Daniż",
+ "doi": "Dogri",
"dua": "Dwala",
"dz": "Dzongkha",
"he": "Ebrajk",
@@ -115,12 +116,14 @@
"luy": "Luyia",
"mk": "Maċedonjan",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Malti",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -137,6 +140,7 @@
"nnh": "Ngiemboon",
"jgo": "Ngomba",
"nn": "Ninorsk Norveġiż",
+ "no": "Norveġiż",
"nus": "Nuer",
"nyn": "Nyankole",
"or": "Odia",
@@ -145,6 +149,7 @@
"os": "Ossettiku",
"ps": "Pashto",
"fa": "Persjan",
+ "pcm": "Pidgin Niġerjan",
"pl": "Pollakk",
"pt": "Portugiż",
"pt-PT": "Portugiż Ewropew",
@@ -161,6 +166,8 @@
"se": "Sami tat-Tramuntana",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"nds-NL": "Sassonu Komuni",
"seh": "Sena",
"sr": "Serb",
@@ -178,6 +185,7 @@
"es": "Spanjol",
"es-419": "Spanjol Latin Amerikan",
"es-MX": "Spanjol tal-Messiku",
+ "su": "Sundaniż",
"sw": "Swahili",
"sw-CD": "Swahili tar-Repubblika Demokratika tal-Kongo",
"shi": "Tachelhit",
diff --git a/vendor/commerceguys/intl/resources/language/my.json b/vendor/commerceguys/intl/resources/language/my.json
index b0eb35ac3..9ca59eab0 100644
--- a/vendor/commerceguys/intl/resources/language/my.json
+++ b/vendor/commerceguys/intl/resources/language/my.json
@@ -22,7 +22,7 @@
"nmg": "ကွာစီအို",
"kok": "ကွန်ကနီ",
"sw-CD": "ကွန်ဂို ဆွာဟီလီ",
- "yue": "ကွမ်တုံ",
+ "yue": "ကွမ်းတုံ",
"km": "ခမာ",
"hr": "ခရိုအေးရှား",
"qu": "ခီချူဝါအိုဝါ",
@@ -57,12 +57,14 @@
"sl": "ဆလိုဗေးနီးယား",
"sk": "ဆလိုဗက်",
"sr": "ဆားဘီးယား",
+ "su": "ဆူဒန်",
"xog": "ဆိုဂါ",
"so": "ဆိုမာလီ",
"ckb": "ဆိုရာနီ",
"hsb": "ဆက္ကဆိုနီ",
"sbp": "ဆန်ဂု",
"sg": "ဆန်ဂို",
+ "sat": "ဆန်တာလီ",
"saq": "ဆမ်ဘူရူ",
"sw": "ဆွာဟီလီ",
"sv": "ဆွီဒင်",
@@ -99,6 +101,8 @@
"nus": "နူအာ",
"nn": "နော်ဝေ နီးနောစ်",
"nb": "နော်ဝေ ဘွတ်ခ်မော်လ်",
+ "no": "နော်ဝေး",
+ "pcm": "နိုင်ဂျီးရီးယား ပစ်ဂျင်",
"fa": "ပါရှန်",
"pt": "ပေါ်တူဂီ",
"pl": "ပိုလန်",
@@ -128,6 +132,7 @@
"bm": "ဘန်ဘာရာ",
"bem": "ဘိန်ဘာ",
"jmc": "မချာမီ",
+ "mni": "မနိပူရ",
"ml": "မလေယာလမ်",
"ms": "မလေး",
"mgh": "မာခူဝါ-မီအီတို",
@@ -144,6 +149,7 @@
"mt": "မော်လ်တာ",
"zgh": "မိုရိုကို တမဇိုက်",
"mk": "မက်ဆီဒိုးနီးယား",
+ "mai": "မိုင်သီလီ",
"se": "မြောက် ဆာမိ",
"nd": "မြောက် အွန်န်ဒီဘီလီ",
"lrc": "မြောက်လူရီ",
@@ -176,6 +182,7 @@
"wo": "ဝူလိုဖ်",
"cy": "ဝေလ",
"wae": "ဝေါလ်ဆာ",
+ "sa": "သင်္သကရိုက်",
"haw": "ဟာဝိုင်ယီ",
"ha": "ဟာဥစာ",
"he": "ဟီးဘရူး",
@@ -200,12 +207,12 @@
"pt-PT": "ဥရောပ ပေါ်တူဂီ",
"ur": "အူရ်ဒူ",
"de-AT": "ဩစတြီးယား ဂျာမန်",
- "en-AU": "ဩစတြေးလျှ အင်္ဂလိပ်",
+ "en-AU": "ဩစတြေးလျ အင်္ဂလိပ်",
"os": "အိုဆဲတစ်ခ်",
"or": "အိုရီရာ",
"om": "အိုရိုမို",
- "ast": "အက်စတူရီယန်း",
"et": "အက်စ်တိုးနီးယား",
+ "ast": "အက်စ်တိုးရီးယား",
"is": "အိုက်စ်လန်",
"agq": "အာဂ်ဟိန်း",
"en": "အင်္ဂလိပ်",
@@ -215,5 +222,6 @@
"ebu": "အမ်ဘူ",
"am": "အမ်ဟာရစ်ခ်",
"sq": "အယ်လ်ဘေးနီးယား",
- "nnh": "အွန်ရဲဘွန်း"
+ "nnh": "အွန်ရဲဘွန်း",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nb.json b/vendor/commerceguys/intl/resources/language/nb.json
index 82a5c877e..bf64b513e 100644
--- a/vendor/commerceguys/intl/resources/language/nb.json
+++ b/vendor/commerceguys/intl/resources/language/nb.json
@@ -25,6 +25,7 @@
"ceb": "cebuansk",
"chr": "cherokesisk",
"da": "dansk",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"smn": "enaresamisk",
@@ -109,12 +110,14 @@
"luo": "Luo",
"lb": "luxemburgsk",
"jmc": "machame",
+ "mai": "maithili",
"mk": "makedonsk",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayisk",
"mt": "maltesisk",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -132,9 +135,11 @@
"ne": "nepali",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nigeriansk pidginspråk",
"lrc": "nord-luri",
"nd": "nord-ndebele",
"se": "nordsamisk",
+ "no": "norsk",
"nb": "norsk bokmål",
"nn": "norsk nynorsk",
"nus": "nuer",
@@ -159,6 +164,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"seh": "sena",
"tzm": "sentralmarokkansk tamazight",
"sr": "serbisk",
@@ -176,6 +183,7 @@
"es-419": "spansk (Latin-Amerika)",
"es-MX": "spansk (Mexico)",
"zgh": "standard marrokansk tamazight",
+ "su": "sundanesisk",
"gsw": "sveitsertysk",
"sv": "svensk",
"sw": "swahili",
diff --git a/vendor/commerceguys/intl/resources/language/ne.json b/vendor/commerceguys/intl/resources/language/ne.json
index d9a4fd21d..faae314d0 100644
--- a/vendor/commerceguys/intl/resources/language/ne.json
+++ b/vendor/commerceguys/intl/resources/language/ne.json
@@ -8,7 +8,6 @@
"ast": "अस्टुरियाली",
"de-AT": "अस्ट्रिएन जर्मन",
"en-AU": "अस्ट्रेलियाली अङ्ग्रेजी",
- "os": "अोस्सेटिक",
"ga": "आइरिस",
"is": "आइसल्यान्डियाली",
"ak": "आकान",
@@ -32,6 +31,7 @@
"ur": "उर्दु",
"ebu": "एम्बु",
"om": "ओरोमो",
+ "os": "ओस्सेटिक",
"sw-CD": "कङ्गो स्वाहिली",
"kn": "कन्नाडा",
"kkj": "काको",
@@ -88,6 +88,7 @@
"to": "टोङ्गन",
"nl": "डच",
"da": "डेनिस",
+ "doi": "डोगरी",
"nds": "तल्लो जर्मन",
"nds-NL": "तल्लो साक्सन",
"dsb": "तल्लो सोर्बियन",
@@ -100,8 +101,10 @@
"te": "तेलुगु",
"th": "थाई",
"dua": "दुवाला",
+ "no": "नर्वेली",
"nn": "नर्वेली नाइनोर्स्क",
"nb": "नर्वेली बोकमाल",
+ "pcm": "नाइजेरियाली पिड्जिन",
"naq": "नामा",
"nus": "नुएर",
"ne": "नेपाली",
@@ -142,6 +145,7 @@
"mn": "मङ्गोलियाली",
"mzn": "मजानडेरानी",
"ckb": "मध्यवर्ती कुर्दिस",
+ "mni": "मनिपुरी",
"mr": "मराठी",
"ml": "मलयालम",
"mg": "मलागासी",
@@ -158,6 +162,7 @@
"es-MX": "मेक्सिकन स्पेनी",
"mgo": "मेटा",
"mer": "मेरू",
+ "mai": "मैथिली",
"mfe": "मोरिसेन",
"ro-MD": "मोल्डाभियाली",
"mk": "म्यासेडोनियन",
@@ -191,13 +196,16 @@
"sn": "शोना",
"zh-Hans": "सरलिकृत चिनियाँ",
"sr": "सर्बियाली",
+ "sa": "संस्कृत",
"sah": "साखा",
"sbp": "साङ्गु",
"sg": "साङ्गो",
+ "sat": "सान्ताली",
"saq": "साम्बुरू",
"ii": "सिचुआन यि",
"sd": "सिन्धी",
"si": "सिन्हाली",
+ "su": "सुडानी",
"seh": "सेना",
"ceb": "सेबुआनो",
"xog": "सोगा",
diff --git a/vendor/commerceguys/intl/resources/language/nl.json b/vendor/commerceguys/intl/resources/language/nl.json
index 5ad7f8349..ee1b22710 100644
--- a/vendor/commerceguys/intl/resources/language/nl.json
+++ b/vendor/commerceguys/intl/resources/language/nl.json
@@ -15,6 +15,7 @@
"bm": "Bambara",
"bas": "Basa",
"eu": "Baskisch",
+ "be": "Belarussisch",
"bem": "Bemba",
"bez": "Bena",
"bn": "Bengaals",
@@ -32,6 +33,7 @@
"zh-Hans": "Chinees (vereenvoudigd)",
"kw": "Cornish",
"da": "Deens",
+ "doi": "Dogri",
"dua": "Duala",
"de": "Duits",
"de-AT": "Duits (Oostenrijk)",
@@ -111,6 +113,7 @@
"mas": "Maa",
"mk": "Macedonisch",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagassisch",
@@ -120,6 +123,7 @@
"mi": "Maori",
"mr": "Marathi",
"mzn": "Mazanderani",
+ "mni": "Meitei",
"mer": "Meru",
"mgo": "Meta’",
"mn": "Mongools",
@@ -135,9 +139,11 @@
"nnh": "Ngiemboon",
"jgo": "Ngomba",
"nmg": "Ngumba",
+ "pcm": "Nigeriaans Pidgin",
"nd": "Noord-Ndebele",
"se": "Noord-Samisch",
"lrc": "Noordelijk Luri",
+ "no": "Noors",
"nb": "Noors - Bokmål",
"nn": "Noors - Nynorsk",
"nus": "Nuer",
@@ -164,6 +170,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskriet",
+ "sat": "Santali",
"gd": "Schots-Gaelisch",
"seh": "Sena",
"sr": "Servisch",
@@ -173,6 +181,7 @@
"si": "Singalees",
"sl": "Sloveens",
"sk": "Slowaaks",
+ "su": "Soendanees",
"xog": "Soga",
"so": "Somalisch",
"ckb": "Soranî",
@@ -206,7 +215,6 @@
"wa": "Waals",
"wae": "Walser",
"cy": "Welsh",
- "be": "Wit-Russisch",
"wo": "Wolof",
"xh": "Xhosa",
"yav": "Yangben",
diff --git a/vendor/commerceguys/intl/resources/language/nn.json b/vendor/commerceguys/intl/resources/language/nn.json
index b8bd4ce21..8dd7d1b92 100644
--- a/vendor/commerceguys/intl/resources/language/nn.json
+++ b/vendor/commerceguys/intl/resources/language/nn.json
@@ -18,15 +18,14 @@
"bez": "bena (Tanzania)",
"bn": "bengali",
"brx": "bodo",
- "nb": "bokmål",
"bs": "bosnisk",
"br": "bretonsk",
- "en-GB": "britisk engelsk",
"bg": "bulgarsk",
"my": "burmesisk",
"ceb": "cebuano",
"chr": "cherokee",
"da": "dansk",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -34,6 +33,7 @@
"en": "engelsk",
"en-AU": "engelsk (Australia)",
"en-CA": "engelsk (Canada)",
+ "en-GB": "engelsk (Storbritannia)",
"et": "estisk",
"ee": "ewe",
"ewo": "ewondo",
@@ -47,7 +47,7 @@
"fur": "friulisk",
"ff": "fulfulde",
"fo": "færøysk",
- "gl": "galicisk",
+ "gl": "galisisk",
"lg": "ganda",
"ka": "georgisk",
"el": "gresk",
@@ -85,11 +85,12 @@
"zh": "kinesisk",
"rw": "kinjarwanda",
"ky": "kirgisisk",
+ "sw-CD": "kongolesisk swahili",
"kok": "konkani",
"ko": "koreansk",
"kw": "kornisk",
"khq": "koyra chiini",
- "ses": "Koyraboro Senni",
+ "ses": "koyraboro senni",
"hr": "kroatisk",
"ku": "kurdisk",
"be": "kviterussisk",
@@ -109,12 +110,14 @@
"nds": "lågtysk",
"jmc": "machame",
"mg": "madagassisk",
+ "mai": "maithili",
"mk": "makedonsk",
- "mgh": "Makhuwa-Meetto",
+ "mgh": "makhuwa-meetto",
"kde": "makonde",
"ml": "malayalam",
"ms": "malayisk",
"mt": "maltesisk",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -130,12 +133,15 @@
"ne": "nepalsk",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nigeriansk pidgin",
"lrc": "nord-lurisk",
"nd": "nord-ndebele",
"se": "nordsamisk",
+ "no": "norsk",
+ "nb": "norsk bokmål",
+ "nn": "norsk nynorsk",
"nus": "nuer",
"nyn": "nyankole",
- "nn": "nynorsk",
"or": "odia",
"luy": "olulujia",
"om": "oromo",
@@ -157,6 +163,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"seh": "sena",
"tzm": "sentral-tamazight",
"sr": "serbisk",
@@ -175,10 +183,10 @@
"es-419": "spansk (Latin-Amerika)",
"es-MX": "spansk (Mexico)",
"zgh": "standard marokkansk tamazight",
+ "su": "sundanesisk",
"gsw": "sveitsertysk",
"sv": "svensk",
"sw": "swahili",
- "sw-CD": "swahili (Kongo-Kinshasa)",
"shi": "tachelhit",
"tg": "tadsjikisk",
"dav": "taita",
diff --git a/vendor/commerceguys/intl/resources/language/no.json b/vendor/commerceguys/intl/resources/language/no.json
new file mode 100644
index 000000000..bf64b513e
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/no.json
@@ -0,0 +1,227 @@
+{
+ "af": "afrikaans",
+ "agq": "aghem",
+ "ak": "akan",
+ "sq": "albansk",
+ "am": "amharisk",
+ "ar": "arabisk",
+ "hy": "armensk",
+ "az": "aserbajdsjansk",
+ "as": "assamesisk",
+ "ast": "asturisk",
+ "asa": "asu",
+ "ksf": "bafia",
+ "bm": "bambara",
+ "eu": "baskisk",
+ "bas": "basaa",
+ "bem": "bemba",
+ "bez": "bena",
+ "bn": "bengali",
+ "brx": "bodo",
+ "bs": "bosnisk",
+ "br": "bretonsk",
+ "bg": "bulgarsk",
+ "my": "burmesisk",
+ "ceb": "cebuansk",
+ "chr": "cherokesisk",
+ "da": "dansk",
+ "doi": "dogri",
+ "dua": "duala",
+ "dz": "dzongkha",
+ "smn": "enaresamisk",
+ "en": "engelsk",
+ "en-AU": "engelsk (Australia)",
+ "en-CA": "engelsk (Canada)",
+ "en-GB": "engelsk (Storbritannia)",
+ "et": "estisk",
+ "ee": "ewe",
+ "ewo": "ewondo",
+ "fil": "filipino",
+ "fi": "finsk",
+ "nl-BE": "flamsk",
+ "zh-Hans": "forenklet kinesisk",
+ "fr": "fransk",
+ "fr-CA": "fransk (Canada)",
+ "fr-CH": "fransk (Sveits)",
+ "fur": "friuliansk",
+ "ff": "fulfulde",
+ "fo": "færøysk",
+ "gl": "galisisk",
+ "lg": "ganda",
+ "mg": "gassisk",
+ "ka": "georgisk",
+ "el": "gresk",
+ "kl": "grønlandsk",
+ "gu": "gujarati",
+ "guz": "gusii",
+ "ha": "hausa",
+ "haw": "hawaiisk",
+ "he": "hebraisk",
+ "hi": "hindi",
+ "be": "hviterussisk",
+ "hsb": "høysorbisk",
+ "ig": "ibo",
+ "id": "indonesisk",
+ "ga": "irsk",
+ "is": "islandsk",
+ "it": "italiensk",
+ "ja": "japansk",
+ "jv": "javanesisk",
+ "yi": "jiddisk",
+ "dyo": "jola-fonyi",
+ "yo": "joruba",
+ "kab": "kabylsk",
+ "kkj": "kako",
+ "kln": "kalenjin",
+ "kam": "kamba",
+ "kn": "kannada",
+ "yue": "kantonesisk",
+ "kea": "kappverdisk",
+ "kk": "kasakhisk",
+ "ks": "kasjmiri",
+ "ca": "katalansk",
+ "km": "khmer",
+ "ebu": "kiembu",
+ "cgg": "kiga",
+ "ki": "kikuyu",
+ "zh": "kinesisk",
+ "rw": "kinyarwanda",
+ "ky": "kirgisisk",
+ "sw-CD": "kongolesisk swahili",
+ "kok": "konkani",
+ "ko": "koreansk",
+ "kw": "kornisk",
+ "khq": "koyra chiini",
+ "ses": "koyraboro senni",
+ "hr": "kroatisk",
+ "ku": "kurdisk",
+ "ckb": "kurdisk (sorani)",
+ "nmg": "kwasio",
+ "ksh": "kølnsk",
+ "lkt": "lakota",
+ "lag": "langi",
+ "lo": "laotisk",
+ "lv": "latvisk",
+ "dsb": "lavsorbisk",
+ "ln": "lingala",
+ "lt": "litauisk",
+ "lu": "luba-katanga",
+ "luy": "luhya",
+ "luo": "Luo",
+ "lb": "luxemburgsk",
+ "jmc": "machame",
+ "mai": "maithili",
+ "mk": "makedonsk",
+ "mgh": "makhuwa-meetto",
+ "kde": "makonde",
+ "ml": "malayalam",
+ "ms": "malayisk",
+ "mt": "maltesisk",
+ "mni": "manipuri",
+ "mi": "maori",
+ "mr": "marathi",
+ "mas": "masai",
+ "mfe": "mauritisk-kreolsk",
+ "mzn": "mazandarani",
+ "mer": "meru",
+ "mgo": "meta’",
+ "ro-MD": "moldovsk",
+ "mn": "mongolsk",
+ "mua": "mundang",
+ "naq": "nama",
+ "nl": "nederlandsk",
+ "nds-NL": "nedersaksisk",
+ "nds": "nedertysk",
+ "ne": "nepali",
+ "nnh": "ngiemboon",
+ "jgo": "ngomba",
+ "pcm": "nigeriansk pidginspråk",
+ "lrc": "nord-luri",
+ "nd": "nord-ndebele",
+ "se": "nordsamisk",
+ "no": "norsk",
+ "nb": "norsk bokmål",
+ "nn": "norsk nynorsk",
+ "nus": "nuer",
+ "nyn": "nyankole",
+ "or": "odia",
+ "om": "oromo",
+ "os": "ossetisk",
+ "pa": "panjabi",
+ "ps": "pashto",
+ "fa": "persisk",
+ "pl": "polsk",
+ "pt": "portugisisk",
+ "pt-PT": "portugisisk (Portugal)",
+ "qu": "quechua",
+ "rm": "retoromansk",
+ "rof": "rombo",
+ "ro": "rumensk",
+ "rn": "rundi",
+ "ru": "russisk",
+ "rwk": "rwa",
+ "sah": "sakha",
+ "saq": "samburu",
+ "sg": "sango",
+ "sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
+ "seh": "sena",
+ "tzm": "sentralmarokkansk tamazight",
+ "sr": "serbisk",
+ "ksb": "shambala",
+ "sn": "shona",
+ "ii": "sichuan-yi",
+ "sd": "sindhi",
+ "si": "singalesisk",
+ "gd": "skotsk-gælisk",
+ "sk": "slovakisk",
+ "sl": "slovensk",
+ "xog": "soga",
+ "so": "somali",
+ "es": "spansk",
+ "es-419": "spansk (Latin-Amerika)",
+ "es-MX": "spansk (Mexico)",
+ "zgh": "standard marrokansk tamazight",
+ "su": "sundanesisk",
+ "gsw": "sveitsertysk",
+ "sv": "svensk",
+ "sw": "swahili",
+ "shi": "tachelhit",
+ "tg": "tadsjikisk",
+ "dav": "taita",
+ "ta": "tamil",
+ "twq": "tasawaq",
+ "tt": "tatarisk",
+ "te": "telugu",
+ "teo": "teso",
+ "th": "thai",
+ "bo": "tibetansk",
+ "ti": "tigrinja",
+ "to": "tongansk",
+ "zh-Hant": "tradisjonell kinesisk",
+ "cs": "tsjekkisk",
+ "ce": "tsjetsjensk",
+ "tk": "turkmensk",
+ "tr": "tyrkisk",
+ "de": "tysk",
+ "de-CH": "tysk (Sveits)",
+ "de-AT": "tysk (Østerrike)",
+ "ug": "uigurisk",
+ "uk": "ukrainsk",
+ "hu": "ungarsk",
+ "ur": "urdu",
+ "uz": "usbekisk",
+ "vai": "Vai",
+ "wa": "vallonsk",
+ "fy": "vestfrisisk",
+ "vi": "vietnamesisk",
+ "vun": "vunjo",
+ "cy": "walisisk",
+ "wae": "walsertysk",
+ "wo": "wolof",
+ "xh": "xhosa",
+ "yav": "yangben",
+ "dje": "zarma",
+ "zu": "zulu"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pa.json b/vendor/commerceguys/intl/resources/language/pa.json
index 2b27b6a4b..5b937d36d 100644
--- a/vendor/commerceguys/intl/resources/language/pa.json
+++ b/vendor/commerceguys/intl/resources/language/pa.json
@@ -34,7 +34,9 @@
"ebu": "ਇੰਬੂ",
"ewo": "ਇਵੋਂਡੋ",
"ee": "ਈਵਈ",
+ "sa": "ਸੰਸਕ੍ਰਿਤ",
"gd": "ਸਕਾਟਿਸ਼ ਗੇਲਿਕ",
+ "sat": "ਸੰਥਾਲੀ",
"es": "ਸਪੇਨੀ",
"es-MX": "ਸਪੇਨੀ (ਮੈਕਸੀਕੀ)",
"es-419": "ਸਪੇਨੀ (ਲਾਤੀਨੀ ਅਮਰੀਕੀ)",
@@ -51,6 +53,7 @@
"ii": "ਸਿਚੁਆਨ ਯੀ",
"sd": "ਸਿੰਧੀ",
"ceb": "ਸੀਬੂਆਨੋ",
+ "su": "ਸੂੰਡਾਨੀ",
"sbp": "ਸੇਂਗੋ",
"seh": "ਸੇਨਾ",
"xog": "ਸੋਗਾ",
@@ -70,7 +73,7 @@
"kab": "ਕਬਾਇਲ",
"kl": "ਕਲਾਅੱਲੀਸੁਟ",
"kln": "ਕਲੇਜਿਨ",
- "ksh": "ਕਲੋਗਨੀਅਨ",
+ "ksh": "ਕਲੋਨੀਅਨ",
"nmg": "ਕਵਾਸਿਓ",
"hr": "ਕ੍ਰੋਏਸ਼ਿਆਈ",
"kkj": "ਕਾਕੋ",
@@ -95,8 +98,8 @@
"gu": "ਗੁਜਰਾਤੀ",
"gl": "ਗੈਲਿਸ਼ਿਅਨ",
"cgg": "ਚੀਗਾ",
+ "zh": "ਚੀਨੀ",
"zh-Hans": "ਚੀਨੀ (ਸਰਲ)",
- "zh": "ਚੀਨੀ (ਮੈਂਡਰਿਨ)",
"zh-Hant": "ਚੀਨੀ (ਰਵਾਇਤੀ)",
"ce": "ਚੇਚਨ",
"chr": "ਚੇਰੋਕੀ",
@@ -129,7 +132,9 @@
"te": "ਤੇਲਗੂ",
"th": "ਥਾਈ",
"jgo": "ਨਗੋਂਬਾ",
+ "pcm": "ਨਾਇਜੀਰੀਆਈ ਪਿਡਗਿਨ",
"naq": "ਨਾਮਾ",
+ "no": "ਨਾਰਵੇਜਿਆਈ",
"nn": "ਨਾਰਵੇਜਿਆਈ ਨਿਓਨੌਰਸਕ",
"nb": "ਨਾਰਵੇਜਿਆਈ ਬੋਕਮਲ",
"nnh": "ਨਿਓਮਬੂਨ",
@@ -171,6 +176,7 @@
"mn": "ਮੰਗੋਲੀ",
"jmc": "ਮਚਾਮੇ",
"tzm": "ਮੱਧ ਐਟਲਸ ਤਮਾਜ਼ਿਤ",
+ "mni": "ਮਨੀਪੁਰੀ",
"mr": "ਮਰਾਠੀ",
"ms": "ਮਲਯ",
"ml": "ਮਲਿਆਲਮ",
@@ -183,6 +189,7 @@
"mgo": "ਮੇਟਾ",
"mer": "ਮੇਰੂ",
"mk": "ਮੈਕਡੋਨੀਆਈ",
+ "mai": "ਮੈਥਲੀ",
"mfe": "ਮੋਰੀਸਿਅਨ",
"ro-MD": "ਮੋਲਡਾਵੀਆਈ",
"yav": "ਯਾਂਗਬੇਨ",
@@ -215,5 +222,6 @@
"vi": "ਵੀਅਤਨਾਮੀ",
"vun": "ਵੂੰਜੋ",
"cy": "ਵੈਲਸ਼",
- "wo": "ਵੋਲੋਫ"
+ "wo": "ਵੋਲੋਫ",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pl.json b/vendor/commerceguys/intl/resources/language/pl.json
index 23f308f40..42e9f557f 100644
--- a/vendor/commerceguys/intl/resources/language/pl.json
+++ b/vendor/commerceguys/intl/resources/language/pl.json
@@ -6,13 +6,14 @@
"es-419": "amerykański hiszpański",
"am": "amharski",
"en": "angielski",
+ "en-AU": "angielski australijski",
+ "en-GB": "angielski brytyjski",
+ "en-CA": "angielski kanadyjski",
"ar": "arabski",
"as": "asamski",
"ast": "asturyjski",
"asa": "asu",
"teo": "ateso",
- "en-AU": "australijski angielski",
- "de-AT": "austriacki niemiecki",
"az": "azerbejdżański",
"ksf": "bafia",
"bm": "bambara",
@@ -26,9 +27,8 @@
"brx": "bodo",
"bs": "bośniacki",
"br": "bretoński",
- "en-GB": "brytyjski angielski",
"bg": "bułgarski",
- "ceb": "cebuano",
+ "ceb": "cebuański",
"cgg": "chiga",
"zh": "chiński",
"zh-Hant": "chiński tradycyjny",
@@ -38,6 +38,7 @@
"cs": "czeski",
"chr": "czirokeski",
"dyo": "diola",
+ "doi": "dogri",
"dsb": "dolnołużycki",
"nds": "dolnoniemiecki",
"nds-NL": "dolnosaksoński",
@@ -51,10 +52,12 @@
"ee": "ewe",
"ewo": "ewondo",
"fo": "farerski",
- "fil": "filipino",
+ "fil": "filipiński",
"fi": "fiński",
"nl-BE": "flamandzki",
"fr": "francuski",
+ "fr-CA": "francuski kanadyjski",
+ "fr-CH": "francuski szwajcarski",
"fur": "friulski",
"ff": "fulani",
"gl": "galicyjski",
@@ -85,8 +88,6 @@
"kkj": "kako",
"kln": "kalenjin",
"kam": "kamba",
- "en-CA": "kanadyjski angielski",
- "fr-CA": "kanadyjski francuski",
"kn": "kannada",
"yue": "kantoński",
"ks": "kaszmirski",
@@ -120,12 +121,14 @@
"lv": "łotewski",
"mk": "macedoński",
"jmc": "machame",
+ "mai": "maithili",
"kde": "makonde",
"mgh": "makua",
"ml": "malajalam",
"ms": "malajski",
"mg": "malgaski",
"mt": "maltański",
+ "mni": "manipuri",
"mi": "maoryjski",
"mr": "marathi",
"mas": "masajski",
@@ -144,6 +147,8 @@
"nmg": "ngumba",
"nl": "niderlandzki",
"de": "niemiecki",
+ "de-AT": "niemiecki austriacki",
+ "no": "norweski",
"nb": "norweski (bokmål)",
"nn": "norweski (nynorsk)",
"nus": "nuer",
@@ -155,6 +160,7 @@
"ps": "paszto",
"pa": "pendżabski",
"fa": "perski",
+ "pcm": "pidżyn nigeryjski",
"pl": "polski",
"pt": "portugalski",
"se": "północnolapoński",
@@ -168,6 +174,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskryt",
+ "sat": "santali",
"seh": "sena",
"sr": "serbski",
"sn": "shona",
@@ -179,12 +187,11 @@
"ckb": "sorani",
"zgh": "standardowy marokański tamazight",
"sw": "suahili",
+ "su": "sundajski",
"ii": "syczuański",
"si": "syngaleski",
"gd": "szkocki gaelicki",
- "fr-CH": "szwajcarski francuski",
"gsw": "szwajcarski niemiecki",
- "de-CH": "szwajcarski wysokoniemiecki",
"sv": "szwedzki",
"tg": "tadżycki",
"dav": "taita",
@@ -213,6 +220,7 @@
"vi": "wietnamski",
"it": "włoski",
"wo": "wolof",
+ "de-CH": "wysokoniemiecki szwajcarski",
"yav": "yangben",
"fy": "zachodniofryzyjski",
"zu": "zulu"
diff --git a/vendor/commerceguys/intl/resources/language/ps-PK.json b/vendor/commerceguys/intl/resources/language/ps-PK.json
index 666a88900..f2cfbe225 100644
--- a/vendor/commerceguys/intl/resources/language/ps-PK.json
+++ b/vendor/commerceguys/intl/resources/language/ps-PK.json
@@ -96,13 +96,16 @@
"sk": "سلوواکي",
"sl": "سلوواني",
"saq": "سمبورو",
+ "sat": "سنتالي",
"sd": "سندهي",
+ "sa": "سنسکریټ",
"sw": "سواهېلي",
+ "su": "سوډاني",
"xog": "سوګا",
"so": "سومالي",
"sv": "سویډنی",
"gsw": "سویس جرمن",
- "de-CH": "سوئس لوی جرمن",
+ "de-CH": "سویس های جرمن",
"fr-CH": "سويسي فرانسوي",
"ceb": "سیبوانوي",
"ii": "سیچیان یی",
@@ -174,7 +177,9 @@
"mas": "ماسائي",
"ml": "مالايالم",
"mt": "مالټايي",
+ "mni": "مانی پوری",
"mi": "ماوري",
+ "mai": "مایتھلي",
"mr": "مراټهي",
"tzm": "مرکزی اطلس تمازائيٹ",
"mzn": "مزاندراني",
@@ -192,8 +197,10 @@
"es-MX": "ميکسيکي هسپانوي",
"kde": "ميکونډي",
"nb": "ناروے بوکمال",
+ "no": "ناروېئي",
"nn": "ناروېئي (نائنورسک)",
"naq": "ناما",
+ "pcm": "نائجیریا پیدجن",
"nnh": "نایجیمون",
"jgo": "نګومبا",
"nus": "نویر",
@@ -202,7 +209,7 @@
"nl": "هالېنډي",
"es": "هسپانوي",
"hi": "هندي",
- "hu": "هنگري",
+ "hu": "هنګري",
"haw": "هوایی",
"ha": "هوسا",
"wa": "والون",
@@ -215,5 +222,6 @@
"yi": "يديش",
"yav": "ینګبین",
"yo": "یوروبا",
- "el": "یوناني"
+ "el": "یوناني",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ps.json b/vendor/commerceguys/intl/resources/language/ps.json
index 107a9a8ad..1490bfd9e 100644
--- a/vendor/commerceguys/intl/resources/language/ps.json
+++ b/vendor/commerceguys/intl/resources/language/ps.json
@@ -96,13 +96,16 @@
"sk": "سلوواکي",
"sl": "سلوواني",
"saq": "سمبورو",
+ "sat": "سنتالي",
"sd": "سندهي",
+ "sa": "سنسکریټ",
"sw": "سواهېلي",
+ "su": "سوډاني",
"xog": "سوګا",
"so": "سومالي",
"sv": "سویډنی",
"gsw": "سویس جرمن",
- "de-CH": "سوئس لوی جرمن",
+ "de-CH": "سویس های جرمن",
"fr-CH": "سويسي فرانسوي",
"ceb": "سیبوانوي",
"ii": "سیچیان یی",
@@ -174,7 +177,9 @@
"mas": "ماسائي",
"ml": "مالايالم",
"mt": "مالټايي",
+ "mni": "مانی پوری",
"mi": "ماوري",
+ "mai": "مایتھلي",
"mr": "مراټهي",
"tzm": "مرکزی اطلس تمازائيٹ",
"mzn": "مزاندراني",
@@ -191,9 +196,11 @@
"mer": "ميرو",
"es-MX": "ميکسيکي هسپانوي",
"kde": "ميکونډي",
- "nb": "ناروې بوکمال",
+ "no": "ناروېئي",
+ "nb": "ناروېئي (بوکمال)",
"nn": "ناروېئي (نائنورسک)",
"naq": "ناما",
+ "pcm": "نائجیریا پیدجن",
"nnh": "نایجیمون",
"jgo": "نګومبا",
"nus": "نویر",
@@ -202,7 +209,7 @@
"nl": "هالېنډي",
"es": "هسپانوي",
"hi": "هندي",
- "hu": "هنگري",
+ "hu": "هنګري",
"haw": "هوایی",
"ha": "هوسا",
"wa": "والون",
@@ -215,5 +222,6 @@
"yi": "يديش",
"yav": "ینګبین",
"yo": "یوروبا",
- "el": "یوناني"
+ "el": "یوناني",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-PT.json b/vendor/commerceguys/intl/resources/language/pt-PT.json
index 202f2a95d..175e397a1 100644
--- a/vendor/commerceguys/intl/resources/language/pt-PT.json
+++ b/vendor/commerceguys/intl/resources/language/pt-PT.json
@@ -49,9 +49,12 @@
"ko": "coreano",
"kw": "córnico",
"kea": "crioulo cabo-verdiano",
+ "mfe": "crioulo mauriciano",
"hr": "croata",
"ku": "curdo",
+ "ckb": "curdo central",
"da": "dinamarquês",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzonga",
"ebu": "embu",
@@ -126,10 +129,12 @@
"jmc": "machame",
"kde": "maconde",
"mgh": "macua",
+ "mai": "maithili",
"ml": "malaiala",
"ms": "malaio",
"mg": "malgaxe",
"mt": "maltês",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marata",
"mas": "massai",
@@ -138,7 +143,6 @@
"mgo": "meta’",
"ro-MD": "moldávio",
"mn": "mongol",
- "mfe": "morisyen",
"mua": "mundang",
"naq": "nama",
"nd": "ndebele do norte",
@@ -146,16 +150,18 @@
"ne": "nepalês",
"nnh": "ngiemboon",
"jgo": "nguemba",
+ "no": "norueguês",
"nb": "norueguês bokmål",
"nn": "norueguês nynorsk",
"nus": "nuer",
"nyn": "nyankole",
- "or": "oriya",
+ "or": "oriá",
"om": "oromo",
"os": "ossético",
"pa": "panjabi",
"ps": "pastó",
"fa": "persa",
+ "pcm": "pidgin nigeriano",
"pl": "polaco",
"pt": "português",
"pt-PT": "português europeu",
@@ -174,6 +180,8 @@
"se": "sami do norte",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sânscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "sérvio",
"ksb": "shambala",
@@ -182,16 +190,16 @@
"sd": "sindi",
"xog": "soga",
"so": "somali",
- "ckb": "sorani curdo",
"sw": "suaíli",
"sw-CD": "suaíli do Congo",
"sv": "sueco",
+ "su": "sundanês",
"shi": "tachelhit",
"th": "tailandês",
"dav": "taita",
"tg": "tajique",
- "tzm": "tamazight do Atlas Central",
"zgh": "tamazight marroquino padrão",
+ "tzm": "tamazigue do Atlas Central",
"ta": "tâmil",
"twq": "tasawaq",
"tt": "tatar",
diff --git a/vendor/commerceguys/intl/resources/language/pt.json b/vendor/commerceguys/intl/resources/language/pt.json
index 2f6e307e9..1bfa5f841 100644
--- a/vendor/commerceguys/intl/resources/language/pt.json
+++ b/vendor/commerceguys/intl/resources/language/pt.json
@@ -53,6 +53,7 @@
"ku": "curdo",
"ckb": "curdo central",
"da": "dinamarquês",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzonga",
"ebu": "embu",
@@ -62,7 +63,7 @@
"es-419": "espanhol (América Latina)",
"es-MX": "espanhol (México)",
"et": "estoniano",
- "ee": "eve",
+ "ee": "ewe",
"ewo": "ewondo",
"fo": "feroês",
"fil": "filipino",
@@ -114,6 +115,7 @@
"lkt": "lacota",
"lag": "langi",
"lo": "laosiano",
+ "smn": "lapão de Inari",
"lv": "letão",
"ln": "lingala",
"lt": "lituano",
@@ -128,10 +130,12 @@
"jmc": "machame",
"kde": "maconde",
"mgh": "macua",
+ "mai": "maithili",
"ml": "malaiala",
"ms": "malaio",
"mg": "malgaxe",
"mt": "maltês",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marati",
"mas": "massai",
@@ -147,6 +151,7 @@
"ne": "nepalês",
"nnh": "ngiemboon",
"jgo": "nguemba",
+ "no": "norueguês",
"nus": "nuer",
"nyn": "nyankole",
"nn": "nynorsk norueguês",
@@ -156,6 +161,7 @@
"pa": "panjabi",
"ps": "pashto",
"fa": "persa",
+ "pcm": "pidgin nigeriano",
"pl": "polonês",
"pt": "português",
"pt-PT": "português (Portugal)",
@@ -171,10 +177,11 @@
"rwk": "rwa",
"sah": "sakha",
"saq": "samburu",
- "smn": "sami de Inari",
"se": "sami setentrional",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sânscrito",
+ "sat": "santali",
"seh": "sena",
"sr": "sérvio",
"ksb": "shambala",
@@ -184,11 +191,12 @@
"sw": "suaíli",
"sw-CD": "suaíli do Congo",
"sv": "sueco",
+ "su": "sundanês",
"shi": "tachelhit",
"tg": "tadjique",
"th": "tailandês",
"dav": "taita",
- "tzm": "tamazirte do Atlas Central",
+ "tzm": "tamazight do Atlas Central",
"zgh": "tamazirte marroqino padrão",
"ta": "tâmil",
"tt": "tártaro",
diff --git a/vendor/commerceguys/intl/resources/language/rn.json b/vendor/commerceguys/intl/resources/language/rn.json
index ab311873a..91ab6f8e0 100644
--- a/vendor/commerceguys/intl/resources/language/rn.json
+++ b/vendor/commerceguys/intl/resources/language/rn.json
@@ -28,6 +28,7 @@
"kw": "Cornish",
"hr": "Croatian",
"da": "Danish",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -139,11 +140,13 @@
"luy": "Luyia",
"mk": "Macedonian",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
"ml": "Malayalam",
"mt": "Maltese",
+ "mni": "Manipuri",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -157,9 +160,11 @@
"nds-NL": "nds (Ubuholandi)",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
+ "no": "Norwegian",
"nb": "Norwegian Bokmål",
"nn": "Norwegian Nynorsk",
"nus": "Nuer",
@@ -176,6 +181,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"gd": "Scottish Gaelic",
"seh": "Sena",
"sr": "Serbian",
@@ -188,6 +195,7 @@
"sl": "Slovenian",
"xog": "Soga",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw-CD": "sw (Repubulika Iharanira Demokarasi ya Kongo)",
"sw": "Swahili",
"gsw": "Swiss German",
diff --git a/vendor/commerceguys/intl/resources/language/ro-MD.json b/vendor/commerceguys/intl/resources/language/ro-MD.json
index 52c647f04..94addd86a 100644
--- a/vendor/commerceguys/intl/resources/language/ro-MD.json
+++ b/vendor/commerceguys/intl/resources/language/ro-MD.json
@@ -38,6 +38,7 @@
"kw": "cornică",
"hr": "croată",
"da": "daneză",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"he": "ebraică",
@@ -49,7 +50,7 @@
"et": "estonă",
"ee": "ewe",
"ewo": "ewondo",
- "fo": "faroeză",
+ "fo": "feroeză",
"fil": "filipineză",
"fi": "finlandeză",
"nl-BE": "flamandă",
@@ -118,12 +119,14 @@
"mk": "macedoneană",
"jmc": "machame",
"hu": "maghiară",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ms": "malaeză",
"ml": "malayalam",
"mg": "malgașă",
"mt": "malteză",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -139,6 +142,7 @@
"ne": "nepaleză",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "norvegiană",
"nb": "norvegiană bokmål",
"nn": "norvegiană nynorsk",
"nus": "nuer",
@@ -148,6 +152,7 @@
"os": "osetă",
"ps": "paștună",
"fa": "persană",
+ "pcm": "pidgin nigerian",
"pl": "poloneză",
"pt": "portugheză",
"pt-PT": "portugheză (Europa)",
@@ -165,6 +170,8 @@
"smn": "sami inari",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanscrită",
+ "sat": "santali",
"nds-NL": "saxona de jos",
"sr": "sârbă",
"seh": "sena",
@@ -182,12 +189,13 @@
"es-419": "spaniolă (America Latină)",
"es-MX": "spaniolă (Mexic)",
"sv": "suedeză",
+ "su": "sundaneză",
"sw": "swahili",
"sw-CD": "swahili (R. D. Congo)",
"shi": "tachelhit",
"tg": "tadjică",
"dav": "taita",
- "tzm": "tamazight din Altasul Central",
+ "tzm": "tamazight din Atlasul Central",
"zgh": "tamazight standard marocană",
"ta": "tamilă",
"twq": "tasawaq",
diff --git a/vendor/commerceguys/intl/resources/language/ro.json b/vendor/commerceguys/intl/resources/language/ro.json
index 8faa641b8..383fddc43 100644
--- a/vendor/commerceguys/intl/resources/language/ro.json
+++ b/vendor/commerceguys/intl/resources/language/ro.json
@@ -38,6 +38,7 @@
"kw": "cornică",
"hr": "croată",
"da": "daneză",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"he": "ebraică",
@@ -49,7 +50,7 @@
"et": "estonă",
"ee": "ewe",
"ewo": "ewondo",
- "fo": "faroeză",
+ "fo": "feroeză",
"fil": "filipineză",
"fi": "finlandeză",
"nl-BE": "flamandă",
@@ -118,12 +119,14 @@
"mk": "macedoneană",
"jmc": "machame",
"hu": "maghiară",
+ "mai": "maithili",
"mgh": "makhuwa-meetto",
"kde": "makonde",
"ms": "malaeză",
"ml": "malayalam",
"mg": "malgașă",
"mt": "malteză",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -139,6 +142,7 @@
"ne": "nepaleză",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "no": "norvegiană",
"nb": "norvegiană bokmål",
"nn": "norvegiană nynorsk",
"nus": "nuer",
@@ -148,6 +152,7 @@
"os": "osetă",
"ps": "paștună",
"fa": "persană",
+ "pcm": "pidgin nigerian",
"pl": "poloneză",
"pt": "portugheză",
"pt-PT": "portugheză (Europa)",
@@ -165,6 +170,8 @@
"smn": "sami inari",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanscrită",
+ "sat": "santali",
"nds-NL": "saxona de jos",
"sr": "sârbă",
"seh": "sena",
@@ -182,12 +189,13 @@
"es-419": "spaniolă (America Latină)",
"es-MX": "spaniolă (Mexic)",
"sv": "suedeză",
+ "su": "sundaneză",
"sw": "swahili",
"sw-CD": "swahili (R.D. Congo)",
"shi": "tachelhit",
"tg": "tadjică",
"dav": "taita",
- "tzm": "tamazight din Altasul Central",
+ "tzm": "tamazight din Atlasul Central",
"zgh": "tamazight standard marocană",
"ta": "tamilă",
"twq": "tasawaq",
diff --git a/vendor/commerceguys/intl/resources/language/ru.json b/vendor/commerceguys/intl/resources/language/ru.json
index 279c175f8..9f023dd79 100644
--- a/vendor/commerceguys/intl/resources/language/ru.json
+++ b/vendor/commerceguys/intl/resources/language/ru.json
@@ -49,6 +49,7 @@
"dje": "джерма",
"dz": "дзонг-кэ",
"dyo": "диола-фоньи",
+ "doi": "догри",
"dua": "дуала",
"pt-PT": "европейский португальский",
"fy": "западнофризский",
@@ -108,6 +109,7 @@
"lb": "люксембургский",
"mfe": "маврикийский креольский",
"mzn": "мазандеранский",
+ "mai": "майтхили",
"mk": "македонский",
"kde": "маконде",
"mgh": "макуа-меетто",
@@ -115,6 +117,7 @@
"ms": "малайский",
"ml": "малаялам",
"mt": "мальтийский",
+ "mni": "манипурский",
"mi": "маори",
"mr": "маратхи",
"mas": "масаи",
@@ -130,10 +133,12 @@
"jgo": "нгомба",
"de": "немецкий",
"ne": "непальский",
+ "pcm": "нигерийско-креольский",
"nl": "нидерландский",
"dsb": "нижнелужицкий",
"nds": "нижненемецкий",
"nds-NL": "нижнесаксонский",
+ "no": "норвежский",
"nb": "норвежский букмол",
"ii": "носу",
"nus": "нуэр",
@@ -156,6 +161,8 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
"sah": "саха",
"ceb": "себуано",
"lrc": "севернолурский",
@@ -172,6 +179,7 @@
"ckb": "сорани",
"tzm": "среднеатласский тамазигхтский",
"sw": "суахили",
+ "su": "сунданский",
"tg": "таджикский",
"dav": "таита",
"th": "тайский",
diff --git a/vendor/commerceguys/intl/resources/language/rw.json b/vendor/commerceguys/intl/resources/language/rw.json
index d3d2f568a..c2c432572 100644
--- a/vendor/commerceguys/intl/resources/language/rw.json
+++ b/vendor/commerceguys/intl/resources/language/rw.json
@@ -20,6 +20,7 @@
"zh": "Chinese",
"ksh": "Colognian",
"kw": "Cornish",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -60,6 +61,7 @@
"pl": "Igipolone",
"pt": "Igiporutugali",
"pa": "Igipunjabi",
+ "sa": "Igisansikiri",
"sr": "Igiseribe",
"is": "Igisilande",
"sk": "Igisilovaki",
@@ -95,6 +97,7 @@
"ne": "Ikinepali",
"nl": "Ikinerilande",
"nl-BE": "Ikinerilande (BE)",
+ "no": "Ikinoruveji",
"fil": "Ikinyafilipine",
"af": "Ikinyafurikaneri",
"lv": "Ikinyaletoviyani",
@@ -128,6 +131,7 @@
"fa": "Inyeperisi",
"pt-PT": "Inyeporutigali (Igiporutigali)",
"si": "Inyesimpaleze",
+ "su": "Inyesudani",
"tk": "Inyeturukimeni",
"yi": "Inyeyidishi",
"ur": "Inyeyurudu",
@@ -158,9 +162,11 @@
"lb": "Luxembourgish",
"luy": "Luyia",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
+ "mni": "Manipuri",
"mi": "Maori",
"mas": "Masai",
"mzn": "Mazanderani",
@@ -172,6 +178,7 @@
"nds-NL": "nds (NL)",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"se": "Northern Sami",
@@ -189,6 +196,7 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sat": "Santali",
"seh": "Sena",
"ksb": "Shambala",
"sn": "Shona",
diff --git a/vendor/commerceguys/intl/resources/language/sd.json b/vendor/commerceguys/intl/resources/language/sd.json
index 4cf9dcc32..e555eff52 100644
--- a/vendor/commerceguys/intl/resources/language/sd.json
+++ b/vendor/commerceguys/intl/resources/language/sd.json
@@ -1,4 +1,6 @@
{
+ "doi": "Dogri",
+ "no": "Norwegian",
"ga": "آئرش",
"is": "آئيس لينڊڪ",
"az": "آزربائيجاني",
@@ -14,7 +16,6 @@
"ur": "اردو",
"hy": "ارماني",
"uz": "ازبڪ",
- "es": "اسپيني",
"ast": "اسٽورين",
"gd": "اسڪاٽش گيلڪ",
"asa": "اسو",
@@ -36,7 +37,7 @@
"ebu": "ايمبيو",
"ee": "ايو",
"bas": "باسا",
- "eu": "باسڪي",
+ "eu": "باسق",
"ksf": "بافيا",
"en-GB": "برطانوي انگريزي",
"my": "برمي",
@@ -54,12 +55,12 @@
"pt": "پورٽگليز",
"pl": "پولش",
"dav": "تائيتا",
- "tt": "تاتري",
- "tg": "تاجڪي",
+ "tt": "تاتار",
+ "tg": "تاجڪ",
"ta": "تامل",
"bo": "تبيتائي",
- "tr": "ترڪ",
- "tk": "ترڪماني",
+ "tr": "ترڪش",
+ "tk": "ترڪمين",
"twq": "تساوڪي",
"ti": "تگرينيائي",
"te": "تلگو",
@@ -68,7 +69,7 @@
"teo": "تيسو",
"th": "ٿائي",
"ja": "جاپاني",
- "ka": "جارجين",
+ "ka": "جارجيائي",
"jv": "جاونيز",
"de": "جرمن",
"dyo": "جولا فوني",
@@ -100,15 +101,18 @@
"sr": "سربيائي",
"sk": "سلواڪي",
"sl": "سلوويني",
+ "sat": "سنتالي",
"sd": "سنڌي",
+ "sa": "سنسڪرت",
"si": "سنهالا",
"gsw": "سوئس جرمن",
"fr-CH": "سوئس فرانسيسي",
"de-CH": "سوئس هائي جرمن",
"sw": "سواحيلي",
+ "su": "سوڊاني",
"xog": "سوگا",
"so": "سومالي",
- "sv": "سويڊني",
+ "sv": "سويڊش",
"saq": "سيمبورو",
"seh": "سينا",
"ksb": "شمبالا",
@@ -117,7 +121,7 @@
"ar": "عربي",
"fa": "فارسي",
"fur": "فرائي لئين",
- "fr": "فرانسي",
+ "fr": "فرانسيسي",
"ff": "فلاهه",
"fil": "فلپائني",
"nl-BE": "فلیمش",
@@ -170,6 +174,7 @@
"mi": "مائوري",
"mt": "مالٽي",
"ro-MD": "مالديوي",
+ "mni": "ماني پوري",
"mgh": "مخووا ميتو",
"mr": "مراٺي",
"ckb": "مرڪزي ڪردش",
@@ -185,10 +190,12 @@
"mn": "منگولي",
"mfe": "موریسیین",
"mgo": "ميتا",
+ "mai": "ميٿلي",
"mer": "ميرو",
"mk": "ميسي ڊونيائي",
"es-MX": "ميڪسيڪين اسپيني",
"jmc": "ميڪم",
+ "pcm": "نائيجرين پجن",
"nb": "نارويائي بوڪمال",
"nn": "نارويائي نيوناسڪ",
"naq": "ناما",
@@ -197,6 +204,7 @@
"nnh": "نغيمبون",
"ne": "نيپالي",
"nus": "نيور",
+ "es": "هسپانوي",
"hi": "هندي",
"hu": "هنگري",
"haw": "هوائي",
@@ -205,7 +213,7 @@
"tzm": "وچ اٽلس تمازائيٽ",
"wa": "ولون",
"vun": "ونجو",
- "wo": "وولف",
+ "wo": "وولوف",
"vi": "ويتنامي",
"cy": "ويلش",
"vai": "يا",
diff --git a/vendor/commerceguys/intl/resources/language/si.json b/vendor/commerceguys/intl/resources/language/si.json
index 59d3bfc12..3b0ec5426 100644
--- a/vendor/commerceguys/intl/resources/language/si.json
+++ b/vendor/commerceguys/intl/resources/language/si.json
@@ -5,7 +5,7 @@
"ar": "අරාබි",
"az": "අසර්බයිජාන්",
"asa": "අසු",
- "af": "අෆ්රිකාන්ස්",
+ "af": "අෆ්‍රිකාන්ස්",
"hy": "ආර්මේනියානු",
"agq": "ඇගම්",
"am": "ඇම්හාරික්",
@@ -96,6 +96,7 @@
"nyn": "නයන්කෝලෙ",
"naq": "නාමා",
"ne": "නේපාල",
+ "pcm": "නෛජීරියන් පෙන්ගින්",
"jgo": "නොම්බා",
"nus": "නොයර්",
"nn": "නෝර්වීජියානු නයිනෝර්ස්ක්",
@@ -128,6 +129,8 @@
"br": "බ්‍රේටොන්",
"mgh": "මඛුවා-මීටෝ",
"tzm": "මධ්‍යම ඇට්ලස් ටමසිට්",
+ "mni": "මනිපුරි",
+ "mai": "මයිතිලි",
"mr": "මරාති",
"mg": "මලගාසි",
"ml": "මලයාලම්",
@@ -180,14 +183,17 @@
"sn": "ශෝනා",
"xh": "ශෝසා",
"sbp": "සංගු",
+ "sa": "සංස්කෘත",
"sah": "සඛා",
"sg": "සන්ග්‍රෝ",
+ "su": "සන්ඩනීසියානු",
"saq": "සම්බුරු",
"zgh": "සම්මත මොරොක්කෝ ටමසිග්ත්",
"zh-Hans": "සරල චීන",
"sr": "සර්බියානු",
"dje": "සර්මා",
"zh-Hant": "සාම්ප්‍රදායික චීන",
+ "sat": "සෑන්ටලි",
"si": "සිංහල",
"ii": "සිචුආන් යී",
"sd": "සින්ධි",
@@ -215,5 +221,7 @@
"fi": "ෆින්ලන්ත",
"ff": "ෆුලාහ්",
"fur": "ෆ්‍රියුලියන්",
- "nl-BE": "ෆ්ලෙමිශ්"
+ "nl-BE": "ෆ්ලෙමිශ්",
+ "doi": "Dogri",
+ "no": "Norwegian"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sk.json b/vendor/commerceguys/intl/resources/language/sk.json
index 4972a5328..e454fb8ff 100644
--- a/vendor/commerceguys/intl/resources/language/sk.json
+++ b/vendor/commerceguys/intl/resources/language/sk.json
@@ -35,6 +35,7 @@
"zh-Hant": "čínština (tradičná)",
"zh-Hans": "čínština (zjednodušená)",
"da": "dánčina",
+ "doi": "dógrí",
"nds": "dolná nemčina",
"nds-NL": "dolná saština",
"dsb": "dolnolužická srbčina",
@@ -113,12 +114,14 @@
"lb": "luxemburčina",
"mk": "macedónčina",
"hu": "maďarčina",
+ "mai": "maithilčina",
"kde": "makonde",
"mgh": "makua-meetto",
"ml": "malajálamčina",
"ms": "malajčina",
"mg": "malgaština",
"mt": "maltčina",
+ "mni": "manípurčina",
"mi": "maorijčina",
"mr": "maráthčina",
"mas": "masajčina",
@@ -140,6 +143,8 @@
"ne": "nepálčina",
"nnh": "ngiemboon",
"jgo": "ngomba",
+ "pcm": "nigerijský pidžin",
+ "no": "nórčina",
"nb": "nórčina (bokmal)",
"nn": "nórčina (nynorsk)",
"nus": "nuer",
@@ -164,6 +169,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santalčina",
"seh": "sena",
"lrc": "severné luri",
"sd": "sindhčina",
@@ -173,6 +180,7 @@
"xog": "soga",
"so": "somálčina",
"sr": "srbčina",
+ "su": "sundčina",
"sw-CD": "svahilčina (konžská)",
"sw": "swahilčina",
"ksb": "šambala",
@@ -186,6 +194,7 @@
"shi": "tachelhit",
"dav": "taita",
"it": "taliančina",
+ "tzm": "tamazight (stredomarocký)",
"ta": "tamilčina",
"twq": "tasawaq",
"tt": "tatárčina",
@@ -196,7 +205,6 @@
"ti": "tigriňa",
"to": "tongčina",
"zgh": "tuaregčina (marocká štandardná)",
- "tzm": "tuaregčina (stredomarocká)",
"tr": "turečtina",
"tk": "turkménčina",
"ug": "ujgurčina",
diff --git a/vendor/commerceguys/intl/resources/language/sl.json b/vendor/commerceguys/intl/resources/language/sl.json
index ca372cbaa..d67afee4d 100644
--- a/vendor/commerceguys/intl/resources/language/sl.json
+++ b/vendor/commerceguys/intl/resources/language/sl.json
@@ -5,7 +5,6 @@
"sq": "albanščina",
"am": "amharščina",
"en": "angleščina",
- "en-GB": "angleščina (VB)",
"ar": "arabščina",
"hy": "armenščina",
"as": "asamščina",
@@ -26,12 +25,14 @@
"bg": "bolgarščina",
"bs": "bosanščina",
"br": "bretonščina",
+ "en-GB": "britanska angleščina",
"my": "burmanščina",
"ce": "čečenščina",
"chr": "čerokeščina",
"cs": "češčina",
"cgg": "čigajščina",
"da": "danščina",
+ "doi": "dogri",
"dsb": "dolnja lužiška srbščina",
"dua": "duala",
"dz": "dzonka",
@@ -58,7 +59,7 @@
"haw": "havajščina",
"ha": "havščina",
"he": "hebrejščina",
- "hi": "hindujščina",
+ "hi": "hindijščina",
"hr": "hrvaščina",
"ig": "igboščina",
"smn": "inarska samijščina",
@@ -104,6 +105,7 @@
"lkt": "lakotščina",
"lag": "langijščina",
"lo": "laoščina",
+ "es-419": "latinskoameriška španščina",
"lv": "latvijščina",
"ln": "lingala",
"lt": "litovščina",
@@ -113,13 +115,15 @@
"luo": "Luo",
"jmc": "mačamejščina",
"hu": "madžarščina",
+ "mai": "maitili",
"mk": "makedonščina",
"kde": "makondščina",
"mgh": "makuva-meto",
- "mg": "malagaščina",
"ml": "malajalamščina",
"ms": "malajščina",
+ "mg": "malgaščina",
"mt": "malteščina",
+ "mni": "manipurščina",
"mi": "maorščina",
"mr": "maratščina",
"mas": "masajščina",
@@ -136,10 +140,12 @@
"ne": "nepalščina",
"nnh": "ngiemboonščina",
"jgo": "ngomba",
+ "pcm": "nigerijski pidžin",
"nds": "nizka nemščina",
"nds-NL": "nizka saščina",
"nl": "nizozemščina",
"nyn": "njankole",
+ "no": "norveščina",
"nn": "novonorveščina",
"nus": "nuerščina",
"or": "odijščina",
@@ -161,6 +167,8 @@
"saq": "samburščina",
"sg": "sango",
"sbp": "sangujščina",
+ "sa": "sanskrt",
+ "sat": "santalščina",
"ceb": "sebuanščina",
"ii": "sečuanska jiščina",
"seh": "sena",
@@ -176,12 +184,12 @@
"ckb": "soranska kurdščina",
"sr": "srbščina",
"zgh": "standardni maroški tamazig",
+ "su": "sundanščina",
"sw": "svahili",
"ksb": "šambala",
"gd": "škotska gelščina",
"sn": "šonščina",
"es": "španščina",
- "es-419": "španščina (Latinska Amerika)",
"sv": "švedščina",
"fr-CH": "švicarska francoščina",
"tg": "tadžiščina",
diff --git a/vendor/commerceguys/intl/resources/language/so.json b/vendor/commerceguys/intl/resources/language/so.json
index ddf9ef1da..469ce3ad9 100644
--- a/vendor/commerceguys/intl/resources/language/so.json
+++ b/vendor/commerceguys/intl/resources/language/so.json
@@ -23,6 +23,7 @@
"be": "Beleruusiyaan",
"bem": "Bemba",
"bez": "Bena",
+ "pcm": "Bidjinka Nayjeeriya",
"br": "Biriton",
"brx": "Bodo",
"pl": "Boolish",
@@ -36,7 +37,9 @@
"jmc": "Chaga",
"he": "Cibraani",
"dz": "D’zongqa",
+ "mai": "Dadka Maithili",
"da": "Dhaanish",
+ "doi": "Dogri",
"dua": "Duaala",
"ee": "Eewe",
"ewo": "Eewondho",
@@ -48,6 +51,7 @@
"fr-CA": "Faransiiska Kanada",
"fo": "Farowsi",
"vi": "Fiitnaamays",
+ "fil": "Filibiino",
"fi": "Finishka",
"fy": "Firiisiyan Galbeed",
"fur": "Firiyuuliyaan",
@@ -140,6 +144,7 @@
"ml": "Malayalam",
"mt": "Maltiis",
"mn": "Mangooli",
+ "mni": "Maniburi",
"mas": "Masaay",
"mk": "Masadooniyaan",
"mzn": "Masanderaani",
@@ -151,6 +156,7 @@
"naq": "Nama",
"ne": "Nebaali",
"nb": "Noorwijiyaan Bokma",
+ "no": "Norwegian",
"nn": "Nowrwejiyan (naynoroski)",
"nus": "Nuweer",
"or": "Oodhiya",
@@ -169,6 +175,8 @@
"saq": "Sambuuru",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"dje": "Sarma",
"sw": "Sawaaxili",
"sw-CD": "Sawaaxili (Jamhuuriyadda Dimuquraadiga Kongo)",
@@ -188,11 +196,11 @@
"so": "Soomaali",
"dsb": "Soorbiyaanka Hoose",
"hsb": "Sorobiyaanka Sare",
+ "su": "Suudaaniis",
"sv": "Swiidhis",
"tg": "Taajik",
"tt": "Taatar",
"th": "Taaylandays",
- "fil": "Tagalog",
"dav": "Taiita",
"it": "Talyaani",
"ta": "Tamiil",
diff --git a/vendor/commerceguys/intl/resources/language/sq.json b/vendor/commerceguys/intl/resources/language/sq.json
index 5b5ee3f22..98690526e 100644
--- a/vendor/commerceguys/intl/resources/language/sq.json
+++ b/vendor/commerceguys/intl/resources/language/sq.json
@@ -31,6 +31,7 @@
"chr": "çerokisht",
"cgg": "çigisht",
"da": "danisht",
+ "doi": "Dogri",
"dua": "dualaisht",
"ebu": "embuisht",
"et": "estonisht",
@@ -116,11 +117,13 @@
"lrc": "lurishte veriore",
"jmc": "maçamisht",
"mg": "madagaskarisht",
+ "mai": "maitilisht",
"kde": "makondisht",
"mgh": "makua-mitoisht",
"ml": "malajalamisht",
"ms": "malajisht",
"mt": "maltisht",
+ "mni": "manipurisht",
"mi": "maorisht",
"mk": "maqedonisht",
"mr": "maratisht",
@@ -138,6 +141,7 @@
"nnh": "ngiembunisht",
"jgo": "ngombisht",
"nyn": "niankolisht",
+ "no": "norvegjisht",
"nb": "norvegjishte letrare",
"nn": "norvegjishte nynorsk",
"nus": "nuerisht",
@@ -146,6 +150,7 @@
"os": "osetisht",
"ps": "pashtoisht",
"fa": "persisht",
+ "pcm": "pixhinishte nigeriane",
"pl": "polonisht",
"pt": "portugalisht",
"pt-PT": "portugalishte evropiane",
@@ -162,6 +167,8 @@
"se": "samishte veriore",
"sg": "sangoisht",
"sbp": "sanguisht",
+ "sa": "sanskritisht",
+ "sat": "santalisht",
"ceb": "sebuanisht",
"seh": "senaisht",
"ses": "senishte kojrabore",
@@ -181,6 +188,7 @@
"sw": "suahilisht",
"sw-CD": "suahilishte kongoleze",
"sv": "suedisht",
+ "su": "sundanisht",
"ksb": "shambalisht",
"sn": "shonisht",
"sq": "shqip",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
index 5aed917b3..0448510d2 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
@@ -8,6 +8,7 @@
"as": "асамски",
"ast": "астуријски",
"asa": "асу",
+ "de-AT": "аустријски немачки",
"af": "африканс",
"bm": "бамананкан",
"bn": "бангла",
@@ -38,6 +39,7 @@
"guz": "гуси",
"gu": "гуџарати",
"da": "дански",
+ "doi": "догри",
"dsb": "доњолужичкосрпски",
"dua": "дуала",
"ee": "еве",
@@ -103,6 +105,7 @@
"luo": "луо",
"hu": "мађарски",
"mzn": "мазандерански",
+ "mai": "маитили",
"mk": "македонски",
"kde": "маконде",
"mgh": "макува-мито",
@@ -110,6 +113,7 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
+ "mni": "манипурски",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -123,15 +127,17 @@
"naq": "нама",
"nnh": "нгиембун",
"jgo": "нгомба",
- "de": "немачки",
- "de-AT": "немачки (Аустрија)",
"ne": "непалски",
- "nds": "нисконемачки",
+ "pcm": "нигеријски пиџин",
+ "nds": "нискоњемачки",
"nds-NL": "нискосаксонски",
+ "no": "норвешки",
"nb": "норвешки букмол",
"nn": "норвешки нинорск",
"nus": "нуер",
"nyn": "њанколе",
+ "de": "њемачки",
+ "gsw": "њемачки (Швајцарска)",
"or": "одија",
"om": "оромо",
"os": "осетински",
@@ -150,22 +156,25 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
"sah": "саха",
"sw": "свахили",
"ceb": "себуански",
- "lrc": "северни лури",
- "nd": "северни ндебеле",
- "se": "северни сами",
"seh": "сена",
"ii": "сечуански ји",
"sd": "синди",
"si": "синхалски",
+ "lrc": "сјеверни лури",
+ "nd": "сјеверни ндебеле",
+ "se": "сјеверни сами",
"sk": "словачки",
"sl": "словеначки",
"xog": "сога",
"so": "сомалски",
"sr": "српски",
"zgh": "стандардни марокански тамашек",
+ "su": "сундански",
"dav": "таита",
"th": "тајски",
"ta": "тамилски",
@@ -209,7 +218,6 @@
"dz": "џонга",
"ksb": "шамбала",
"de-CH": "швајцарски високи немачки",
- "gsw": "швајцарски немачки",
"sv": "шведски",
"gd": "шкотски гелски",
"sn": "шона",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
index fc41c4fbf..4d9451457 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
@@ -8,6 +8,7 @@
"as": "асамски",
"ast": "астуријски",
"asa": "асу",
+ "de-AT": "аустријски немачки",
"af": "африканс",
"bm": "бамананкан",
"bn": "бангла",
@@ -38,6 +39,7 @@
"guz": "гуси",
"gu": "гуџарати",
"da": "дански",
+ "doi": "догри",
"dsb": "доњолужичкосрпски",
"dua": "дуала",
"ee": "еве",
@@ -103,6 +105,7 @@
"luo": "луо",
"hu": "мађарски",
"mzn": "мазандерански",
+ "mai": "маитили",
"mk": "македонски",
"kde": "маконде",
"mgh": "макува-мито",
@@ -110,6 +113,7 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
+ "mni": "манипурски",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -124,11 +128,12 @@
"nnh": "нгиембун",
"jgo": "нгомба",
"de": "немачки",
- "de-AT": "немачки (Аустрија)",
"gsw": "немачки (Швајцарска)",
"ne": "непалски",
+ "pcm": "нигеријски пиџин",
"nds": "нисконемачки",
"nds-NL": "нискосаксонски",
+ "no": "норвешки",
"nb": "норвешки букмол",
"nn": "норвешки нинорск",
"nus": "нуер",
@@ -151,6 +156,8 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
"sah": "саха",
"sw": "свахили",
"ceb": "себуански",
@@ -167,6 +174,7 @@
"so": "сомалски",
"sr": "српски",
"zgh": "стандардни марокански тамашек",
+ "su": "сундански",
"dav": "таита",
"th": "тајски",
"ta": "тамилски",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
index 8bb5363d2..4383b6a7e 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
@@ -8,6 +8,7 @@
"as": "асамски",
"ast": "астуријски",
"asa": "асу",
+ "de-AT": "аустријски немачки",
"af": "африканс",
"bm": "бамананкан",
"bn": "бангла",
@@ -38,6 +39,7 @@
"guz": "гуси",
"gu": "гуџарати",
"da": "дански",
+ "doi": "догри",
"dsb": "доњолужичкосрпски",
"dua": "дуала",
"ee": "еве",
@@ -103,6 +105,7 @@
"luo": "луо",
"hu": "мађарски",
"mzn": "мазандерански",
+ "mai": "маитили",
"mk": "македонски",
"kde": "маконде",
"mgh": "макува-мито",
@@ -110,6 +113,7 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
+ "mni": "манипурски",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -124,10 +128,11 @@
"nnh": "нгиембун",
"jgo": "нгомба",
"de": "немачки",
- "de-AT": "немачки (Аустрија)",
"ne": "непалски",
+ "pcm": "нигеријски пиџин",
"nds": "нисконемачки",
"nds-NL": "нискосаксонски",
+ "no": "норвешки",
"nb": "норвешки букмол",
"nn": "норвешки нинорск",
"nus": "нуер",
@@ -150,6 +155,8 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
"sah": "саха",
"sw": "свахили",
"ceb": "себуански",
@@ -166,6 +173,7 @@
"so": "сомалски",
"sr": "српски",
"zgh": "стандардни марокански тамашек",
+ "su": "сундански",
"dav": "таита",
"th": "тајски",
"ta": "тамилски",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json b/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
index 224715dbe..0fe4e7dd2 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
@@ -8,6 +8,7 @@
"as": "asamski",
"ast": "asturijski",
"asa": "asu",
+ "de-AT": "austrijski nemački",
"az": "azerbejdžanski",
"ksf": "bafija",
"bm": "bamanankan",
@@ -29,6 +30,7 @@
"cs": "češki",
"cgg": "čiga",
"da": "danski",
+ "doi": "dogri",
"dsb": "donjolužičkosrpski",
"dua": "duala",
"dyo": "džola fonji",
@@ -116,6 +118,7 @@
"luo": "Luo",
"jmc": "mačame",
"hu": "mađarski",
+ "mai": "maitili",
"mk": "makedonski",
"kde": "makonde",
"mgh": "makuva-mito",
@@ -123,6 +126,7 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
+ "mni": "manipurski",
"mi": "maorski",
"mr": "marati",
"mas": "masajski",
@@ -134,17 +138,19 @@
"mfe": "morisjen",
"mua": "mundang",
"naq": "nama",
- "de": "nemački",
- "de-AT": "nemački (Austrija)",
"ne": "nepalski",
"nnh": "ngiembun",
"jgo": "ngomba",
- "nds": "niskonemački",
+ "pcm": "nigerijski pidžin",
+ "nds": "niskonjemački",
"nds-NL": "niskosaksonski",
+ "no": "norveški",
"nb": "norveški bukmol",
"nn": "norveški ninorsk",
"nus": "nuer",
"nyn": "njankole",
+ "de": "njemački",
+ "gsw": "njemački (Švajcarska)",
"or": "odija",
"om": "oromo",
"os": "osetinski",
@@ -164,20 +170,23 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"ceb": "sebuanski",
"ii": "sečuanski ji",
"seh": "sena",
- "lrc": "severni luri",
- "nd": "severni ndebele",
- "se": "severni sami",
"sd": "sindi",
"si": "sinhalski",
+ "lrc": "sjeverni luri",
+ "nd": "sjeverni ndebele",
+ "se": "sjeverni sami",
"sk": "slovački",
"sl": "slovenački",
"xog": "soga",
"so": "somalski",
"sr": "srpski",
"zgh": "standardni marokanski tamašek",
+ "su": "sundanski",
"sw": "svahili",
"ksb": "šambala",
"gd": "škotski gelski",
@@ -185,7 +194,6 @@
"es": "španski",
"es-419": "španski (Latinska Amerika)",
"es-MX": "španski (Meksiko)",
- "gsw": "švajcarski nemački",
"de-CH": "švajcarski visoki nemački",
"sv": "švedski",
"tg": "tadžički",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json b/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
index 578b9876e..b9758e1c7 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
@@ -8,6 +8,7 @@
"as": "asamski",
"ast": "asturijski",
"asa": "asu",
+ "de-AT": "austrijski nemački",
"az": "azerbejdžanski",
"ksf": "bafija",
"bm": "bamanankan",
@@ -29,6 +30,7 @@
"cs": "češki",
"cgg": "čiga",
"da": "danski",
+ "doi": "dogri",
"dsb": "donjolužičkosrpski",
"dua": "duala",
"dyo": "džola fonji",
@@ -116,6 +118,7 @@
"luo": "Luo",
"jmc": "mačame",
"hu": "mađarski",
+ "mai": "maitili",
"mk": "makedonski",
"kde": "makonde",
"mgh": "makuva-mito",
@@ -123,6 +126,7 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
+ "mni": "manipurski",
"mi": "maorski",
"mr": "marati",
"mas": "masajski",
@@ -135,13 +139,14 @@
"mua": "mundang",
"naq": "nama",
"de": "nemački",
- "de-AT": "nemački (Austrija)",
"gsw": "nemački (Švajcarska)",
"ne": "nepalski",
"nnh": "ngiembun",
"jgo": "ngomba",
+ "pcm": "nigerijski pidžin",
"nds": "niskonemački",
"nds-NL": "niskosaksonski",
+ "no": "norveški",
"nb": "norveški bukmol",
"nn": "norveški ninorsk",
"nus": "nuer",
@@ -165,6 +170,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"ceb": "sebuanski",
"ii": "sečuanski ji",
"seh": "sena",
@@ -179,6 +186,7 @@
"so": "somalski",
"sr": "srpski",
"zgh": "standardni marokanski tamašek",
+ "su": "sundanski",
"sw": "svahili",
"ksb": "šambala",
"gd": "škotski gelski",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json b/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
index 80bdc29d1..05d0d19ba 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
@@ -8,6 +8,7 @@
"as": "asamski",
"ast": "asturijski",
"asa": "asu",
+ "de-AT": "austrijski nemački",
"az": "azerbejdžanski",
"ksf": "bafija",
"bm": "bamanankan",
@@ -29,6 +30,7 @@
"cs": "češki",
"cgg": "čiga",
"da": "danski",
+ "doi": "dogri",
"dsb": "donjolužičkosrpski",
"dua": "duala",
"dyo": "džola fonji",
@@ -116,6 +118,7 @@
"luo": "Luo",
"jmc": "mačame",
"hu": "mađarski",
+ "mai": "maitili",
"mk": "makedonski",
"kde": "makonde",
"mgh": "makuva-mito",
@@ -123,6 +126,7 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
+ "mni": "manipurski",
"mi": "maorski",
"mr": "marati",
"mas": "masajski",
@@ -135,12 +139,13 @@
"mua": "mundang",
"naq": "nama",
"de": "nemački",
- "de-AT": "nemački (Austrija)",
"ne": "nepalski",
"nnh": "ngiembun",
"jgo": "ngomba",
+ "pcm": "nigerijski pidžin",
"nds": "niskonemački",
"nds-NL": "niskosaksonski",
+ "no": "norveški",
"nb": "norveški bukmol",
"nn": "norveški ninorsk",
"nus": "nuer",
@@ -164,6 +169,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"ceb": "sebuanski",
"ii": "sečuanski ji",
"seh": "sena",
@@ -178,6 +185,7 @@
"so": "somalski",
"sr": "srpski",
"zgh": "standardni marokanski tamašek",
+ "su": "sundanski",
"sw": "svahili",
"ksb": "šambala",
"gd": "škotski gelski",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn.json b/vendor/commerceguys/intl/resources/language/sr-Latn.json
index 86f0005ed..dd843aa7a 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn.json
@@ -8,6 +8,7 @@
"as": "asamski",
"ast": "asturijski",
"asa": "asu",
+ "de-AT": "austrijski nemački",
"az": "azerbejdžanski",
"ksf": "bafija",
"bm": "bambara",
@@ -29,6 +30,7 @@
"cs": "češki",
"cgg": "čiga",
"da": "danski",
+ "doi": "dogri",
"dsb": "donjolužičkosrpski",
"dua": "duala",
"dyo": "džola fonji",
@@ -114,6 +116,7 @@
"luo": "Luo",
"jmc": "mačame",
"hu": "mađarski",
+ "mai": "maitili",
"mk": "makedonski",
"kde": "makonde",
"mgh": "makuva-mito",
@@ -121,6 +124,7 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
+ "mni": "manipurski",
"mi": "maorski",
"mr": "marati",
"mas": "masajski",
@@ -133,13 +137,14 @@
"mua": "mundang",
"naq": "nama",
"de": "nemački",
- "de-AT": "nemački (Austrija)",
"gsw": "nemački (Švajcarska)",
"ne": "nepalski",
"nnh": "ngiembun",
"jgo": "ngomba",
+ "pcm": "nigerijski pidžin",
"nds": "niskonemački",
"nds-NL": "niskosaksonski",
+ "no": "norveški",
"nb": "norveški bukmol",
"nn": "norveški ninorsk",
"nus": "nuer",
@@ -163,6 +168,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"ceb": "sebuanski",
"ii": "sečuanski ji",
"seh": "sena",
@@ -177,6 +184,7 @@
"so": "somalski",
"sr": "srpski",
"zgh": "standardni marokanski tamazigt",
+ "su": "sundanski",
"sw": "svahili",
"ksb": "šambala",
"gd": "škotski gelski",
diff --git a/vendor/commerceguys/intl/resources/language/sr.json b/vendor/commerceguys/intl/resources/language/sr.json
index f767ba0e9..aab97bfdc 100644
--- a/vendor/commerceguys/intl/resources/language/sr.json
+++ b/vendor/commerceguys/intl/resources/language/sr.json
@@ -8,6 +8,7 @@
"as": "асамски",
"ast": "астуријски",
"asa": "асу",
+ "de-AT": "аустријски немачки",
"af": "африканс",
"bm": "бамбара",
"bas": "баса",
@@ -38,6 +39,7 @@
"guz": "гуси",
"gu": "гуџарати",
"da": "дански",
+ "doi": "догри",
"dsb": "доњолужичкосрпски",
"dua": "дуала",
"ee": "еве",
@@ -102,6 +104,7 @@
"luo": "луо",
"hu": "мађарски",
"mzn": "мазандерански",
+ "mai": "маитили",
"mk": "македонски",
"kde": "маконде",
"mgh": "макува-мито",
@@ -109,6 +112,7 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
+ "mni": "манипурски",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -123,11 +127,12 @@
"nnh": "нгиембун",
"jgo": "нгомба",
"de": "немачки",
- "de-AT": "немачки (Аустрија)",
"gsw": "немачки (Швајцарска)",
"ne": "непалски",
+ "pcm": "нигеријски пиџин",
"nds": "нисконемачки",
"nds-NL": "нискосаксонски",
+ "no": "норвешки",
"nb": "норвешки букмол",
"nn": "норвешки нинорск",
"nus": "нуер",
@@ -150,6 +155,8 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантали",
"sah": "саха",
"sw": "свахили",
"ceb": "себуански",
@@ -166,6 +173,7 @@
"so": "сомалски",
"sr": "српски",
"zgh": "стандардни марокански тамазигт",
+ "su": "сундански",
"dav": "таита",
"th": "тајски",
"ta": "тамилски",
diff --git a/vendor/commerceguys/intl/resources/language/sv.json b/vendor/commerceguys/intl/resources/language/sv.json
index 3d5df7ce8..9fabdb92b 100644
--- a/vendor/commerceguys/intl/resources/language/sv.json
+++ b/vendor/commerceguys/intl/resources/language/sv.json
@@ -31,6 +31,7 @@
"chr": "cherokesiska",
"cgg": "chiga",
"da": "danska",
+ "doi": "dogri",
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
@@ -49,7 +50,6 @@
"fo": "färöiska",
"zh-Hans": "förenklad kinesiska",
"gl": "galiciska",
- "ses": "Gao-songhai",
"ka": "georgiska",
"el": "grekiska",
"kl": "grönländska",
@@ -112,6 +112,7 @@
"nds-NL": "lågsaxiska",
"dsb": "lågsorbiska",
"nds": "lågtyska",
+ "mai": "maithili",
"mk": "makedonska",
"mgh": "makhuwa-meetto",
"kde": "makonde",
@@ -119,6 +120,7 @@
"ms": "malajiska",
"ml": "malayalam",
"mt": "maltesiska",
+ "mni": "manipuri",
"mi": "maori",
"mr": "marathi",
"zgh": "marockansk standard-tamazight",
@@ -136,9 +138,11 @@
"nl": "nederländska",
"ne": "nepalesiska",
"jgo": "ngomba",
+ "pcm": "nigeriansk pidgin",
"lrc": "nordluri",
"nd": "nordndebele",
"se": "nordsamiska",
+ "no": "norska",
"nb": "norskt bokmål",
"nus": "nuer",
"nyn": "nyankole",
@@ -160,6 +164,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"gsw": "schweizertyska",
"fr-CH": "schweizisk franska",
"de-CH": "schweizisk högtyska",
@@ -172,8 +178,10 @@
"sk": "slovakiska",
"sl": "slovenska",
"so": "somaliska",
+ "ses": "songhai",
"ckb": "soranisk kurdiska",
"es": "spanska",
+ "su": "sundanesiska",
"sv": "svenska",
"sw": "swahili",
"ii": "szezuan i",
diff --git a/vendor/commerceguys/intl/resources/language/sw-CD.json b/vendor/commerceguys/intl/resources/language/sw-CD.json
index 30dbd2c6c..4090449fc 100644
--- a/vendor/commerceguys/intl/resources/language/sw-CD.json
+++ b/vendor/commerceguys/intl/resources/language/sw-CD.json
@@ -1,4 +1,5 @@
{
+ "doi": "Dogri",
"af": "Kiafrikana",
"agq": "Kiaghem",
"fa": "Kiajemi",
@@ -99,10 +100,11 @@
"ky": "Kikirigizi",
"guz": "Kikisii",
"kok": "Kikonkani",
+ "hr": "Kikorasia",
"ko": "Kikorea",
"kw": "Kikorni",
"khq": "Kikoyra Chiini",
- "hr": "Kikroeshia",
+ "ses": "Kikoyraboro Senni",
"ku": "Kikurdi",
"ckb": "Kikurdi cha Sorani",
"nmg": "Kikwasio",
@@ -117,12 +119,14 @@
"lrc": "Kiluri cha Kaskazini",
"mas": "Kimaasai",
"jmc": "Kimachame",
+ "mai": "Kimaithili",
"mgh": "Kimakhuwa-Meetto",
"kde": "Kimakonde",
"mg": "Kimalagasi",
"ml": "Kimalayalamu",
"ms": "Kimalei",
"mt": "Kimalta",
+ "mni": "Kimanipuri",
"mi": "Kimaori",
"mr": "Kimarathi",
"mk": "Kimasedonia",
@@ -138,6 +142,7 @@
"ne": "Kinepali",
"nnh": "Kingiemboon",
"jgo": "Kingomba",
+ "no": "Kinorwe",
"nb": "Kinorwe cha Bokmal",
"nn": "Kinorwe cha Nynorsk",
"nus": "Kinuer",
@@ -166,6 +171,8 @@
"se": "Kisami cha Kaskazini",
"sg": "Kisango",
"sbp": "Kisangu",
+ "sa": "Kisanskriti",
+ "sat": "Kisantali",
"seh": "Kisena",
"sr": "Kiserbia",
"sn": "Kishona",
@@ -177,6 +184,7 @@
"hsb": "Kisobia cha Ukanda wa Juu",
"xog": "Kisoga",
"so": "Kisomali",
+ "su": "Kisunda",
"sw": "Kiswahili",
"sw-CD": "Kiswahili (Jamhuri ya Kidemokrasia ya Kongo)",
"sv": "Kiswidi",
@@ -185,7 +193,7 @@
"tg": "Kitajiki",
"tzm": "Kitamazighati cha Atlasi ya Kati",
"ta": "Kitamili",
- "twq": "Kitasawaq",
+ "twq": "Kitasawak",
"tt": "Kitatari",
"te": "Kitelugu",
"teo": "Kiteso",
@@ -214,6 +222,6 @@
"dje": "Kizarma",
"dz": "Kizongkha",
"zu": "Kizulu",
- "ses": "Koyraboro Senni",
- "rwk": "Lugha ya Rwa"
+ "rwk": "Lugha ya Rwa",
+ "pcm": "Pijini ya Nijeria"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sw-KE.json b/vendor/commerceguys/intl/resources/language/sw-KE.json
index 1ec174675..fd5a91a11 100644
--- a/vendor/commerceguys/intl/resources/language/sw-KE.json
+++ b/vendor/commerceguys/intl/resources/language/sw-KE.json
@@ -1,4 +1,5 @@
{
+ "doi": "Dogri",
"af": "Kiafrikana",
"agq": "Kiaghem",
"fa": "Kiajemi",
@@ -98,11 +99,11 @@
"ki": "Kikikuyu",
"guz": "Kikisii",
"kok": "Kikonkani",
+ "hr": "Kikorasia",
"ko": "Kikorea",
"kw": "Kikorni",
"ses": "Kikoyraborosenni",
"khq": "Kikoyrachiini",
- "hr": "Kikroeshia",
"ku": "Kikurdi",
"ckb": "Kikurdi cha Sorani",
"nmg": "Kikwasio",
@@ -119,12 +120,14 @@
"lrc": "Kiluri cha Kaskazini",
"mas": "Kimaasai",
"jmc": "Kimachame",
+ "mai": "Kimaithili",
"mgh": "Kimakhuwa-Meetto",
"kde": "Kimakonde",
"mg": "Kimalagasi",
"ml": "Kimalayalamu",
"ms": "Kimalei",
"mt": "Kimalta",
+ "mni": "Kimanipuri",
"mi": "Kimaori",
"mr": "Kimarathi",
"mk": "Kimasedonia",
@@ -139,6 +142,7 @@
"nd": "Kindebele cha Kaskazini",
"ne": "Kinepali",
"jgo": "Kingomba",
+ "no": "Kinorwe",
"nb": "Kinorwe cha Bokmal",
"nn": "Kinorwe cha Nynorsk",
"nus": "Kinuer",
@@ -148,6 +152,7 @@
"om": "Kioromo",
"os": "Kiosetia",
"ps": "Kipashto",
+ "pcm": "Kipijini cha Nigeria",
"pl": "Kipolandi",
"pa": "Kipunjabi",
"pt": "Kireno",
@@ -166,6 +171,8 @@
"se": "Kisami cha Kaskazini",
"sg": "Kisango",
"sbp": "Kisangu",
+ "sa": "Kisanskriti",
+ "sat": "Kisantali",
"seh": "Kisena",
"sr": "Kiserbia",
"sn": "Kishona",
@@ -177,6 +184,7 @@
"xog": "Kisoga",
"so": "Kisomali",
"hsb": "Kisorbia cha Juu",
+ "su": "Kisunda",
"sw": "Kiswahili",
"sw-CD": "Kiswahili cha Kongo",
"sv": "Kiswidi",
diff --git a/vendor/commerceguys/intl/resources/language/sw.json b/vendor/commerceguys/intl/resources/language/sw.json
index 9aadf5e34..24ffb1d29 100644
--- a/vendor/commerceguys/intl/resources/language/sw.json
+++ b/vendor/commerceguys/intl/resources/language/sw.json
@@ -1,4 +1,5 @@
{
+ "doi": "Dogri",
"af": "Kiafrikana",
"agq": "Kiaghem",
"fa": "Kiajemi",
@@ -97,9 +98,11 @@
"ki": "Kikikuyu",
"guz": "Kikisii",
"kok": "Kikonkani",
+ "hr": "Kikorasia",
"ko": "Kikorea",
"kw": "Kikorni",
- "hr": "Kikroeshia",
+ "khq": "Kikoyra Chiini",
+ "ses": "Kikoyraboro Senni",
"ku": "Kikurdi",
"ckb": "Kikurdi cha Sorani",
"nmg": "Kikwasio",
@@ -116,12 +119,14 @@
"mas": "Kimaasai",
"mk": "Kimacedonia",
"jmc": "Kimachame",
+ "mai": "Kimaithili",
"mgh": "Kimakhuwa-Meetto",
"kde": "Kimakonde",
"mg": "Kimalagasi",
"ml": "Kimalayalamu",
"ms": "Kimalei",
"mt": "Kimalta",
+ "mni": "Kimanipuri",
"mi": "Kimaori",
"mr": "Kimarathi",
"mzn": "Kimazanderani",
@@ -135,6 +140,7 @@
"nd": "Kindebele cha Kaskazini",
"ne": "Kinepali",
"jgo": "Kingomba",
+ "no": "Kinorwe",
"nb": "Kinorwe cha Bokmal",
"nn": "Kinorwe cha Nynorsk",
"nus": "Kinuer",
@@ -163,6 +169,8 @@
"se": "Kisami cha Kaskazini",
"sg": "Kisango",
"sbp": "Kisangu",
+ "sa": "Kisanskriti",
+ "sat": "Kisantali",
"seh": "Kisena",
"sr": "Kiserbia",
"sn": "Kishona",
@@ -174,6 +182,7 @@
"hsb": "Kisobia cha Ukanda wa Juu",
"xog": "Kisoga",
"so": "Kisomali",
+ "su": "Kisunda",
"sw": "Kiswahili",
"sw-CD": "Kiswahili (Jamhuri ya Kidemokrasia ya Kongo)",
"sv": "Kiswidi",
@@ -182,7 +191,7 @@
"tg": "Kitajiki",
"tzm": "Kitamazighati cha Atlasi ya Kati",
"ta": "Kitamili",
- "twq": "Kitasawaq",
+ "twq": "Kitasawak",
"tt": "Kitatari",
"te": "Kitelugu",
"teo": "Kiteso",
@@ -211,9 +220,8 @@
"dje": "Kizarma",
"dz": "Kizongkha",
"zu": "Kizulu",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
"kkj": "Lugha ya Kako",
"nnh": "Lugha ya Ngiemboon",
- "rwk": "Lugha ya Rwa"
+ "rwk": "Lugha ya Rwa",
+ "pcm": "Pijini ya Nigeria"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ta.json b/vendor/commerceguys/intl/resources/language/ta.json
index 9fb23e594..8a0c065ef 100644
--- a/vendor/commerceguys/intl/resources/language/ta.json
+++ b/vendor/commerceguys/intl/resources/language/ta.json
@@ -78,12 +78,15 @@
"sah": "சக்கா",
"sbp": "சங்கு",
"saq": "சம்புரு",
+ "sa": "சமஸ்கிருதம்",
"sg": "சாங்கோ",
+ "sat": "சான்டாலி",
"cgg": "சிகா",
"si": "சிங்களம்",
"ii": "சிசுவான் ஈ",
"sd": "சிந்தி",
"zh": "சீனம்",
+ "su": "சுண்டானீஸ்",
"cs": "செக்",
"ce": "செச்சென்",
"ceb": "செபுவானோ",
@@ -100,6 +103,7 @@
"teo": "டெசோ",
"da": "டேனிஷ்",
"dav": "டைடா",
+ "doi": "டோக்ரி",
"to": "டோங்கான்",
"shi": "தசேஹித்",
"ta": "தமிழ்",
@@ -111,12 +115,14 @@
"te": "தெலுங்கு",
"jgo": "நகொம்பா",
"naq": "நாமா",
+ "no": "நார்வேஜியன்",
"nn": "நார்வேஜியன் நியூநார்ஸ்க்",
"nb": "நார்வேஜியன் பொக்மால்",
"nyn": "நியான்கோலே",
"nus": "நியூர்",
"nnh": "நெகெய்ம்பூன்",
"ne": "நேபாளி",
+ "pcm": "நைஜீரியன் பிட்கின்",
"pa": "பஞ்சாபி",
"bm": "பம்பாரா",
"my": "பர்மீஸ்",
@@ -142,6 +148,7 @@
"kde": "மகொண்டே",
"mn": "மங்கோலியன்",
"mzn": "மசந்தேரனி",
+ "mni": "மணிப்புரி",
"tzm": "மத்திய அட்லஸ் டமசைட்",
"ckb": "மத்திய குர்திஷ்",
"mr": "மராத்தி",
@@ -157,6 +164,7 @@
"mer": "மெரு",
"mgo": "மேடா",
"fy": "மேற்கு ஃப்ரிஷியன்",
+ "mai": "மைதிலி",
"mfe": "மொரிசியன்",
"ro-MD": "மோல்டாவியன்",
"mi": "மௌரி",
diff --git a/vendor/commerceguys/intl/resources/language/te.json b/vendor/commerceguys/intl/resources/language/te.json
index 55161daa6..6436d4036 100644
--- a/vendor/commerceguys/intl/resources/language/te.json
+++ b/vendor/commerceguys/intl/resources/language/te.json
@@ -8,12 +8,12 @@
"sq": "అల్బేనియన్",
"asa": "అసు",
"as": "అస్సామీస్",
- "en": "ఆంగ్లం",
"af": "ఆఫ్రికాన్స్",
"hy": "ఆర్మేనియన్",
"ast": "ఆస్టూరియన్",
"de-AT": "ఆస్ట్రియన్ జర్మన్",
"en-AU": "ఆస్ట్రేలియన్ ఇంగ్లీష్",
+ "en": "ఇంగ్లీష్",
"id": "ఇండోనేషియన్",
"ebu": "ఇంబు",
"ig": "ఇగ్బో",
@@ -70,11 +70,11 @@
"guz": "గుస్సీ",
"jgo": "గోంబా",
"el": "గ్రీక్",
+ "cgg": "చిగా",
"cs": "చెక్",
"ce": "చెచెన్",
"chr": "చెరోకీ",
"zh": "చైనీస్",
- "cgg": "ఛిగా",
"ja": "జపనీస్",
"de": "జర్మన్",
"ka": "జార్జియన్",
@@ -94,6 +94,7 @@
"dav": "టైటా",
"nl": "డచ్",
"da": "డానిష్",
+ "doi": "డోగ్రి",
"dua": "డ్యూలా",
"tg": "తజిక్",
"ta": "తమిళము",
@@ -101,9 +102,11 @@
"te": "తెలుగు",
"th": "థాయ్",
"naq": "నమ",
+ "no": "నార్వేజియన్",
"nb": "నార్వేజియన్ బొక్మాల్",
"nn": "నార్వేజియాన్ న్యోర్స్క్",
"ne": "నేపాలి",
+ "pcm": "నైజీరియా పిడ్గిన్",
"nyn": "న్యాన్కోలె",
"nus": "న్యుర్",
"pa": "పంజాబీ",
@@ -139,6 +142,7 @@
"kde": "మకొండే",
"jmc": "మకొమ్",
"mgh": "మక్వా-మిట్టో",
+ "mni": "మణిపురి",
"mr": "మరాఠీ",
"mg": "మలగాసి",
"ml": "మలయాళం",
@@ -151,6 +155,7 @@
"es-MX": "మెక్సికన్ స్పానిష్",
"mgo": "మెటా",
"mer": "మెరు",
+ "mai": "మైథిలి",
"mfe": "మొరిస్యేన్",
"ro-MD": "మొల్డావియన్",
"yav": "యాంగ్‌బెన్",
@@ -187,7 +192,10 @@
"ii": "శిషువన్ ఈ",
"sn": "షోన",
"xh": "షోసా",
+ "su": "సండానీస్",
+ "sat": "సంతాలి",
"saq": "సంబురు",
+ "sa": "సంస్కృతం",
"zh-Hans": "సరళీకృత చైనీస్",
"sbp": "సాంగు",
"sg": "సాంగో",
diff --git a/vendor/commerceguys/intl/resources/language/tg.json b/vendor/commerceguys/intl/resources/language/tg.json
index 971200802..56d600e88 100644
--- a/vendor/commerceguys/intl/resources/language/tg.json
+++ b/vendor/commerceguys/intl/resources/language/tg.json
@@ -13,6 +13,7 @@
"cgg": "Chiga",
"ksh": "Colognian",
"kw": "Cornish",
+ "doi": "Dogri",
"dua": "Duala",
"ebu": "Embu",
"ee": "Ewe",
@@ -40,6 +41,7 @@
"luo": "Luo",
"luy": "Luyia",
"jmc": "Machame",
+ "mai": "Maithili",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mas": "Masai",
@@ -52,6 +54,7 @@
"nds-NL": "nds (Нидерландия)",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nigerian Pidgin",
"nd": "North Ndebele",
"lrc": "Northern Luri",
"nb": "Norwegian Bokmål",
@@ -71,6 +74,7 @@
"ii": "Sichuan Yi",
"xog": "Soga",
"zgh": "Standard Moroccan Tamazight",
+ "su": "Sundanese",
"sw-CD": "sw (CD)",
"sw": "Swahili",
"gsw": "Swiss German",
@@ -148,6 +152,7 @@
"ms": "малайӣ",
"ml": "малаяламӣ",
"mt": "малтӣ",
+ "mni": "манипурӣ",
"mi": "маорӣ",
"mr": "маратҳӣ",
"hu": "маҷорӣ",
@@ -156,6 +161,7 @@
"de-AT": "немисии австриягӣ",
"de-CH": "немисии швейсарии болоӣ",
"ne": "непалӣ",
+ "no": "норвегӣ",
"or": "одия",
"az": "озарбойҷонӣ",
"om": "оромо",
@@ -168,6 +174,8 @@
"ro-MD": "руминӣ (Молдова)",
"ru": "русӣ",
"se": "самии шимолӣ",
+ "sa": "санскрит",
+ "sat": "санталӣ",
"sah": "саха",
"ceb": "себуано",
"sr": "сербӣ",
@@ -179,7 +187,7 @@
"sl": "словенӣ",
"so": "сомалӣ",
"th": "тайӣ",
- "tzm": "тамазайти атласи марказӣ",
+ "tzm": "тамазайти Атласи Марказӣ",
"ta": "тамилӣ",
"te": "телугу",
"bo": "тибетӣ",
diff --git a/vendor/commerceguys/intl/resources/language/th.json b/vendor/commerceguys/intl/resources/language/th.json
index 0325d2264..72ed46974 100644
--- a/vendor/commerceguys/intl/resources/language/th.json
+++ b/vendor/commerceguys/intl/resources/language/th.json
@@ -33,8 +33,8 @@
"ksh": "โคโลญ",
"ka": "จอร์เจีย",
"zh": "จีน",
- "zh-Hant": "จีนดั้งเดิม",
- "zh-Hans": "จีนประยุกต์",
+ "zh-Hant": "จีนตัวเต็ม",
+ "zh-Hans": "จีนตัวย่อ",
"nnh": "จีมบูน",
"dyo": "โจลา-ฟอนยี",
"jv": "ชวา",
@@ -51,6 +51,7 @@
"se": "ซามิเหนือ",
"smn": "ซามิอีนารี",
"dje": "ซาร์มา",
+ "su": "ซุนดา",
"zu": "ซูลู",
"seh": "เซนา",
"ceb": "เซบู",
@@ -61,6 +62,7 @@
"xog": "โซกา",
"so": "โซมาลี",
"ja": "ญี่ปุ่น",
+ "doi": "โฑครี",
"nl": "ดัตช์",
"dua": "ดัวลา",
"da": "เดนมาร์ก",
@@ -80,6 +82,7 @@
"bo": "ทิเบต",
"dav": "ไททา",
"th": "ไทย",
+ "no": "นอร์เวย์",
"nn": "นอร์เวย์นีนอสก์",
"nb": "นอร์เวย์บุคมอล",
"naq": "นามา",
@@ -108,6 +111,7 @@
"fr-CH": "ฝรั่งเศส (สวิส)",
"my": "พม่า",
"ps": "พัชโต",
+ "pcm": "พิดจิน",
"brx": "โพโฑ",
"fy": "ฟริเซียนตะวันตก",
"fur": "ฟรูลี",
@@ -116,6 +120,7 @@
"ff": "ฟูลาห์",
"nl-BE": "เฟลมิช",
"fo": "แฟโร",
+ "mni": "มณีปุระ",
"mr": "มราฐี",
"mn": "มองโกเลีย",
"mfe": "มอริสเยน",
@@ -134,6 +139,7 @@
"mgo": "เมตา",
"mer": "เมรู",
"mi": "เมารี",
+ "mai": "ไมถิลี",
"yi": "ยิดดิช",
"lg": "ยูกันดา",
"uk": "ยูเครน",
@@ -176,6 +182,8 @@
"sw": "สวาฮีลี",
"sw-CD": "สวาฮีลี - คองโก",
"sv": "สวีเดน",
+ "sat": "สันตาลี",
+ "sa": "สันสกฤต",
"si": "สิงหล",
"sd": "สินธิ",
"ii": "เสฉวนยี่",
diff --git a/vendor/commerceguys/intl/resources/language/tk.json b/vendor/commerceguys/intl/resources/language/tk.json
index 121635f0d..d346e444a 100644
--- a/vendor/commerceguys/intl/resources/language/tk.json
+++ b/vendor/commerceguys/intl/resources/language/tk.json
@@ -24,7 +24,7 @@
"my": "birma dili",
"brx": "bodo dili",
"bg": "bolgar dili",
- "bs": "boşnak dili",
+ "bs": "bosniýa dili",
"br": "breton dili",
"ce": "çeçen dili",
"cs": "çeh dili",
@@ -33,6 +33,7 @@
"lrc": "demirgazyk luri dili",
"nd": "demirgazyk ndebele dili",
"se": "demirgazyk saam dili",
+ "doi": "Dogri",
"dua": "duala dili",
"dz": "dzong-ke dili",
"ebu": "embu dili",
@@ -98,7 +99,7 @@
"ko": "koreý dili",
"kw": "korn dili",
"xh": "kosa dili",
- "khq": "koýra-Çini dili",
+ "khq": "koýra-çini dili",
"ses": "koýraboro-senni dili",
"ku": "kürt dili",
"nmg": "kwasio dili",
@@ -120,9 +121,11 @@
"ms": "malaý dili",
"ml": "malaýalam dili",
"mt": "malta dili",
+ "mni": "manipuri dili",
"mi": "maori dili",
"mr": "marathi dili",
"mas": "masai dili",
+ "mai": "maýthili dili",
"mzn": "mazanderan dili",
"ckb": "merkezi kürt dili",
"mer": "meru dili",
@@ -139,6 +142,8 @@
"nnh": "ngembun dili",
"jgo": "ngomba dili",
"nl": "niderland dili",
+ "pcm": "nigeriýa-pijin dili",
+ "no": "Norwegian",
"nb": "norwegiýa bukmol dili",
"nn": "norwegiýa nýunorsk dili",
"nus": "nuer dili",
@@ -163,6 +168,8 @@
"saq": "samburu dili",
"sg": "sango dili",
"sbp": "sangu dili",
+ "sa": "sanskrit dili",
+ "sat": "santali dili",
"ceb": "sebuan dili",
"seh": "sena dili",
"sr": "serb dili",
@@ -174,6 +181,7 @@
"so": "somali dili",
"zgh": "standart Marokko tamazight dili",
"sw": "suahili dili",
+ "su": "sundan dili",
"ii": "syçuan-i dili",
"ksb": "şambala dili",
"sn": "şona dili",
diff --git a/vendor/commerceguys/intl/resources/language/to.json b/vendor/commerceguys/intl/resources/language/to.json
index 7fbf94021..b988c2f5e 100644
--- a/vendor/commerceguys/intl/resources/language/to.json
+++ b/vendor/commerceguys/intl/resources/language/to.json
@@ -67,12 +67,14 @@
"luo": "lea fakaluo",
"lu": "lea fakalupa-katanga",
"ru": "lea fakalūsia",
+ "mai": "lea fakamaitili",
"kde": "lea fakamakōnite",
"mgh": "lea fakamakūa-meʻeto",
"mg": "lea fakamalakasi",
"mr": "lea fakamalati",
"ms": "lea fakamalei",
"mt": "lea fakamalita",
+ "mni": "lea fakamanipuli",
"mas": "lea fakamasai",
"jmc": "lea fakamasame",
"mzn": "lea fakamasanitelani",
@@ -84,12 +86,14 @@
"ro-MD": "lea fakamolitāvia",
"mn": "lea fakamongokōlia",
"mua": "lea fakamunitangi",
+ "pcm": "lea fakanaisilia",
"naq": "lea fakanama",
"ne": "lea fakanepali",
"nd": "lea fakanetepele-tokelau",
"nyn": "lea fakanianikole",
"jgo": "lea fakanikōmipa",
"nn": "lea fakanoauē-ninosiki",
+ "no": "lea fakanouaē",
"nb": "lea fakanouaē-pokimali",
"nus": "lea fakanueli",
"nnh": "lea fakangiemipōni",
@@ -121,6 +125,8 @@
"se": "lea fakasami-tokelau",
"smn": "lea fakasami-ʻinali",
"saq": "lea fakasamipulu",
+ "sa": "lea fakasanisukuliti",
+ "sat": "lea fakasanitali",
"sg": "lea fakasangikō",
"sbp": "lea fakasangu",
"jv": "lea fakasava",
@@ -144,9 +150,9 @@
"sd": "lea fakasīniti",
"si": "lea fakasingihala",
"sn": "lea fakasiona",
+ "es-419": "lea fakasipeini-lātini-ʻamelika",
+ "es-MX": "lea fakasipeini-mekisikou",
"es": "lea fakasipēnisi",
- "es-419": "lea fakasipēnisi lātini-ʻamelika",
- "es-MX": "lea fakasipēnisi-mekisikou",
"ii": "lea fakasisiuani-ī",
"xog": "lea fakasoka",
"sk": "lea fakasolāvaki",
@@ -158,6 +164,7 @@
"sw-CD": "lea fakasuahili-kongikō",
"sv": "lea fakasuēteni",
"zu": "lea fakasulu",
+ "su": "lea fakasunitā",
"th": "lea fakatailani",
"dav": "lea fakataita",
"zgh": "lea fakatamasaiti-moloko",
@@ -175,6 +182,7 @@
"dje": "lea fakatisāma",
"dz": "lea fakatisōngika",
"tr": "lea fakatoake",
+ "doi": "lea fakatokili",
"to": "lea fakatonga",
"xh": "lea fakatōsa",
"dua": "lea fakatuala",
diff --git a/vendor/commerceguys/intl/resources/language/tr.json b/vendor/commerceguys/intl/resources/language/tr.json
index cd5f329f6..750dac0ae 100644
--- a/vendor/commerceguys/intl/resources/language/tr.json
+++ b/vendor/commerceguys/intl/resources/language/tr.json
@@ -37,6 +37,7 @@
"chr": "Çerokice",
"zh": "Çince",
"da": "Danca",
+ "doi": "Dogri",
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
@@ -127,6 +128,7 @@
"lb": "Lüksemburgca",
"hu": "Macarca",
"jmc": "Machame",
+ "mai": "Maithili",
"mk": "Makedonca",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
@@ -134,6 +136,7 @@
"ms": "Malayca",
"mg": "Malgaşça",
"mt": "Maltaca",
+ "mni": "Manipuri dili",
"mi": "Maori dili",
"mr": "Marathi dili",
"mas": "Masai",
@@ -149,11 +152,13 @@
"ne": "Nepalce",
"nnh": "Ngiemboon",
"jgo": "Ngomba",
+ "pcm": "Nijerya Pidgin dili",
+ "no": "Norveççe",
"nb": "Norveççe Bokmål",
"nn": "Norveççe Nynorsk",
"nus": "Nuer",
"nyn": "Nyankole",
- "or": "Oriya Dili",
+ "or": "Oriya dili",
"om": "Oromo dili",
"tzm": "Orta Atlas Tamazigti",
"ckb": "Orta Kürtçe",
@@ -170,6 +175,8 @@
"saq": "Samburu",
"sg": "Sango",
"sbp": "Sangu",
+ "sa": "Sanskrit",
+ "sat": "Santali",
"ceb": "Sebuano dili",
"seh": "Sena",
"sr": "Sırpça",
@@ -181,6 +188,7 @@
"xog": "Soga",
"so": "Somalice",
"zgh": "Standart Fas Tamazigti",
+ "su": "Sunda dili",
"sw": "Svahili dili",
"ksb": "Şambala",
"sn": "Şona dili",
diff --git a/vendor/commerceguys/intl/resources/language/uk.json b/vendor/commerceguys/intl/resources/language/uk.json
index 66e867212..8072ef0fa 100644
--- a/vendor/commerceguys/intl/resources/language/uk.json
+++ b/vendor/commerceguys/intl/resources/language/uk.json
@@ -9,16 +9,16 @@
"en": "англійська",
"ar": "арабська",
"as": "асамська",
- "ast": "астурська",
+ "ast": "астурійська",
"asa": "асу",
"af": "африкаанс",
"bm": "бамбара",
- "bn": "банґла",
"bas": "баса",
"eu": "баскська",
"ksf": "бафіа",
"bem": "бемба",
"bez": "бена",
+ "bn": "бенгальська",
"be": "білоруська",
"my": "бірманська",
"brx": "бодо",
@@ -27,17 +27,15 @@
"br": "бретонська",
"en-GB": "британська англійська",
"vai": "ваї",
- "wae": "валзерська",
"cy": "валлійська",
"wa": "валлонська",
+ "wae": "вальзерська",
"hsb": "верхньолужицька",
- "de-CH": "верхньонімецька (Швейцарія)",
"hy": "вірменська",
"wo": "волоф",
"vun": "вуньо",
"vi": "вʼєтнамська",
"haw": "гавайська",
- "gd": "гаельська",
"gl": "галісійська",
"lg": "ганда",
"hi": "гінді",
@@ -48,13 +46,14 @@
"da": "данська",
"dje": "джерма",
"dz": "дзонг-ке",
+ "doi": "догрі",
"dua": "дуала",
"dyo": "дьола-фоні",
"ee": "еве",
"ewo": "евондо",
"ebu": "ембу",
"et": "естонська",
- "pt-PT": "європейська портуґальська",
+ "pt-PT": "європейська португальська",
"fy": "західнофризька",
"zu": "зулуська",
"he": "іврит",
@@ -80,6 +79,7 @@
"ca": "каталонська",
"ks": "кашмірська",
"nmg": "квазіо",
+ "ksh": "кельнська",
"qu": "кечуа",
"ky": "киргизька",
"zh": "китайська",
@@ -90,18 +90,17 @@
"rw": "кіньяруанда",
"khq": "койра чіїні",
"ses": "койраборо сені",
- "ksh": "колоніан",
"kok": "конкані",
"ko": "корейська",
- "kw": "корнійська",
+ "kw": "корнська",
"ku": "курдська",
"km": "кхмерська",
"xh": "кхоса",
"lkt": "лакота",
"lag": "лангі",
"lo": "лаоська",
- "lv": "латвійська",
"es-419": "латиноамериканська іспанська",
+ "lv": "латиська",
"lt": "литовська",
"ln": "лінгала",
"lu": "луба-катанга",
@@ -110,6 +109,7 @@
"lb": "люксембурзька",
"mfe": "маврикійська креольська",
"mzn": "мазандеранська",
+ "mai": "майтхілі",
"mk": "македонська",
"kde": "маконде",
"mgh": "макува-меето",
@@ -117,6 +117,7 @@
"ms": "малайська",
"ml": "малаялам",
"mt": "мальтійська",
+ "mni": "маніпурі",
"mi": "маорі",
"mr": "маратхі",
"mas": "масаї",
@@ -134,9 +135,10 @@
"dsb": "нижньолужицька",
"nds": "нижньонімецька",
"nds-NL": "нижньосаксонська",
+ "pcm": "нігерійсько-креольська",
"nl": "нідерландська",
"de": "німецька",
- "gsw": "німецька (Швейцарія)",
+ "no": "норвезька",
"nb": "норвезька (букмол)",
"nn": "норвезька (нюношк)",
"nus": "нуер",
@@ -150,7 +152,7 @@
"lrc": "північнолурська",
"se": "північносаамська",
"pl": "польська",
- "pt": "портуґальська",
+ "pt": "португальська",
"ps": "пушту",
"rwk": "рва",
"rm": "ретороманська",
@@ -162,12 +164,15 @@
"saq": "самбуру",
"sg": "санго",
"sbp": "сангу",
+ "sa": "санскрит",
+ "sat": "сантальська",
+ "sah": "саха",
"ceb": "себуанська",
"seh": "сена",
"sr": "сербська",
"si": "сингальська",
- "ii": "сичуань",
- "sd": "сіндхі",
+ "sd": "синдхі",
+ "ii": "сичуаньська ї",
"sk": "словацька",
"sl": "словенська",
"xog": "сога",
@@ -175,6 +180,7 @@
"zgh": "стандартна марокканська берберська",
"sw": "суахілі",
"sw-CD": "суахілі (Конго)",
+ "su": "сунданська",
"tg": "таджицька",
"dav": "таіта",
"th": "тайська",
@@ -186,7 +192,7 @@
"teo": "тесо",
"bo": "тибетська",
"ti": "тигринья",
- "to": "тонґанська",
+ "to": "тонганська",
"tr": "турецька",
"tk": "туркменська",
"hu": "угорська",
@@ -210,10 +216,12 @@
"ce": "чеченська",
"ksb": "шамбала",
"sv": "шведська",
+ "de-CH": "швейцарська верхньонімецька",
+ "gsw": "швейцарська німецька",
"fr-CH": "швейцарська французька",
"sn": "шона",
+ "gd": "шотландська гельська",
"jv": "яванська",
- "sah": "якутська",
"yav": "янгбен",
"ja": "японська"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ur-IN.json b/vendor/commerceguys/intl/resources/language/ur-IN.json
index 373f9e33b..67bc19994 100644
--- a/vendor/commerceguys/intl/resources/language/ur-IN.json
+++ b/vendor/commerceguys/intl/resources/language/ur-IN.json
@@ -29,8 +29,8 @@
"de-AT": "آسٹریائی جرمن",
"en-AU": "آسٹریلیائی انگریزی",
"asa": "آسو",
+ "ga": "آئرش",
"is": "آئس لینڈک",
- "ga": "آئیرِش",
"bas": "باسا",
"eu": "باسکی",
"ksf": "بافيا",
@@ -98,7 +98,10 @@
"gd": "سکاٹش گیلک",
"sk": "سلوواک",
"sl": "سلووینیائی",
+ "sat": "سنتالی",
"sd": "سندھی",
+ "su": "سنڈانیز",
+ "sa": "سنسکرت",
"si": "سنہالا",
"sw": "سواحلی",
"ckb": "سورانی کردی",
@@ -185,13 +188,17 @@
"mg": "ملاگاسی",
"mua": "منڈانگ",
"mn": "منگولین",
+ "mni": "منی پوری",
"mfe": "موریسیین",
+ "mai": "میتھیلی",
"mgo": "میٹا",
"mer": "میرو",
"es-MX": "میکسیکن ہسپانوی",
+ "no": "نارویجین",
"nb": "نارویجین بوکمل",
"nn": "نارویجین نینورسک",
"naq": "ناما",
+ "pcm": "نائجیریائی پڈگن",
"jgo": "نگومبا",
"nnh": "نگیمبون",
"nus": "نویر",
@@ -215,5 +222,6 @@
"yo": "یوروبا",
"uk": "یوکرینیائی",
"el": "یونانی",
- "ug": "یوئگہر"
+ "ug": "یوئگہر",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ur.json b/vendor/commerceguys/intl/resources/language/ur.json
index e299e84b9..1200d8639 100644
--- a/vendor/commerceguys/intl/resources/language/ur.json
+++ b/vendor/commerceguys/intl/resources/language/ur.json
@@ -29,8 +29,8 @@
"de-AT": "آسٹریائی جرمن",
"en-AU": "آسٹریلیائی انگریزی",
"asa": "آسو",
+ "ga": "آئرش",
"is": "آئس لینڈک",
- "ga": "آئیرِش",
"bas": "باسا",
"eu": "باسکی",
"ksf": "بافيا",
@@ -99,7 +99,10 @@
"gd": "سکاٹش گیلک",
"sk": "سلوواک",
"sl": "سلووینیائی",
+ "sat": "سنتالی",
"sd": "سندھی",
+ "su": "سنڈانیز",
+ "sa": "سنسکرت",
"si": "سنہالا",
"sw": "سواحلی",
"xog": "سوگا",
@@ -185,13 +188,17 @@
"mg": "ملاگاسی",
"mua": "منڈانگ",
"mn": "منگولین",
+ "mni": "منی پوری",
"mfe": "موریسیین",
+ "mai": "میتھیلی",
"mgo": "میٹا",
"mer": "میرو",
"es-MX": "میکسیکن ہسپانوی",
+ "no": "نارویجین",
"nb": "نارویجین بوکمل",
"nn": "نارویجین نینورسک",
"naq": "ناما",
+ "pcm": "نائجیریائی پڈگن",
"jgo": "نگومبا",
"nnh": "نگیمبون",
"nus": "نویر",
@@ -215,5 +222,6 @@
"yo": "یوروبا",
"uk": "یوکرینیائی",
"el": "یونانی",
- "ug": "یوئگہر"
+ "ug": "یوئگہر",
+ "doi": "Dogri"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/uz-Cyrl.json b/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
index 9158dfa90..6b0142d3e 100644
--- a/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
@@ -1,7 +1,11 @@
{
+ "doi": "Dogri",
"nds": "Low German",
"luo": "Luo",
+ "mai": "Maithili",
"nds-NL": "nds (Нидерландия)",
+ "pcm": "Nigerian Pidgin",
+ "no": "Norwegian",
"os": "Ossetic",
"ii": "Sichuan Yi",
"wa": "Walloon",
@@ -107,6 +111,7 @@
"ms": "малай тил",
"ml": "малаялам",
"mt": "малтача",
+ "mni": "манипурча",
"mi": "маори",
"mr": "маратхи",
"tzm": "марказий атлас тамазигхт",
@@ -123,8 +128,8 @@
"jgo": "нгомба",
"de": "немисча",
"de-AT": "немисча (Австрия)",
- "gsw": "немисча (Швейцария)",
"de-CH": "немисча (Швейцария)",
+ "gsw": "немисча (Швейцария)",
"ne": "непалча",
"nb": "норвегча бокмал",
"nn": "норвегча нюнорск",
@@ -148,6 +153,8 @@
"saq": "самбуруча",
"sg": "санго",
"sbp": "сангуча",
+ "sa": "санскрит",
+ "sat": "сантали",
"sah": "саха",
"ceb": "себуанча",
"seh": "сена",
@@ -161,6 +168,7 @@
"so": "сомалича",
"ckb": "сорани-курдча",
"sw": "суахили",
+ "su": "сунданча",
"dav": "таитача",
"th": "тайча",
"zgh": "тамазигхт",
diff --git a/vendor/commerceguys/intl/resources/language/uz.json b/vendor/commerceguys/intl/resources/language/uz.json
index 8177083f4..fccaf004a 100644
--- a/vendor/commerceguys/intl/resources/language/uz.json
+++ b/vendor/commerceguys/intl/resources/language/uz.json
@@ -24,6 +24,7 @@
"br": "breton",
"da": "dan",
"dyo": "diola-fogni",
+ "doi": "Dogri",
"dua": "duala",
"dz": "dzongka",
"ebu": "embu",
@@ -81,6 +82,7 @@
"kw": "korn",
"khq": "koyra-chiini",
"ses": "koyraboro-senni",
+ "pcm": "kreol (Nigeriya)",
"ku": "kurdcha",
"nmg": "kvasio",
"xh": "kxosa",
@@ -101,11 +103,13 @@
"ms": "malay",
"ml": "malayalam",
"mt": "maltiy",
+ "mni": "manipur",
"mi": "maori",
"mr": "maratxi",
"tzm": "markaziy atlas tamazigxt",
"mas": "masay",
"mgh": "maxuva-mitto",
+ "mai": "maythili",
"jmc": "machame",
"mer": "meru",
"mgo": "meta",
@@ -124,6 +128,7 @@
"nl": "niderland",
"nb": "norveg-bokmal",
"nn": "norveg-nyunorsk",
+ "no": "Norwegian",
"nus": "nuer",
"nyn": "nyankole",
"or": "oriya",
@@ -149,6 +154,8 @@
"saq": "samburu",
"sg": "sango",
"sbp": "sangu",
+ "sa": "sanskrit",
+ "sat": "santali",
"sah": "saxa",
"ceb": "sebuan",
"seh": "sena",
@@ -163,6 +170,7 @@
"ckb": "sorani-kurd",
"sw": "suaxili",
"sw-CD": "suaxili (Kongo)",
+ "su": "sundan",
"dav": "taita",
"zgh": "tamazigxt",
"ta": "tamil",
diff --git a/vendor/commerceguys/intl/resources/language/vi.json b/vendor/commerceguys/intl/resources/language/vi.json
index 3be1e15a7..54db88990 100644
--- a/vendor/commerceguys/intl/resources/language/vi.json
+++ b/vendor/commerceguys/intl/resources/language/vi.json
@@ -41,6 +41,7 @@
"hr": "Tiếng Croatia",
"ii": "Tiếng Di Tứ Xuyên",
"he": "Tiếng Do Thái",
+ "doi": "Tiếng Dogri",
"dua": "Tiếng Duala",
"dz": "Tiếng Dzongkha",
"da": "Tiếng Đan Mạch",
@@ -112,11 +113,13 @@
"ms": "Tiếng Mã Lai",
"mk": "Tiếng Macedonia",
"jmc": "Tiếng Machame",
+ "mai": "Tiếng Maithili",
"mgh": "Tiếng Makhuwa-Meetto",
"kde": "Tiếng Makonde",
"mg": "Tiếng Malagasy",
"ml": "Tiếng Malayalam",
"mt": "Tiếng Malta",
+ "mni": "Tiếng Manipuri",
"mi": "Tiếng Maori",
"mr": "Tiếng Marathi",
"mas": "Tiếng Masai",
@@ -128,6 +131,7 @@
"mfe": "Tiếng Morisyen",
"mn": "Tiếng Mông Cổ",
"mua": "Tiếng Mundang",
+ "no": "Tiếng Na Uy",
"nb": "Tiếng Na Uy (Bokmål)",
"nn": "Tiếng Na Uy (Nynorsk)",
"naq": "Tiếng Nama",
@@ -137,12 +141,14 @@
"nnh": "Tiếng Ngiemboon",
"jgo": "Tiếng Ngomba",
"ja": "Tiếng Nhật",
+ "pcm": "Tiếng Nigeria Pidgin",
"nus": "Tiếng Nuer",
"nyn": "Tiếng Nyankole",
"or": "Tiếng Odia",
"om": "Tiếng Oromo",
"os": "Tiếng Ossetic",
"ps": "Tiếng Pashto",
+ "sa": "Tiếng Phạn",
"fr": "Tiếng Pháp",
"fr-CA": "Tiếng Pháp (Canada)",
"fr-CH": "Tiếng Pháp (Thụy Sĩ)",
@@ -161,6 +167,7 @@
"se": "Tiếng Sami Miền Bắc",
"sg": "Tiếng Sango",
"sbp": "Tiếng Sangu",
+ "sat": "Tiếng Santali",
"cs": "Tiếng Séc",
"seh": "Tiếng Sena",
"sr": "Tiếng Serbia",
@@ -172,6 +179,7 @@
"sl": "Tiếng Slovenia",
"xog": "Tiếng Soga",
"so": "Tiếng Somali",
+ "su": "Tiếng Sunda",
"sw": "Tiếng Swahili",
"sw-CD": "Tiếng Swahili Congo",
"shi": "Tiếng Tachelhit",
diff --git a/vendor/commerceguys/intl/resources/language/yue-Hans.json b/vendor/commerceguys/intl/resources/language/yue-Hans.json
index 883ffb136..757657509 100644
--- a/vendor/commerceguys/intl/resources/language/yue-Hans.json
+++ b/vendor/commerceguys/intl/resources/language/yue-Hans.json
@@ -44,6 +44,7 @@
"to": "东加文",
"ses": "东桑海文",
"dua": "杜亚拉文",
+ "doi": "多格来文",
"ru": "俄文",
"ebu": "恩布文",
"nnh": "恩甘澎文",
@@ -53,6 +54,7 @@
"fr-CA": "法文 (加拿大)",
"fr-CH": "法文 (瑞士)",
"zh-Hant": "繁体中文",
+ "sa": "梵文",
"fil": "菲律宾文",
"fi": "芬兰文",
"fur": "弗留利文",
@@ -117,6 +119,8 @@
"jmc": "马恰美文",
"mas": "马赛文",
"mzn": "马赞德兰文",
+ "mai": "迈蒂利文",
+ "mni": "曼尼普里文",
"mi": "毛利文",
"mer": "梅鲁文",
"mgo": "美塔文",
@@ -129,8 +133,10 @@
"nn": "耐诺斯克挪威文",
"af": "南非荷兰文",
"ne": "尼泊尔文",
+ "pcm": "尼日利亚皮钦语",
"nyn": "尼扬科莱文",
"nus": "努埃尔文",
+ "no": "挪威文",
"or": "欧利亚文",
"pa": "旁遮普文",
"pt": "葡萄牙文",
@@ -144,6 +150,7 @@
"sr": "塞尔维亚文",
"sn": "塞内加尔文",
"seh": "赛纳文",
+ "sat": "散塔利文",
"sg": "桑戈文",
"sbp": "桑古文",
"si": "僧伽罗文",
@@ -191,6 +198,7 @@
"haw": "夏威夷文",
"sd": "信德文",
"hu": "匈牙利文",
+ "su": "巽他文",
"sah": "雅库特文",
"agq": "亚罕文",
"hy": "亚美尼亚文",
diff --git a/vendor/commerceguys/intl/resources/language/yue.json b/vendor/commerceguys/intl/resources/language/yue.json
index 8c4584de1..c5633cec3 100644
--- a/vendor/commerceguys/intl/resources/language/yue.json
+++ b/vendor/commerceguys/intl/resources/language/yue.json
@@ -32,6 +32,7 @@
"sw": "史瓦希里文",
"sw-CD": "史瓦希里文(剛果)",
"ii": "四川彝文",
+ "pcm": "尼日利亞皮欽語",
"ne": "尼泊爾文",
"nyn": "尼揚科萊文",
"br": "布列塔尼文",
@@ -48,6 +49,7 @@
"id": "印尼文",
"ki": "吉庫尤文",
"ky": "吉爾吉斯文",
+ "doi": "多格來文",
"nmg": "夸西奧文",
"dyo": "朱拉文",
"fy": "西弗里西亞文",
@@ -121,6 +123,7 @@
"ebu": "恩布文",
"nnh": "恩甘澎文",
"jgo": "恩格姆巴文",
+ "no": "挪威文",
"pa": "旁遮普文",
"lag": "朗吉文",
"chr": "柴羅基文",
@@ -156,13 +159,17 @@
"ceb": "宿霧文",
"kw": "康瓦耳文",
"cs": "捷克文",
+ "mni": "曼尼普裡文",
"mer": "梅魯文",
+ "sa": "梵文",
"nl": "荷蘭文",
"brx": "博多文",
"ks": "喀什米爾文",
"ka": "喬治亞文",
"ff": "富拉文",
+ "su": "巽他文",
"ti": "提格利尼亞文",
+ "sat": "散塔利文",
"sk": "斯洛伐克文",
"sl": "斯洛維尼亞文",
"ps": "普什圖文",
@@ -206,6 +213,7 @@
"luo": "盧奧文",
"zh-Hant": "繁體中文",
"seh": "賽納文",
+ "mai": "邁蒂利文",
"ko": "韓文",
"zh-Hans": "簡體中文",
"saq": "薩布魯文",
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
index 87f16ba29..b30718a4d 100644
--- a/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
@@ -36,6 +36,7 @@
"dav": "台塔文",
"sw": "史瓦希里文",
"ii": "四川彝文",
+ "pcm": "尼日利亞皮欽文",
"ne": "尼泊爾文",
"nyn": "尼揚科萊文",
"br": "布里多尼文",
@@ -53,6 +54,7 @@
"hi": "印地文",
"ki": "吉庫尤文",
"ky": "吉爾吉斯文",
+ "doi": "多格來文",
"nmg": "夸西奧文",
"dyo": "朱拉文",
"lo": "老撾文",
@@ -120,6 +122,7 @@
"ebu": "恩布文",
"nnh": "恩甘澎文",
"jgo": "恩格姆巴文",
+ "no": "挪威文",
"pa": "旁遮普文",
"lag": "朗吉文",
"chr": "柴羅基文",
@@ -127,6 +130,7 @@
"ka": "格魯吉亞文",
"sg": "桑戈文",
"sbp": "桑古文",
+ "sat": "桑塔利文",
"th": "泰文",
"ta": "泰米爾文",
"te": "泰盧固文",
@@ -155,11 +159,14 @@
"ceb": "宿霧文",
"kw": "康瓦耳文",
"cs": "捷克文",
+ "mni": "曼尼普爾文",
"mer": "梅魯文",
+ "sa": "梵文",
"nl": "荷蘭文",
"brx": "博多文",
"ks": "喀什米爾文",
"ff": "富拉文",
+ "su": "巽他文",
"ti": "提格利尼亞文",
"sl": "斯洛文尼亞文",
"sk": "斯洛伐克文",
@@ -206,6 +213,7 @@
"luo": "盧歐文",
"zh-Hant": "繁體中文",
"seh": "賽納文",
+ "mai": "邁蒂利文",
"ko": "韓文",
"zh-Hans": "簡體中文",
"saq": "薩布魯文",
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant.json b/vendor/commerceguys/intl/resources/language/zh-Hant.json
index 321bd5120..8c45d81fe 100644
--- a/vendor/commerceguys/intl/resources/language/zh-Hant.json
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant.json
@@ -50,6 +50,7 @@
"hi": "印地文",
"ki": "吉庫尤文",
"ky": "吉爾吉斯文",
+ "doi": "多格來文",
"nmg": "夸西奧文",
"dyo": "朱拉文",
"fy": "西弗里西亞文",
@@ -78,6 +79,7 @@
"ewo": "依汪都文",
"ta": "坦米爾文",
"cgg": "奇加文",
+ "pcm": "奈及利亞皮欽文",
"bn": "孟加拉文",
"dz": "宗卡文",
"ksb": "尚巴拉文",
@@ -123,12 +125,14 @@
"ebu": "恩布文",
"nnh": "恩甘澎文",
"jgo": "恩格姆巴文",
+ "no": "挪威文",
"pa": "旁遮普文",
"lag": "朗吉文",
"chr": "柴羅基文",
"kl": "格陵蘭文",
"sg": "桑戈文",
"sbp": "桑古文",
+ "sat": "桑塔利文",
"th": "泰文",
"te": "泰盧固文",
"uk": "烏克蘭文",
@@ -157,13 +161,16 @@
"ceb": "宿霧文",
"kw": "康瓦耳文",
"cs": "捷克文",
+ "mni": "曼尼普爾文",
"mer": "梅魯文",
+ "sa": "梵文",
"sn": "紹納文",
"nl": "荷蘭文",
"brx": "博多文",
"ks": "喀什米爾文",
"ka": "喬治亞文",
"ff": "富拉文",
+ "su": "巽他文",
"ti": "提格利尼亞文",
"sk": "斯洛伐克文",
"sl": "斯洛維尼亞文",
@@ -206,6 +213,7 @@
"luo": "盧奧文",
"zh-Hant": "繁體中文",
"seh": "賽納文",
+ "mai": "邁蒂利文",
"ko": "韓文",
"zh-Hans": "簡體中文",
"saq": "薩布魯文",
diff --git a/vendor/commerceguys/intl/resources/language/zh.json b/vendor/commerceguys/intl/resources/language/zh.json
index 05af30323..df6fb5f30 100644
--- a/vendor/commerceguys/intl/resources/language/zh.json
+++ b/vendor/commerceguys/intl/resources/language/zh.json
@@ -7,6 +7,7 @@
"az": "阿塞拜疆语",
"ast": "阿斯图里亚斯语",
"ee": "埃维语",
+ "ewo": "埃翁多语",
"ga": "爱尔兰语",
"et": "爱沙尼亚语",
"de-AT": "奥地利德语",
@@ -41,7 +42,8 @@
"nds": "低地德语",
"nds-NL": "低萨克森语",
"ses": "东桑海语",
- "dua": "都阿拉语",
+ "dua": "杜阿拉语",
+ "doi": "多格拉语",
"ru": "俄语",
"ebu": "恩布语",
"nnh": "恩甘澎语",
@@ -49,6 +51,7 @@
"fo": "法罗语",
"fr": "法语",
"zh-Hant": "繁体中文",
+ "sa": "梵语",
"fil": "菲律宾语",
"fi": "芬兰语",
"nl-BE": "弗拉芒语",
@@ -116,6 +119,8 @@
"jmc": "马切姆语",
"mas": "马赛语",
"mzn": "马赞德兰语",
+ "mai": "迈蒂利语",
+ "mni": "曼尼普尔语",
"mfe": "毛里求斯克里奥尔语",
"mi": "毛利语",
"mer": "梅鲁语",
@@ -130,8 +135,10 @@
"af": "南非荷兰语",
"nyn": "尼昂科勒语",
"ne": "尼泊尔语",
+ "pcm": "尼日利亚皮钦语",
"nus": "努埃尔语",
"nn": "挪威尼诺斯克语",
+ "no": "挪威语",
"pt-PT": "欧洲葡萄牙语",
"asa": "帕雷语",
"pa": "旁遮普语",
@@ -150,6 +157,7 @@
"saq": "桑布鲁语",
"sg": "桑戈语",
"sbp": "桑古语",
+ "sat": "桑塔利语",
"si": "僧伽罗语",
"hsb": "上索布语",
"sn": "绍纳语",
@@ -176,7 +184,6 @@
"wae": "瓦尔瑟语",
"wa": "瓦隆语",
"vai": "瓦伊语",
- "ewo": "旺杜语",
"cy": "威尔士语",
"ug": "维吾尔语",
"vun": "温旧语",
@@ -195,6 +202,7 @@
"ksb": "香巴拉语",
"sd": "信德语",
"hu": "匈牙利语",
+ "su": "巽他语",
"agq": "亚罕语",
"hy": "亚美尼亚语",
"yav": "洋卞语",
diff --git a/vendor/commerceguys/intl/scripts/fetch_data.sh b/vendor/commerceguys/intl/scripts/fetch_data.sh
index 804ecc1a1..1b3a339a5 100644..100755
--- a/vendor/commerceguys/intl/scripts/fetch_data.sh
+++ b/vendor/commerceguys/intl/scripts/fetch_data.sh
@@ -6,14 +6,12 @@ rm -fR assets
mkdir assets
cd assets
-git clone https://github.com/unicode-cldr/cldr-core.git
-git clone https://github.com/unicode-cldr/cldr-numbers-full.git
-git clone https://github.com/unicode-cldr/cldr-localenames-full.git
+git clone https://github.com/unicode-org/cldr-json.git cldr
if command -v wget >/dev/null 2>&1;
then
wget $URL -O c2.xml
-else
+else
if command -v curl >/dev/null 2>&1;
then
curl $URL > c2.xml
diff --git a/vendor/commerceguys/intl/scripts/generate_base.php b/vendor/commerceguys/intl/scripts/generate_base.php
index 6932b32f4..102a2cfae 100644
--- a/vendor/commerceguys/intl/scripts/generate_base.php
+++ b/vendor/commerceguys/intl/scripts/generate_base.php
@@ -4,12 +4,10 @@ require __DIR__ . '/../vendor/autoload.php';
// Downloaded from http://www.currency-iso.org/en/home/tables/table-a1.html
$isoCurrencies = __DIR__ . '/assets/c2.xml';
-// Downloaded from https://github.com/unicode-cldr/cldr-core.git
-$currencyData = __DIR__ . '/assets/cldr-core/supplemental/currencyData.json';
-// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
-$localeDirectory = __DIR__ . '/assets/cldr-localenames-full/main/';
-// Downloaded from https://github.com/unicode-cldr/cldr-numbers-full.git
-$numbersDirectory = __DIR__ . '/assets/cldr-numbers-full/main/';
+// Downloaded from https://github.com/unicode-org/cldr-json.git
+$currencyData = __DIR__ . '/assets/cldr/cldr-json/cldr-core/supplemental/currencyData.json';
+$localeDirectory = __DIR__ . '/assets/cldr/cldr-json/cldr-localenames-full/main/';
+$numbersDirectory = __DIR__ . '/assets/cldr/cldr-json/cldr-numbers-full/main/';
// Preflight checks.
if (!file_exists($currencyData)) {
diff --git a/vendor/commerceguys/intl/scripts/generate_locale_data.php b/vendor/commerceguys/intl/scripts/generate_locale_data.php
index d1e77b8d8..67240fd7e 100644
--- a/vendor/commerceguys/intl/scripts/generate_locale_data.php
+++ b/vendor/commerceguys/intl/scripts/generate_locale_data.php
@@ -6,7 +6,7 @@
require __DIR__ . '/generate_base.php';
-$parentLocales = __DIR__ . '/assets/cldr-core/supplemental/parentLocales.json';
+$parentLocales = __DIR__ . '/assets/cldr/cldr-json/cldr-core/supplemental/parentLocales.json';
$parentLocales = json_decode(file_get_contents($parentLocales), true);
$parentLocales = $parentLocales['supplemental']['parentLocales']['parentLocale'];
foreach ($parentLocales as $locale => $parentLocale) {
diff --git a/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php b/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php
index 97f3ee3dd..ad06ce5c0 100644
--- a/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php
+++ b/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php
@@ -51,11 +51,11 @@ class CurrencyRepository implements CurrencyRepositoryInterface
'fr-CA', 'ga', 'gd', 'gl', 'gsw', 'gu', 'he', 'hi', 'hr', 'hu', 'hy',
'id', 'is', 'it', 'ja', 'ka', 'kk', 'km', 'ko', 'kok', 'ks', 'ky', 'lb',
'lo', 'lt', 'lv', 'mg', 'mk', 'ml', 'mn', 'mr', 'ms', 'my', 'nb', 'ne',
- 'nl', 'nn', 'pa', 'pl', 'ps', 'pt', 'pt-PT', 'rn', 'ro', 'ru', 'sd',
- 'si', 'sk', 'sl', 'so', 'sq', 'sr', 'sr-Latn', 'sv', 'sw', 'sw-CD',
- 'sw-KE', 'ta', 'te', 'th', 'tk', 'tr', 'uk', 'ur', 'ur-IN', 'uz',
- 'uz-Cyrl', 'vi', 'yue', 'yue-Hans', 'zh', 'zh-Hans-HK', 'zh-Hant',
- 'zh-Hant-HK',
+ 'nl', 'nn', 'no', 'pa', 'pl', 'ps', 'pt', 'pt-PT', 'rn', 'ro', 'ru',
+ 'sd', 'si', 'sk', 'sl', 'so', 'sq', 'sr', 'sr-Cyrl-BA', 'sr-Latn',
+ 'sr-Latn-BA', 'sv', 'sw', 'sw-CD', 'sw-KE', 'ta', 'te', 'th', 'tk',
+ 'tr', 'uk', 'ur', 'ur-IN', 'uz', 'uz-Cyrl', 'vi', 'yue', 'yue-Hans',
+ 'zh', 'zh-Hans-HK', 'zh-Hant', 'zh-Hant-HK'
];
/**
diff --git a/vendor/commerceguys/intl/src/Language/LanguageRepository.php b/vendor/commerceguys/intl/src/Language/LanguageRepository.php
index 7c33a40ab..285381848 100644
--- a/vendor/commerceguys/intl/src/Language/LanguageRepository.php
+++ b/vendor/commerceguys/intl/src/Language/LanguageRepository.php
@@ -46,20 +46,20 @@ class LanguageRepository implements LanguageRepositoryInterface
protected $availableLocales = [
'af', 'ar', 'ar-EG', 'ar-LY', 'ar-SA', 'as', 'ast', 'az', 'az-Cyrl',
'be', 'bg', 'bn', 'bn-IN', 'brx', 'bs', 'bs-Cyrl', 'ca', 'ce', 'cs',
- 'cy', 'da', 'de', 'de-AT', 'de-CH', 'de-LU', 'dz', 'el', 'en', 'en-001',
- 'en-AU', 'en-CA', 'en-IN', 'en-NZ', 'es', 'es-419', 'es-AR', 'es-BO',
- 'es-CL', 'es-CO', 'es-CR', 'es-DO', 'es-EC', 'es-GT', 'es-HN', 'es-MX',
- 'es-NI', 'es-PA', 'es-PE', 'es-PR', 'es-PY', 'es-SV', 'es-US', 'es-VE',
- 'et', 'eu', 'fa', 'fa-AF', 'fi', 'fil', 'fr', 'fr-BE', 'fr-CA', 'fr-CH',
- 'ga', 'gd', 'gl', 'gsw', 'gu', 'he', 'hi', 'hr', 'hu', 'hy', 'id', 'is',
- 'it', 'ja', 'ka', 'kk', 'km', 'ko', 'kok', 'ks', 'ku', 'ky', 'lb', 'lo',
- 'lt', 'lv', 'mg', 'mk', 'ml', 'mn', 'mr', 'ms', 'mt', 'my', 'nb', 'ne',
- 'nl', 'nn', 'pa', 'pl', 'ps', 'ps-PK', 'pt', 'pt-PT', 'rn', 'ro',
+ 'cy', 'da', 'de', 'de-AT', 'de-CH', 'dz', 'el', 'en', 'en-001', 'en-AU',
+ 'en-CA', 'en-IN', 'en-NZ', 'es', 'es-419', 'es-AR', 'es-BO', 'es-CL',
+ 'es-CO', 'es-CR', 'es-DO', 'es-EC', 'es-GT', 'es-HN', 'es-MX', 'es-NI',
+ 'es-PA', 'es-PE', 'es-PR', 'es-PY', 'es-SV', 'es-US', 'es-VE', 'et',
+ 'eu', 'fa', 'fa-AF', 'fi', 'fil', 'fr', 'fr-BE', 'fr-CA', 'fr-CH', 'ga',
+ 'gd', 'gl', 'gsw', 'gu', 'he', 'hi', 'hr', 'hu', 'hy', 'id', 'is', 'it',
+ 'ja', 'ka', 'kk', 'km', 'ko', 'kok', 'ks', 'ku', 'ky', 'lb', 'lo', 'lt',
+ 'lv', 'mg', 'mk', 'ml', 'mn', 'mr', 'ms', 'mt', 'my', 'nb', 'ne', 'nl',
+ 'nn', 'no', 'pa', 'pl', 'ps', 'ps-PK', 'pt', 'pt-PT', 'rn', 'ro',
'ro-MD', 'ru', 'rw', 'sd', 'si', 'sk', 'sl', 'so', 'sq', 'sr',
'sr-Cyrl-BA', 'sr-Cyrl-ME', 'sr-Cyrl-XK', 'sr-Latn', 'sr-Latn-BA',
'sr-Latn-ME', 'sr-Latn-XK', 'sv', 'sw', 'sw-CD', 'sw-KE', 'ta', 'te',
'tg', 'th', 'tk', 'to', 'tr', 'uk', 'ur', 'ur-IN', 'uz', 'uz-Cyrl',
- 'vi', 'yue', 'yue-Hans', 'zh', 'zh-Hant', 'zh-Hant-HK',
+ 'vi', 'yue', 'yue-Hans', 'zh', 'zh-Hant', 'zh-Hant-HK'
];
/**
diff --git a/vendor/commerceguys/intl/src/Locale.php b/vendor/commerceguys/intl/src/Locale.php
index f985f321a..f9948e7e6 100644
--- a/vendor/commerceguys/intl/src/Locale.php
+++ b/vendor/commerceguys/intl/src/Locale.php
@@ -179,6 +179,8 @@ final class Locale
'es-US' => 'es-419',
'es-UY' => 'es-419',
'es-VE' => 'es-419',
+ 'nb' => 'no',
+ 'nn' => 'no',
'pt-AO' => 'pt-PT',
'pt-CH' => 'pt-PT',
'pt-CV' => 'pt-PT',
diff --git a/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php
index 987ceda89..8fc2f5c99 100644
--- a/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php
+++ b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php
@@ -239,6 +239,9 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'accounting_currency_pattern' => '#,##0.00 ¤',
'grouping_separator' => '’',
],
+ 'doi' => [
+ 'accounting_currency_pattern' => '¤#,##0.00',
+ ],
'dz' => [
'decimal_pattern' => '#,##,##0.###',
'percent_pattern' => '#,##,##0 %',
@@ -534,6 +537,7 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'accounting_currency_pattern' => '#,##0.00 ¤',
'decimal_separator' => ',',
'grouping_separator' => '.',
+ 'minus_sign' => '−',
],
'hu' => [
'currency_pattern' => '#,##0.00 ¤',
@@ -644,6 +648,10 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
+ 'mai' => [
+ 'currency_pattern' => '¤ #,##0.00',
+ 'accounting_currency_pattern' => '¤ #,##0.00',
+ ],
'mg' => [
'currency_pattern' => '¤ #,##0.00',
'accounting_currency_pattern' => '¤#,##0.00',
@@ -662,6 +670,11 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'currency_pattern' => '¤ #,##0.00',
'accounting_currency_pattern' => '¤ #,##0.00',
],
+ 'mni' => [
+ 'numbering_system' => 'beng',
+ 'currency_pattern' => '¤ #,##0.00',
+ 'accounting_currency_pattern' => '¤ #,##0.00',
+ ],
'mr' => [
'numbering_system' => 'deva',
'decimal_pattern' => '#,##,##0.###',
@@ -672,6 +685,11 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
+ 'ms-ID' => [
+ 'accounting_currency_pattern' => '¤#,##0.00',
+ 'decimal_separator' => ',',
+ 'grouping_separator' => '.',
+ ],
'mt' => [
'accounting_currency_pattern' => '¤#,##0.00',
],
@@ -708,6 +726,14 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'grouping_separator' => ' ',
'minus_sign' => '−',
],
+ 'no' => [
+ 'percent_pattern' => '#,##0 %',
+ 'currency_pattern' => '¤ #,##0.00',
+ 'accounting_currency_pattern' => '¤ #,##0.00',
+ 'decimal_separator' => ',',
+ 'grouping_separator' => ' ',
+ 'minus_sign' => '−',
+ ],
'pa' => [
'decimal_pattern' => '#,##,##0.###',
'percent_pattern' => '#,##,##0%',
@@ -778,6 +804,10 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
+ 'sat' => [
+ 'currency_pattern' => '¤ #,##0.00',
+ 'accounting_currency_pattern' => '¤ #,##0.00',
+ ],
'sd' => [
'numbering_system' => 'arab',
'currency_pattern' => '#,##0.00 ¤',
@@ -788,6 +818,10 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'minus_sign' => '؜-',
'percent_sign' => '٪؜',
],
+ 'sd-Deva' => [
+ 'currency_pattern' => '¤ #,##0.00',
+ 'accounting_currency_pattern' => '¤ #,##0.00',
+ ],
'si' => [],
'sk' => [
'percent_pattern' => '#,##0 %',
diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php
index 0e6b84d2a..337b81d14 100644
--- a/vendor/composer/InstalledVersions.php
+++ b/vendor/composer/InstalledVersions.php
@@ -12,6 +12,7 @@
namespace Composer;
+use Composer\Autoload\ClassLoader;
use Composer\Semver\VersionParser;
@@ -19,6 +20,8 @@ use Composer\Semver\VersionParser;
+
+
class InstalledVersions
{
private static $installed = array (
@@ -29,7 +32,7 @@ private static $installed = array (
'aliases' =>
array (
),
- 'reference' => '6fae291cc8ec69a74d0c1673186b3d8f319378d4',
+ 'reference' => '3e18efd89fd1bd67f3cef22114f7d74ac7c0021c',
'name' => 'zotlabs/hubzilla',
),
'versions' =>
@@ -63,12 +66,12 @@ private static $installed = array (
),
'commerceguys/intl' =>
array (
- 'pretty_version' => 'v1.0.7',
- 'version' => '1.0.7.0',
+ 'pretty_version' => 'v1.1.0',
+ 'version' => '1.1.0.0',
'aliases' =>
array (
),
- 'reference' => '0bf0beb12e37ef1a61e0d09dc66cdaa1a23e62e1',
+ 'reference' => '90b4f75c4917927a1960c0dcaa002a91ab97f5d5',
),
'desandro/imagesloaded' =>
array (
@@ -90,12 +93,12 @@ private static $installed = array (
),
'league/html-to-markdown' =>
array (
- 'pretty_version' => '4.10.0',
- 'version' => '4.10.0.0',
+ 'pretty_version' => '5.0.0',
+ 'version' => '5.0.0.0',
'aliases' =>
array (
),
- 'reference' => '0868ae7a552e809e5cd8f93ba022071640408e88',
+ 'reference' => 'c4dbebbebe0fe454b6b38e6c683a977615bd7dc2',
),
'lukasreschke/id3parser' =>
array (
@@ -135,12 +138,12 @@ private static $installed = array (
),
'psr/log' =>
array (
- 'pretty_version' => '1.1.3',
- 'version' => '1.1.3.0',
+ 'pretty_version' => '1.1.4',
+ 'version' => '1.1.4.0',
'aliases' =>
array (
),
- 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc',
+ 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
),
'ramsey/collection' =>
array (
@@ -232,21 +235,21 @@ private static $installed = array (
),
'smarty/smarty' =>
array (
- 'pretty_version' => 'v3.1.38',
- 'version' => '3.1.38.0',
+ 'pretty_version' => 'v3.1.39',
+ 'version' => '3.1.39.0',
'aliases' =>
array (
),
- 'reference' => '63b3c0aed0f614880cda21a5c08c606e97b489bb',
+ 'reference' => 'e27da524f7bcd7361e3ea5cdfa99c4378a7b5419',
),
'symfony/polyfill-ctype' =>
array (
- 'pretty_version' => 'v1.22.0',
- 'version' => '1.22.0.0',
+ 'pretty_version' => 'v1.23.0',
+ 'version' => '1.23.0.0',
'aliases' =>
array (
),
- 'reference' => 'c6c942b1ac76c82448322025e084cadc56048b4e',
+ 'reference' => '46cd95797e9df938fdd2b03693b5fca5e64b01ce',
),
'twbs/bootstrap' =>
array (
@@ -271,10 +274,12 @@ private static $installed = array (
'aliases' =>
array (
),
- 'reference' => '6fae291cc8ec69a74d0c1673186b3d8f319378d4',
+ 'reference' => '3e18efd89fd1bd67f3cef22114f7d74ac7c0021c',
),
),
);
+private static $canGetVendors;
+private static $installedByVendor = array();
@@ -284,7 +289,16 @@ private static $installed = array (
public static function getInstalledPackages()
{
-return array_keys(self::$installed['versions']);
+$packages = array();
+foreach (self::getInstalled() as $installed) {
+$packages[] = array_keys($installed['versions']);
+}
+
+if (1 === \count($packages)) {
+return $packages[0];
+}
+
+return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
}
@@ -297,7 +311,13 @@ return array_keys(self::$installed['versions']);
public static function isInstalled($packageName)
{
-return isset(self::$installed['versions'][$packageName]);
+foreach (self::getInstalled() as $installed) {
+if (isset($installed['versions'][$packageName])) {
+return true;
+}
+}
+
+return false;
}
@@ -332,42 +352,50 @@ return $provided->matches($constraint);
public static function getVersionRanges($packageName)
{
-if (!isset(self::$installed['versions'][$packageName])) {
-throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+foreach (self::getInstalled() as $installed) {
+if (!isset($installed['versions'][$packageName])) {
+continue;
}
$ranges = array();
-if (isset(self::$installed['versions'][$packageName]['pretty_version'])) {
-$ranges[] = self::$installed['versions'][$packageName]['pretty_version'];
+if (isset($installed['versions'][$packageName]['pretty_version'])) {
+$ranges[] = $installed['versions'][$packageName]['pretty_version'];
}
-if (array_key_exists('aliases', self::$installed['versions'][$packageName])) {
-$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']);
+if (array_key_exists('aliases', $installed['versions'][$packageName])) {
+$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
}
-if (array_key_exists('replaced', self::$installed['versions'][$packageName])) {
-$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']);
+if (array_key_exists('replaced', $installed['versions'][$packageName])) {
+$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
}
-if (array_key_exists('provided', self::$installed['versions'][$packageName])) {
-$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']);
+if (array_key_exists('provided', $installed['versions'][$packageName])) {
+$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
}
return implode(' || ', $ranges);
}
+throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+}
+
public static function getVersion($packageName)
{
-if (!isset(self::$installed['versions'][$packageName])) {
-throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+foreach (self::getInstalled() as $installed) {
+if (!isset($installed['versions'][$packageName])) {
+continue;
}
-if (!isset(self::$installed['versions'][$packageName]['version'])) {
+if (!isset($installed['versions'][$packageName]['version'])) {
return null;
}
-return self::$installed['versions'][$packageName]['version'];
+return $installed['versions'][$packageName]['version'];
+}
+
+throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
@@ -376,15 +404,19 @@ return self::$installed['versions'][$packageName]['version'];
public static function getPrettyVersion($packageName)
{
-if (!isset(self::$installed['versions'][$packageName])) {
-throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+foreach (self::getInstalled() as $installed) {
+if (!isset($installed['versions'][$packageName])) {
+continue;
}
-if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) {
+if (!isset($installed['versions'][$packageName]['pretty_version'])) {
return null;
}
-return self::$installed['versions'][$packageName]['pretty_version'];
+return $installed['versions'][$packageName]['pretty_version'];
+}
+
+throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
@@ -393,15 +425,19 @@ return self::$installed['versions'][$packageName]['pretty_version'];
public static function getReference($packageName)
{
-if (!isset(self::$installed['versions'][$packageName])) {
-throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+foreach (self::getInstalled() as $installed) {
+if (!isset($installed['versions'][$packageName])) {
+continue;
}
-if (!isset(self::$installed['versions'][$packageName]['reference'])) {
+if (!isset($installed['versions'][$packageName]['reference'])) {
return null;
}
-return self::$installed['versions'][$packageName]['reference'];
+return $installed['versions'][$packageName]['reference'];
+}
+
+throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
@@ -410,7 +446,9 @@ return self::$installed['versions'][$packageName]['reference'];
public static function getRootPackage()
{
-return self::$installed['root'];
+$installed = self::getInstalled();
+
+return $installed[0]['root'];
}
@@ -419,8 +457,11 @@ return self::$installed['root'];
+
public static function getRawData()
{
+@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
+
return self::$installed;
}
@@ -430,6 +471,17 @@ return self::$installed;
+public static function getAllRawData()
+{
+return self::getInstalled();
+}
+
+
+
+
+
+
+
@@ -445,5 +497,33 @@ return self::$installed;
public static function reload($data)
{
self::$installed = $data;
+self::$installedByVendor = array();
+}
+
+
+
+
+
+private static function getInstalled()
+{
+if (null === self::$canGetVendors) {
+self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
+}
+
+$installed = array();
+
+if (self::$canGetVendors) {
+foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
+if (isset(self::$installedByVendor[$vendorDir])) {
+$installed[] = self::$installedByVendor[$vendorDir];
+} elseif (is_file($vendorDir.'/composer/installed.php')) {
+$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
+}
+}
+}
+
+$installed[] = self::$installed;
+
+return $installed;
}
}
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 19900534d..78189b205 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -299,12 +299,14 @@ return array(
'League\\HTMLToMarkdown\\Converter\\ListItemConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/ListItemConverter.php',
'League\\HTMLToMarkdown\\Converter\\ParagraphConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/ParagraphConverter.php',
'League\\HTMLToMarkdown\\Converter\\PreformattedConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/PreformattedConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\TableConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/TableConverter.php',
'League\\HTMLToMarkdown\\Converter\\TextConverter' => $vendorDir . '/league/html-to-markdown/src/Converter/TextConverter.php',
'League\\HTMLToMarkdown\\Element' => $vendorDir . '/league/html-to-markdown/src/Element.php',
'League\\HTMLToMarkdown\\ElementInterface' => $vendorDir . '/league/html-to-markdown/src/ElementInterface.php',
'League\\HTMLToMarkdown\\Environment' => $vendorDir . '/league/html-to-markdown/src/Environment.php',
'League\\HTMLToMarkdown\\HtmlConverter' => $vendorDir . '/league/html-to-markdown/src/HtmlConverter.php',
'League\\HTMLToMarkdown\\HtmlConverterInterface' => $vendorDir . '/league/html-to-markdown/src/HtmlConverterInterface.php',
+ 'League\\HTMLToMarkdown\\PreConverterInterface' => $vendorDir . '/league/html-to-markdown/src/PreConverterInterface.php',
'Michelf\\Markdown' => $vendorDir . '/michelf/php-markdown/Michelf/Markdown.php',
'Michelf\\MarkdownExtra' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownExtra.php',
'Michelf\\MarkdownInterface' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownInterface.php',
@@ -1105,7 +1107,6 @@ return array(
'Zotlabs\\Daemon\\Onepoll' => $baseDir . '/Zotlabs/Daemon/Onepoll.php',
'Zotlabs\\Daemon\\Poller' => $baseDir . '/Zotlabs/Daemon/Poller.php',
'Zotlabs\\Daemon\\Queue' => $baseDir . '/Zotlabs/Daemon/Queue.php',
- 'Zotlabs\\Daemon\\Ratenotif' => $baseDir . '/Zotlabs/Daemon/Ratenotif.php',
'Zotlabs\\Daemon\\Thumbnail' => $baseDir . '/Zotlabs/Daemon/Thumbnail.php',
'Zotlabs\\Extend\\Hook' => $baseDir . '/Zotlabs/Extend/Hook.php',
'Zotlabs\\Extend\\Route' => $baseDir . '/Zotlabs/Extend/Route.php',
@@ -1229,7 +1230,6 @@ return array(
'Zotlabs\\Module\\Embed' => $baseDir . '/Zotlabs/Module/Embed.php',
'Zotlabs\\Module\\Embedphotos' => $baseDir . '/Zotlabs/Module/Embedphotos.php',
'Zotlabs\\Module\\Event' => $baseDir . '/Zotlabs/Module/Event.php',
- 'Zotlabs\\Module\\Events' => $baseDir . '/Zotlabs/Module/Events.php',
'Zotlabs\\Module\\Fbrowser' => $baseDir . '/Zotlabs/Module/Fbrowser.php',
'Zotlabs\\Module\\Feed' => $baseDir . '/Zotlabs/Module/Feed.php',
'Zotlabs\\Module\\Fhubloc_id_url' => $baseDir . '/Zotlabs/Module/Fhubloc_id_url.php',
@@ -1266,7 +1266,6 @@ return array(
'Zotlabs\\Module\\Magic' => $baseDir . '/Zotlabs/Module/Magic.php',
'Zotlabs\\Module\\Manage' => $baseDir . '/Zotlabs/Module/Manage.php',
'Zotlabs\\Module\\Menu' => $baseDir . '/Zotlabs/Module/Menu.php',
- 'Zotlabs\\Module\\Message' => $baseDir . '/Zotlabs/Module/Message.php',
'Zotlabs\\Module\\Mitem' => $baseDir . '/Zotlabs/Module/Mitem.php',
'Zotlabs\\Module\\Moderate' => $baseDir . '/Zotlabs/Module/Moderate.php',
'Zotlabs\\Module\\Mood' => $baseDir . '/Zotlabs/Module/Mood.php',
@@ -1294,14 +1293,10 @@ return array(
'Zotlabs\\Module\\Photo' => $baseDir . '/Zotlabs/Module/Photo.php',
'Zotlabs\\Module\\Photos' => $baseDir . '/Zotlabs/Module/Photos.php',
'Zotlabs\\Module\\Pin' => $baseDir . '/Zotlabs/Module/Pin.php',
- 'Zotlabs\\Module\\Ping' => $baseDir . '/Zotlabs/Module/Ping.php',
'Zotlabs\\Module\\Poco' => $baseDir . '/Zotlabs/Module/Poco.php',
'Zotlabs\\Module\\Poke' => $baseDir . '/Zotlabs/Module/Poke.php',
- 'Zotlabs\\Module\\Post' => $baseDir . '/Zotlabs/Module/Post.php',
'Zotlabs\\Module\\Poster' => $baseDir . '/Zotlabs/Module/Poster.php',
- 'Zotlabs\\Module\\Prate' => $baseDir . '/Zotlabs/Module/Prate.php',
'Zotlabs\\Module\\Pretheme' => $baseDir . '/Zotlabs/Module/Pretheme.php',
- 'Zotlabs\\Module\\Probe' => $baseDir . '/Zotlabs/Module/Probe.php',
'Zotlabs\\Module\\Profile' => $baseDir . '/Zotlabs/Module/Profile.php',
'Zotlabs\\Module\\Profile_photo' => $baseDir . '/Zotlabs/Module/Profile_photo.php',
'Zotlabs\\Module\\Profiles' => $baseDir . '/Zotlabs/Module/Profiles.php',
@@ -1309,9 +1304,6 @@ return array(
'Zotlabs\\Module\\Pubsites' => $baseDir . '/Zotlabs/Module/Pubsites.php',
'Zotlabs\\Module\\Pubstream' => $baseDir . '/Zotlabs/Module/Pubstream.php',
'Zotlabs\\Module\\Randprof' => $baseDir . '/Zotlabs/Module/Randprof.php',
- 'Zotlabs\\Module\\Rate' => $baseDir . '/Zotlabs/Module/Rate.php',
- 'Zotlabs\\Module\\Ratings' => $baseDir . '/Zotlabs/Module/Ratings.php',
- 'Zotlabs\\Module\\Ratingsearch' => $baseDir . '/Zotlabs/Module/Ratingsearch.php',
'Zotlabs\\Module\\Rbmark' => $baseDir . '/Zotlabs/Module/Rbmark.php',
'Zotlabs\\Module\\React' => $baseDir . '/Zotlabs/Module/React.php',
'Zotlabs\\Module\\Regate' => $baseDir . '/Zotlabs/Module/Regate.php',
@@ -1385,11 +1377,9 @@ return array(
'Zotlabs\\Module\\Xrd' => $baseDir . '/Zotlabs/Module/Xrd.php',
'Zotlabs\\Module\\Xref' => $baseDir . '/Zotlabs/Module/Xref.php',
'Zotlabs\\Module\\Z6trans' => $baseDir . '/Zotlabs/Module/Z6trans.php',
- 'Zotlabs\\Module\\Zfinger' => $baseDir . '/Zotlabs/Module/Zfinger.php',
'Zotlabs\\Module\\Zot' => $baseDir . '/Zotlabs/Module/Zot.php',
'Zotlabs\\Module\\Zot_probe' => $baseDir . '/Zotlabs/Module/Zot_probe.php',
'Zotlabs\\Module\\Zotfeed' => $baseDir . '/Zotlabs/Module/Zotfeed.php',
- 'Zotlabs\\Module\\Zping' => $baseDir . '/Zotlabs/Module/Zping.php',
'Zotlabs\\Photo\\PhotoDriver' => $baseDir . '/Zotlabs/Photo/PhotoDriver.php',
'Zotlabs\\Photo\\PhotoGd' => $baseDir . '/Zotlabs/Photo/PhotoGd.php',
'Zotlabs\\Photo\\PhotoImagick' => $baseDir . '/Zotlabs/Photo/PhotoImagick.php',
@@ -1657,6 +1647,7 @@ return array(
'Zotlabs\\Update\\_1242' => $baseDir . '/Zotlabs/Update/_1242.php',
'Zotlabs\\Update\\_1243' => $baseDir . '/Zotlabs/Update/_1243.php',
'Zotlabs\\Update\\_1244' => $baseDir . '/Zotlabs/Update/_1244.php',
+ 'Zotlabs\\Update\\_1245' => $baseDir . '/Zotlabs/Update/_1245.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',
@@ -1731,15 +1722,9 @@ return array(
'Zotlabs\\Widget\\Wiki_page_history' => $baseDir . '/Zotlabs/Widget/Wiki_page_history.php',
'Zotlabs\\Widget\\Wiki_pages' => $baseDir . '/Zotlabs/Widget/Wiki_pages.php',
'Zotlabs\\Widget\\Zcard' => $baseDir . '/Zotlabs/Widget/Zcard.php',
- 'Zotlabs\\Zot6\\Finger' => $baseDir . '/Zotlabs/Zot6/Finger.php',
'Zotlabs\\Zot6\\IHandler' => $baseDir . '/Zotlabs/Zot6/IHandler.php',
'Zotlabs\\Zot6\\Receiver' => $baseDir . '/Zotlabs/Zot6/Receiver.php',
'Zotlabs\\Zot6\\Zot6Handler' => $baseDir . '/Zotlabs/Zot6/Zot6Handler.php',
- 'Zotlabs\\Zot\\Auth' => $baseDir . '/Zotlabs/Zot/Auth.php',
- 'Zotlabs\\Zot\\Finger' => $baseDir . '/Zotlabs/Zot/Finger.php',
- 'Zotlabs\\Zot\\IHandler' => $baseDir . '/Zotlabs/Zot/IHandler.php',
- 'Zotlabs\\Zot\\Receiver' => $baseDir . '/Zotlabs/Zot/Receiver.php',
- 'Zotlabs\\Zot\\ZotHandler' => $baseDir . '/Zotlabs/Zot/ZotHandler.php',
'phpseclib\\Crypt\\AES' => $vendorDir . '/phpseclib/phpseclib/phpseclib/Crypt/AES.php',
'phpseclib\\Crypt\\Base' => $vendorDir . '/phpseclib/phpseclib/phpseclib/Crypt/Base.php',
'phpseclib\\Crypt\\Blowfish' => $vendorDir . '/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php',
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index fbfac821c..01be3a52c 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -22,8 +22,6 @@ class ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d
return self::$loader;
}
- require __DIR__ . '/platform_check.php';
-
spl_autoload_register(array('ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d', 'loadClassLoader'));
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 2d71ba507..cbb89277d 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -489,12 +489,14 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'League\\HTMLToMarkdown\\Converter\\ListItemConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/ListItemConverter.php',
'League\\HTMLToMarkdown\\Converter\\ParagraphConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/ParagraphConverter.php',
'League\\HTMLToMarkdown\\Converter\\PreformattedConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/PreformattedConverter.php',
+ 'League\\HTMLToMarkdown\\Converter\\TableConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/TableConverter.php',
'League\\HTMLToMarkdown\\Converter\\TextConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/Converter/TextConverter.php',
'League\\HTMLToMarkdown\\Element' => __DIR__ . '/..' . '/league/html-to-markdown/src/Element.php',
'League\\HTMLToMarkdown\\ElementInterface' => __DIR__ . '/..' . '/league/html-to-markdown/src/ElementInterface.php',
'League\\HTMLToMarkdown\\Environment' => __DIR__ . '/..' . '/league/html-to-markdown/src/Environment.php',
'League\\HTMLToMarkdown\\HtmlConverter' => __DIR__ . '/..' . '/league/html-to-markdown/src/HtmlConverter.php',
'League\\HTMLToMarkdown\\HtmlConverterInterface' => __DIR__ . '/..' . '/league/html-to-markdown/src/HtmlConverterInterface.php',
+ 'League\\HTMLToMarkdown\\PreConverterInterface' => __DIR__ . '/..' . '/league/html-to-markdown/src/PreConverterInterface.php',
'Michelf\\Markdown' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/Markdown.php',
'Michelf\\MarkdownExtra' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/MarkdownExtra.php',
'Michelf\\MarkdownInterface' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/MarkdownInterface.php',
@@ -1295,7 +1297,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Daemon\\Onepoll' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Onepoll.php',
'Zotlabs\\Daemon\\Poller' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Poller.php',
'Zotlabs\\Daemon\\Queue' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Queue.php',
- 'Zotlabs\\Daemon\\Ratenotif' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Ratenotif.php',
'Zotlabs\\Daemon\\Thumbnail' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Thumbnail.php',
'Zotlabs\\Extend\\Hook' => __DIR__ . '/../..' . '/Zotlabs/Extend/Hook.php',
'Zotlabs\\Extend\\Route' => __DIR__ . '/../..' . '/Zotlabs/Extend/Route.php',
@@ -1419,7 +1420,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Embed' => __DIR__ . '/../..' . '/Zotlabs/Module/Embed.php',
'Zotlabs\\Module\\Embedphotos' => __DIR__ . '/../..' . '/Zotlabs/Module/Embedphotos.php',
'Zotlabs\\Module\\Event' => __DIR__ . '/../..' . '/Zotlabs/Module/Event.php',
- 'Zotlabs\\Module\\Events' => __DIR__ . '/../..' . '/Zotlabs/Module/Events.php',
'Zotlabs\\Module\\Fbrowser' => __DIR__ . '/../..' . '/Zotlabs/Module/Fbrowser.php',
'Zotlabs\\Module\\Feed' => __DIR__ . '/../..' . '/Zotlabs/Module/Feed.php',
'Zotlabs\\Module\\Fhubloc_id_url' => __DIR__ . '/../..' . '/Zotlabs/Module/Fhubloc_id_url.php',
@@ -1456,7 +1456,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Magic' => __DIR__ . '/../..' . '/Zotlabs/Module/Magic.php',
'Zotlabs\\Module\\Manage' => __DIR__ . '/../..' . '/Zotlabs/Module/Manage.php',
'Zotlabs\\Module\\Menu' => __DIR__ . '/../..' . '/Zotlabs/Module/Menu.php',
- 'Zotlabs\\Module\\Message' => __DIR__ . '/../..' . '/Zotlabs/Module/Message.php',
'Zotlabs\\Module\\Mitem' => __DIR__ . '/../..' . '/Zotlabs/Module/Mitem.php',
'Zotlabs\\Module\\Moderate' => __DIR__ . '/../..' . '/Zotlabs/Module/Moderate.php',
'Zotlabs\\Module\\Mood' => __DIR__ . '/../..' . '/Zotlabs/Module/Mood.php',
@@ -1484,14 +1483,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Photo' => __DIR__ . '/../..' . '/Zotlabs/Module/Photo.php',
'Zotlabs\\Module\\Photos' => __DIR__ . '/../..' . '/Zotlabs/Module/Photos.php',
'Zotlabs\\Module\\Pin' => __DIR__ . '/../..' . '/Zotlabs/Module/Pin.php',
- 'Zotlabs\\Module\\Ping' => __DIR__ . '/../..' . '/Zotlabs/Module/Ping.php',
'Zotlabs\\Module\\Poco' => __DIR__ . '/../..' . '/Zotlabs/Module/Poco.php',
'Zotlabs\\Module\\Poke' => __DIR__ . '/../..' . '/Zotlabs/Module/Poke.php',
- 'Zotlabs\\Module\\Post' => __DIR__ . '/../..' . '/Zotlabs/Module/Post.php',
'Zotlabs\\Module\\Poster' => __DIR__ . '/../..' . '/Zotlabs/Module/Poster.php',
- 'Zotlabs\\Module\\Prate' => __DIR__ . '/../..' . '/Zotlabs/Module/Prate.php',
'Zotlabs\\Module\\Pretheme' => __DIR__ . '/../..' . '/Zotlabs/Module/Pretheme.php',
- 'Zotlabs\\Module\\Probe' => __DIR__ . '/../..' . '/Zotlabs/Module/Probe.php',
'Zotlabs\\Module\\Profile' => __DIR__ . '/../..' . '/Zotlabs/Module/Profile.php',
'Zotlabs\\Module\\Profile_photo' => __DIR__ . '/../..' . '/Zotlabs/Module/Profile_photo.php',
'Zotlabs\\Module\\Profiles' => __DIR__ . '/../..' . '/Zotlabs/Module/Profiles.php',
@@ -1499,9 +1494,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Pubsites' => __DIR__ . '/../..' . '/Zotlabs/Module/Pubsites.php',
'Zotlabs\\Module\\Pubstream' => __DIR__ . '/../..' . '/Zotlabs/Module/Pubstream.php',
'Zotlabs\\Module\\Randprof' => __DIR__ . '/../..' . '/Zotlabs/Module/Randprof.php',
- 'Zotlabs\\Module\\Rate' => __DIR__ . '/../..' . '/Zotlabs/Module/Rate.php',
- 'Zotlabs\\Module\\Ratings' => __DIR__ . '/../..' . '/Zotlabs/Module/Ratings.php',
- 'Zotlabs\\Module\\Ratingsearch' => __DIR__ . '/../..' . '/Zotlabs/Module/Ratingsearch.php',
'Zotlabs\\Module\\Rbmark' => __DIR__ . '/../..' . '/Zotlabs/Module/Rbmark.php',
'Zotlabs\\Module\\React' => __DIR__ . '/../..' . '/Zotlabs/Module/React.php',
'Zotlabs\\Module\\Regate' => __DIR__ . '/../..' . '/Zotlabs/Module/Regate.php',
@@ -1575,11 +1567,9 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Xrd' => __DIR__ . '/../..' . '/Zotlabs/Module/Xrd.php',
'Zotlabs\\Module\\Xref' => __DIR__ . '/../..' . '/Zotlabs/Module/Xref.php',
'Zotlabs\\Module\\Z6trans' => __DIR__ . '/../..' . '/Zotlabs/Module/Z6trans.php',
- 'Zotlabs\\Module\\Zfinger' => __DIR__ . '/../..' . '/Zotlabs/Module/Zfinger.php',
'Zotlabs\\Module\\Zot' => __DIR__ . '/../..' . '/Zotlabs/Module/Zot.php',
'Zotlabs\\Module\\Zot_probe' => __DIR__ . '/../..' . '/Zotlabs/Module/Zot_probe.php',
'Zotlabs\\Module\\Zotfeed' => __DIR__ . '/../..' . '/Zotlabs/Module/Zotfeed.php',
- 'Zotlabs\\Module\\Zping' => __DIR__ . '/../..' . '/Zotlabs/Module/Zping.php',
'Zotlabs\\Photo\\PhotoDriver' => __DIR__ . '/../..' . '/Zotlabs/Photo/PhotoDriver.php',
'Zotlabs\\Photo\\PhotoGd' => __DIR__ . '/../..' . '/Zotlabs/Photo/PhotoGd.php',
'Zotlabs\\Photo\\PhotoImagick' => __DIR__ . '/../..' . '/Zotlabs/Photo/PhotoImagick.php',
@@ -1847,6 +1837,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Update\\_1242' => __DIR__ . '/../..' . '/Zotlabs/Update/_1242.php',
'Zotlabs\\Update\\_1243' => __DIR__ . '/../..' . '/Zotlabs/Update/_1243.php',
'Zotlabs\\Update\\_1244' => __DIR__ . '/../..' . '/Zotlabs/Update/_1244.php',
+ 'Zotlabs\\Update\\_1245' => __DIR__ . '/../..' . '/Zotlabs/Update/_1245.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',
@@ -1921,15 +1912,9 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Widget\\Wiki_page_history' => __DIR__ . '/../..' . '/Zotlabs/Widget/Wiki_page_history.php',
'Zotlabs\\Widget\\Wiki_pages' => __DIR__ . '/../..' . '/Zotlabs/Widget/Wiki_pages.php',
'Zotlabs\\Widget\\Zcard' => __DIR__ . '/../..' . '/Zotlabs/Widget/Zcard.php',
- 'Zotlabs\\Zot6\\Finger' => __DIR__ . '/../..' . '/Zotlabs/Zot6/Finger.php',
'Zotlabs\\Zot6\\IHandler' => __DIR__ . '/../..' . '/Zotlabs/Zot6/IHandler.php',
'Zotlabs\\Zot6\\Receiver' => __DIR__ . '/../..' . '/Zotlabs/Zot6/Receiver.php',
'Zotlabs\\Zot6\\Zot6Handler' => __DIR__ . '/../..' . '/Zotlabs/Zot6/Zot6Handler.php',
- 'Zotlabs\\Zot\\Auth' => __DIR__ . '/../..' . '/Zotlabs/Zot/Auth.php',
- 'Zotlabs\\Zot\\Finger' => __DIR__ . '/../..' . '/Zotlabs/Zot/Finger.php',
- 'Zotlabs\\Zot\\IHandler' => __DIR__ . '/../..' . '/Zotlabs/Zot/IHandler.php',
- 'Zotlabs\\Zot\\Receiver' => __DIR__ . '/../..' . '/Zotlabs/Zot/Receiver.php',
- 'Zotlabs\\Zot\\ZotHandler' => __DIR__ . '/../..' . '/Zotlabs/Zot/ZotHandler.php',
'phpseclib\\Crypt\\AES' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/Crypt/AES.php',
'phpseclib\\Crypt\\Base' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/Crypt/Base.php',
'phpseclib\\Crypt\\Blowfish' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index ce3eae708..50378ffa9 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -186,27 +186,27 @@
},
{
"name": "commerceguys/intl",
- "version": "v1.0.7",
- "version_normalized": "1.0.7.0",
+ "version": "v1.1.0",
+ "version_normalized": "1.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/commerceguys/intl.git",
- "reference": "0bf0beb12e37ef1a61e0d09dc66cdaa1a23e62e1"
+ "reference": "90b4f75c4917927a1960c0dcaa002a91ab97f5d5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/commerceguys/intl/zipball/0bf0beb12e37ef1a61e0d09dc66cdaa1a23e62e1",
- "reference": "0bf0beb12e37ef1a61e0d09dc66cdaa1a23e62e1",
+ "url": "https://api.github.com/repos/commerceguys/intl/zipball/90b4f75c4917927a1960c0dcaa002a91ab97f5d5",
+ "reference": "90b4f75c4917927a1960c0dcaa002a91ab97f5d5",
"shasum": ""
},
"require": {
- "php": ">=7.0.8"
+ "php": ">=7.1.3"
},
"require-dev": {
"mikey179/vfsstream": "1.*",
- "phpunit/phpunit": "^6.0"
+ "phpunit/phpunit": "^7.5"
},
- "time": "2020-10-04T20:58:22+00:00",
+ "time": "2021-05-17T08:25:58+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -231,7 +231,7 @@
"description": "Internationalization library powered by CLDR data.",
"support": {
"issues": "https://github.com/commerceguys/intl/issues",
- "source": "https://github.com/commerceguys/intl/tree/v1.0.7"
+ "source": "https://github.com/commerceguys/intl/tree/v1.1.0"
},
"install-path": "../commerceguys/intl"
},
@@ -332,37 +332,40 @@
},
{
"name": "league/html-to-markdown",
- "version": "4.10.0",
- "version_normalized": "4.10.0.0",
+ "version": "5.0.0",
+ "version_normalized": "5.0.0.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/html-to-markdown.git",
- "reference": "0868ae7a552e809e5cd8f93ba022071640408e88"
+ "reference": "c4dbebbebe0fe454b6b38e6c683a977615bd7dc2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/0868ae7a552e809e5cd8f93ba022071640408e88",
- "reference": "0868ae7a552e809e5cd8f93ba022071640408e88",
+ "url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/c4dbebbebe0fe454b6b38e6c683a977615bd7dc2",
+ "reference": "c4dbebbebe0fe454b6b38e6c683a977615bd7dc2",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-xml": "*",
- "php": ">=5.3.3"
+ "php": "^7.2.5 || ^8.0"
},
"require-dev": {
- "mikehaertl/php-shellcommand": "~1.1.0",
- "phpunit/phpunit": "^4.8|^5.7",
- "scrutinizer/ocular": "~1.1"
- },
- "time": "2020-07-01T00:34:03+00:00",
+ "mikehaertl/php-shellcommand": "^1.1.0",
+ "phpstan/phpstan": "^0.12.82",
+ "phpunit/phpunit": "^8.5 || ^9.2",
+ "scrutinizer/ocular": "^1.6",
+ "unleashedtech/php-coding-standard": "^2.7",
+ "vimeo/psalm": "^4.6"
+ },
+ "time": "2021-03-29T01:29:08+00:00",
"bin": [
"bin/html-to-markdown"
],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.10-dev"
+ "dev-master": "5.1-dev"
}
},
"installation-source": "dist",
@@ -395,6 +398,10 @@
"html",
"markdown"
],
+ "support": {
+ "issues": "https://github.com/thephpleague/html-to-markdown/issues",
+ "source": "https://github.com/thephpleague/html-to-markdown/tree/5.0.0"
+ },
"funding": [
{
"url": "https://www.colinodell.com/sponsor",
@@ -671,23 +678,23 @@
},
{
"name": "psr/log",
- "version": "1.1.3",
- "version_normalized": "1.1.3.0",
+ "version": "1.1.4",
+ "version_normalized": "1.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
- "time": "2020-03-23T09:12:05+00:00",
+ "time": "2021-05-03T11:20:27+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -707,7 +714,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@@ -717,6 +724,9 @@
"psr",
"psr-3"
],
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
+ },
"install-path": "../psr/log"
},
{
@@ -1437,17 +1447,17 @@
},
{
"name": "smarty/smarty",
- "version": "v3.1.38",
- "version_normalized": "3.1.38.0",
+ "version": "v3.1.39",
+ "version_normalized": "3.1.39.0",
"source": {
"type": "git",
"url": "https://github.com/smarty-php/smarty.git",
- "reference": "63b3c0aed0f614880cda21a5c08c606e97b489bb"
+ "reference": "e27da524f7bcd7361e3ea5cdfa99c4378a7b5419"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/smarty-php/smarty/zipball/63b3c0aed0f614880cda21a5c08c606e97b489bb",
- "reference": "63b3c0aed0f614880cda21a5c08c606e97b489bb",
+ "url": "https://api.github.com/repos/smarty-php/smarty/zipball/e27da524f7bcd7361e3ea5cdfa99c4378a7b5419",
+ "reference": "e27da524f7bcd7361e3ea5cdfa99c4378a7b5419",
"shasum": ""
},
"require": {
@@ -1457,7 +1467,7 @@
"phpunit/phpunit": "^7.5 || ^6.5 || ^5.7 || ^4.8",
"smarty/smarty-lexer": "^3.1"
},
- "time": "2021-01-08T14:05:42+00:00",
+ "time": "2021-02-17T21:57:51+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1497,23 +1507,23 @@
"forum": "http://www.smarty.net/forums/",
"irc": "irc://irc.freenode.org/smarty",
"issues": "https://github.com/smarty-php/smarty/issues",
- "source": "https://github.com/smarty-php/smarty/tree/v3.1.38"
+ "source": "https://github.com/smarty-php/smarty/tree/v3.1.39"
},
"install-path": "../smarty/smarty"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.22.0",
- "version_normalized": "1.22.0.0",
+ "version": "v1.23.0",
+ "version_normalized": "1.23.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
"shasum": ""
},
"require": {
@@ -1522,11 +1532,11 @@
"suggest": {
"ext-ctype": "For best performance"
},
- "time": "2021-01-07T16:49:33+00:00",
+ "time": "2021-02-19T12:13:01+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1565,7 +1575,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
},
"funding": [
{
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index 151f3da50..41234ad84 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -6,7 +6,7 @@
'aliases' =>
array (
),
- 'reference' => '6fae291cc8ec69a74d0c1673186b3d8f319378d4',
+ 'reference' => '3e18efd89fd1bd67f3cef22114f7d74ac7c0021c',
'name' => 'zotlabs/hubzilla',
),
'versions' =>
@@ -40,12 +40,12 @@
),
'commerceguys/intl' =>
array (
- 'pretty_version' => 'v1.0.7',
- 'version' => '1.0.7.0',
+ 'pretty_version' => 'v1.1.0',
+ 'version' => '1.1.0.0',
'aliases' =>
array (
),
- 'reference' => '0bf0beb12e37ef1a61e0d09dc66cdaa1a23e62e1',
+ 'reference' => '90b4f75c4917927a1960c0dcaa002a91ab97f5d5',
),
'desandro/imagesloaded' =>
array (
@@ -67,12 +67,12 @@
),
'league/html-to-markdown' =>
array (
- 'pretty_version' => '4.10.0',
- 'version' => '4.10.0.0',
+ 'pretty_version' => '5.0.0',
+ 'version' => '5.0.0.0',
'aliases' =>
array (
),
- 'reference' => '0868ae7a552e809e5cd8f93ba022071640408e88',
+ 'reference' => 'c4dbebbebe0fe454b6b38e6c683a977615bd7dc2',
),
'lukasreschke/id3parser' =>
array (
@@ -112,12 +112,12 @@
),
'psr/log' =>
array (
- 'pretty_version' => '1.1.3',
- 'version' => '1.1.3.0',
+ 'pretty_version' => '1.1.4',
+ 'version' => '1.1.4.0',
'aliases' =>
array (
),
- 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc',
+ 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
),
'ramsey/collection' =>
array (
@@ -209,21 +209,21 @@
),
'smarty/smarty' =>
array (
- 'pretty_version' => 'v3.1.38',
- 'version' => '3.1.38.0',
+ 'pretty_version' => 'v3.1.39',
+ 'version' => '3.1.39.0',
'aliases' =>
array (
),
- 'reference' => '63b3c0aed0f614880cda21a5c08c606e97b489bb',
+ 'reference' => 'e27da524f7bcd7361e3ea5cdfa99c4378a7b5419',
),
'symfony/polyfill-ctype' =>
array (
- 'pretty_version' => 'v1.22.0',
- 'version' => '1.22.0.0',
+ 'pretty_version' => 'v1.23.0',
+ 'version' => '1.23.0.0',
'aliases' =>
array (
),
- 'reference' => 'c6c942b1ac76c82448322025e084cadc56048b4e',
+ 'reference' => '46cd95797e9df938fdd2b03693b5fca5e64b01ce',
),
'twbs/bootstrap' =>
array (
@@ -248,7 +248,7 @@
'aliases' =>
array (
),
- 'reference' => '6fae291cc8ec69a74d0c1673186b3d8f319378d4',
+ 'reference' => '3e18efd89fd1bd67f3cef22114f7d74ac7c0021c',
),
),
);
diff --git a/vendor/composer/platform_check.php b/vendor/composer/platform_check.php
deleted file mode 100644
index 92370c5a0..000000000
--- a/vendor/composer/platform_check.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-// platform_check.php @generated by Composer
-
-$issues = array();
-
-if (!(PHP_VERSION_ID >= 70300)) {
- $issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.';
-}
-
-if ($issues) {
- if (!headers_sent()) {
- header('HTTP/1.1 500 Internal Server Error');
- }
- if (!ini_get('display_errors')) {
- if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
- fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
- } elseif (!headers_sent()) {
- echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
- }
- }
- trigger_error(
- 'Composer detected issues in your platform: ' . implode(' ', $issues),
- E_USER_ERROR
- );
-}
diff --git a/vendor/league/html-to-markdown/.github/workflows/tests.yml b/vendor/league/html-to-markdown/.github/workflows/tests.yml
new file mode 100644
index 000000000..6abb2de3f
--- /dev/null
+++ b/vendor/league/html-to-markdown/.github/workflows/tests.yml
@@ -0,0 +1,104 @@
+name: Tests
+
+on:
+ push: ~
+ pull_request: ~
+
+jobs:
+ phpcs:
+ name: PHPCS
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: shivammathur/setup-php@v2
+ with:
+ php-version: 7.2
+ extensions: curl, mbstring
+ coverage: none
+ tools: composer:v2, cs2pr
+
+ - run: composer update --no-progress
+
+ - run: vendor/bin/phpcs -q --report=checkstyle | cs2pr
+
+ phpunit:
+ name: PHPUnit on ${{ matrix.php }} ${{ matrix.composer-flags }}
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ php: ['7.2', '7.3', '7.4']
+ coverage: [true]
+ composer-flags: ['']
+ include:
+ - php: '8.0'
+ coverage: false
+ composer-flags: '--ignore-platform-req=php'
+ - php: '7.2'
+ coverage: false
+ composer-flags: '--prefer-lowest'
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ extensions: curl, mbstring
+ coverage: pcov
+ tools: composer:v2
+
+ - run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
+
+ - name: "Use PHPUnit 9.3+ on PHP 8"
+ run: composer require --no-update --dev phpunit/phpunit:^9.3
+ if: "matrix.php == '8.0'"
+
+ - run: composer update --no-progress ${{ matrix.composer-flags }}
+
+ - run: vendor/bin/phpunit --no-coverage
+ if: ${{ !matrix.coverage }}
+
+ - run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover
+ if: ${{ matrix.coverage }}
+
+ - run: php vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover
+ if: ${{ matrix.coverage }}
+ continue-on-error: true
+
+ phpstan:
+ name: PHPStan
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: shivammathur/setup-php@v2
+ with:
+ php-version: 7.2
+ extensions: curl, mbstring
+ coverage: none
+ tools: composer:v2
+
+ - run: composer update --no-progress
+
+ - run: vendor/bin/phpstan analyse --no-progress
+
+ psalm:
+ name: Psalm
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: shivammathur/setup-php@v2
+ with:
+ php-version: 7.2
+ extensions: curl, mbstring
+ coverage: none
+ tools: composer:v2
+
+ - run: composer update --no-progress
+
+ - run: vendor/bin/psalm --no-progress --output-format=github
diff --git a/vendor/league/html-to-markdown/CHANGELOG.md b/vendor/league/html-to-markdown/CHANGELOG.md
index c19cd9f69..71ae9c9a8 100644
--- a/vendor/league/html-to-markdown/CHANGELOG.md
+++ b/vendor/league/html-to-markdown/CHANGELOG.md
@@ -4,6 +4,31 @@ Updates should follow the [Keep a CHANGELOG](http://keepachangelog.com/) princip
## [Unreleased][unreleased]
+## [5.0.0] - 2021-03-28
+
+### Added
+
+ - Added support for tables (#203)
+ - This feature is disable by default - see README for how to enable it
+ - Added new `strip_placeholder_links` option to strip `<a>` tags without `href` attributes (#196)
+ - Added new methods to `ElementInterface`:
+ - `hasParent()`
+ - `getNextSibling()`
+ - `getPreviousSibling()`
+ - `getListItemLevel()`
+ - Added several parameter and return types across all classes
+ - Added new `PreConverterInterface` to allow converters to perform any necessary pre-parsing
+
+### Changed
+
+ - Supported PHP versions increased to PHP 7.2 - 8.0
+ - `HtmlConverter::convert()` may now throw a `\RuntimeException` when unexpected `DOMDocument`-related errors occur
+
+### Fixed
+
+ - Fixed complex nested lists containing heading and paragraphs (#198)
+ - Fixed consecutive emphasis producing incorrect markdown (#202)
+
## [4.10.0] - 2020-06-30
### Added
@@ -268,7 +293,8 @@ not ideally set, so this releases fixes that. Moving forwards this should reduce
### Added
- Initial release
-[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/4.10.0...master
+[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/5.0.0...master
+[5.0.0]: https://github.com/thephpleague/html-to-markdown/compare/4.10.0...5.0.0
[4.10.0]: https://github.com/thephpleague/html-to-markdown/compare/4.9.1...4.10.0
[4.9.1]: https://github.com/thephpleague/html-to-markdown/compare/4.9.0...4.9.1
[4.9.0]: https://github.com/thephpleague/html-to-markdown/compare/4.8.3...4.9.0
diff --git a/vendor/league/html-to-markdown/README.md b/vendor/league/html-to-markdown/README.md
index c1ac805ab..fcc256328 100644
--- a/vendor/league/html-to-markdown/README.md
+++ b/vendor/league/html-to-markdown/README.md
@@ -1,11 +1,9 @@
HTML To Markdown for PHP
========================
-[![Join the chat at https://gitter.im/thephpleague/html-to-markdown](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/thephpleague/html-to-markdown?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-
[![Latest Version](https://img.shields.io/packagist/v/league/html-to-markdown.svg?style=flat-square)](https://packagist.org/packages/league/html-to-markdown)
[![Software License](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE)
-[![Build Status](https://img.shields.io/travis/thephpleague/html-to-markdown/master.svg?style=flat-square)](https://travis-ci.org/thephpleague/html-to-markdown)
+[![Build Status](https://img.shields.io/github/workflow/status/thephpleague/html-to-markdown/Tests/master.svg?style=flat-square)](https://github.com/thephpleague/html-to-markdown/actions?query=workflow%3ATests+branch%3Amaster)
[![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/thephpleague/html-to-markdown.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/html-to-markdown/code-structure)
[![Quality Score](https://img.shields.io/scrutinizer/g/thephpleague/html-to-markdown.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/html-to-markdown)
[![Total Downloads](https://img.shields.io/packagist/dt/league/html-to-markdown.svg?style=flat-square)](https://packagist.org/packages/league/html-to-markdown)
@@ -13,7 +11,7 @@ HTML To Markdown for PHP
Library which converts HTML to [Markdown](http://daringfireball.net/projects/markdown/) for your sanity and convenience.
-**Requires**: PHP 5.3+ or PHP 7.0+
+**Requires**: PHP 7.2+
**Lead Developer**: [@colinodell](http://twitter.com/colinodell)
@@ -113,6 +111,15 @@ $html = '<span>Turnips!</span><!-- Monkeys! --><!-- Eggs! -->';
$markdown = $converter->convert($html); // $markdown now contains "Turnips!<!-- Eggs! -->"
```
+By default, placeholder links are preserved. To strip the placeholder links, use the `strip_placeholder_links` option, like this:
+
+```php
+$converter = new HtmlConverter(array('strip_placeholder_links' => true));
+
+$html = '<a>Github</a>';
+$markdown = $converter->convert($html); // $markdown now contains "Github"
+```
+
### Style options
By default bold tags are converted using the asterisk syntax, and italic tags are converted using the underlined syntax. Change these by using the `bold_style` and `italic_style` options.
@@ -174,17 +181,24 @@ $html = '<h3>Header</h3>
$markdown = $converter->convert($html); // $markdown now contains "### Header" and "<img src="" />"
```
-### Limitations
+### Table support
-- Markdown Extra, MultiMarkdown and other variants aren't supported – just Markdown.
+Support for Markdown tables is not enabled by default because it is not part of the original Markdown syntax. To use tables add the converter explicitly:
-### Known issues
+```php
+use League\HTMLToMarkdown\HtmlConverter;
+use League\HTMLToMarkdown\Converter\TableConverter;
+
+$converter = new HtmlConverter();
+$converter->getEnvironment()->addConverter(new TableConverter());
+
+$html = "<table><tr><th>A</th></tr><tr><td>a</td></tr></table>";
+$markdown = $converter->convert($html);
+```
-- Nested lists and lists containing multiple paragraphs aren't converted correctly.
-- Lists inside blockquotes aren't converted correctly.
-- Any reported [open issues here](https://github.com/thephpleague/html-to-markdown/issues?state=open).
+### Limitations
-[Report your issue or request a feature here.](https://github.com/thephpleague/html-to-markdown/issues/new) Issues with patches or failing tests are especially welcome.
+- Markdown Extra, MultiMarkdown and other variants aren't supported – just Markdown.
### Style notes
diff --git a/vendor/league/html-to-markdown/composer.json b/vendor/league/html-to-markdown/composer.json
index 7990bcace..af3e41058 100644
--- a/vendor/league/html-to-markdown/composer.json
+++ b/vendor/league/html-to-markdown/composer.json
@@ -30,19 +30,22 @@
}
},
"require": {
- "php": ">=5.3.3",
+ "php": "^7.2.5 || ^8.0",
"ext-dom": "*",
"ext-xml": "*"
},
"require-dev": {
- "mikehaertl/php-shellcommand": "~1.1.0",
- "phpunit/phpunit": "^4.8|^5.7",
- "scrutinizer/ocular": "~1.1"
+ "mikehaertl/php-shellcommand": "^1.1.0",
+ "phpstan/phpstan": "^0.12.82",
+ "phpunit/phpunit": "^8.5 || ^9.2",
+ "scrutinizer/ocular": "^1.6",
+ "unleashedtech/php-coding-standard": "^2.7",
+ "vimeo/psalm": "^4.6"
},
"bin": ["bin/html-to-markdown"],
"extra": {
"branch-alias": {
- "dev-master": "4.10-dev"
+ "dev-master": "5.1-dev"
}
}
}
diff --git a/vendor/league/html-to-markdown/phpcs.xml.dist b/vendor/league/html-to-markdown/phpcs.xml.dist
new file mode 100644
index 000000000..59f148473
--- /dev/null
+++ b/vendor/league/html-to-markdown/phpcs.xml.dist
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<ruleset>
+ <arg name="basepath" value="."/>
+ <arg name="extensions" value="php"/>
+ <arg name="parallel" value="80"/>
+ <arg name="cache" value=".phpcs-cache"/>
+ <arg name="colors"/>
+
+ <!-- Ignore warnings, show progress of the run and show sniff names -->
+ <arg value="nps"/>
+
+ <!-- Directories to be checked -->
+ <file>src</file>
+ <file>tests</file>
+
+ <!-- Include full Unleashed Coding Standard -->
+ <rule ref="Unleashed"/>
+
+ <rule ref="SlevomatCodingStandard.Commenting.ForbiddenAnnotations.AnnotationForbidden">
+ <exclude-pattern>src/HtmlConverter*\.php</exclude-pattern>
+ </rule>
+
+ <rule ref="SlevomatCodingStandard.Commenting.DocCommentSpacing.IncorrectOrderOfAnnotationsGroup">
+ <exclude-pattern>src/HtmlConverter*\.php</exclude-pattern>
+ </rule>
+
+</ruleset>
diff --git a/vendor/league/html-to-markdown/phpstan.neon.dist b/vendor/league/html-to-markdown/phpstan.neon.dist
new file mode 100644
index 000000000..a1c637a78
--- /dev/null
+++ b/vendor/league/html-to-markdown/phpstan.neon.dist
@@ -0,0 +1,4 @@
+parameters:
+ level: max
+ paths:
+ - src
diff --git a/vendor/league/html-to-markdown/psalm.xml b/vendor/league/html-to-markdown/psalm.xml
new file mode 100644
index 000000000..729e9a919
--- /dev/null
+++ b/vendor/league/html-to-markdown/psalm.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<psalm
+ totallyTyped="false"
+ errorLevel="3"
+ resolveFromConfigFile="true"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="https://getpsalm.org/schema/config"
+ xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
+>
+ <projectFiles>
+ <directory name="src" />
+ <ignoreFiles>
+ <directory name="vendor" />
+ </ignoreFiles>
+ </projectFiles>
+</psalm>
diff --git a/vendor/league/html-to-markdown/src/Configuration.php b/vendor/league/html-to-markdown/src/Configuration.php
index 5bc8d5503..7e1d71e68 100644
--- a/vendor/league/html-to-markdown/src/Configuration.php
+++ b/vendor/league/html-to-markdown/src/Configuration.php
@@ -1,15 +1,18 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown;
class Configuration
{
+ /** @var array<string, mixed> */
protected $config;
/**
- * @param array $config
+ * @param array<string, mixed> $config
*/
- public function __construct(array $config = array())
+ public function __construct(array $config = [])
{
$this->config = $config;
@@ -17,59 +20,60 @@ class Configuration
}
/**
- * @param array $config
+ * @param array<string, mixed> $config
*/
- public function merge(array $config = array())
+ public function merge(array $config = []): void
{
$this->checkForDeprecatedOptions($config);
- $this->config = array_replace_recursive($this->config, $config);
+ $this->config = \array_replace_recursive($this->config, $config);
}
/**
- * @param array $config
+ * @param array<string, mixed> $config
*/
- public function replace(array $config = array())
+ public function replace(array $config = []): void
{
$this->checkForDeprecatedOptions($config);
$this->config = $config;
}
/**
- * @param string $key
- * @param mixed $value
+ * @param mixed $value
*/
- public function setOption($key, $value)
+ public function setOption(string $key, $value): void
{
- $this->checkForDeprecatedOptions(array($key => $value));
+ $this->checkForDeprecatedOptions([$key => $value]);
$this->config[$key] = $value;
}
/**
- * @param string|null $key
- * @param mixed|null $default
+ * @param mixed|null $default
*
* @return mixed|null
*/
- public function getOption($key = null, $default = null)
+ public function getOption(?string $key = null, $default = null)
{
if ($key === null) {
return $this->config;
}
- if (!isset($this->config[$key])) {
+ if (! isset($this->config[$key])) {
return $default;
}
return $this->config[$key];
}
- private function checkForDeprecatedOptions(array $config)
+ /**
+ * @param array<string, mixed> $config
+ */
+ private function checkForDeprecatedOptions(array $config): void
{
foreach ($config as $key => $value) {
if ($key === 'bold_style' && $value !== '**') {
- @trigger_error('Customizing the bold_style option is deprecated and may be removed in the next major version', E_USER_DEPRECATED);
+ @\trigger_error('Customizing the bold_style option is deprecated and may be removed in the next major version', E_USER_DEPRECATED);
} elseif ($key === 'italic_style' && $value !== '*') {
- @trigger_error('Customizing the italic_style option is deprecated and may be removed in the next major version', E_USER_DEPRECATED);
+ @\trigger_error('Customizing the italic_style option is deprecated and may be removed in the next major version', E_USER_DEPRECATED);
}
}
}
diff --git a/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php b/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php
index 8aca530be..50c004c4a 100644
--- a/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php
+++ b/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php
@@ -1,11 +1,10 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown;
interface ConfigurationAwareInterface
{
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config);
+ public function setConfig(Configuration $config): void;
}
diff --git a/vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php b/vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php
index eb2d09d17..65034db12 100644
--- a/vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/BlockquoteConverter.php
@@ -1,32 +1,30 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
class BlockquoteConverter implements ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
// Contents should have already been converted to Markdown by this point,
// so we just need to add '>' symbols to each line.
$markdown = '';
- $quote_content = trim($element->getValue());
+ $quoteContent = \trim($element->getValue());
- $lines = preg_split('/\r\n|\r|\n/', $quote_content);
+ $lines = \preg_split('/\r\n|\r|\n/', $quoteContent);
+ \assert(\is_array($lines));
- $total_lines = count($lines);
+ $totalLines = \count($lines);
foreach ($lines as $i => $line) {
$markdown .= '> ' . $line . "\n";
- if ($i + 1 === $total_lines) {
+ if ($i + 1 === $totalLines) {
$markdown .= "\n";
}
}
@@ -37,8 +35,8 @@ class BlockquoteConverter implements ConverterInterface
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('blockquote');
+ return ['blockquote'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/CodeConverter.php b/vendor/league/html-to-markdown/src/Converter/CodeConverter.php
index 39e6a7bc4..40eb7f85a 100644
--- a/vendor/league/html-to-markdown/src/Converter/CodeConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/CodeConverter.php
@@ -1,17 +1,14 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
class CodeConverter implements ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
$language = '';
@@ -20,23 +17,24 @@ class CodeConverter implements ConverterInterface
if ($classes) {
// Since tags can have more than one class, we need to find the one that starts with 'language-'
- $classes = explode(' ', $classes);
+ $classes = \explode(' ', $classes);
foreach ($classes as $class) {
- if (strpos($class, 'language-') !== false) {
+ if (\strpos($class, 'language-') !== false) {
// Found one, save it as the selected language and stop looping over the classes.
- $language = str_replace('language-', '', $class);
+ $language = \str_replace('language-', '', $class);
break;
}
}
}
$markdown = '';
- $code = html_entity_decode($element->getChildrenAsString());
+ $code = \html_entity_decode($element->getChildrenAsString());
// In order to remove the code tags we need to search for them and, in the case of the opening tag
// use a regular expression to find the tag and the other attributes it might have
- $code = preg_replace('/<code\b[^>]*>/', '', $code);
- $code = str_replace('</code>', '', $code);
+ $code = \preg_replace('/<code\b[^>]*>/', '', $code);
+ \assert($code !== null);
+ $code = \str_replace('</code>', '', $code);
// Checking if it's a code block or span
if ($this->shouldBeBlock($element, $code)) {
@@ -44,7 +42,7 @@ class CodeConverter implements ConverterInterface
$markdown .= '```' . $language . "\n" . $code . "\n" . '```';
} else {
// One line of code, wrapping it on one backtick, removing new lines
- $markdown .= '`' . preg_replace('/\r\n|\r|\n/', '', $code) . '`';
+ $markdown .= '`' . \preg_replace('/\r\n|\r|\n/', '', $code) . '`';
}
return $markdown;
@@ -53,27 +51,18 @@ class CodeConverter implements ConverterInterface
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('code');
+ return ['code'];
}
- /**
- * @param ElementInterface $element
- * @param string $code
- *
- * @return bool
- */
- private function shouldBeBlock(ElementInterface $element, $code)
+ private function shouldBeBlock(ElementInterface $element, string $code): bool
{
- if ($element->getParent()->getTagName() == 'pre') {
- return true;
- }
-
- if (preg_match('/[^\s]` `/', $code)) {
+ $parent = $element->getParent();
+ if ($parent !== null && $parent->getTagName() === 'pre') {
return true;
}
- return false;
+ return \preg_match('/[^\s]` `/', $code) === 1;
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/CommentConverter.php b/vendor/league/html-to-markdown/src/Converter/CommentConverter.php
index 959381d1b..c69dea551 100644
--- a/vendor/league/html-to-markdown/src/Converter/CommentConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/CommentConverter.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\Configuration;
@@ -8,55 +10,44 @@ use League\HTMLToMarkdown\ElementInterface;
class CommentConverter implements ConverterInterface, ConfigurationAwareInterface
{
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config)
+ public function setConfig(Configuration $config): void
{
$this->config = $config;
}
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
if ($this->shouldPreserve($element)) {
return '<!--' . $element->getValue() . '-->';
}
+
return '';
}
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('#comment');
+ return ['#comment'];
}
- /**
- * @param ElementInterface $element
- *
- * @return bool
- */
- private function shouldPreserve(ElementInterface $element)
+ private function shouldPreserve(ElementInterface $element): bool
{
$preserve = $this->config->getOption('preserve_comments');
if ($preserve === true) {
return true;
}
- if (is_array($preserve)) {
- $value = trim($element->getValue());
- return in_array($value, $preserve);
+
+ if (\is_array($preserve)) {
+ $value = \trim($element->getValue());
+
+ return \in_array($value, $preserve, true);
}
+
return false;
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/ConverterInterface.php b/vendor/league/html-to-markdown/src/Converter/ConverterInterface.php
index 8530559a0..f10498578 100644
--- a/vendor/league/html-to-markdown/src/Converter/ConverterInterface.php
+++ b/vendor/league/html-to-markdown/src/Converter/ConverterInterface.php
@@ -1,20 +1,17 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
interface ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element);
+ public function convert(ElementInterface $element): string;
/**
* @return string[]
*/
- public function getSupportedTags();
+ public function getSupportedTags(): array;
}
diff --git a/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php b/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php
index 8de0af210..e71dd10cc 100644
--- a/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/DefaultConverter.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\Configuration;
@@ -8,27 +10,17 @@ use League\HTMLToMarkdown\ElementInterface;
class DefaultConverter implements ConverterInterface, ConfigurationAwareInterface
{
- const DEFAULT_CONVERTER = '_default';
+ public const DEFAULT_CONVERTER = '_default';
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config)
+ public function setConfig(Configuration $config): void
{
$this->config = $config;
}
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
// If strip_tags is false (the default), preserve tags that don't have Markdown equivalents,
// such as <span> nodes on their own. C14N() canonicalizes the node to a string.
@@ -37,8 +29,9 @@ class DefaultConverter implements ConverterInterface, ConfigurationAwareInterfac
return $element->getValue();
}
- $markdown = html_entity_decode($element->getChildrenAsString());
+ $markdown = \html_entity_decode($element->getChildrenAsString());
+ // Tables are only handled here if TableConverter is not used
if ($element->getTagName() === 'table') {
$markdown .= "\n\n";
}
@@ -49,8 +42,8 @@ class DefaultConverter implements ConverterInterface, ConfigurationAwareInterfac
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array(self::DEFAULT_CONVERTER);
+ return [self::DEFAULT_CONVERTER];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/DivConverter.php b/vendor/league/html-to-markdown/src/Converter/DivConverter.php
index 656a0ba4d..6453a2a27 100644
--- a/vendor/league/html-to-markdown/src/Converter/DivConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/DivConverter.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\Configuration;
@@ -8,38 +10,28 @@ use League\HTMLToMarkdown\ElementInterface;
class DivConverter implements ConverterInterface, ConfigurationAwareInterface
{
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config)
+ public function setConfig(Configuration $config): void
{
$this->config = $config;
}
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
if ($this->config->getOption('strip_tags', false)) {
return $element->getValue() . "\n\n";
}
- return html_entity_decode($element->getChildrenAsString());
+ return \html_entity_decode($element->getChildrenAsString());
}
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('div');
+ return ['div'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php b/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php
index 8fd4dd6e2..a122f4052 100644
--- a/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\Configuration;
@@ -8,50 +10,63 @@ use League\HTMLToMarkdown\ElementInterface;
class EmphasisConverter implements ConverterInterface, ConfigurationAwareInterface
{
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config)
+ protected function getNormTag(?ElementInterface $element): string
+ {
+ if ($element !== null && ! $element->isText()) {
+ $tag = $element->getTagName();
+ if ($tag === 'i' || $tag === 'em') {
+ return 'em';
+ }
+
+ if ($tag === 'b' || $tag === 'strong') {
+ return 'strong';
+ }
+ }
+
+ return '';
+ }
+
+ public function setConfig(Configuration $config): void
{
$this->config = $config;
}
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
- $tag = $element->getTagName();
+ $tag = $this->getNormTag($element);
$value = $element->getValue();
- if (!trim($value)) {
+ if (! \trim($value)) {
return $value;
}
- if ($tag === 'i' || $tag === 'em') {
+ if ($tag === 'em') {
$style = $this->config->getOption('italic_style');
} else {
$style = $this->config->getOption('bold_style');
}
- $prefix = ltrim($value) !== $value ? ' ' : '';
- $suffix = rtrim($value) !== $value ? ' ' : '';
+ $prefix = \ltrim($value) !== $value ? ' ' : '';
+ $suffix = \rtrim($value) !== $value ? ' ' : '';
+
+ /* If this node is immediately preceded or followed by one of the same type don't emit
+ * the start or end $style, respectively. This prevents <em>foo</em><em>bar</em> from
+ * being converted to *foo**bar* which is incorrect. We want *foobar* instead.
+ */
+ $preStyle = $this->getNormTag($element->getPreviousSibling()) === $tag ? '' : $style;
+ $postStyle = $this->getNormTag($element->getNextSibling()) === $tag ? '' : $style;
- return $prefix . $style . trim($value) . $style . $suffix;
+ return $prefix . $preStyle . \trim($value) . $postStyle . $suffix;
}
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('em', 'i', 'strong', 'b');
+ return ['em', 'i', 'strong', 'b'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php b/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php
index 1be10bd63..45e89682e 100644
--- a/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\Configuration;
@@ -8,35 +10,25 @@ use League\HTMLToMarkdown\ElementInterface;
class HardBreakConverter implements ConverterInterface, ConfigurationAwareInterface
{
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config)
+ public function setConfig(Configuration $config): void
{
$this->config = $config;
}
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
$return = $this->config->getOption('hard_break') ? "\n" : " \n";
$next = $element->getNext();
if ($next) {
- $next_value = $next->getValue();
- if ($next_value) {
- if (in_array(substr($next_value, 0, 2), array('- ', '* ', '+ '))) {
+ $nextValue = $next->getValue();
+ if ($nextValue) {
+ if (\in_array(\substr($nextValue, 0, 2), ['- ', '* ', '+ '], true)) {
$parent = $element->getParent();
- if ($parent && $parent->getTagName() == 'li') {
+ if ($parent && $parent->getTagName() === 'li') {
$return .= '\\';
}
}
@@ -49,8 +41,8 @@ class HardBreakConverter implements ConverterInterface, ConfigurationAwareInterf
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('br');
+ return ['br'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/HeaderConverter.php b/vendor/league/html-to-markdown/src/Converter/HeaderConverter.php
index 353833263..e99dfa0f4 100644
--- a/vendor/league/html-to-markdown/src/Converter/HeaderConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/HeaderConverter.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\Configuration;
@@ -8,37 +10,27 @@ use League\HTMLToMarkdown\ElementInterface;
class HeaderConverter implements ConverterInterface, ConfigurationAwareInterface
{
- const STYLE_ATX = 'atx';
- const STYLE_SETEXT = 'setext';
+ public const STYLE_ATX = 'atx';
+ public const STYLE_SETEXT = 'setext';
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config)
+ public function setConfig(Configuration $config): void
{
$this->config = $config;
}
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
- $level = (int) substr($element->getTagName(), 1, 1);
+ $level = (int) \substr($element->getTagName(), 1, 1);
$style = $this->config->getOption('header_style', self::STYLE_SETEXT);
- if (strlen($element->getValue()) === 0) {
+ if (\strlen($element->getValue()) === 0) {
return "\n";
}
- if (($level === 1 || $level === 2) && !$element->isDescendantOf('blockquote') && $style === self::STYLE_SETEXT) {
+ if (($level === 1 || $level === 2) && ! $element->isDescendantOf('blockquote') && $style === self::STYLE_SETEXT) {
return $this->createSetextHeader($level, $element->getValue());
}
@@ -48,34 +40,22 @@ class HeaderConverter implements ConverterInterface, ConfigurationAwareInterface
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
+ return ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
}
- /**
- * @param int $level
- * @param string $content
- *
- * @return string
- */
- private function createSetextHeader($level, $content)
+ private function createSetextHeader(int $level, string $content): string
{
- $length = function_exists('mb_strlen') ? mb_strlen($content, 'utf-8') : strlen($content);
- $underline = ($level === 1) ? '=' : '-';
+ $length = \function_exists('mb_strlen') ? \mb_strlen($content, 'utf-8') : \strlen($content);
+ $underline = $level === 1 ? '=' : '-';
- return $content . "\n" . str_repeat($underline, $length) . "\n\n";
+ return $content . "\n" . \str_repeat($underline, $length) . "\n\n";
}
- /**
- * @param int $level
- * @param string $content
- *
- * @return string
- */
- private function createAtxHeader($level, $content)
+ private function createAtxHeader(int $level, string $content): string
{
- $prefix = str_repeat('#', $level) . ' ';
+ $prefix = \str_repeat('#', $level) . ' ';
return $prefix . $content . "\n\n";
}
diff --git a/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php b/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php
index 8f54f9397..ce280cc79 100644
--- a/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php
@@ -1,17 +1,14 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
class HorizontalRuleConverter implements ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
return "- - - - - -\n\n";
}
@@ -19,8 +16,8 @@ class HorizontalRuleConverter implements ConverterInterface
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('hr');
+ return ['hr'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/ImageConverter.php b/vendor/league/html-to-markdown/src/Converter/ImageConverter.php
index 657c769c2..5cd8aec67 100644
--- a/vendor/league/html-to-markdown/src/Converter/ImageConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/ImageConverter.php
@@ -1,20 +1,17 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
class ImageConverter implements ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
- $src = $element->getAttribute('src');
- $alt = $element->getAttribute('alt');
+ $src = $element->getAttribute('src');
+ $alt = $element->getAttribute('alt');
$title = $element->getAttribute('title');
if ($title !== '') {
@@ -28,8 +25,8 @@ class ImageConverter implements ConverterInterface
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('img');
+ return ['img'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/LinkConverter.php b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php
index ed52619d2..25a3540fe 100644
--- a/vendor/league/html-to-markdown/src/Converter/LinkConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\Configuration;
@@ -8,28 +10,19 @@ use League\HTMLToMarkdown\ElementInterface;
class LinkConverter implements ConverterInterface, ConfigurationAwareInterface
{
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config) {
+ public function setConfig(Configuration $config): void
+ {
$this->config = $config;
}
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
- $href = $element->getAttribute('href');
+ $href = $element->getAttribute('href');
$title = $element->getAttribute('title');
- $text = trim($element->getValue(), "\t\n\r\0\x0B");
+ $text = \trim($element->getValue(), "\t\n\r\0\x0B");
if ($title !== '') {
$markdown = '[' . $text . '](' . $href . ' "' . $title . '")';
@@ -38,14 +31,19 @@ class LinkConverter implements ConverterInterface, ConfigurationAwareInterface
} elseif ($href === 'mailto:' . $text && $this->isValidEmail($text)) {
$markdown = '<' . $text . '>';
} else {
- if (stristr($href, ' ')) {
- $href = '<'.$href.'>';
+ if (\stristr($href, ' ')) {
+ $href = '<' . $href . '>';
}
+
$markdown = '[' . $text . '](' . $href . ')';
}
- if (!$href) {
- $markdown = html_entity_decode($element->getChildrenAsString());
+ if (! $href) {
+ if ($this->shouldStrip()) {
+ $markdown = $text;
+ } else {
+ $markdown = \html_entity_decode($element->getChildrenAsString());
+ }
}
return $markdown;
@@ -54,30 +52,26 @@ class LinkConverter implements ConverterInterface, ConfigurationAwareInterface
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('a');
+ return ['a'];
}
- /**
- * @param string $href
- *
- * @return bool
- */
- private function isValidAutolink($href)
+ private function isValidAutolink(string $href): bool
{
$useAutolinks = $this->config->getOption('use_autolinks');
- return $useAutolinks && (preg_match('/^[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*/i', $href) === 1);
+
+ return $useAutolinks && (\preg_match('/^[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*/i', $href) === 1);
}
- /**
- * @param string $email
- *
- * @return bool
- */
- private function isValidEmail($email)
+ private function isValidEmail(string $email): bool
{
// Email validation is messy business, but this should cover most cases
- return filter_var($email, FILTER_VALIDATE_EMAIL);
+ return \filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
+ }
+
+ private function shouldStrip(): bool
+ {
+ return $this->config->getOption('strip_placeholder_links') ?? false;
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php b/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php
index 07a4c85a9..ce7b94654 100644
--- a/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php
@@ -1,17 +1,14 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
class ListBlockConverter implements ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
return $element->getValue() . "\n";
}
@@ -19,8 +16,8 @@ class ListBlockConverter implements ConverterInterface
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('ol', 'ul');
+ return ['ol', 'ul'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php b/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php
index c56ab89cd..91b3b5dbe 100644
--- a/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\Configuration;
@@ -8,39 +10,26 @@ use League\HTMLToMarkdown\ElementInterface;
class ListItemConverter implements ConverterInterface, ConfigurationAwareInterface
{
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
- /**
- * @var string
- */
+ /** @var string|null */
protected $listItemStyle;
- /**
- * @param Configuration $config
- */
- public function setConfig(Configuration $config)
+ public function setConfig(Configuration $config): void
{
$this->config = $config;
}
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
// If parent is an ol, use numbers, otherwise, use dashes
- $list_type = $element->getParent()->getTagName();
+ $listType = ($parent = $element->getParent()) ? $parent->getTagName() : 'ul';
// Add spaces to start for nested list items
- $level = $element->getListItemLevel($element);
+ $level = $element->getListItemLevel();
- $prefixForParagraph = str_repeat(' ', $level + 1);
- $value = trim(implode("\n" . $prefixForParagraph, explode("\n", trim($element->getValue()))));
+ $value = \trim(\implode("\n" . ' ', \explode("\n", \trim($element->getValue()))));
// If list item is the first in a nested list, add a newline before it
$prefix = '';
@@ -48,21 +37,21 @@ class ListItemConverter implements ConverterInterface, ConfigurationAwareInterfa
$prefix = "\n";
}
- if ($list_type === 'ul') {
- $list_item_style = $this->config->getOption('list_item_style', '-');
- $list_item_style_alternate = $this->config->getOption('list_item_style_alternate');
- if (!isset($this->listItemStyle)) {
- $this->listItemStyle = $list_item_style_alternate ? $list_item_style_alternate : $list_item_style;
+ if ($listType === 'ul') {
+ $listItemStyle = $this->config->getOption('list_item_style', '-');
+ $listItemStyleAlternate = $this->config->getOption('list_item_style_alternate');
+ if (! isset($this->listItemStyle)) {
+ $this->listItemStyle = $listItemStyleAlternate ?: $listItemStyle;
}
- if ($list_item_style_alternate && $level == 0 && $element->getSiblingPosition() === 1) {
- $this->listItemStyle = $this->listItemStyle == $list_item_style ? $list_item_style_alternate : $list_item_style;
+ if ($listItemStyleAlternate && $level === 0 && $element->getSiblingPosition() === 1) {
+ $this->listItemStyle = $this->listItemStyle === $listItemStyle ? $listItemStyleAlternate : $listItemStyle;
}
return $prefix . $this->listItemStyle . ' ' . $value . "\n";
}
- if ($list_type === 'ol' && $start = $element->getParent()->getAttribute('start')) {
+ if ($listType === 'ol' && ($parent = $element->getParent()) && ($start = \intval($parent->getAttribute('start')))) {
$number = $start + $element->getSiblingPosition() - 1;
} else {
$number = $element->getSiblingPosition();
@@ -74,8 +63,8 @@ class ListItemConverter implements ConverterInterface, ConfigurationAwareInterfa
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('li');
+ return ['li'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php b/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php
index 7207b81a6..65b37a4db 100644
--- a/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php
@@ -1,23 +1,22 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
class ParagraphConverter implements ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
$value = $element->getValue();
$markdown = '';
- $lines = preg_split('/\r\n|\r|\n/', $value);
+ $lines = \preg_split('/\r\n|\r|\n/', $value);
+ \assert($lines !== false);
+
foreach ($lines as $line) {
/*
* Some special characters need to be escaped based on the position that they appear
@@ -27,23 +26,18 @@ class ParagraphConverter implements ConverterInterface
$markdown .= "\n";
}
- return trim($markdown) !== '' ? rtrim($markdown) . "\n\n" : '';
+ return \trim($markdown) !== '' ? \rtrim($markdown) . "\n\n" : '';
}
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('p');
+ return ['p'];
}
- /**
- * @param string $line
- *
- * @return string
- */
- private function escapeSpecialCharacters($line)
+ private function escapeSpecialCharacters(string $line): string
{
$line = $this->escapeFirstCharacters($line);
$line = $this->escapeOtherCharacters($line);
@@ -52,72 +46,61 @@ class ParagraphConverter implements ConverterInterface
return $line;
}
- /**
- * @param string $line
- *
- * @return string
- */
- private function escapeFirstCharacters($line)
+ private function escapeFirstCharacters(string $line): string
{
- $escapable = array(
+ $escapable = [
'>',
'- ',
'+ ',
'--',
'~~~',
'---',
- '- - -'
- );
+ '- - -',
+ ];
foreach ($escapable as $i) {
- if (strpos(ltrim($line), $i) === 0) {
+ if (\strpos(\ltrim($line), $i) === 0) {
// Found a character that must be escaped, adding a backslash before
- return '\\' . ltrim($line);
+ return '\\' . \ltrim($line);
}
}
return $line;
}
- /**
- * @param string $line
- *
- * @return string
- */
- private function escapeOtherCharacters($line)
+ private function escapeOtherCharacters(string $line): string
{
- $escapable = array(
- '<!--'
- );
+ $escapable = [
+ '<!--',
+ ];
foreach ($escapable as $i) {
- if (strpos($line, $i) !== false) {
- // Found an escapable character, escaping it
- $line = substr_replace($line, '\\', strpos($line, $i), 0);
+ if (($pos = \strpos($line, $i)) === false) {
+ continue;
}
+
+ // Found an escapable character, escaping it
+ $line = \substr_replace($line, '\\', $pos, 0);
}
return $line;
}
- /**
- * @param string $line
- *
- * @return string
- */
- private function escapeOtherCharactersRegex($line)
+ private function escapeOtherCharactersRegex(string $line): string
{
- $regExs = array(
+ $regExs = [
// Match numbers ending on ')' or '.' that are at the beginning of the line.
// They will be escaped if immediately followed by a space or newline.
- '/^[0-9]+(?=(\)|\.)( |$))/'
- );
+ '/^[0-9]+(?=(\)|\.)( |$))/',
+ ];
foreach ($regExs as $i) {
- if (preg_match($i, $line, $match)) {
- // Matched an escapable character, adding a backslash on the string before the offending character
- $line = substr_replace($line, '\\', strlen($match[0]), 0);
+ if (! \preg_match($i, $line, $match)) {
+ continue;
}
+
+ // Matched an escapable character, adding a backslash on the string before the offending character
+ $line = \substr_replace($line, '\\', \strlen($match[0]), 0);
}
return $line;
diff --git a/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php b/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php
index 321c898b1..7d8ccc132 100644
--- a/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php
@@ -1,20 +1,17 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
class PreformattedConverter implements ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
- $pre_content = html_entity_decode($element->getChildrenAsString());
- $pre_content = str_replace(array('<pre>', '</pre>'), '', $pre_content);
+ $preContent = \html_entity_decode($element->getChildrenAsString());
+ $preContent = \str_replace(['<pre>', '</pre>'], '', $preContent);
/*
* Checking for the code tag.
@@ -23,36 +20,37 @@ class PreformattedConverter implements ConverterInterface
* there's no more information to convert.
*/
- $firstBacktick = strpos(trim($pre_content), '`');
- $lastBacktick = strrpos(trim($pre_content), '`');
- if ($firstBacktick === 0 && $lastBacktick === strlen(trim($pre_content)) - 1) {
- return $pre_content . "\n\n";
+ $firstBacktick = \strpos(\trim($preContent), '`');
+ $lastBacktick = \strrpos(\trim($preContent), '`');
+ if ($firstBacktick === 0 && $lastBacktick === \strlen(\trim($preContent)) - 1) {
+ return $preContent . "\n\n";
}
// If the execution reaches this point it means it's just a pre tag, with no code tag nested
// Empty lines are a special case
- if ($pre_content === '') {
+ if ($preContent === '') {
return "```\n```\n\n";
}
// Normalizing new lines
- $pre_content = preg_replace('/\r\n|\r|\n/', "\n", $pre_content);
+ $preContent = \preg_replace('/\r\n|\r|\n/', "\n", $preContent);
+ \assert(\is_string($preContent));
// Ensure there's a newline at the end
- if (strrpos($pre_content, "\n") !== strlen($pre_content) - strlen("\n")) {
- $pre_content .= "\n";
+ if (\strrpos($preContent, "\n") !== \strlen($preContent) - \strlen("\n")) {
+ $preContent .= "\n";
}
// Use three backticks
- return "```\n" . $pre_content . "```\n\n";
+ return "```\n" . $preContent . "```\n\n";
}
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('pre');
+ return ['pre'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Converter/TableConverter.php b/vendor/league/html-to-markdown/src/Converter/TableConverter.php
new file mode 100644
index 000000000..2e63e9a5b
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Converter/TableConverter.php
@@ -0,0 +1,113 @@
+<?php
+
+declare(strict_types=1);
+
+namespace League\HTMLToMarkdown\Converter;
+
+use League\HTMLToMarkdown\Configuration;
+use League\HTMLToMarkdown\ConfigurationAwareInterface;
+use League\HTMLToMarkdown\ElementInterface;
+use League\HTMLToMarkdown\PreConverterInterface;
+
+class TableConverter implements ConverterInterface, PreConverterInterface, ConfigurationAwareInterface
+{
+ /** @var Configuration */
+ protected $config;
+
+ public function setConfig(Configuration $config): void
+ {
+ $this->config = $config;
+ }
+
+ /** @var array<string, string> */
+ private static $alignments = [
+ 'left' => ':--',
+ 'right' => '--:',
+ 'center' => ':-:',
+ ];
+
+ /** @var array<int, string>|null */
+ private $columnAlignments = [];
+
+ /** @var string|null */
+ private $caption = null;
+
+ public function preConvert(ElementInterface $element): void
+ {
+ $tag = $element->getTagName();
+ // Only table cells and caption are allowed to contain content.
+ // Remove all text between other table elements.
+ if ($tag === 'th' || $tag === 'td' || $tag === 'caption') {
+ return;
+ }
+
+ foreach ($element->getChildren() as $child) {
+ if ($child->isText()) {
+ $child->setFinalMarkdown('');
+ }
+ }
+ }
+
+ public function convert(ElementInterface $element): string
+ {
+ $value = $element->getValue();
+
+ switch ($element->getTagName()) {
+ case 'table':
+ $this->columnAlignments = [];
+ if ($this->caption) {
+ $side = $this->config->getOption('table_caption_side');
+ if ($side === 'top') {
+ $value = $this->caption . "\n" . $value;
+ } elseif ($side === 'bottom') {
+ $value .= $this->caption;
+ }
+
+ $this->caption = null;
+ }
+
+ return $value . "\n";
+ case 'caption':
+ $this->caption = \trim($value);
+
+ return '';
+ case 'tr':
+ $value .= "|\n";
+ if ($this->columnAlignments !== null) {
+ $value .= '|' . \implode('|', $this->columnAlignments) . "|\n";
+
+ $this->columnAlignments = null;
+ }
+
+ return $value;
+ case 'th':
+ case 'td':
+ if ($this->columnAlignments !== null) {
+ $align = $element->getAttribute('align');
+
+ $this->columnAlignments[] = self::$alignments[$align] ?? '---';
+ }
+
+ $value = \str_replace("\n", ' ', $value);
+ $value = \str_replace('|', $this->config->getOption('table_pipe_escape') ?? '\|', $value);
+
+ return '| ' . \trim($value) . ' ';
+ case 'thead':
+ case 'tbody':
+ case 'tfoot':
+ case 'colgroup':
+ case 'col':
+ return $value;
+ default:
+ return '';
+ }
+ }
+
+ /**
+ * @return string[]
+ */
+ public function getSupportedTags(): array
+ {
+ return ['table', 'tr', 'th', 'td', 'thead', 'tbody', 'tfoot', 'colgroup', 'col', 'caption'];
+ }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/TextConverter.php b/vendor/league/html-to-markdown/src/Converter/TextConverter.php
index 6236a1e9d..465dd4883 100644
--- a/vendor/league/html-to-markdown/src/Converter/TextConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/TextConverter.php
@@ -1,48 +1,48 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown\Converter;
use League\HTMLToMarkdown\ElementInterface;
class TextConverter implements ConverterInterface
{
- /**
- * @param ElementInterface $element
- *
- * @return string
- */
- public function convert(ElementInterface $element)
+ public function convert(ElementInterface $element): string
{
$markdown = $element->getValue();
// Remove leftover \n at the beginning of the line
- $markdown = ltrim($markdown, "\n");
+ $markdown = \ltrim($markdown, "\n");
// Replace sequences of invisible characters with spaces
- $markdown = preg_replace('~\s+~u', ' ', $markdown);
+ $markdown = \preg_replace('~\s+~u', ' ', $markdown);
+ \assert(\is_string($markdown));
// Escape the following characters: '*', '_', '[', ']' and '\'
- if ($element->getParent() && $element->getParent()->getTagName() !== 'div') {
- $markdown = preg_replace('~([*_\\[\\]\\\\])~u', '\\\\$1', $markdown);
+ if (($parent = $element->getParent()) && $parent->getTagName() !== 'div') {
+ $markdown = \preg_replace('~([*_\\[\\]\\\\])~u', '\\\\$1', $markdown);
+ \assert(\is_string($markdown));
}
- $markdown = preg_replace('~^#~u', '\\\\#', $markdown);
+ $markdown = \preg_replace('~^#~u', '\\\\#', $markdown);
+ \assert(\is_string($markdown));
if ($markdown === ' ') {
$next = $element->getNext();
- if (!$next || $next->isBlock()) {
+ if (! $next || $next->isBlock()) {
$markdown = '';
}
}
- return htmlspecialchars($markdown, ENT_NOQUOTES, 'UTF-8');
+ return \htmlspecialchars($markdown, ENT_NOQUOTES, 'UTF-8');
}
/**
* @return string[]
*/
- public function getSupportedTags()
+ public function getSupportedTags(): array
{
- return array('#text');
+ return ['#text'];
}
}
diff --git a/vendor/league/html-to-markdown/src/Element.php b/vendor/league/html-to-markdown/src/Element.php
index 80ae7a911..5407f1ffb 100644
--- a/vendor/league/html-to-markdown/src/Element.php
+++ b/vendor/league/html-to-markdown/src/Element.php
@@ -1,28 +1,28 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown;
class Element implements ElementInterface
{
- /**
- * @var \DOMNode
- */
+ /** @var \DOMNode */
protected $node;
- /**
- * @var ElementInterface|null
- */
+ /** @var ElementInterface|null */
private $nextCached;
+ /** @var \DOMNode|null */
+ private $previousSiblingCached;
+
public function __construct(\DOMNode $node)
{
$this->node = $node;
+
+ $this->previousSiblingCached = $this->node->previousSibling;
}
- /**
- * @return bool
- */
- public function isBlock()
+ public function isBlock(): bool
{
switch ($this->getTagName()) {
case 'blockquote':
@@ -46,50 +46,47 @@ class Element implements ElementInterface
}
}
- /**
- * @return bool
- */
- public function isText()
+ public function isText(): bool
{
return $this->getTagName() === '#text';
}
- /**
- * @return bool
- */
- public function isWhitespace()
+ public function isWhitespace(): bool
{
- return $this->getTagName() === '#text' && trim($this->getValue()) === '';
+ return $this->getTagName() === '#text' && \trim($this->getValue()) === '';
}
- /**
- * @return string
- */
- public function getTagName()
+ public function getTagName(): string
{
return $this->node->nodeName;
}
- /**
- * @return string
- */
- public function getValue()
+ public function getValue(): string
{
return $this->node->nodeValue;
}
- /**
- * @return ElementInterface|null
- */
- public function getParent()
+ public function hasParent(): bool
{
- return new static($this->node->parentNode) ?: null;
+ return $this->node->parentNode !== null;
}
- /**
- * @return bool
- */
- public function hasChildren()
+ public function getParent(): ?ElementInterface
+ {
+ return $this->node->parentNode ? new self($this->node->parentNode) : null;
+ }
+
+ public function getNextSibling(): ?ElementInterface
+ {
+ return $this->node->nextSibling !== null ? new self($this->node->nextSibling) : null;
+ }
+
+ public function getPreviousSibling(): ?ElementInterface
+ {
+ return $this->previousSiblingCached !== null ? new self($this->previousSiblingCached) : null;
+ }
+
+ public function hasChildren(): bool
{
return $this->node->hasChildNodes();
}
@@ -97,39 +94,29 @@ class Element implements ElementInterface
/**
* @return ElementInterface[]
*/
- public function getChildren()
+ public function getChildren(): array
{
- $ret = array();
- /** @var \DOMNode $node */
+ $ret = [];
foreach ($this->node->childNodes as $node) {
- $ret[] = new static($node);
+ $ret[] = new self($node);
}
return $ret;
}
- /**
- * @return ElementInterface|null
- */
- public function getNext()
+ public function getNext(): ?ElementInterface
{
if ($this->nextCached === null) {
$nextNode = $this->getNextNode($this->node);
if ($nextNode !== null) {
- $this->nextCached = new static($nextNode);
+ $this->nextCached = new self($nextNode);
}
}
return $this->nextCached;
}
- /**
- * @param \DomNode $node
- * @param bool $checkChildren
- *
- * @return \DomNode|null
- */
- private function getNextNode($node, $checkChildren = true)
+ private function getNextNode(\DomNode $node, bool $checkChildren = true): ?\DomNode
{
if ($checkChildren && $node->firstChild) {
return $node->firstChild;
@@ -142,25 +129,25 @@ class Element implements ElementInterface
if ($node->parentNode) {
return $this->getNextNode($node->parentNode, false);
}
+
+ return null;
}
/**
* @param string[]|string $tagNames
- *
- * @return bool
*/
- public function isDescendantOf($tagNames)
+ public function isDescendantOf($tagNames): bool
{
- if (!is_array($tagNames)) {
- $tagNames = array($tagNames);
+ if (! \is_array($tagNames)) {
+ $tagNames = [$tagNames];
}
for ($p = $this->node->parentNode; $p !== false; $p = $p->parentNode) {
- if (is_null($p)) {
+ if ($p === null) {
return false;
}
- if (in_array($p->nodeName, $tagNames)) {
+ if (\in_array($p->nodeName, $tagNames, true)) {
return true;
}
}
@@ -168,39 +155,43 @@ class Element implements ElementInterface
return false;
}
- /**
- * @param string $markdown
- */
- public function setFinalMarkdown($markdown)
+ public function setFinalMarkdown(string $markdown): void
{
- $markdown_node = $this->node->ownerDocument->createTextNode($markdown);
- $this->node->parentNode->replaceChild($markdown_node, $this->node);
+ if ($this->node->ownerDocument === null) {
+ throw new \RuntimeException('Unowned node');
+ }
+
+ if ($this->node->parentNode === null) {
+ throw new \RuntimeException('Cannot setFinalMarkdown() on a node without a parent');
+ }
+
+ $markdownNode = $this->node->ownerDocument->createTextNode($markdown);
+ $this->node->parentNode->replaceChild($markdownNode, $this->node);
}
- /**
- * @return string
- */
- public function getChildrenAsString()
+ public function getChildrenAsString(): string
{
return $this->node->C14N();
}
- /**
- * @return int
- */
- public function getSiblingPosition()
+ public function getSiblingPosition(): int
{
$position = 0;
+ $parent = $this->getParent();
+ if ($parent === null) {
+ return $position;
+ }
+
// Loop through all nodes and find the given $node
- foreach ($this->getParent()->getChildren() as $current_node) {
- if (!$current_node->isWhitespace()) {
+ foreach ($parent->getChildren() as $currentNode) {
+ if (! $currentNode->isWhitespace()) {
$position++;
}
// TODO: Need a less-buggy way of comparing these
// Perhaps we can somehow ensure that we always have the exact same object and use === instead?
- if ($this->equals($current_node)) {
+ if ($this->equals($currentNode)) {
break;
}
}
@@ -208,30 +199,23 @@ class Element implements ElementInterface
return $position;
}
- /**
- * @return int
- */
- public function getListItemLevel()
+ public function getListItemLevel(): int
{
- $level = 0;
+ $level = 0;
$parent = $this->getParent();
- while ($parent !== null && $parent->node->parentNode) {
+ while ($parent !== null && $parent->hasParent()) {
if ($parent->getTagName() === 'li') {
$level++;
}
+
$parent = $parent->getParent();
}
return $level;
}
- /**
- * @param string $name
- *
- * @return string
- */
- public function getAttribute($name)
+ public function getAttribute(string $name): string
{
if ($this->node instanceof \DOMElement) {
return $this->node->getAttribute($name);
@@ -240,17 +224,12 @@ class Element implements ElementInterface
return '';
}
- /**
- * @param ElementInterface $element
- *
- * @return bool
- */
- public function equals(ElementInterface $element)
+ public function equals(ElementInterface $element): bool
{
if ($element instanceof self) {
return $element->node === $this->node;
}
- return $element === $this;
+ return false;
}
}
diff --git a/vendor/league/html-to-markdown/src/ElementInterface.php b/vendor/league/html-to-markdown/src/ElementInterface.php
index 138ddf286..d8477cfae 100644
--- a/vendor/league/html-to-markdown/src/ElementInterface.php
+++ b/vendor/league/html-to-markdown/src/ElementInterface.php
@@ -1,80 +1,50 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown;
interface ElementInterface
{
- /**
- * @return bool
- */
- public function isBlock();
+ public function isBlock(): bool;
- /**
- * @return bool
- */
- public function isText();
+ public function isText(): bool;
- /**
- * @return bool
- */
- public function isWhitespace();
+ public function isWhitespace(): bool;
- /**
- * @return string
- */
- public function getTagName();
+ public function getTagName(): string;
- /**
- * @return string
- */
- public function getValue();
+ public function getValue(): string;
- /**
- * @return ElementInterface|null
- */
- public function getParent();
+ public function hasParent(): bool;
+
+ public function getParent(): ?ElementInterface;
+
+ public function getNextSibling(): ?ElementInterface;
+
+ public function getPreviousSibling(): ?ElementInterface;
/**
* @param string|string[] $tagNames
- *
- * @return bool
*/
- public function isDescendantOf($tagNames);
+ public function isDescendantOf($tagNames): bool;
- /**
- * @return bool
- */
- public function hasChildren();
+ public function hasChildren(): bool;
/**
* @return ElementInterface[]
*/
- public function getChildren();
+ public function getChildren(): array;
- /**
- * @return ElementInterface|null
- */
- public function getNext();
+ public function getNext(): ?ElementInterface;
- /**
- * @return int
- */
- public function getSiblingPosition();
+ public function getSiblingPosition(): int;
- /**
- * @return string
- */
- public function getChildrenAsString();
+ public function getChildrenAsString(): string;
- /**
- * @param string $markdown
- */
- public function setFinalMarkdown($markdown);
+ public function setFinalMarkdown(string $markdown): void;
- /**
- * @param string $name
- *
- * @return string
- */
- public function getAttribute($name);
+ public function getListItemLevel(): int;
+
+ public function getAttribute(string $name): string;
}
diff --git a/vendor/league/html-to-markdown/src/Environment.php b/vendor/league/html-to-markdown/src/Environment.php
index 560cfe613..7ea19d410 100644
--- a/vendor/league/html-to-markdown/src/Environment.php
+++ b/vendor/league/html-to-markdown/src/Environment.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown;
use League\HTMLToMarkdown\Converter\BlockquoteConverter;
@@ -22,34 +24,27 @@ use League\HTMLToMarkdown\Converter\TextConverter;
final class Environment
{
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
+ /** @var ConverterInterface[] */
+ protected $converters = [];
+
/**
- * @var ConverterInterface[]
+ * @param array<string, mixed> $config
*/
- protected $converters = array();
-
- public function __construct(array $config = array())
+ public function __construct(array $config = [])
{
$this->config = new Configuration($config);
$this->addConverter(new DefaultConverter());
}
- /**
- * @return Configuration
- */
- public function getConfig()
+ public function getConfig(): Configuration
{
return $this->config;
}
- /**
- * @param ConverterInterface $converter
- */
- public function addConverter(ConverterInterface $converter)
+ public function addConverter(ConverterInterface $converter): void
{
if ($converter instanceof ConfigurationAwareInterface) {
$converter->setConfig($this->config);
@@ -60,12 +55,7 @@ final class Environment
}
}
- /**
- * @param string $tag
- *
- * @return ConverterInterface
- */
- public function getConverterByTag($tag)
+ public function getConverterByTag(string $tag): ConverterInterface
{
if (isset($this->converters[$tag])) {
return $this->converters[$tag];
@@ -75,11 +65,9 @@ final class Environment
}
/**
- * @param array $config
- *
- * @return Environment
+ * @param array<string, mixed> $config
*/
- public static function createDefaultEnvironment(array $config = array())
+ public static function createDefaultEnvironment(array $config = []): Environment
{
$environment = new static($config);
diff --git a/vendor/league/html-to-markdown/src/HtmlConverter.php b/vendor/league/html-to-markdown/src/HtmlConverter.php
index 6f98e97b4..7cd543b34 100644
--- a/vendor/league/html-to-markdown/src/HtmlConverter.php
+++ b/vendor/league/html-to-markdown/src/HtmlConverter.php
@@ -1,10 +1,10 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown;
/**
- * Class HtmlConverter
- *
* A helper class to convert HTML to Markdown.
*
* @author Colin O'Dell <colinodell@gmail.com>
@@ -16,25 +16,24 @@ namespace League\HTMLToMarkdown;
*/
class HtmlConverter implements HtmlConverterInterface
{
- /**
- * @var Environment
- */
+ /** @var Environment */
protected $environment;
/**
* Constructor
*
- * @param Environment|array $options Environment object or configuration options
+ * @param Environment|array<string, mixed> $options Environment object or configuration options
*/
- public function __construct($options = array())
+ public function __construct($options = [])
{
if ($options instanceof Environment) {
$this->environment = $options;
- } elseif (is_array($options)) {
- $defaults = array(
+ } elseif (\is_array($options)) {
+ $defaults = [
'header_style' => 'setext', // Set to 'atx' to output H1 and H2 headers as # Header1 and ## Header2
'suppress_errors' => true, // Set to false to show warnings when loading malformed HTML
'strip_tags' => false, // Set to true to strip tags that don't have markdown equivalents. N.B. Strips tags, not their content. Useful to clean MS Word HTML output.
+ 'strip_placeholder_links' => false, // Set to true to remove <a> that doesn't have href.
'bold_style' => '**', // DEPRECATED: Set to '__' if you prefer the underlined style
'italic_style' => '*', // DEPRECATED: Set to '_' if you prefer the underlined style
'remove_nodes' => '', // space-separated list of dom nodes that should be removed. example: 'meta style script'
@@ -42,7 +41,9 @@ class HtmlConverter implements HtmlConverterInterface
'list_item_style' => '-', // Set the default character for each <li> in a <ul>. Can be '-', '*', or '+'
'preserve_comments' => false, // Set to true to preserve comments, or set to an array of strings to preserve specific comments
'use_autolinks' => true, // Set to true to use simple link syntax if possible. Will always use []() if set to false
- );
+ 'table_pipe_escape' => '\|', // Replacement string for pipe characters inside markdown table cells
+ 'table_caption_side' => 'top', // Set to 'top' or 'bottom' to show <caption> content before or after table, null to suppress
+ ];
$this->environment = Environment::createDefaultEnvironment($defaults);
@@ -50,18 +51,12 @@ class HtmlConverter implements HtmlConverterInterface
}
}
- /**
- * @return Environment
- */
- public function getEnvironment()
+ public function getEnvironment(): Environment
{
return $this->environment;
}
- /**
- * @return Configuration
- */
- public function getConfig()
+ public function getConfig(): Configuration
{
return $this->environment->getConfig();
}
@@ -71,11 +66,9 @@ class HtmlConverter implements HtmlConverterInterface
*
* @see HtmlConverter::convert
*
- * @param string $html
- *
* @return string The Markdown version of the html
*/
- public function __invoke($html)
+ public function __invoke(string $html): string
{
return $this->convert($html);
}
@@ -85,22 +78,20 @@ class HtmlConverter implements HtmlConverterInterface
*
* Loads HTML and passes to getMarkdown()
*
- * @param string $html
- *
- * @throws \InvalidArgumentException
- *
* @return string The Markdown version of the html
+ *
+ * @throws \InvalidArgumentException|\RuntimeException
*/
- public function convert($html)
+ public function convert(string $html): string
{
- if (trim($html) === '') {
+ if (\trim($html) === '') {
return '';
}
$document = $this->createDOMDocument($html);
// Work on the entire DOM tree (including head and body)
- if (!($root = $document->getElementsByTagName('html')->item(0))) {
+ if (! ($root = $document->getElementsByTagName('html')->item(0))) {
throw new \InvalidArgumentException('Invalid HTML was provided');
}
@@ -110,21 +101,20 @@ class HtmlConverter implements HtmlConverterInterface
// Store the now-modified DOMDocument as a string
$markdown = $document->saveHTML();
+ if ($markdown === false) {
+ throw new \RuntimeException('Unknown error occurred during HTML to Markdown conversion');
+ }
+
return $this->sanitize($markdown);
}
- /**
- * @param string $html
- *
- * @return \DOMDocument
- */
- private function createDOMDocument($html)
+ private function createDOMDocument(string $html): \DOMDocument
{
$document = new \DOMDocument();
if ($this->getConfig()->getOption('suppress_errors')) {
// Suppress conversion errors (from http://bit.ly/pCCRSX)
- libxml_use_internal_errors(true);
+ \libxml_use_internal_errors(true);
}
// Hack to load utf-8 HTML (from http://bit.ly/pVDyCt)
@@ -132,7 +122,7 @@ class HtmlConverter implements HtmlConverterInterface
$document->encoding = 'UTF-8';
if ($this->getConfig()->getOption('suppress_errors')) {
- libxml_clear_errors();
+ \libxml_clear_errors();
}
return $document;
@@ -145,17 +135,21 @@ class HtmlConverter implements HtmlConverterInterface
*
* Finds children of each node and convert those to #text nodes containing their Markdown equivalent,
* starting with the innermost element and working up to the outermost element.
- *
- * @param ElementInterface $element
*/
- private function convertChildren(ElementInterface $element)
+ private function convertChildren(ElementInterface $element): void
{
// Don't convert HTML code inside <code> and <pre> blocks to Markdown - that should stay as HTML
// except if the current node is a code tag, which needs to be converted by the CodeConverter.
- if ($element->isDescendantOf(array('pre', 'code')) && $element->getTagName() !== 'code') {
+ if ($element->isDescendantOf(['pre', 'code']) && $element->getTagName() !== 'code') {
return;
}
+ // Give converter a chance to inspect/modify the DOM before children are converted
+ $converter = $this->environment->getConverterByTag($element->getTagName());
+ if ($converter instanceof PreConverterInterface) {
+ $converter->preConvert($element);
+ }
+
// If the node has children, convert those to Markdown first
if ($element->hasChildren()) {
foreach ($element->getChildren() as $child) {
@@ -179,18 +173,16 @@ class HtmlConverter implements HtmlConverterInterface
*
* Example: An <h3> node with text content of 'Title' becomes a text node with content of '### Title'
*
- * @param ElementInterface $element
- *
* @return string The converted HTML as Markdown
*/
- protected function convertToMarkdown(ElementInterface $element)
+ protected function convertToMarkdown(ElementInterface $element): string
{
$tag = $element->getTagName();
// Strip nodes named in remove_nodes
- $tags_to_remove = explode(' ', $this->getConfig()->getOption('remove_nodes'));
- if (in_array($tag, $tags_to_remove)) {
- return false;
+ $tagsToRemove = \explode(' ', $this->getConfig()->getOption('remove_nodes') ?? '');
+ if (\in_array($tag, $tagsToRemove, true)) {
+ return '';
}
$converter = $this->environment->getConverterByTag($tag);
@@ -198,38 +190,34 @@ class HtmlConverter implements HtmlConverterInterface
return $converter->convert($element);
}
- /**
- * @param string $markdown
- *
- * @return string
- */
- protected function sanitize($markdown)
+ protected function sanitize(string $markdown): string
{
- $markdown = html_entity_decode($markdown, ENT_QUOTES, 'UTF-8');
- $markdown = preg_replace('/<!DOCTYPE [^>]+>/', '', $markdown); // Strip doctype declaration
- $markdown = trim($markdown); // Remove blank spaces at the beggining of the html
+ $markdown = \html_entity_decode($markdown, ENT_QUOTES, 'UTF-8');
+ $markdown = \preg_replace('/<!DOCTYPE [^>]+>/', '', $markdown); // Strip doctype declaration
+ \assert($markdown !== null);
+ $markdown = \trim($markdown); // Remove blank spaces at the beggining of the html
/*
* Removing unwanted tags. Tags should be added to the array in the order they are expected.
* XML, html and body opening tags should be in that order. Same case with closing tags
*/
- $unwanted = array('<?xml encoding="UTF-8">', '<html>', '</html>', '<body>', '</body>', '<head>', '</head>', '&#xD;');
+ $unwanted = ['<?xml encoding="UTF-8">', '<html>', '</html>', '<body>', '</body>', '<head>', '</head>', '&#xD;'];
foreach ($unwanted as $tag) {
- if (strpos($tag, '/') === false) {
+ if (\strpos($tag, '/') === false) {
// Opening tags
- if (strpos($markdown, $tag) === 0) {
- $markdown = substr($markdown, strlen($tag));
+ if (\strpos($markdown, $tag) === 0) {
+ $markdown = \substr($markdown, \strlen($tag));
}
} else {
// Closing tags
- if (strpos($markdown, $tag) === strlen($markdown) - strlen($tag)) {
- $markdown = substr($markdown, 0, -strlen($tag));
+ if (\strpos($markdown, $tag) === \strlen($markdown) - \strlen($tag)) {
+ $markdown = \substr($markdown, 0, -\strlen($tag));
}
}
}
- return trim($markdown, "\n\r\0\x0B");
+ return \trim($markdown, "\n\r\0\x0B");
}
/**
@@ -239,6 +227,10 @@ class HtmlConverter implements HtmlConverterInterface
* An example being:
*
* HtmlConverter::setOptions(['strip_tags' => true])->convert('<h1>test</h1>');
+ *
+ * @param array<string, mixed> $options
+ *
+ * @return $this
*/
public function setOptions(array $options)
{
diff --git a/vendor/league/html-to-markdown/src/HtmlConverterInterface.php b/vendor/league/html-to-markdown/src/HtmlConverterInterface.php
index 7d43cf87e..5c7e9eb65 100644
--- a/vendor/league/html-to-markdown/src/HtmlConverterInterface.php
+++ b/vendor/league/html-to-markdown/src/HtmlConverterInterface.php
@@ -1,5 +1,7 @@
<?php
+declare(strict_types=1);
+
namespace League\HTMLToMarkdown;
/**
@@ -16,11 +18,9 @@ interface HtmlConverterInterface
/**
* Convert the given $html to Markdown
*
- * @param string $html
+ * @return string The Markdown version of the html
*
* @throws \InvalidArgumentException
- *
- * @return string The Markdown version of the html
*/
- public function convert($html);
+ public function convert(string $html): string;
}
diff --git a/vendor/league/html-to-markdown/src/PreConverterInterface.php b/vendor/league/html-to-markdown/src/PreConverterInterface.php
new file mode 100644
index 000000000..f835086ef
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/PreConverterInterface.php
@@ -0,0 +1,10 @@
+<?php
+
+declare(strict_types=1);
+
+namespace League\HTMLToMarkdown;
+
+interface PreConverterInterface
+{
+ public function preConvert(ElementInterface $element): void;
+}
diff --git a/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php b/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php
index 18e850af1..944885b4f 100644
--- a/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php
+++ b/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php
@@ -39,7 +39,7 @@ class getid3_id3v1 extends getid3_handler
// If second-last byte of comment field is null and last byte of comment field is non-null
// then this is ID3v1.1 and the comment field is 28 bytes long and the 30th byte is the track number
- if (($id3v1tag{125} === "\x00") && ($id3v1tag{126} !== "\x00")) {
+ if (($id3v1tag[125] === "\x00") && ($id3v1tag[126] !== "\x00")) {
$ParsedID3v1['track'] = ord(substr($ParsedID3v1['comment'], 29, 1));
$ParsedID3v1['comment'] = substr($ParsedID3v1['comment'], 0, 28);
}
diff --git a/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php b/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php
index 31742b7f2..c1e982137 100644
--- a/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php
+++ b/vendor/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php
@@ -51,8 +51,8 @@ class getid3_id3v2 extends getid3_handler
$header = $this->fread(10);
if (substr($header, 0, 3) == 'ID3' && strlen($header) == 10) {
- $thisfile_id3v2['majorversion'] = ord($header{3});
- $thisfile_id3v2['minorversion'] = ord($header{4});
+ $thisfile_id3v2['majorversion'] = ord($header[3]);
+ $thisfile_id3v2['minorversion'] = ord($header[4]);
// shortcut
$id3v2_majorversion = &$thisfile_id3v2['majorversion'];
@@ -71,7 +71,7 @@ class getid3_id3v2 extends getid3_handler
}
- $id3_flags = ord($header{5});
+ $id3_flags = ord($header[5]);
switch ($id3v2_majorversion) {
case 2:
// %ab000000 in v2.2
@@ -252,7 +252,7 @@ class getid3_id3v2 extends getid3_handler
$thisfile_id3v2['padding']['length'] = strlen($framedata);
$thisfile_id3v2['padding']['valid'] = true;
for ($i = 0; $i < $thisfile_id3v2['padding']['length']; $i++) {
- if ($framedata{$i} != "\x00") {
+ if ($framedata[$i] != "\x00") {
$thisfile_id3v2['padding']['valid'] = false;
$thisfile_id3v2['padding']['errorpos'] = $thisfile_id3v2['padding']['start'] + $i;
$info['warning'][] = 'Invalid ID3v2 padding found at offset '.$thisfile_id3v2['padding']['errorpos'].' (the remaining '.($thisfile_id3v2['padding']['length'] - $i).' bytes are considered invalid)';
@@ -314,7 +314,7 @@ class getid3_id3v2 extends getid3_handler
$len = strlen($framedata);
for ($i = 0; $i < $len; $i++) {
- if ($framedata{$i} != "\x00") {
+ if ($framedata[$i]!= "\x00") {
$thisfile_id3v2['padding']['valid'] = false;
$thisfile_id3v2['padding']['errorpos'] = $thisfile_id3v2['padding']['start'] + $i;
$info['warning'][] = 'Invalid ID3v2 padding found at offset '.$thisfile_id3v2['padding']['errorpos'].' (the remaining '.($thisfile_id3v2['padding']['length'] - $i).' bytes are considered invalid)';
@@ -422,11 +422,11 @@ class getid3_id3v2 extends getid3_handler
$footer = $this->fread(10);
if (substr($footer, 0, 3) == '3DI') {
$thisfile_id3v2['footer'] = true;
- $thisfile_id3v2['majorversion_footer'] = ord($footer{3});
- $thisfile_id3v2['minorversion_footer'] = ord($footer{4});
+ $thisfile_id3v2['majorversion_footer'] = ord($footer[3]);
+ $thisfile_id3v2['minorversion_footer'] = ord($footer[4]);
}
if ($thisfile_id3v2['majorversion_footer'] <= 4) {
- $id3_flags = ord(substr($footer{5}));
+ $id3_flags = ord(substr($footer[5]));
$thisfile_id3v2_flags['unsynch_footer'] = (bool) ($id3_flags & 0x80);
$thisfile_id3v2_flags['extfoot_footer'] = (bool) ($id3_flags & 0x40);
$thisfile_id3v2_flags['experim_footer'] = (bool) ($id3_flags & 0x20);
@@ -648,7 +648,7 @@ class getid3_id3v2 extends getid3_handler
//unset($parsedFrame['data']); do not unset, may be needed elsewhere, e.g. for replaygain
- } elseif ($parsedFrame['frame_name']{0} == 'T') { // 4.2. T??[?] Text information frame
+ } elseif ($parsedFrame['frame_name'][0] == 'T') { // 4.2. T??[?] Text information frame
// There may only be one text information frame of its kind in an tag.
// <Header for 'Text information frame', ID: 'T000' - 'TZZZ',
// excluding 'TXXX' described in 4.2.6.>
@@ -750,7 +750,7 @@ class getid3_id3v2 extends getid3_handler
unset($parsedFrame['data']);
- } elseif ($parsedFrame['frame_name']{0} == 'W') { // 4.3. W??? URL link frames
+ } elseif ($parsedFrame['frame_name'][0] == 'W') { // 4.3. W??? URL link frames
// There may only be one URL link frame of its kind in a tag,
// except when stated otherwise in the frame description
// <Header for 'URL link frame', ID: 'W000' - 'WZZZ', excluding 'WXXX'
@@ -1025,7 +1025,7 @@ class getid3_id3v2 extends getid3_handler
$parsedFrame['lyrics'][$timestampindex]['data'] = substr($frame_remainingdata, $frame_offset, $frame_terminatorpos - $frame_offset);
$frame_remainingdata = substr($frame_remainingdata, $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
- if (($timestampindex == 0) && (ord($frame_remainingdata{0}) != 0)) {
+ if (($timestampindex == 0) && (ord($frame_remainingdata[0]) != 0)) {
// timestamp probably omitted for first data item
} else {
$parsedFrame['lyrics'][$timestampindex]['timestamp'] = getid3_lib::BigEndian2Int(substr($frame_remainingdata, 0, 4));
@@ -3334,10 +3334,10 @@ class getid3_id3v2 extends getid3_handler
public static function IsANumber($numberstring, $allowdecimal=false, $allownegative=false) {
for ($i = 0; $i < strlen($numberstring); $i++) {
- if ((chr($numberstring{$i}) < chr('0')) || (chr($numberstring{$i}) > chr('9'))) {
- if (($numberstring{$i} == '.') && $allowdecimal) {
+ if ((chr($numberstring[$i]) < chr('0')) || (chr($numberstring[$i]) > chr('9'))) {
+ if (($numberstring[$i] == '.') && $allowdecimal) {
// allowed
- } elseif (($numberstring{$i} == '-') && $allownegative && ($i == 0)) {
+ } elseif (($numberstring[$i] == '-') && $allownegative && ($i == 0)) {
// allowed
} else {
return false;
diff --git a/vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php b/vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php
index b50ed30cc..ca7dd30ed 100644
--- a/vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php
+++ b/vendor/lukasreschke/id3parser/src/getID3/getid3_lib.php
@@ -85,11 +85,11 @@ class getid3_lib
// http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/binary.html
if (strpos($binarypointnumber, '.') === false) {
$binarypointnumber = '0.'.$binarypointnumber;
- } elseif ($binarypointnumber{0} == '.') {
+ } elseif ($binarypointnumber[0] == '.') {
$binarypointnumber = '0'.$binarypointnumber;
}
$exponent = 0;
- while (($binarypointnumber{0} != '1') || (substr($binarypointnumber, 1, 1) != '.')) {
+ while (($binarypointnumber[0] != '1') || (substr($binarypointnumber, 1, 1) != '.')) {
if (substr($binarypointnumber, 1, 1) == '.') {
$exponent--;
$binarypointnumber = substr($binarypointnumber, 2, 1).'.'.substr($binarypointnumber, 3);
@@ -97,7 +97,7 @@ class getid3_lib
$pointpos = strpos($binarypointnumber, '.');
$exponent += ($pointpos - 1);
$binarypointnumber = str_replace('.', '', $binarypointnumber);
- $binarypointnumber = $binarypointnumber{0}.'.'.substr($binarypointnumber, 1);
+ $binarypointnumber = $binarypointnumber[0].'.'.substr($binarypointnumber, 1);
}
}
$binarypointnumber = str_pad(substr($binarypointnumber, 0, $maxbits + 2), $maxbits + 2, '0', STR_PAD_RIGHT);
@@ -166,7 +166,7 @@ class getid3_lib
if (!$bitword) {
return 0;
}
- $signbit = $bitword{0};
+ $signbit = $bitword[0];
switch (strlen($byteword) * 8) {
case 32:
@@ -183,7 +183,7 @@ class getid3_lib
// 80-bit Apple SANE format
// http://www.mactech.com/articles/mactech/Vol.06/06.01/SANENormalized/
$exponentstring = substr($bitword, 1, 15);
- $isnormalized = intval($bitword{16});
+ $isnormalized = intval($bitword[16]);
$fractionstring = substr($bitword, 17, 63);
$exponent = pow(2, self::Bin2Dec($exponentstring) - 16383);
$fraction = $isnormalized + self::DecimalBinary2Float($fractionstring);
@@ -243,10 +243,10 @@ class getid3_lib
}
for ($i = 0; $i < $bytewordlen; $i++) {
if ($synchsafe) { // disregard MSB, effectively 7-bit bytes
- //$intvalue = $intvalue | (ord($byteword{$i}) & 0x7F) << (($bytewordlen - 1 - $i) * 7); // faster, but runs into problems past 2^31 on 32-bit systems
- $intvalue += (ord($byteword{$i}) & 0x7F) * pow(2, ($bytewordlen - 1 - $i) * 7);
+ //$intvalue = $intvalue | (ord($byteword[$i]) & 0x7F) << (($bytewordlen - 1 - $i) * 7); // faster, but runs into problems past 2^31 on 32-bit systems
+ $intvalue += (ord($byteword[$i]) & 0x7F) * pow(2, ($bytewordlen - 1 - $i) * 7);
} else {
- $intvalue += ord($byteword{$i}) * pow(256, ($bytewordlen - 1 - $i));
+ $intvalue += ord($byteword[$i]) * pow(256, ($bytewordlen - 1 - $i));
}
}
if ($signed && !$synchsafe) {
@@ -273,7 +273,7 @@ class getid3_lib
$binvalue = '';
$bytewordlen = strlen($byteword);
for ($i = 0; $i < $bytewordlen; $i++) {
- $binvalue .= str_pad(decbin(ord($byteword{$i})), 8, '0', STR_PAD_LEFT);
+ $binvalue .= str_pad(decbin(ord($byteword[$i])), 8, '0', STR_PAD_LEFT);
}
return $binvalue;
}
@@ -317,7 +317,7 @@ class getid3_lib
public static function Bin2Dec($binstring, $signed=false) {
$signmult = 1;
if ($signed) {
- if ($binstring{0} == '1') {
+ if ($binstring[0] == '1') {
$signmult = -1;
}
$binstring = substr($binstring, 1);
@@ -538,7 +538,7 @@ class getid3_lib
$newcharstring .= "\xEF\xBB\xBF";
}
for ($i = 0; $i < strlen($string); $i++) {
- $charval = ord($string{$i});
+ $charval = ord($string[$i]);
$newcharstring .= self::iconv_fallback_int_utf8($charval);
}
return $newcharstring;
@@ -551,7 +551,7 @@ class getid3_lib
$newcharstring .= "\xFE\xFF";
}
for ($i = 0; $i < strlen($string); $i++) {
- $newcharstring .= "\x00".$string{$i};
+ $newcharstring .= "\x00".$string[$i];
}
return $newcharstring;
}
@@ -563,7 +563,7 @@ class getid3_lib
$newcharstring .= "\xFF\xFE";
}
for ($i = 0; $i < strlen($string); $i++) {
- $newcharstring .= $string{$i}."\x00";
+ $newcharstring .= $string[$i]."\x00";
}
return $newcharstring;
}
@@ -583,27 +583,27 @@ class getid3_lib
$offset = 0;
$stringlength = strlen($string);
while ($offset < $stringlength) {
- if ((ord($string{$offset}) | 0x07) == 0xF7) {
+ if ((ord($string[$offset]) | 0x07) == 0xF7) {
// 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x07) << 18) &
- ((ord($string{($offset + 1)}) & 0x3F) << 12) &
- ((ord($string{($offset + 2)}) & 0x3F) << 6) &
- (ord($string{($offset + 3)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x07) << 18) &
+ ((ord($string[($offset + 1)]) & 0x3F) << 12) &
+ ((ord($string[($offset + 2)]) & 0x3F) << 6) &
+ (ord($string[($offset + 3)]) & 0x3F);
$offset += 4;
- } elseif ((ord($string{$offset}) | 0x0F) == 0xEF) {
+ } elseif ((ord($string[$offset]) | 0x0F) == 0xEF) {
// 1110bbbb 10bbbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x0F) << 12) &
- ((ord($string{($offset + 1)}) & 0x3F) << 6) &
- (ord($string{($offset + 2)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x0F) << 12) &
+ ((ord($string[($offset + 1)]) & 0x3F) << 6) &
+ (ord($string[($offset + 2)]) & 0x3F);
$offset += 3;
- } elseif ((ord($string{$offset}) | 0x1F) == 0xDF) {
+ } elseif ((ord($string[$offset]) | 0x1F) == 0xDF) {
// 110bbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x1F) << 6) &
- (ord($string{($offset + 1)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x1F) << 6) &
+ (ord($string[($offset + 1)]) & 0x3F);
$offset += 2;
- } elseif ((ord($string{$offset}) | 0x7F) == 0x7F) {
+ } elseif ((ord($string[$offset]) | 0x7F) == 0x7F) {
// 0bbbbbbb
- $charval = ord($string{$offset});
+ $charval = ord($string[$offset]);
$offset += 1;
} else {
// error? throw some kind of warning here?
@@ -626,27 +626,27 @@ class getid3_lib
$offset = 0;
$stringlength = strlen($string);
while ($offset < $stringlength) {
- if ((ord($string{$offset}) | 0x07) == 0xF7) {
+ if ((ord($string[$offset]) | 0x07) == 0xF7) {
// 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x07) << 18) &
- ((ord($string{($offset + 1)}) & 0x3F) << 12) &
- ((ord($string{($offset + 2)}) & 0x3F) << 6) &
- (ord($string{($offset + 3)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x07) << 18) &
+ ((ord($string[($offset + 1)]) & 0x3F) << 12) &
+ ((ord($string[($offset + 2)]) & 0x3F) << 6) &
+ (ord($string[($offset + 3)]) & 0x3F);
$offset += 4;
- } elseif ((ord($string{$offset}) | 0x0F) == 0xEF) {
+ } elseif ((ord($string[$offset]) | 0x0F) == 0xEF) {
// 1110bbbb 10bbbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x0F) << 12) &
- ((ord($string{($offset + 1)}) & 0x3F) << 6) &
- (ord($string{($offset + 2)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x0F) << 12) &
+ ((ord($string[($offset + 1)]) & 0x3F) << 6) &
+ (ord($string[($offset + 2)]) & 0x3F);
$offset += 3;
- } elseif ((ord($string{$offset}) | 0x1F) == 0xDF) {
+ } elseif ((ord($string[$offset]) | 0x1F) == 0xDF) {
// 110bbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x1F) << 6) &
- (ord($string{($offset + 1)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x1F) << 6) &
+ (ord($string[($offset + 1)]) & 0x3F);
$offset += 2;
- } elseif ((ord($string{$offset}) | 0x7F) == 0x7F) {
+ } elseif ((ord($string[$offset]) | 0x7F) == 0x7F) {
// 0bbbbbbb
- $charval = ord($string{$offset});
+ $charval = ord($string[$offset]);
$offset += 1;
} else {
// error? throw some kind of warning here?
@@ -669,27 +669,27 @@ class getid3_lib
$offset = 0;
$stringlength = strlen($string);
while ($offset < $stringlength) {
- if ((ord($string{$offset}) | 0x07) == 0xF7) {
+ if ((ord($string[$offset]) | 0x07) == 0xF7) {
// 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x07) << 18) &
- ((ord($string{($offset + 1)}) & 0x3F) << 12) &
- ((ord($string{($offset + 2)}) & 0x3F) << 6) &
- (ord($string{($offset + 3)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x07) << 18) &
+ ((ord($string[($offset + 1)]) & 0x3F) << 12) &
+ ((ord($string[($offset + 2)]) & 0x3F) << 6) &
+ (ord($string[($offset + 3)]) & 0x3F);
$offset += 4;
- } elseif ((ord($string{$offset}) | 0x0F) == 0xEF) {
+ } elseif ((ord($string[$offset]) | 0x0F) == 0xEF) {
// 1110bbbb 10bbbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x0F) << 12) &
- ((ord($string{($offset + 1)}) & 0x3F) << 6) &
- (ord($string{($offset + 2)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x0F) << 12) &
+ ((ord($string[($offset + 1)]) & 0x3F) << 6) &
+ (ord($string[($offset + 2)]) & 0x3F);
$offset += 3;
- } elseif ((ord($string{$offset}) | 0x1F) == 0xDF) {
+ } elseif ((ord($string[$offset]) | 0x1F) == 0xDF) {
// 110bbbbb 10bbbbbb
- $charval = ((ord($string{($offset + 0)}) & 0x1F) << 6) &
- (ord($string{($offset + 1)}) & 0x3F);
+ $charval = ((ord($string[($offset + 0)]) & 0x1F) << 6) &
+ (ord($string[($offset + 1)]) & 0x3F);
$offset += 2;
- } elseif ((ord($string{$offset}) | 0x7F) == 0x7F) {
+ } elseif ((ord($string[$offset]) | 0x7F) == 0x7F) {
// 0bbbbbbb
- $charval = ord($string{$offset});
+ $charval = ord($string[$offset]);
$offset += 1;
} else {
// error? maybe throw some warning here?
@@ -886,22 +886,22 @@ class getid3_lib
case 'UTF-8':
$strlen = strlen($string);
for ($i = 0; $i < $strlen; $i++) {
- $char_ord_val = ord($string{$i});
+ $char_ord_val = ord($string[$i]);
$charval = 0;
if ($char_ord_val < 0x80) {
$charval = $char_ord_val;
} elseif ((($char_ord_val & 0xF0) >> 4) == 0x0F && $i+3 < $strlen) {
$charval = (($char_ord_val & 0x07) << 18);
- $charval += ((ord($string{++$i}) & 0x3F) << 12);
- $charval += ((ord($string{++$i}) & 0x3F) << 6);
- $charval += (ord($string{++$i}) & 0x3F);
+ $charval += ((ord($string[++$i]) & 0x3F) << 12);
+ $charval += ((ord($string[++$i]) & 0x3F) << 6);
+ $charval += (ord($string[++$i]) & 0x3F);
} elseif ((($char_ord_val & 0xE0) >> 5) == 0x07 && $i+2 < $strlen) {
$charval = (($char_ord_val & 0x0F) << 12);
- $charval += ((ord($string{++$i}) & 0x3F) << 6);
- $charval += (ord($string{++$i}) & 0x3F);
+ $charval += ((ord($string[++$i]) & 0x3F) << 6);
+ $charval += (ord($string[++$i]) & 0x3F);
} elseif ((($char_ord_val & 0xC0) >> 6) == 0x03 && $i+1 < $strlen) {
$charval = (($char_ord_val & 0x1F) << 6);
- $charval += (ord($string{++$i}) & 0x3F);
+ $charval += (ord($string[++$i]) & 0x3F);
}
if (($charval >= 32) && ($charval <= 127)) {
$HTMLstring .= htmlentities(chr($charval));
diff --git a/vendor/psr/log/Psr/Log/AbstractLogger.php b/vendor/psr/log/Psr/Log/AbstractLogger.php
index 90e721af2..e02f9daf3 100644
--- a/vendor/psr/log/Psr/Log/AbstractLogger.php
+++ b/vendor/psr/log/Psr/Log/AbstractLogger.php
@@ -14,8 +14,8 @@ abstract class AbstractLogger implements LoggerInterface
/**
* System is unusable.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -30,8 +30,8 @@ abstract class AbstractLogger implements LoggerInterface
* Example: Entire website down, database unavailable, etc. This should
* trigger the SMS alerts and wake you up.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -45,8 +45,8 @@ abstract class AbstractLogger implements LoggerInterface
*
* Example: Application component unavailable, unexpected exception.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -59,8 +59,8 @@ abstract class AbstractLogger implements LoggerInterface
* Runtime errors that do not require immediate action but should typically
* be logged and monitored.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -75,8 +75,8 @@ abstract class AbstractLogger implements LoggerInterface
* Example: Use of deprecated APIs, poor use of an API, undesirable things
* that are not necessarily wrong.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -88,8 +88,8 @@ abstract class AbstractLogger implements LoggerInterface
/**
* Normal but significant events.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -103,8 +103,8 @@ abstract class AbstractLogger implements LoggerInterface
*
* Example: User logs in, SQL logs.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -116,8 +116,8 @@ abstract class AbstractLogger implements LoggerInterface
/**
* Detailed debug information.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
diff --git a/vendor/psr/log/Psr/Log/LoggerAwareTrait.php b/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
index 639f79bda..82bf45c89 100644
--- a/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
+++ b/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
@@ -10,7 +10,7 @@ trait LoggerAwareTrait
/**
* The logger instance.
*
- * @var LoggerInterface
+ * @var LoggerInterface|null
*/
protected $logger;
diff --git a/vendor/psr/log/composer.json b/vendor/psr/log/composer.json
index 3f6d4eea4..ca0569537 100644
--- a/vendor/psr/log/composer.json
+++ b/vendor/psr/log/composer.json
@@ -7,7 +7,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"require": {
diff --git a/vendor/smarty/smarty/CHANGELOG.md b/vendor/smarty/smarty/CHANGELOG.md
index 06b898223..e3bb93a4f 100644
--- a/vendor/smarty/smarty/CHANGELOG.md
+++ b/vendor/smarty/smarty/CHANGELOG.md
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [3.1.39] - 2021-02-17
+
+### Security
+- Prevent access to `$smarty.template_object` in sandbox mode
+- Fixed code injection vulnerability by using illegal function names in `{function name='blah'}{/function}`
+
## [3.1.38] - 2021-01-08
### Fixed
diff --git a/vendor/smarty/smarty/expectException b/vendor/smarty/smarty/expectException
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/smarty/smarty/expectException
diff --git a/vendor/smarty/smarty/libs/Smarty.class.php b/vendor/smarty/smarty/libs/Smarty.class.php
index 6564be6d2..375bab133 100644
--- a/vendor/smarty/smarty/libs/Smarty.class.php
+++ b/vendor/smarty/smarty/libs/Smarty.class.php
@@ -111,7 +111,7 @@ class Smarty extends Smarty_Internal_TemplateBase
/**
* smarty version
*/
- const SMARTY_VERSION = '3.1.38';
+ const SMARTY_VERSION = '3.1.39';
/**
* define variable scopes
*/
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_function.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_function.php
index 6e408ca72..d0f2b0f4a 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_function.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_function.php
@@ -58,6 +58,11 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase
}
unset($_attr[ 'nocache' ]);
$_name = trim($_attr[ 'name' ], '\'"');
+
+ if (!preg_match('/^[a-zA-Z0-9_\x80-\xff]+$/', $_name)) {
+ $compiler->trigger_template_error("Function name contains invalid characters: {$_name}", null, true);
+ }
+
$compiler->parent_compiler->tpl_function[ $_name ] = array();
$save = array(
$_attr, $compiler->parser->current_buffer, $compiler->template->compiled->has_nocache_code,
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php
index de7d4a224..d53ef51ff 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php
@@ -81,6 +81,10 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
case 'template':
return 'basename($_smarty_tpl->source->filepath)';
case 'template_object':
+ if (isset($compiler->smarty->security_policy)) {
+ $compiler->trigger_template_error("(secure mode) template_object not permitted");
+ break;
+ }
return '$_smarty_tpl';
case 'current_dir':
return 'dirname($_smarty_tpl->source->filepath)';
diff --git a/vendor/symfony/polyfill-ctype/composer.json b/vendor/symfony/polyfill-ctype/composer.json
index 995978c0a..f0621a3b6 100644
--- a/vendor/symfony/polyfill-ctype/composer.json
+++ b/vendor/symfony/polyfill-ctype/composer.json
@@ -28,7 +28,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
diff --git a/view/css/conversation.css b/view/css/conversation.css
index 43bc96e57..dbb930fc7 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -34,6 +34,8 @@
#jot-pagetitle-wrap input,
#jot-customjotheaders-wrap {
padding: 0.5rem;
+ outline: none;
+
}
#jot-text-wrap {
@@ -55,6 +57,7 @@
padding: 0.5rem;
width: 100%;
display: inherit;
+ outline: none;
}
#profile-jot-text.jot-expanded {
diff --git a/view/css/mod_dm.css b/view/css/mod_dm.css
new file mode 100644
index 000000000..dde242d4e
--- /dev/null
+++ b/view/css/mod_dm.css
@@ -0,0 +1,3 @@
+#jot-popup {
+ display: none;
+}
diff --git a/view/css/widgets.css b/view/css/widgets.css
index 30e7e6972..f9e0770f8 100644
--- a/view/css/widgets.css
+++ b/view/css/widgets.css
@@ -38,15 +38,16 @@ li:hover .widget-nav-pills-icons {
margin-top: 10px;
}
-/* notes */
+/* notes */
#note-text {
border: 1px solid rgba(0,0,0,.125);
padding: 5px;
width: 100%;
- resize: none;
+ resize: vertical;
min-height: 250px;
- overflow: hidden;
+ overflow: auto;
+ outline: none;
}
/* saved searches */
@@ -241,3 +242,12 @@ a.wikilist {
#cid-filter-wrapper {
position: relative;
}
+
+/* hq_controls */
+.hq_controls_fixed_bottom_center {
+ z-index: 1090;
+ position: fixed;
+ bottom: 0px;
+ left: 50%;
+ transform: translateX(-50%);
+}
diff --git a/view/es-es/hmessages.po b/view/es-es/hmessages.po
index 8c730d058..a9d2fdd48 100644
--- a/view/es-es/hmessages.po
+++ b/view/es-es/hmessages.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the hubzilla package.
#
# Translators:
-# Alfonso Martínez <alfonsomthd@tutanota.com>, 2015
+# Alfonso Martínez, 2015
# inboxwall <axetransit@gmail.com>, 2015
# jeroenpraat, 2015
# Manuel Jiménez Friaza <mjfriaza@disroot.org>, 2017-2021
@@ -14,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: hubzilla\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-02-23 10:52+0000\n"
-"PO-Revision-Date: 2021-02-24 09:30+0000\n"
+"POT-Creation-Date: 2021-04-29 08:26+0000\n"
+"PO-Revision-Date: 2021-05-14 18:05+0000\n"
"Last-Translator: Manuel Jiménez Friaza <mjfriaza@disroot.org>\n"
"Language-Team: Spanish (Spain) (http://www.transifex.com/Friendica/hubzilla/language/es_ES/)\n"
"MIME-Version: 1.0\n"
@@ -24,15 +24,12 @@ msgstr ""
"Language: es_ES\n"
"Plural-Forms: nplurals=2; plural=(n != 1 ? 1 : 0);\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:3382 ../../Zotlabs/Module/Admin/Site.php:191
+#: ../../include/text.php:3395 ../../Zotlabs/Module/Admin/Site.php:251
msgid "Default"
msgstr "Predeterminado"
@@ -90,8 +87,8 @@ msgstr "Focus (predefinido)"
#: ../../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:646 ../../Zotlabs/Module/Setup.php:304
-#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Group.php:151
+#: ../../Zotlabs/Module/Import.php:647 ../../Zotlabs/Module/Setup.php:306
+#: ../../Zotlabs/Module/Setup.php:346 ../../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
@@ -100,24 +97,25 @@ msgstr "Focus (predefinido)"
#: ../../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:293
+#: ../../Zotlabs/Module/Admin/Accounts.php:309
+#: ../../Zotlabs/Module/Admin/Site.php:412
#: ../../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/Regate.php:384 ../../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:1058 ../../Zotlabs/Module/Photos.php:1098
#: ../../Zotlabs/Module/Photos.php:1216 ../../Zotlabs/Module/Profiles.php:725
-#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Module/Invite.php:550 ../../Zotlabs/Module/Xchan.php:15
#: ../../Zotlabs/Module/Affinity.php:87 ../../Zotlabs/Module/Rate.php:168
#: ../../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/Account.php:107
#: ../../Zotlabs/Module/Settings/Events.php:42
#: ../../Zotlabs/Module/Settings/Manage.php:43
#: ../../Zotlabs/Module/Settings/Channel_home.php:91
@@ -132,7 +130,7 @@ msgstr "Focus (predefinido)"
#: ../../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:897
+#: ../../Zotlabs/Module/Wiki.php:214 ../../Zotlabs/Module/Connedit.php:897
#: ../../Zotlabs/Module/Locs.php:132 ../../Zotlabs/Module/Sources.php:125
#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Lib/ThreadItem.php:827
#: ../../Zotlabs/Storage/Browser.php:382
@@ -189,29 +187,29 @@ msgstr "Estrechar la barra de navegación"
#: ../../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:1469
+#: ../../addon/ljpost/Mod_Ljpost.php:71 ../../include/conversation.php:1468
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../include/dir_fns.php:146 ../../Zotlabs/Module/Import.php:635
-#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Import.php:640
-#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
-#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
-#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../include/dir_fns.php:146 ../../Zotlabs/Module/Import.php:636
+#: ../../Zotlabs/Module/Import.php:640 ../../Zotlabs/Module/Import.php:641
+#: ../../Zotlabs/Module/Register.php:536 ../../Zotlabs/Module/Mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
+#: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Filestorage.php:203
#: ../../Zotlabs/Module/Filestorage.php:211
-#: ../../Zotlabs/Module/Admin/Site.php:259 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Admin/Site.php:319 ../../Zotlabs/Module/Events.php:478
#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Api.php:99
#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Profiles.php:683
#: ../../Zotlabs/Module/Settings/Channel.php:311
#: ../../Zotlabs/Module/Settings/Display.php:88
#: ../../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:404
+#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Wiki.php:226
+#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:404
#: ../../Zotlabs/Module/Connedit.php:789 ../../Zotlabs/Module/Sources.php:124
#: ../../Zotlabs/Module/Sources.php:159 ../../Zotlabs/Lib/Libzotdir.php:165
#: ../../Zotlabs/Lib/Libzotdir.php:166 ../../Zotlabs/Lib/Libzotdir.php:168
#: ../../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
-#: ../../boot.php:1716
+#: ../../boot.php:1721
msgid "No"
msgstr "No"
@@ -257,28 +255,28 @@ msgstr "No"
#: ../../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:1469
+#: ../../addon/ljpost/Mod_Ljpost.php:71 ../../include/conversation.php:1468
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../include/dir_fns.php:146 ../../Zotlabs/Module/Import.php:635
-#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Import.php:640
-#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
-#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
-#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../include/dir_fns.php:146 ../../Zotlabs/Module/Import.php:636
+#: ../../Zotlabs/Module/Import.php:640 ../../Zotlabs/Module/Import.php:641
+#: ../../Zotlabs/Module/Register.php:536 ../../Zotlabs/Module/Mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
+#: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Filestorage.php:203
#: ../../Zotlabs/Module/Filestorage.php:211
-#: ../../Zotlabs/Module/Admin/Site.php:261 ../../Zotlabs/Module/Events.php:478
+#: ../../Zotlabs/Module/Admin/Site.php:321 ../../Zotlabs/Module/Events.php:478
#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Api.php:98
#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Profiles.php:683
#: ../../Zotlabs/Module/Settings/Channel.php:311
#: ../../Zotlabs/Module/Settings/Display.php:88
#: ../../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:404
+#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Wiki.php:226
+#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:404
#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166
#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../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 ../../boot.php:1716
+#: ../../Zotlabs/Storage/Browser.php:552 ../../boot.php:1721
msgid "Yes"
msgstr "Sí"
@@ -433,7 +431,7 @@ msgid "Channel Reputation"
msgstr "Reputación del canal"
#: ../../addon/channelreputation/channelreputation.php:233
-#: ../../include/acl_selectors.php:155 ../../Zotlabs/Widget/Pinned.php:160
+#: ../../include/acl_selectors.php:156 ../../Zotlabs/Widget/Pinned.php:158
#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Lib/ThreadItem.php:497
#: ../../Zotlabs/Storage/Browser.php:411
msgid "Close"
@@ -489,17 +487,17 @@ msgstr "App Superblock"
#: ../../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:876 ../../Zotlabs/Module/Webpages.php:48
+#: ../../Zotlabs/Module/Cdav.php:877 ../../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/Lang.php:17 ../../Zotlabs/Module/Uexport.php:62
#: ../../Zotlabs/Module/Mood.php:134 ../../Zotlabs/Module/Cards.php:51
#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Bookmarks.php:78
-#: ../../Zotlabs/Module/Probe.php:19 ../../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
+#: ../../Zotlabs/Module/Probe.php:19 ../../Zotlabs/Module/Invite.php:56
+#: ../../Zotlabs/Module/Invite.php:310 ../../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"
msgstr "No instalado/a"
@@ -593,7 +591,7 @@ msgid "View Profile"
msgstr "Ver el perfil"
#: ../../addon/openclipatar/openclipatar.php:58 ../../include/nav.php:120
-#: ../../include/channel.php:1543
+#: ../../include/channel.php:1567
msgid "Edit Profile"
msgstr "Editar el perfil"
@@ -711,8 +709,8 @@ msgstr "Mínimo 100, por defecto 100 microsegundos"
msgid "Queueworker Settings"
msgstr "Configuración del gestor de procesos de trabajo en cola"
-#: ../../addon/queueworker/Mod_Queueworker.php:116 ../../include/text.php:1152
-#: ../../include/text.php:1164 ../../Zotlabs/Widget/Notes.php:23
+#: ../../addon/queueworker/Mod_Queueworker.php:116 ../../include/text.php:1145
+#: ../../include/text.php:1157 ../../Zotlabs/Widget/Notes.php:23
#: ../../Zotlabs/Module/Admin/Profs.php:94
#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Cards.php:113
#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Articles.php:117
@@ -767,7 +765,7 @@ msgstr "Galería"
msgid "Photo Gallery"
msgstr "Galería de fotos"
-#: ../../addon/gallery/Mod_Gallery.php:49 ../../include/channel.php:1440
+#: ../../addon/gallery/Mod_Gallery.php:49 ../../include/channel.php:1464
#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Editwebpage.php:32
#: ../../Zotlabs/Module/Profile.php:27 ../../Zotlabs/Module/Webpages.php:39
#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Connect.php:17
@@ -798,7 +796,7 @@ msgstr "Establecer un planeta aleatorio del Imperio de la Guerra de las Galaxias
#: ../../addon/openid/Mod_Id.php:53 ../../addon/mail/Mod_Mail.php:26
#: ../../addon/pumpio/pumpio.php:44 ../../addon/keepout/keepout.php:36
-#: ../../include/photos.php:27 ../../include/items.php:4001
+#: ../../include/photos.php:27 ../../include/items.php:4087
#: ../../include/attach.php:156 ../../include/attach.php:205
#: ../../include/attach.php:278 ../../include/attach.php:329
#: ../../include/attach.php:424 ../../include/attach.php:438
@@ -808,12 +806,12 @@ msgstr "Establecer un planeta aleatorio del Imperio de la Guerra de las Galaxias
#: ../../Zotlabs/Module/Attach_edit.php:90
#: ../../Zotlabs/Module/Attach_edit.php:99
#: ../../Zotlabs/Module/Attach_edit.php:106
-#: ../../Zotlabs/Module/Network.php:19 ../../Zotlabs/Module/Register.php:80
-#: ../../Zotlabs/Module/Setup.php:206
+#: ../../Zotlabs/Module/Network.php:19 ../../Zotlabs/Module/Register.php:197
+#: ../../Zotlabs/Module/Setup.php:208
#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
-#: ../../Zotlabs/Module/Channel.php:209 ../../Zotlabs/Module/Channel.php:364
-#: ../../Zotlabs/Module/Channel.php:403 ../../Zotlabs/Module/Group.php:15
+#: ../../Zotlabs/Module/Channel.php:209 ../../Zotlabs/Module/Channel.php:365
+#: ../../Zotlabs/Module/Channel.php:404 ../../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
@@ -822,8 +820,8 @@ msgstr "Establecer un planeta aleatorio del Imperio de la Guerra de las Galaxias
#: ../../Zotlabs/Module/Chat.php:118
#: ../../Zotlabs/Module/Channel_calendar.php:232
#: ../../Zotlabs/Module/Like.php:242 ../../Zotlabs/Module/Poke.php:157
-#: ../../Zotlabs/Module/Item.php:496 ../../Zotlabs/Module/Item.php:515
-#: ../../Zotlabs/Module/Item.php:525 ../../Zotlabs/Module/Item.php:1436
+#: ../../Zotlabs/Module/Item.php:506 ../../Zotlabs/Module/Item.php:525
+#: ../../Zotlabs/Module/Item.php:535 ../../Zotlabs/Module/Item.php:1444
#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Profile.php:99
#: ../../Zotlabs/Module/Profile.php:114
#: ../../Zotlabs/Module/Sharedwithme.php:19
@@ -837,7 +835,7 @@ msgstr "Establecer un planeta aleatorio del Imperio de la Guerra de las Galaxias
#: ../../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:428
+#: ../../Zotlabs/Module/Moderate.php:15 ../../Zotlabs/Module/Display.php:420
#: ../../Zotlabs/Module/Common.php:38 ../../Zotlabs/Module/New_channel.php:105
#: ../../Zotlabs/Module/New_channel.php:130
#: ../../Zotlabs/Module/Service_limits.php:11
@@ -856,14 +854,14 @@ msgstr "Establecer un planeta aleatorio del Imperio de la Guerra de las Galaxias
#: ../../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/Invite.php:51 ../../Zotlabs/Module/Invite.php:302
#: ../../Zotlabs/Module/Block.php:24 ../../Zotlabs/Module/Block.php:74
#: ../../Zotlabs/Module/Rate.php:115 ../../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/Wiki.php:59 ../../Zotlabs/Module/Wiki.php:284
+#: ../../Zotlabs/Module/Wiki.php:427 ../../Zotlabs/Module/Suggest.php:32
#: ../../Zotlabs/Module/Connedit.php:397
#: ../../Zotlabs/Module/Notifications.php:11
#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
@@ -874,12 +872,12 @@ msgid "Permission denied."
msgstr "Acceso denegado."
#: ../../addon/openid/Mod_Id.php:85 ../../include/selectors.php:60
-#: ../../include/selectors.php:77 ../../include/channel.php:1723
+#: ../../include/selectors.php:77 ../../include/channel.php:1747
msgid "Male"
msgstr "Hombre"
#: ../../addon/openid/Mod_Id.php:87 ../../include/selectors.php:60
-#: ../../include/selectors.php:77 ../../include/channel.php:1721
+#: ../../include/selectors.php:77 ../../include/channel.php:1745
msgid "Female"
msgstr "Mujer"
@@ -927,9 +925,9 @@ msgstr "Nombre completo"
#: ../../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:1764 ../../Zotlabs/Module/Cdav.php:1376
-#: ../../Zotlabs/Module/Admin/Accounts.php:171
-#: ../../Zotlabs/Module/Admin/Accounts.php:183
+#: ../../include/network.php:1768 ../../Zotlabs/Module/Cdav.php:1377
+#: ../../Zotlabs/Module/Admin/Accounts.php:316
+#: ../../Zotlabs/Module/Admin/Accounts.php:330
#: ../../Zotlabs/Module/Profiles.php:789 ../../Zotlabs/Module/Connedit.php:920
msgid "Email"
msgstr "Correo electrónico"
@@ -1149,7 +1147,7 @@ msgstr "Tenga en cuenta que las estadísticas de Diaspora y Friendica se refiere
msgid "Channel is required."
msgstr "Se requiere un canal."
-#: ../../addon/redred/Mod_Redred.php:29 ../../Zotlabs/Module/Network.php:322
+#: ../../addon/redred/Mod_Redred.php:29 ../../Zotlabs/Module/Network.php:326
msgid "Invalid channel."
msgstr "El canal no es válido."
@@ -1207,7 +1205,7 @@ msgstr "Se han importado las fotos"
#: ../../include/items.php:441 ../../Zotlabs/Module/Import_items.php:120
#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Group.php:99
#: ../../Zotlabs/Module/Like.php:342 ../../Zotlabs/Module/Cloud.php:123
-#: ../../Zotlabs/Module/Share.php:72 ../../Zotlabs/Module/Subthread.php:86
+#: ../../Zotlabs/Module/Share.php:72 ../../Zotlabs/Module/Subthread.php:89
#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82
#: ../../Zotlabs/Web/WebServer.php:115
msgid "Permission denied"
@@ -1253,10 +1251,10 @@ msgid "0 or blank to import all available"
msgstr "0 o en blanco para importar todos los disponibles"
#: ../../addon/redphotos/redphotohelper.php:71
-#: ../../addon/pubcrawl/as.php:2049 ../../addon/diaspora/Receiver.php:1641
-#: ../../include/text.php:2253 ../../include/conversation.php:128
+#: ../../addon/pubcrawl/as.php:2101 ../../addon/diaspora/Receiver.php:1649
+#: ../../include/text.php:2254 ../../include/conversation.php:128
#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Tagger.php:71
-#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:3229
+#: ../../Zotlabs/Module/Subthread.php:115 ../../Zotlabs/Lib/Activity.php:3264
msgid "photo"
msgstr "foto"
@@ -1388,7 +1386,7 @@ msgid "Post to GNU social"
msgstr "Publicar en GNU social"
#: ../../addon/statusnet/statusnet.php:593
-#: ../../Zotlabs/Module/Admin/Site.php:301
+#: ../../Zotlabs/Module/Admin/Site.php:420
msgid "Site name"
msgstr "Nombre del sitio"
@@ -1453,7 +1451,7 @@ msgstr "Publicar en WordPress"
#: ../../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
+#: ../../addon/ljpost/ljpost.php:134 ../../Zotlabs/Module/Wiki.php:383
msgid "Source"
msgstr "Fuente"
@@ -1576,16 +1574,16 @@ msgstr "Modificado desde la fecha yyyy-mm-dd"
msgid "Until modified date yyyy-mm-dd"
msgstr "Modificado hasta la fecha yyyy-mm-dd"
-#: ../../addon/hsse/hsse.php:82 ../../include/conversation.php:1331
+#: ../../addon/hsse/hsse.php:82 ../../include/conversation.php:1332
msgid "Set your location"
msgstr "Establecer su ubicación"
-#: ../../addon/hsse/hsse.php:83 ../../include/conversation.php:1332
+#: ../../addon/hsse/hsse.php:83 ../../include/conversation.php:1333
msgid "Clear browser location"
msgstr "Eliminar los datos de localización geográfica del navegador"
#: ../../addon/hsse/hsse.php:95 ../../addon/mail/Mod_Mail.php:167
-#: ../../addon/mail/Mod_Mail.php:310 ../../include/conversation.php:1344
+#: ../../addon/mail/Mod_Mail.php:310 ../../include/conversation.php:1345
#: ../../Zotlabs/Module/Article_edit.php:100
#: ../../Zotlabs/Module/Card_edit.php:101
#: ../../Zotlabs/Module/Editwebpage.php:143 ../../Zotlabs/Module/Chat.php:220
@@ -1593,129 +1591,129 @@ msgstr "Eliminar los datos de localización geográfica del navegador"
msgid "Insert web link"
msgstr "Insertar enlace web"
-#: ../../addon/hsse/hsse.php:99 ../../include/conversation.php:1348
+#: ../../addon/hsse/hsse.php:99 ../../include/conversation.php:1349
msgid "Embed (existing) photo from your photo albums"
msgstr "Insertar una foto de sus álbumes"
#: ../../addon/hsse/hsse.php:134 ../../addon/mail/Mod_Mail.php:120
-#: ../../addon/mail/Mod_Mail.php:241 ../../include/conversation.php:1383
+#: ../../addon/mail/Mod_Mail.php:241 ../../include/conversation.php:1382
#: ../../Zotlabs/Module/Chat.php:218
msgid "Please enter a link URL:"
msgstr "Por favor, introduzca la dirección del enlace:"
-#: ../../addon/hsse/hsse.php:135 ../../include/conversation.php:1384
+#: ../../addon/hsse/hsse.php:135 ../../include/conversation.php:1383
msgid "Tag term:"
msgstr "Término de la etiqueta:"
-#: ../../addon/hsse/hsse.php:136 ../../include/conversation.php:1385
+#: ../../addon/hsse/hsse.php:136 ../../include/conversation.php:1384
msgid "Where are you right now?"
msgstr "¿Donde está ahora?"
-#: ../../addon/hsse/hsse.php:139 ../../include/conversation.php:1388
+#: ../../addon/hsse/hsse.php:139 ../../include/conversation.php:1387
#: ../../Zotlabs/Module/Profile_photo.php:509
-#: ../../Zotlabs/Module/Cover_photo.php:430 ../../Zotlabs/Module/Wiki.php:403
+#: ../../Zotlabs/Module/Cover_photo.php:430 ../../Zotlabs/Module/Wiki.php:402
msgid "Choose images to embed"
msgstr "Elegir imágenes para incluir"
-#: ../../addon/hsse/hsse.php:140 ../../include/conversation.php:1389
+#: ../../addon/hsse/hsse.php:140 ../../include/conversation.php:1388
#: ../../Zotlabs/Module/Profile_photo.php:510
-#: ../../Zotlabs/Module/Cover_photo.php:431 ../../Zotlabs/Module/Wiki.php:404
+#: ../../Zotlabs/Module/Cover_photo.php:431 ../../Zotlabs/Module/Wiki.php:403
msgid "Choose an album"
msgstr "Elegir un álbum"
-#: ../../addon/hsse/hsse.php:141 ../../include/conversation.php:1390
+#: ../../addon/hsse/hsse.php:141 ../../include/conversation.php:1389
msgid "Choose a different album..."
msgstr "Elegir un álbum diferente..."
-#: ../../addon/hsse/hsse.php:142 ../../include/conversation.php:1391
+#: ../../addon/hsse/hsse.php:142 ../../include/conversation.php:1390
#: ../../Zotlabs/Module/Profile_photo.php:512
-#: ../../Zotlabs/Module/Cover_photo.php:433 ../../Zotlabs/Module/Wiki.php:406
+#: ../../Zotlabs/Module/Cover_photo.php:433 ../../Zotlabs/Module/Wiki.php:405
msgid "Error getting album list"
msgstr "Error al obtener la lista de álbumes"
-#: ../../addon/hsse/hsse.php:143 ../../include/conversation.php:1392
+#: ../../addon/hsse/hsse.php:143 ../../include/conversation.php:1391
#: ../../Zotlabs/Module/Profile_photo.php:513
-#: ../../Zotlabs/Module/Cover_photo.php:434 ../../Zotlabs/Module/Wiki.php:407
+#: ../../Zotlabs/Module/Cover_photo.php:434 ../../Zotlabs/Module/Wiki.php:406
msgid "Error getting photo link"
msgstr "Error al obtener el enlace de la foto"
-#: ../../addon/hsse/hsse.php:144 ../../include/conversation.php:1393
+#: ../../addon/hsse/hsse.php:144 ../../include/conversation.php:1392
#: ../../Zotlabs/Module/Profile_photo.php:514
-#: ../../Zotlabs/Module/Cover_photo.php:435 ../../Zotlabs/Module/Wiki.php:408
+#: ../../Zotlabs/Module/Cover_photo.php:435 ../../Zotlabs/Module/Wiki.php:407
msgid "Error getting album"
msgstr "Error al obtener el álbum"
-#: ../../addon/hsse/hsse.php:145 ../../include/conversation.php:1394
+#: ../../addon/hsse/hsse.php:145 ../../include/conversation.php:1393
msgid "Comments enabled"
msgstr "Comentarios habilitados"
-#: ../../addon/hsse/hsse.php:146 ../../include/conversation.php:1395
+#: ../../addon/hsse/hsse.php:146 ../../include/conversation.php:1394
msgid "Comments disabled"
msgstr "Comentarios deshabilitados"
-#: ../../addon/hsse/hsse.php:153 ../../include/conversation.php:1405
+#: ../../addon/hsse/hsse.php:153 ../../include/conversation.php:1404
#: ../../Zotlabs/Module/Webpages.php:262 ../../Zotlabs/Module/Events.php:486
#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:837
msgid "Preview"
msgstr "Previsualizar"
-#: ../../addon/hsse/hsse.php:186 ../../include/conversation.php:1438
+#: ../../addon/hsse/hsse.php:186 ../../include/conversation.php:1437
#: ../../Zotlabs/Widget/Cdav.php:136 ../../Zotlabs/Module/Webpages.php:256
#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Photos.php:1078
-#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Wiki.php:300 ../../Zotlabs/Module/Layouts.php:194
msgid "Share"
msgstr "Compartir"
-#: ../../addon/hsse/hsse.php:195 ../../include/conversation.php:1447
+#: ../../addon/hsse/hsse.php:195 ../../include/conversation.php:1446
msgid "Page link name"
msgstr "Nombre del enlace de la página"
-#: ../../addon/hsse/hsse.php:198 ../../include/conversation.php:1450
+#: ../../addon/hsse/hsse.php:198 ../../include/conversation.php:1449
msgid "Post as"
msgstr "Publicar como"
-#: ../../addon/hsse/hsse.php:200 ../../include/conversation.php:1452
+#: ../../addon/hsse/hsse.php:200 ../../include/conversation.php:1451
#: ../../Zotlabs/Lib/ThreadItem.php:828
msgid "Bold"
msgstr "Negrita"
-#: ../../addon/hsse/hsse.php:201 ../../include/conversation.php:1453
+#: ../../addon/hsse/hsse.php:201 ../../include/conversation.php:1452
#: ../../Zotlabs/Lib/ThreadItem.php:829
msgid "Italic"
msgstr "Itálico "
-#: ../../addon/hsse/hsse.php:202 ../../include/conversation.php:1454
+#: ../../addon/hsse/hsse.php:202 ../../include/conversation.php:1453
#: ../../Zotlabs/Lib/ThreadItem.php:830
msgid "Underline"
msgstr "Subrayar"
-#: ../../addon/hsse/hsse.php:203 ../../include/conversation.php:1455
+#: ../../addon/hsse/hsse.php:203 ../../include/conversation.php:1454
#: ../../Zotlabs/Lib/ThreadItem.php:831
msgid "Quote"
msgstr "Citar"
-#: ../../addon/hsse/hsse.php:204 ../../include/conversation.php:1456
+#: ../../addon/hsse/hsse.php:204 ../../include/conversation.php:1455
#: ../../Zotlabs/Lib/ThreadItem.php:832
msgid "Code"
msgstr "Código"
-#: ../../addon/hsse/hsse.php:205 ../../include/conversation.php:1457
+#: ../../addon/hsse/hsse.php:205 ../../include/conversation.php:1456
#: ../../Zotlabs/Lib/ThreadItem.php:834
msgid "Attach/Upload file"
msgstr "Adjuntar/cargar fichero"
-#: ../../addon/hsse/hsse.php:208 ../../include/conversation.php:1460
-#: ../../Zotlabs/Module/Wiki.php:400
+#: ../../addon/hsse/hsse.php:208 ../../include/conversation.php:1459
+#: ../../Zotlabs/Module/Wiki.php:399
msgid "Embed an image from your albums"
msgstr "Incluir una imagen de sus álbumes"
#: ../../addon/hsse/hsse.php:209 ../../addon/hsse/hsse.php:258
-#: ../../include/conversation.php:1461 ../../include/conversation.php:1516
+#: ../../include/conversation.php:1460 ../../include/conversation.php:1515
#: ../../Zotlabs/Module/Article_edit.php:131
#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
#: ../../Zotlabs/Module/Card_edit.php:132 ../../Zotlabs/Module/Oauth.php:112
#: ../../Zotlabs/Module/Oauth.php:138 ../../Zotlabs/Module/Editwebpage.php:169
-#: ../../Zotlabs/Module/Cdav.php:1058 ../../Zotlabs/Module/Cdav.php:1390
+#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1391
#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
#: ../../Zotlabs/Module/Editpost.php:111
#: ../../Zotlabs/Module/Admin/Addons.php:427
@@ -1724,32 +1722,32 @@ msgstr "Incluir una imagen de sus álbumes"
#: ../../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:934
+#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:367
+#: ../../Zotlabs/Module/Wiki.php:400 ../../Zotlabs/Module/Connedit.php:934
#: ../../Zotlabs/Storage/Browser.php:383
msgid "Cancel"
msgstr "Cancelar"
#: ../../addon/hsse/hsse.php:210 ../../addon/hsse/hsse.php:257
-#: ../../include/conversation.php:1462 ../../include/conversation.php:1515
+#: ../../include/conversation.php:1461 ../../include/conversation.php:1514
#: ../../Zotlabs/Module/Profile_photo.php:508
-#: ../../Zotlabs/Module/Cover_photo.php:429 ../../Zotlabs/Module/Wiki.php:402
+#: ../../Zotlabs/Module/Cover_photo.php:429 ../../Zotlabs/Module/Wiki.php:401
msgid "OK"
msgstr "OK"
-#: ../../addon/hsse/hsse.php:212 ../../include/conversation.php:1464
+#: ../../addon/hsse/hsse.php:212 ../../include/conversation.php:1463
msgid "Toggle voting"
msgstr "Cambiar votación"
-#: ../../addon/hsse/hsse.php:215 ../../include/conversation.php:1471
+#: ../../addon/hsse/hsse.php:215 ../../include/conversation.php:1470
msgid "Disable comments"
msgstr "Dehabilitar los comentarios"
-#: ../../addon/hsse/hsse.php:216 ../../include/conversation.php:1472
+#: ../../addon/hsse/hsse.php:216 ../../include/conversation.php:1471
msgid "Toggle comments"
msgstr "Activar o desactivar los comentarios"
-#: ../../addon/hsse/hsse.php:221 ../../include/conversation.php:1478
+#: ../../addon/hsse/hsse.php:221 ../../include/conversation.php:1477
#: ../../Zotlabs/Module/Article_edit.php:117
#: ../../Zotlabs/Module/Card_edit.php:118
#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674
@@ -1757,30 +1755,30 @@ msgstr "Activar o desactivar los comentarios"
msgid "Title (optional)"
msgstr "Título (opcional)"
-#: ../../addon/hsse/hsse.php:224 ../../include/conversation.php:1482
+#: ../../addon/hsse/hsse.php:224 ../../include/conversation.php:1481
msgid "Categories (optional, comma-separated list)"
msgstr "Temas (opcional, lista separada por comas)"
-#: ../../addon/hsse/hsse.php:225 ../../include/conversation.php:1483
+#: ../../addon/hsse/hsse.php:225 ../../include/conversation.php:1482
#: ../../Zotlabs/Module/Events.php:487
msgid "Permission settings"
msgstr "Configuración de permisos"
-#: ../../addon/hsse/hsse.php:247 ../../include/conversation.php:1505
+#: ../../addon/hsse/hsse.php:247 ../../include/conversation.php:1504
msgid "Other networks and post services"
msgstr "Otras redes y servicios de publicación"
#: ../../addon/hsse/hsse.php:250 ../../addon/mail/Mod_Mail.php:171
-#: ../../addon/mail/Mod_Mail.php:314 ../../include/conversation.php:1508
+#: ../../addon/mail/Mod_Mail.php:314 ../../include/conversation.php:1507
msgid "Set expiration date"
msgstr "Configurar fecha de caducidad"
-#: ../../addon/hsse/hsse.php:253 ../../include/conversation.php:1511
+#: ../../addon/hsse/hsse.php:253 ../../include/conversation.php:1510
msgid "Set publish date"
msgstr "Establecer la fecha de publicación"
#: ../../addon/hsse/hsse.php:255 ../../addon/mail/Mod_Mail.php:173
-#: ../../addon/mail/Mod_Mail.php:316 ../../include/conversation.php:1513
+#: ../../addon/mail/Mod_Mail.php:316 ../../include/conversation.php:1512
#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:841
msgid "Encrypt text"
msgstr "Cifrar texto"
@@ -1896,37 +1894,37 @@ msgstr "Generador QR"
msgid "Enter some text"
msgstr "Escribir algún texto"
-#: ../../addon/pubcrawl/as.php:1183 ../../include/cdav.php:158
+#: ../../addon/pubcrawl/as.php:1189 ../../include/cdav.php:158
#: ../../include/cdav.php:159 ../../include/cdav.php:167
#: ../../include/conversation.php:1214 ../../Zotlabs/Widget/Album.php:84
-#: ../../Zotlabs/Widget/Pinned.php:270 ../../Zotlabs/Widget/Portfolio.php:95
+#: ../../Zotlabs/Widget/Pinned.php:268 ../../Zotlabs/Widget/Portfolio.php:95
#: ../../Zotlabs/Module/Embedphotos.php:177
#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255
-#: ../../Zotlabs/Lib/Activity.php:1529 ../../Zotlabs/Lib/Apps.php:1112
+#: ../../Zotlabs/Lib/Activity.php:1552 ../../Zotlabs/Lib/Apps.php:1112
#: ../../Zotlabs/Lib/Apps.php:1196
msgid "Unknown"
msgstr "Desconocido"
-#: ../../addon/pubcrawl/as.php:1475 ../../addon/pubcrawl/as.php:1887
-#: ../../addon/pubcrawl/as.php:2095 ../../include/network.php:1763
-#: ../../Zotlabs/Lib/Activity.php:3079 ../../Zotlabs/Lib/Activity.php:3271
+#: ../../addon/pubcrawl/as.php:1490 ../../addon/pubcrawl/as.php:1939
+#: ../../addon/pubcrawl/as.php:2147 ../../include/network.php:1767
+#: ../../Zotlabs/Lib/Activity.php:3114 ../../Zotlabs/Lib/Activity.php:3306
msgid "ActivityPub"
msgstr "ActivityPub"
-#: ../../addon/pubcrawl/as.php:2049 ../../addon/diaspora/Receiver.php:1641
-#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Subthread.php:112
+#: ../../addon/pubcrawl/as.php:2101 ../../addon/diaspora/Receiver.php:1649
+#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Subthread.php:115
msgid "status"
msgstr "el mensaje de estado "
-#: ../../addon/pubcrawl/as.php:2086 ../../addon/diaspora/Receiver.php:1587
+#: ../../addon/pubcrawl/as.php:2138 ../../addon/diaspora/Receiver.php:1595
#: ../../include/conversation.php:174 ../../Zotlabs/Module/Like.php:471
-#: ../../Zotlabs/Lib/Activity.php:3262
+#: ../../Zotlabs/Lib/Activity.php:3297
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr "A %1$s le gusta %3$s de %2$s"
-#: ../../addon/pubcrawl/as.php:2088 ../../include/conversation.php:177
-#: ../../Zotlabs/Module/Like.php:473 ../../Zotlabs/Lib/Activity.php:3264
+#: ../../addon/pubcrawl/as.php:2140 ../../include/conversation.php:177
+#: ../../Zotlabs/Module/Like.php:473 ../../Zotlabs/Lib/Activity.php:3299
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "A %1$s no le gusta %3$s de %2$s"
@@ -2219,12 +2217,12 @@ msgstr "Reunámonos aquí"
#: ../../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:1372
+#: ../../Zotlabs/Module/Cdav.php:1373
#: ../../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:916
-#: ../../Zotlabs/Lib/NativeWikiPage.php:563
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Lib/NativeWikiPage.php:576
#: ../../Zotlabs/Storage/Browser.php:377
msgid "Name"
msgstr "Nombre"
@@ -2232,7 +2230,7 @@ msgstr "Nombre"
#: ../../addon/rendezvous/rendezvous.php:173
#: ../../addon/cart/submodules/hzservices.php:655
#: ../../addon/cart/submodules/manualcat.php:260
-#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Events.php:481
+#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:481
#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101
msgid "Description"
msgstr "Descripción"
@@ -2313,7 +2311,7 @@ msgid "You have no rendezvous. Press the button above to create a rendezvous!"
msgstr "No tiene ninguna cita. ¡Presione el botón de arriba para crear una!"
#: ../../addon/rendezvous/rendezvous.php:401
-#: ../../Zotlabs/Module/Setup.php:718
+#: ../../Zotlabs/Module/Setup.php:720
msgid "Errors encountered creating database tables."
msgstr "Se han encontrado errores al crear las tablas de la base de datos."
@@ -2373,10 +2371,11 @@ msgid "To:"
msgstr "Para:"
#: ../../addon/mail/Mod_Mail.php:161 ../../addon/mail/Mod_Mail.php:303
+#: ../../Zotlabs/Module/Invite.php:542
msgid "Subject:"
msgstr "Asunto:"
-#: ../../addon/mail/Mod_Mail.php:164 ../../Zotlabs/Module/Invite.php:157
+#: ../../addon/mail/Mod_Mail.php:164 ../../Zotlabs/Module/Invite.php:539
msgid "Your message:"
msgstr "Su mensaje:"
@@ -2848,7 +2847,8 @@ msgstr "Etiqueta"
#: ../../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
+#: ../../include/js_strings.php:123 ../../include/datetime.php:211
+#: ../../Zotlabs/Module/Register.php:522 ../../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
@@ -3086,7 +3086,7 @@ msgid "Unable to create a unique channel address. Import failed."
msgstr "No se ha podido crear una dirección de canal única. Ha fallado la importación."
#: ../../addon/diaspora/import_diaspora.php:142
-#: ../../Zotlabs/Module/Import.php:594
+#: ../../Zotlabs/Module/Import.php:595
msgid "Import completed."
msgstr "Importación completada."
@@ -3109,6 +3109,12 @@ msgstr "App Protocolo Diaspora"
msgid "Allow any Diaspora member to comment or like your public posts"
msgstr "Permitir que cualquier miembro de Diaspora comente o ponga un like en sus entradas públicas"
+#: ../../addon/diaspora/Mod_Diaspora.php:77
+msgid ""
+"If this setting is disabled only your contacts will be able to comment or "
+"like your public posts"
+msgstr "Si esta configuración está desactivada, sólo sus contactos podrán comentar o dar a \"me gusta\" en sus publicaciones públicas"
+
#: ../../addon/diaspora/Mod_Diaspora.php:81
msgid "Prevent your hashtags from being redirected to other sites"
msgstr "Impedir que sus \"hashtags\" sean redirigidos a otros sitios "
@@ -3126,22 +3132,22 @@ msgstr "\"Hashtags\" seguidos (separados por comas, sin incluir #)"
msgid "Diaspora Protocol"
msgstr "Protocolo Diaspora"
-#: ../../addon/diaspora/Receiver.php:1591
+#: ../../addon/diaspora/Receiver.php:1599
#, php-format
msgid "%1$s dislikes %2$s's %3$s"
msgstr "a %1$s no le gusta el %3$s de %2$s"
-#: ../../addon/diaspora/Receiver.php:2218 ../../Zotlabs/Module/Like.php:481
+#: ../../addon/diaspora/Receiver.php:2226 ../../Zotlabs/Module/Like.php:481
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%3$s de %2$s: %1$s participa"
-#: ../../addon/diaspora/Receiver.php:2220 ../../Zotlabs/Module/Like.php:483
+#: ../../addon/diaspora/Receiver.php:2228 ../../Zotlabs/Module/Like.php:483
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%3$s de %2$s: %1$s no participa"
-#: ../../addon/diaspora/Receiver.php:2222 ../../Zotlabs/Module/Like.php:485
+#: ../../addon/diaspora/Receiver.php:2230 ../../Zotlabs/Module/Like.php:485
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%3$s de %2$s: %1$s quizá participe"
@@ -3230,7 +3236,7 @@ msgid "Web link."
msgstr "Enlace Web."
#: ../../addon/workflow/workflow.php:2617
-#: ../../addon/workflow/workflow.php:2678 ../../Zotlabs/Module/Cdav.php:1374
+#: ../../addon/workflow/workflow.php:2678 ../../Zotlabs/Module/Cdav.php:1375
#: ../../Zotlabs/Module/Connedit.php:918
msgid "Title"
msgstr "Título"
@@ -3363,7 +3369,9 @@ msgctxt "opensearch"
msgid "$Projectname"
msgstr "$Projectname"
-#: ../../addon/opensearch/opensearch.php:42 ../../Zotlabs/Module/Home.php:87
+#: ../../addon/opensearch/opensearch.php:42
+#: ../../Zotlabs/Module/Invite.php:225 ../../Zotlabs/Module/Invite.php:494
+#: ../../Zotlabs/Module/Invite.php:508 ../../Zotlabs/Module/Home.php:87
#: ../../Zotlabs/Module/Home.php:95 ../../Zotlabs/Lib/Enotify.php:66
msgid "$Projectname"
msgstr "$Projectname"
@@ -3436,7 +3444,7 @@ msgid "New registration"
msgstr "Nuevo registro"
#: ../../addon/notifyadmin/notifyadmin.php:40
-#: ../../Zotlabs/Module/Invite.php:90
+#: ../../Zotlabs/Module/Invite.php:252
#, php-format
msgid "%s : Message delivery failed."
msgstr "%s : Falló el envío del mensaje."
@@ -3451,7 +3459,7 @@ msgid "Not allowed."
msgstr "No permitido/a."
#: ../../addon/flashcards/Mod_Flashcards.php:254
-#: ../../include/acl_selectors.php:153 ../../Zotlabs/Module/Chat.php:241
+#: ../../include/acl_selectors.php:154 ../../Zotlabs/Module/Chat.php:241
#: ../../Zotlabs/Module/Filestorage.php:195
#: ../../Zotlabs/Module/Photos.php:678 ../../Zotlabs/Module/Photos.php:1047
#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374
@@ -3465,12 +3473,12 @@ msgid "Set/edit permissions"
msgstr "Establecer/editar los permisos"
#: ../../addon/flashcards/Mod_Flashcards.php:284
-#: ../../addon/flashcards/Mod_Flashcards.php:285 ../../include/items.php:3924
+#: ../../addon/flashcards/Mod_Flashcards.php:285 ../../include/items.php:4010
#: ../../Zotlabs/Module/Filestorage.php:29
#: ../../Zotlabs/Module/Admin/Themes.php:72
#: ../../Zotlabs/Module/Admin/Addons.php:260
#: ../../Zotlabs/Module/Viewsrc.php:25 ../../Zotlabs/Module/Display.php:42
-#: ../../Zotlabs/Module/Display.php:432 ../../Zotlabs/Module/Admin.php:62
+#: ../../Zotlabs/Module/Display.php:424 ../../Zotlabs/Module/Admin.php:62
#: ../../Zotlabs/Module/Thing.php:96
msgid "Item not found."
msgstr "Elemento no encontrado."
@@ -3933,10 +3941,10 @@ msgstr "Publicar en Livejournal"
msgid "Posted by"
msgstr "Publicado por "
-#: ../../addon/mdpost/mdpost.php:41 ../../include/text.php:2117
+#: ../../addon/mdpost/mdpost.php:41 ../../include/text.php:2118
#: ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217
-#: ../../Zotlabs/Module/Wiki.php:371
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:216
+#: ../../Zotlabs/Module/Wiki.php:370
msgid "Markdown"
msgstr "Markdown"
@@ -4057,11 +4065,11 @@ msgstr "Ajustes de XMPP"
msgid "Invalid data packet"
msgstr "Paquete de datos no válido"
-#: ../../include/zot.php:805 ../../Zotlabs/Lib/Libzot.php:656
+#: ../../include/zot.php:805 ../../Zotlabs/Lib/Libzot.php:655
msgid "Unable to verify channel signature"
msgstr "No ha sido posible de verificar la firma del canal"
-#: ../../include/zot.php:2663 ../../Zotlabs/Lib/Libsync.php:737
+#: ../../include/zot.php:2663 ../../Zotlabs/Lib/Libsync.php:740
#, php-format
msgid "Unable to verify site signature for %s"
msgstr "No ha sido posible de verificar la firma del sitio para %s"
@@ -4094,278 +4102,278 @@ msgstr "más antiguas"
msgid "newer"
msgstr "más recientes"
-#: ../../include/text.php:1025
+#: ../../include/text.php:1018
msgid "No connections"
msgstr "Sin conexiones"
-#: ../../include/text.php:1037 ../../include/features.php:133
+#: ../../include/text.php:1030 ../../include/features.php:133
#: ../../Zotlabs/Module/Connections.php:375 ../../Zotlabs/Lib/Apps.php:333
msgid "Connections"
msgstr "Conexiones"
-#: ../../include/text.php:1045 ../../Zotlabs/Module/Viewconnections.php:80
+#: ../../include/text.php:1038 ../../Zotlabs/Module/Viewconnections.php:80
#: ../../Zotlabs/Module/Connections.php:289
msgid "Accepts"
msgstr "Se acepta"
-#: ../../include/text.php:1048 ../../Zotlabs/Module/Viewconnections.php:83
+#: ../../include/text.php:1041 ../../Zotlabs/Module/Viewconnections.php:83
#: ../../Zotlabs/Module/Connections.php:292
msgid "Comments"
msgstr "Comentarios"
-#: ../../include/text.php:1053 ../../Zotlabs/Module/Viewconnections.php:88
+#: ../../include/text.php:1046 ../../Zotlabs/Module/Viewconnections.php:88
#: ../../Zotlabs/Module/Connections.php:297
msgid "Stream items"
msgstr "Elementos del stream"
-#: ../../include/text.php:1058 ../../Zotlabs/Module/Viewconnections.php:93
+#: ../../include/text.php:1051 ../../Zotlabs/Module/Viewconnections.php:93
#: ../../Zotlabs/Module/Connections.php:302
msgid "Wall posts"
msgstr "Entradas del Muro"
-#: ../../include/text.php:1062 ../../Zotlabs/Module/Viewconnections.php:97
+#: ../../include/text.php:1055 ../../Zotlabs/Module/Viewconnections.php:97
#: ../../Zotlabs/Module/Connections.php:306
msgid "Nothing"
msgstr "Nada"
-#: ../../include/text.php:1077
+#: ../../include/text.php:1070
#, php-format
msgid "View all %s connections"
msgstr "Ver todas las %s conexiones"
-#: ../../include/text.php:1140
+#: ../../include/text.php:1133
#, php-format
msgid "Network: %s"
msgstr "Red %s"
-#: ../../include/text.php:1151 ../../include/text.php:1163
-#: ../../include/nav.php:194 ../../include/acl_selectors.php:148
+#: ../../include/text.php:1144 ../../include/text.php:1156
+#: ../../include/nav.php:194 ../../include/acl_selectors.php:149
#: ../../Zotlabs/Widget/Sitesearch.php:31
-#: ../../Zotlabs/Widget/Activity_filter.php:193
-#: ../../Zotlabs/Module/Search.php:46 ../../Zotlabs/Module/Connections.php:379
+#: ../../Zotlabs/Widget/Activity_filter.php:203
+#: ../../Zotlabs/Module/Search.php:45 ../../Zotlabs/Module/Connections.php:379
#: ../../Zotlabs/Lib/Apps.php:353
msgid "Search"
msgstr "Buscar"
-#: ../../include/text.php:1243 ../../include/text.php:1247
+#: ../../include/text.php:1236 ../../include/text.php:1240
msgid "poke"
msgstr "un toque"
-#: ../../include/text.php:1243 ../../include/text.php:1247
+#: ../../include/text.php:1236 ../../include/text.php:1240
#: ../../include/conversation.php:267
msgid "poked"
msgstr "ha dado un toque a"
-#: ../../include/text.php:1248
+#: ../../include/text.php:1241
msgid "ping"
msgstr "un \"ping\""
-#: ../../include/text.php:1248
+#: ../../include/text.php:1241
msgid "pinged"
msgstr "ha enviado un \"ping\" a"
-#: ../../include/text.php:1249
+#: ../../include/text.php:1242
msgid "prod"
msgstr "una incitación "
-#: ../../include/text.php:1249
+#: ../../include/text.php:1242
msgid "prodded"
msgstr "ha incitado a "
-#: ../../include/text.php:1250
+#: ../../include/text.php:1243
msgid "slap"
msgstr "una bofetada "
-#: ../../include/text.php:1250
+#: ../../include/text.php:1243
msgid "slapped"
msgstr "ha abofeteado a "
-#: ../../include/text.php:1251
+#: ../../include/text.php:1244
msgid "finger"
msgstr "un \"finger\" "
-#: ../../include/text.php:1251
+#: ../../include/text.php:1244
msgid "fingered"
msgstr "envió un \"finger\" a"
-#: ../../include/text.php:1252
+#: ../../include/text.php:1245
msgid "rebuff"
msgstr "un reproche"
-#: ../../include/text.php:1252
+#: ../../include/text.php:1245
msgid "rebuffed"
msgstr "ha hecho un reproche a "
-#: ../../include/text.php:1275
+#: ../../include/text.php:1268
msgid "happy"
msgstr "feliz "
-#: ../../include/text.php:1276
+#: ../../include/text.php:1269
msgid "sad"
msgstr "triste "
-#: ../../include/text.php:1277
+#: ../../include/text.php:1270
msgid "mellow"
msgstr "tranquilo/a"
-#: ../../include/text.php:1278
+#: ../../include/text.php:1271
msgid "tired"
msgstr "cansado/a "
-#: ../../include/text.php:1279
+#: ../../include/text.php:1272
msgid "perky"
msgstr "vivaz"
-#: ../../include/text.php:1280
+#: ../../include/text.php:1273
msgid "angry"
msgstr "enfadado/a"
-#: ../../include/text.php:1281
+#: ../../include/text.php:1274
msgid "stupefied"
msgstr "asombrado/a"
-#: ../../include/text.php:1282
+#: ../../include/text.php:1275
msgid "puzzled"
msgstr "perplejo/a"
-#: ../../include/text.php:1283
+#: ../../include/text.php:1276
msgid "interested"
msgstr "interesado/a"
-#: ../../include/text.php:1284
+#: ../../include/text.php:1277
msgid "bitter"
msgstr "amargado/a"
-#: ../../include/text.php:1285
+#: ../../include/text.php:1278
msgid "cheerful"
msgstr "alegre"
-#: ../../include/text.php:1286
+#: ../../include/text.php:1279
msgid "alive"
msgstr "animado/a"
-#: ../../include/text.php:1287
+#: ../../include/text.php:1280
msgid "annoyed"
msgstr "molesto/a"
-#: ../../include/text.php:1288
+#: ../../include/text.php:1281
msgid "anxious"
msgstr "ansioso/a"
-#: ../../include/text.php:1289
+#: ../../include/text.php:1282
msgid "cranky"
msgstr "de mal humor"
-#: ../../include/text.php:1290
+#: ../../include/text.php:1283
msgid "disturbed"
msgstr "perturbado/a"
-#: ../../include/text.php:1291
+#: ../../include/text.php:1284
msgid "frustrated"
msgstr "frustrado/a"
-#: ../../include/text.php:1292
+#: ../../include/text.php:1285
msgid "depressed"
msgstr "deprimido/a"
-#: ../../include/text.php:1293
+#: ../../include/text.php:1286
msgid "motivated"
msgstr "motivado/a"
-#: ../../include/text.php:1294
+#: ../../include/text.php:1287
msgid "relaxed"
msgstr "relajado/a"
-#: ../../include/text.php:1295
+#: ../../include/text.php:1288
msgid "surprised"
msgstr "sorprendido/a"
-#: ../../include/text.php:1483 ../../include/js_strings.php:99
+#: ../../include/text.php:1476 ../../include/js_strings.php:99
msgid "Monday"
msgstr "lunes"
-#: ../../include/text.php:1483 ../../include/js_strings.php:100
+#: ../../include/text.php:1476 ../../include/js_strings.php:100
msgid "Tuesday"
msgstr "martes"
-#: ../../include/text.php:1483 ../../include/js_strings.php:101
+#: ../../include/text.php:1476 ../../include/js_strings.php:101
msgid "Wednesday"
msgstr "miércoles"
-#: ../../include/text.php:1483 ../../include/js_strings.php:102
+#: ../../include/text.php:1476 ../../include/js_strings.php:102
msgid "Thursday"
msgstr "jueves"
-#: ../../include/text.php:1483 ../../include/js_strings.php:103
+#: ../../include/text.php:1476 ../../include/js_strings.php:103
msgid "Friday"
msgstr "viernes"
-#: ../../include/text.php:1483 ../../include/js_strings.php:104
+#: ../../include/text.php:1476 ../../include/js_strings.php:104
msgid "Saturday"
msgstr "sábado"
-#: ../../include/text.php:1483 ../../include/js_strings.php:98
+#: ../../include/text.php:1476 ../../include/js_strings.php:98
msgid "Sunday"
msgstr "domingo"
-#: ../../include/text.php:1487 ../../include/js_strings.php:74
+#: ../../include/text.php:1480 ../../include/js_strings.php:74
msgid "January"
msgstr "enero"
-#: ../../include/text.php:1487 ../../include/js_strings.php:75
+#: ../../include/text.php:1480 ../../include/js_strings.php:75
msgid "February"
msgstr "febrero"
-#: ../../include/text.php:1487 ../../include/js_strings.php:76
+#: ../../include/text.php:1480 ../../include/js_strings.php:76
msgid "March"
msgstr "marzo"
-#: ../../include/text.php:1487 ../../include/js_strings.php:77
+#: ../../include/text.php:1480 ../../include/js_strings.php:77
msgid "April"
msgstr "abril"
-#: ../../include/text.php:1487
+#: ../../include/text.php:1480
msgid "May"
msgstr "mayo"
-#: ../../include/text.php:1487 ../../include/js_strings.php:79
+#: ../../include/text.php:1480 ../../include/js_strings.php:79
msgid "June"
msgstr "junio"
-#: ../../include/text.php:1487 ../../include/js_strings.php:80
+#: ../../include/text.php:1480 ../../include/js_strings.php:80
msgid "July"
msgstr "julio"
-#: ../../include/text.php:1487 ../../include/js_strings.php:81
+#: ../../include/text.php:1480 ../../include/js_strings.php:81
msgid "August"
msgstr "agosto"
-#: ../../include/text.php:1487 ../../include/js_strings.php:82
+#: ../../include/text.php:1480 ../../include/js_strings.php:82
msgid "September"
msgstr "septiembre"
-#: ../../include/text.php:1487 ../../include/js_strings.php:83
+#: ../../include/text.php:1480 ../../include/js_strings.php:83
msgid "October"
msgstr "octubre"
-#: ../../include/text.php:1487 ../../include/js_strings.php:84
+#: ../../include/text.php:1480 ../../include/js_strings.php:84
msgid "November"
msgstr "noviembre"
-#: ../../include/text.php:1487 ../../include/js_strings.php:85
+#: ../../include/text.php:1480 ../../include/js_strings.php:85
msgid "December"
msgstr "diciembre"
-#: ../../include/text.php:1561
+#: ../../include/text.php:1556
msgid "Unknown Attachment"
msgstr "Adjunto no reconocido"
-#: ../../include/text.php:1563 ../../Zotlabs/Module/Sharedwithme.php:108
+#: ../../include/text.php:1558 ../../Zotlabs/Module/Sharedwithme.php:108
#: ../../Zotlabs/Storage/Browser.php:379
msgid "Size"
msgstr "Tamaño"
-#: ../../include/text.php:1563 ../../include/feedutils.php:873
+#: ../../include/text.php:1558 ../../include/feedutils.php:872
msgid "unknown"
msgstr "desconocido"
@@ -4373,71 +4381,71 @@ msgstr "desconocido"
msgid "remove category"
msgstr "eliminar el tema"
-#: ../../include/text.php:1675
+#: ../../include/text.php:1676
msgid "remove from file"
msgstr "eliminar del fichero"
-#: ../../include/text.php:1844 ../../include/message.php:13
+#: ../../include/text.php:1845 ../../include/message.php:13
msgid "Download binary/encrypted content"
msgstr "Descargar contenido binario o cifrado"
-#: ../../include/text.php:1915
+#: ../../include/text.php:1916
msgid "Poll has ended."
msgstr "La encuesta ha terminado"
-#: ../../include/text.php:1918
+#: ../../include/text.php:1919
#, php-format
msgid "Poll ends: %s"
msgstr "Finales de la encuesta: %s"
-#: ../../include/text.php:1923 ../../Zotlabs/Lib/ThreadItem.php:446
+#: ../../include/text.php:1924 ../../Zotlabs/Lib/ThreadItem.php:446
msgid "Vote"
msgstr "Votar"
-#: ../../include/text.php:2075 ../../Zotlabs/Module/Events.php:669
+#: ../../include/text.php:2076 ../../Zotlabs/Module/Events.php:669
msgid "Link to Source"
msgstr "Enlazar con la entrada en su ubicación original"
-#: ../../include/text.php:2097 ../../include/language.php:424
+#: ../../include/text.php:2098 ../../include/language.php:428
msgid "default"
msgstr "por defecto"
-#: ../../include/text.php:2105
+#: ../../include/text.php:2106
msgid "Page layout"
msgstr "Plantilla de la página"
-#: ../../include/text.php:2105
+#: ../../include/text.php:2106
msgid "You can create your own with the layouts tool"
msgstr "Puede crear su propia disposición gráfica con la herramienta de plantillas"
-#: ../../include/text.php:2115 ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217
-#: ../../Zotlabs/Module/Wiki.php:371
+#: ../../include/text.php:2116 ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:216
+#: ../../Zotlabs/Module/Wiki.php:370
msgid "BBcode"
msgstr "BBcode"
-#: ../../include/text.php:2116
+#: ../../include/text.php:2117
msgid "HTML"
msgstr "HTML"
-#: ../../include/text.php:2118 ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217
+#: ../../include/text.php:2119 ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:216
msgid "Text"
msgstr "Texto"
-#: ../../include/text.php:2119
+#: ../../include/text.php:2120
msgid "Comanche Layout"
msgstr "Plantilla de Comanche"
-#: ../../include/text.php:2124
+#: ../../include/text.php:2125
msgid "PHP"
msgstr "PHP"
-#: ../../include/text.php:2133
+#: ../../include/text.php:2134
msgid "Page content type"
msgstr "Tipo de contenido de la página"
-#: ../../include/text.php:2256 ../../include/event.php:1259
+#: ../../include/text.php:2257 ../../include/event.php:1259
#: ../../include/conversation.php:132
#: ../../Zotlabs/Module/Channel_calendar.php:221
#: ../../Zotlabs/Module/Like.php:441 ../../Zotlabs/Module/Tagger.php:75
@@ -4445,110 +4453,110 @@ msgstr "Tipo de contenido de la página"
msgid "event"
msgstr "el/su evento"
-#: ../../include/text.php:2259 ../../include/conversation.php:158
-#: ../../include/bbcode.php:543 ../../include/markdown.php:204
-#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:3229
+#: ../../include/text.php:2260 ../../include/conversation.php:158
+#: ../../include/bbcode.php:555 ../../include/markdown.php:204
+#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:3264
msgid "post"
msgstr "la entrada"
-#: ../../include/text.php:2261 ../../include/conversation.php:160
+#: ../../include/text.php:2262 ../../include/conversation.php:160
#: ../../Zotlabs/Module/Tagger.php:81
msgid "comment"
msgstr "el comentario"
-#: ../../include/text.php:2266
+#: ../../include/text.php:2267
msgid "activity"
msgstr "la/su actividad"
-#: ../../include/text.php:2269
+#: ../../include/text.php:2270
msgid "poll"
msgstr "encuesta"
-#: ../../include/text.php:2370
+#: ../../include/text.php:2383
msgid "a-z, 0-9, -, and _ only"
msgstr "a-z, 0-9, -, and _ only"
-#: ../../include/text.php:2696
+#: ../../include/text.php:2709
msgid "Design Tools"
msgstr "Herramientas de diseño web"
-#: ../../include/text.php:2699 ../../Zotlabs/Module/Blocks.php:154
+#: ../../include/text.php:2712 ../../Zotlabs/Module/Blocks.php:154
msgid "Blocks"
msgstr "Bloques"
-#: ../../include/text.php:2700 ../../Zotlabs/Module/Menu.php:171
+#: ../../include/text.php:2713 ../../Zotlabs/Module/Menu.php:171
msgid "Menus"
msgstr "Menús"
-#: ../../include/text.php:2701 ../../Zotlabs/Module/Layouts.php:184
+#: ../../include/text.php:2714 ../../Zotlabs/Module/Layouts.php:184
msgid "Layouts"
msgstr "Plantillas"
-#: ../../include/text.php:2702
+#: ../../include/text.php:2715
msgid "Pages"
msgstr "Páginas"
-#: ../../include/text.php:2714
+#: ../../include/text.php:2727
msgid "Import"
msgstr "Importar"
-#: ../../include/text.php:2715
+#: ../../include/text.php:2728
msgid "Import website..."
msgstr "Importar un sitio web..."
-#: ../../include/text.php:2716
+#: ../../include/text.php:2729
msgid "Select folder to import"
msgstr "Seleccionar la carpeta que se va a importar"
-#: ../../include/text.php:2717
+#: ../../include/text.php:2730
msgid "Import from a zipped folder:"
msgstr "Importar desde una carpeta comprimida: "
-#: ../../include/text.php:2718
+#: ../../include/text.php:2731
msgid "Import from cloud files:"
msgstr "Importar desde los ficheros en la nube: "
-#: ../../include/text.php:2719
+#: ../../include/text.php:2732
msgid "/cloud/channel/path/to/folder"
msgstr "/cloud/canal/ruta/a la/carpeta"
-#: ../../include/text.php:2720
+#: ../../include/text.php:2733
msgid "Enter path to website files"
msgstr "Ruta a los ficheros del sitio web"
-#: ../../include/text.php:2721
+#: ../../include/text.php:2734
msgid "Select folder"
msgstr "Seleccionar la carpeta"
-#: ../../include/text.php:2722
+#: ../../include/text.php:2735
msgid "Export website..."
msgstr "Exportar un sitio web..."
-#: ../../include/text.php:2723
+#: ../../include/text.php:2736
msgid "Export to a zip file"
msgstr "Exportar a un fichero comprimido .zip"
-#: ../../include/text.php:2724
+#: ../../include/text.php:2737
msgid "website.zip"
msgstr "sitio_web.zip"
-#: ../../include/text.php:2725
+#: ../../include/text.php:2738
msgid "Enter a name for the zip file."
msgstr "Escriba un nombre para el fichero zip."
-#: ../../include/text.php:2726
+#: ../../include/text.php:2739
msgid "Export to cloud files"
msgstr "Exportar a la nube de ficheros"
-#: ../../include/text.php:2727
+#: ../../include/text.php:2740
msgid "/path/to/export/folder"
msgstr "/ruta/para/exportar/carpeta"
-#: ../../include/text.php:2728
+#: ../../include/text.php:2741
msgid "Enter a path to a cloud files destination."
msgstr "Escriba una ruta de destino a la nube de ficheros."
-#: ../../include/text.php:2729
+#: ../../include/text.php:2742
msgid "Specify folder"
msgstr "Especificar una carpeta"
@@ -4570,7 +4578,7 @@ msgid "Finishes:"
msgstr "Finaliza:"
#: ../../include/event.php:63 ../../include/event.php:134
-#: ../../include/channel.php:1634 ../../Zotlabs/Module/Directory.php:354
+#: ../../include/channel.php:1658 ../../Zotlabs/Module/Directory.php:354
msgid "Location:"
msgstr "Ubicación:"
@@ -4611,13 +4619,13 @@ msgid "Cancelled"
msgstr "Cancelado/a"
#: ../../include/event.php:1422 ../../include/connections.php:734
-#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794
+#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:794
#: ../../Zotlabs/Module/Connedit.php:925
msgid "Mobile"
msgstr "Móvil"
#: ../../include/event.php:1423 ../../include/connections.php:735
-#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795
+#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:795
#: ../../Zotlabs/Module/Connedit.php:926
msgid "Home"
msgstr "Inicio"
@@ -4631,7 +4639,7 @@ msgid "Home, Fax"
msgstr "Fax particular"
#: ../../include/event.php:1426 ../../include/connections.php:738
-#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796
+#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:796
#: ../../Zotlabs/Module/Connedit.php:927
msgid "Work"
msgstr "Trabajo"
@@ -4648,7 +4656,7 @@ msgstr "Fax de trabajo"
#: ../../include/selectors.php:60 ../../include/selectors.php:77
#: ../../include/selectors.php:115 ../../include/selectors.php:151
#: ../../include/connections.php:741 ../../include/connections.php:748
-#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797
+#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:797
#: ../../Zotlabs/Module/Connedit.php:928
#: ../../Zotlabs/Access/PermissionRoles.php:310
msgid "Other"
@@ -4666,8 +4674,8 @@ msgstr "Desactivado"
msgid "On"
msgstr "Activado"
-#: ../../include/features.php:82 ../../include/nav.php:464
-#: ../../include/nav.php:467 ../../Zotlabs/Lib/Apps.php:346
+#: ../../include/features.php:82 ../../include/nav.php:463
+#: ../../include/nav.php:466 ../../Zotlabs/Lib/Apps.php:346
msgid "Calendar"
msgstr "Calendario"
@@ -4707,11 +4715,11 @@ msgstr "Nube de etiquetas"
msgid "Provide a personal tag cloud on your channel page"
msgstr "Proveer nube de etiquetas personal en su página de canal"
-#: ../../include/features.php:124 ../../include/features.php:359
+#: ../../include/features.php:124 ../../include/features.php:358
msgid "Use blog/list mode"
msgstr "Usar el modo blog/lista"
-#: ../../include/features.php:125 ../../include/features.php:360
+#: ../../include/features.php:125 ../../include/features.php:359
msgid "Comments will be displayed separately"
msgstr "Los comentarios se mostrarán por separado"
@@ -4783,195 +4791,195 @@ msgstr "Temas de las entradas"
msgid "Add categories to your posts"
msgstr "Añadir temas a sus publicaciones"
-#: ../../include/features.php:219
+#: ../../include/features.php:218
msgid "Large Photos"
msgstr "Fotos de gran tamaño"
-#: ../../include/features.php:220
+#: ../../include/features.php:219
msgid ""
"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
"(640px) photo thumbnails"
msgstr "Incluir miniaturas de fotos grandes (1024px) en publicaciones. Si no está habilitado, usar miniaturas pequeñas (640px)"
-#: ../../include/features.php:227
+#: ../../include/features.php:226
msgid "Even More Encryption"
msgstr "Más cifrado todavía"
-#: ../../include/features.php:228
+#: ../../include/features.php:227
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Permitir cifrado adicional de contenido \"punto-a-punto\" con una clave secreta compartida."
-#: ../../include/features.php:235
+#: ../../include/features.php:234
msgid "Disable Comments"
msgstr "Deshabilitar comentarios"
-#: ../../include/features.php:236
+#: ../../include/features.php:235
msgid "Provide the option to disable comments for a post"
msgstr "Proporcionar la opción de desactivar los comentarios para una entrada"
-#: ../../include/features.php:243
+#: ../../include/features.php:242
msgid "Delayed Posting"
msgstr "Publicación aplazada"
-#: ../../include/features.php:244
+#: ../../include/features.php:243
msgid "Allow posts to be published at a later date"
msgstr "Permitir mensajes que se publicarán en una fecha posterior"
-#: ../../include/features.php:251
+#: ../../include/features.php:250
msgid "Content Expiration"
msgstr "Caducidad del contenido"
-#: ../../include/features.php:252
+#: ../../include/features.php:251
msgid "Remove posts/comments and/or private messages at a future time"
msgstr "Eliminar publicaciones/comentarios y/o mensajes privados más adelante"
-#: ../../include/features.php:259
+#: ../../include/features.php:258
msgid "Suppress Duplicate Posts/Comments"
msgstr "Prevenir entradas o comentarios duplicados"
-#: ../../include/features.php:260
+#: ../../include/features.php:259
msgid ""
"Prevent posts with identical content to be published with less than two "
"minutes in between submissions."
msgstr "Prevenir que entradas con contenido idéntico se publiquen con menos de dos minutos de intervalo."
-#: ../../include/features.php:267
+#: ../../include/features.php:266
msgid "Auto-save drafts of posts and comments"
msgstr "Guardar automáticamente borradores de entradas y comentarios"
-#: ../../include/features.php:268
+#: ../../include/features.php:267
msgid ""
"Automatically saves post and comment drafts in local browser storage to help"
" prevent accidental loss of compositions"
msgstr "Guarda automáticamente los borradores de comentarios y publicaciones en el almacenamiento del navegador local para ayudar a evitar la pérdida accidental de composiciones."
-#: ../../include/features.php:277
+#: ../../include/features.php:276
msgid "Manage"
msgstr "Gestionar"
-#: ../../include/features.php:281
+#: ../../include/features.php:280
msgid "Navigation Channel Select"
msgstr "Navegación por el selector de canales"
-#: ../../include/features.php:282
+#: ../../include/features.php:281
msgid "Change channels directly from within the navigation dropdown menu"
msgstr "Cambiar de canales directamente desde el menú de navegación desplegable"
-#: ../../include/features.php:291 ../../Zotlabs/Module/Connections.php:333
+#: ../../include/features.php:290 ../../Zotlabs/Module/Connections.php:333
msgid "Network"
msgstr "Red"
-#: ../../include/features.php:295
+#: ../../include/features.php:294
msgid "Events Filter"
msgstr "Filtro de eventos"
-#: ../../include/features.php:296
+#: ../../include/features.php:295
msgid "Ability to display only events"
msgstr "Capacidad para mostrar solo eventos"
-#: ../../include/features.php:303
+#: ../../include/features.php:302
msgid "Polls Filter"
msgstr "Filtro de encuestas"
-#: ../../include/features.php:304
+#: ../../include/features.php:303
msgid "Ability to display only polls"
msgstr "Capacidad para mostrar solo encuestas"
-#: ../../include/features.php:311 ../../Zotlabs/Widget/Savedsearch.php:83
+#: ../../include/features.php:310 ../../Zotlabs/Widget/Savedsearch.php:83
msgid "Saved Searches"
msgstr "Búsquedas guardadas"
-#: ../../include/features.php:312
+#: ../../include/features.php:311
msgid "Save search terms for re-use"
msgstr "Guardar términos de búsqueda para su reutilización"
-#: ../../include/features.php:319 ../../include/contact_widgets.php:53
-#: ../../Zotlabs/Widget/Activity_filter.php:179
+#: ../../include/features.php:318 ../../include/contact_widgets.php:53
+#: ../../Zotlabs/Widget/Activity_filter.php:189
#: ../../Zotlabs/Widget/Filer.php:28
msgid "Saved Folders"
msgstr "Carpetas guardadas"
-#: ../../include/features.php:320
+#: ../../include/features.php:319
msgid "Ability to file posts under folders"
msgstr "Capacidad de archivar entradas en carpetas"
-#: ../../include/features.php:327
+#: ../../include/features.php:326
msgid "Alternate Stream Order"
msgstr "Orden de stream alternativo"
-#: ../../include/features.php:328
+#: ../../include/features.php:327
msgid ""
"Ability to order the stream by last post date, last comment date or "
"unthreaded activities"
msgstr "Posibilidad de ordenar el stream por última fecha de publicación, última fecha de comentario o actividades sin hilo"
-#: ../../include/features.php:335
+#: ../../include/features.php:334
msgid "Contact Filter"
msgstr "Filtro de contactos"
-#: ../../include/features.php:336
+#: ../../include/features.php:335
msgid "Ability to display only posts of a selected contact"
msgstr "Posibilidad de mostrar sólo los mensajes de un contacto seleccionado"
-#: ../../include/features.php:343
+#: ../../include/features.php:342
msgid "Forum Filter"
msgstr "Filtro de foro"
-#: ../../include/features.php:344
+#: ../../include/features.php:343
msgid "Ability to display only posts of a specific forum"
msgstr "Posibilidad de mostrar sólo los mensajes de un foro específico"
-#: ../../include/features.php:351
+#: ../../include/features.php:350
msgid "Personal Posts Filter"
msgstr "Filtro de entradas personales"
-#: ../../include/features.php:352
+#: ../../include/features.php:351
msgid "Ability to display only posts that you've interacted on"
msgstr "Posibilidad de mostrar sólo los mensajes en los que usted haya interactuado"
-#: ../../include/features.php:369 ../../include/nav.php:445
+#: ../../include/features.php:368 ../../include/nav.php:444
#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345
msgid "Photos"
msgstr "Fotos"
-#: ../../include/features.php:373
+#: ../../include/features.php:372
msgid "Photo Location"
msgstr "Ubicación de las fotos"
-#: ../../include/features.php:374
+#: ../../include/features.php:373
msgid "If location data is available on uploaded photos, link this to a map."
msgstr "Si los datos de ubicación están disponibles en las fotos subidas, enlazar estas a un mapa."
-#: ../../include/features.php:383 ../../Zotlabs/Lib/Apps.php:363
+#: ../../include/features.php:382 ../../Zotlabs/Lib/Apps.php:363
msgid "Profiles"
msgstr "Perfiles"
-#: ../../include/features.php:387
+#: ../../include/features.php:386
msgid "Advanced Profiles"
msgstr "Perfiles avanzados"
-#: ../../include/features.php:388
+#: ../../include/features.php:387
msgid "Additional profile sections and selections"
msgstr "Secciones y selecciones de perfil adicionales"
-#: ../../include/features.php:395
+#: ../../include/features.php:394
msgid "Profile Import/Export"
msgstr "Importar/Exportar perfil"
-#: ../../include/features.php:396
+#: ../../include/features.php:395
msgid "Save and load profile details across sites/channels"
msgstr "Guardar y cargar detalles del perfil a través de sitios/canales"
-#: ../../include/features.php:403
+#: ../../include/features.php:402
msgid "Multiple Profiles"
msgstr "Múltiples perfiles"
-#: ../../include/features.php:404
+#: ../../include/features.php:403
msgid "Ability to create multiple profiles"
msgstr "Capacidad de crear múltiples perfiles"
-#: ../../include/security.php:608
+#: ../../include/security.php:607
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."
@@ -5010,7 +5018,7 @@ msgstr "%s contraer"
msgid "Password too short"
msgstr "Contraseña demasiado corta"
-#: ../../include/js_strings.php:12
+#: ../../include/js_strings.php:12 ../../Zotlabs/Module/Register.php:158
msgid "Passwords do not match"
msgstr "Las contraseñas no coinciden"
@@ -5060,7 +5068,7 @@ msgid "Unsaved changes. Are you sure you wish to leave this page?"
msgstr "Cambios no guardados. ¿Está seguro de que desea abandonar la página?"
#: ../../include/js_strings.php:25 ../../Zotlabs/Module/Pubsites.php:53
-#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:483
+#: ../../Zotlabs/Module/Cdav.php:1016 ../../Zotlabs/Module/Events.php:483
#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736
#: ../../Zotlabs/Module/Locs.php:128
msgid "Location"
@@ -5120,7 +5128,7 @@ msgstr "Anclado/a"
msgid "Pin to the top"
msgstr "Anclar en la parte superior"
-#: ../../include/js_strings.php:39 ../../Zotlabs/Widget/Pinned.php:157
+#: ../../include/js_strings.php:39 ../../Zotlabs/Widget/Pinned.php:155
#: ../../Zotlabs/Lib/ThreadItem.php:473
msgid "Unpin from the top"
msgstr "Desanclar de la parte superior"
@@ -5319,12 +5327,16 @@ msgstr "Todos los días"
msgid "Please stand by while your download is being prepared."
msgstr "Por favor, espere mientras se prepara la descarga."
+#: ../../include/js_strings.php:122
+msgid "Email address not valid"
+msgstr "Dirección de correo electrónica no válida"
+
#: ../../include/help.php:80
msgid "Help:"
msgstr "Ayuda:"
#: ../../include/help.php:117 ../../include/help.php:125
-#: ../../include/nav.php:180 ../../include/nav.php:321
+#: ../../include/nav.php:180 ../../include/nav.php:320
#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348
msgid "Help"
msgstr "Ayuda"
@@ -5336,7 +5348,7 @@ msgstr "No encontrado"
#: ../../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/Lib/NativeWikiPage.php:520
+#: ../../Zotlabs/Module/Block.php:77 ../../Zotlabs/Lib/NativeWikiPage.php:533
#: ../../Zotlabs/Web/Router.php:186
msgid "Page not found."
msgstr "Página no encontrada."
@@ -5369,7 +5381,7 @@ msgctxt "photo_upload"
msgid "%1$s posted %2$s to %3$s"
msgstr "%1$s ha publicado %2$s en %3$s"
-#: ../../include/photos.php:666 ../../include/nav.php:448
+#: ../../include/photos.php:666 ../../include/nav.php:447
msgid "Photo Albums"
msgstr "Álbumes de fotos"
@@ -5382,43 +5394,43 @@ msgstr "Fotos recientes"
msgid "Upload New Photos"
msgstr "Subir nuevas fotos"
-#: ../../include/network.php:1758 ../../include/network.php:1759
+#: ../../include/network.php:1762 ../../include/network.php:1763
msgid "Friendica"
msgstr "Friendica"
-#: ../../include/network.php:1760
+#: ../../include/network.php:1764
msgid "OStatus"
msgstr "OStatus"
-#: ../../include/network.php:1761
+#: ../../include/network.php:1765
msgid "GNU-Social"
msgstr "GNU Social"
-#: ../../include/network.php:1762
+#: ../../include/network.php:1766
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/network.php:1765
+#: ../../include/network.php:1769
msgid "Diaspora"
msgstr "Diaspora"
-#: ../../include/network.php:1766
+#: ../../include/network.php:1770
msgid "Facebook"
msgstr "Facebook"
-#: ../../include/network.php:1767
+#: ../../include/network.php:1771
msgid "Zot"
msgstr "Zot"
-#: ../../include/network.php:1768
+#: ../../include/network.php:1772
msgid "LinkedIn"
msgstr "LinkedIn"
-#: ../../include/network.php:1769
+#: ../../include/network.php:1773
msgid "XMPP/IM"
msgstr "XMPP/IM"
-#: ../../include/network.php:1770
+#: ../../include/network.php:1774
msgid "MySpace"
msgstr "MySpace"
@@ -5452,8 +5464,8 @@ msgid_plural "%d invitations available"
msgstr[0] "%d invitación pendiente"
msgstr[1] "%d invitaciones disponibles"
-#: ../../include/contact_widgets.php:16 ../../include/acl_selectors.php:144
-#: ../../Zotlabs/Module/Admin/Site.php:297
+#: ../../include/contact_widgets.php:16 ../../include/acl_selectors.php:145
+#: ../../Zotlabs/Module/Admin/Site.php:416
msgid "Advanced"
msgstr "Avanzado"
@@ -5508,7 +5520,7 @@ msgstr "Todo"
#: ../../include/taxonomy.php:420 ../../include/taxonomy.php:502
#: ../../include/taxonomy.php:522 ../../include/taxonomy.php:543
#: ../../Zotlabs/Widget/Appcategories.php:43
-#: ../../Zotlabs/Module/Cdav.php:1070 ../../Zotlabs/Storage/Browser.php:293
+#: ../../Zotlabs/Module/Cdav.php:1071 ../../Zotlabs/Storage/Browser.php:293
#: ../../Zotlabs/Storage/Browser.php:388 ../../Zotlabs/Storage/Browser.php:403
msgid "Categories"
msgstr "Temas"
@@ -5522,7 +5534,7 @@ msgstr "Conexiones comunes"
msgid "View all %d common connections"
msgstr "Ver todas las %d conexiones comunes"
-#: ../../include/language.php:437
+#: ../../include/language.php:441
msgid "Select an alternate language"
msgstr "Seleccionar un idioma alternativo"
@@ -5556,9 +5568,9 @@ msgstr "Administración de canales"
msgid "Manage your channels"
msgstr "Gestionar sus canales"
-#: ../../include/nav.php:104 ../../include/group.php:321
-#: ../../include/acl_selectors.php:86
-#: ../../Zotlabs/Widget/Activity_filter.php:82
+#: ../../include/nav.php:104 ../../include/group.php:327
+#: ../../include/acl_selectors.php:87
+#: ../../Zotlabs/Widget/Activity_filter.php:88
#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154
#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364
msgid "Privacy Groups"
@@ -5580,7 +5592,7 @@ msgid "Account/Channel Settings"
msgstr "Ajustes de cuenta/canales"
#: ../../include/nav.php:112 ../../include/nav.php:142
-#: ../../include/nav.php:163 ../../boot.php:1710
+#: ../../include/nav.php:163 ../../boot.php:1715
msgid "Logout"
msgstr "Finalizar sesión"
@@ -5592,7 +5604,7 @@ msgstr "Finalizar esta sesión"
msgid "Your profile page"
msgstr "Su página del perfil"
-#: ../../include/nav.php:118 ../../include/channel.php:1539
+#: ../../include/nav.php:118 ../../include/channel.php:1563
#: ../../Zotlabs/Module/Profiles.php:832
msgid "Edit Profiles"
msgstr "Editar perfiles"
@@ -5606,7 +5618,7 @@ msgid "Edit your profile"
msgstr "Editar su perfil"
#: ../../include/nav.php:127 ../../include/nav.php:131
-#: ../../Zotlabs/Lib/Apps.php:336 ../../boot.php:1711
+#: ../../Zotlabs/Lib/Apps.php:336 ../../boot.php:1716
msgid "Login"
msgstr "Iniciar sesión"
@@ -5622,8 +5634,8 @@ msgstr "Volver a la página principal"
msgid "Log me out of this site"
msgstr "Salir de este sitio"
-#: ../../include/nav.php:168 ../../Zotlabs/Module/Register.php:293
-#: ../../boot.php:1691
+#: ../../include/nav.php:168 ../../Zotlabs/Module/Register.php:566
+#: ../../boot.php:1696
msgid "Register"
msgstr "Registrarse"
@@ -5647,104 +5659,104 @@ msgstr "Administrador"
msgid "Site Setup and Configuration"
msgstr "Ajustes y configuración del sitio"
-#: ../../include/nav.php:325 ../../Zotlabs/Widget/Notifications.php:182
+#: ../../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:862
msgid "Loading"
msgstr "Cargando"
-#: ../../include/nav.php:331
+#: ../../include/nav.php:330
msgid "@name, !forum, #tag, ?doc, content"
msgstr "@nombre, !foro, #tag, ?docs, contenido"
-#: ../../include/nav.php:332
+#: ../../include/nav.php:331
msgid "Please wait..."
msgstr "Espere por favor…"
-#: ../../include/nav.php:338
+#: ../../include/nav.php:337
msgid "Add Apps"
msgstr "Añadir aplicaciones"
-#: ../../include/nav.php:339
+#: ../../include/nav.php:338
msgid "Arrange Apps"
msgstr "Organizar aplicaciones"
-#: ../../include/nav.php:340
+#: ../../include/nav.php:339
msgid "Toggle System Apps"
msgstr "Alternar aplicaciones de sistema"
-#: ../../include/nav.php:422 ../../Zotlabs/Module/Admin/Channels.php:154
+#: ../../include/nav.php:421 ../../Zotlabs/Module/Admin/Channels.php:154
msgid "Channel"
msgstr "Canal"
-#: ../../include/nav.php:425
+#: ../../include/nav.php:424
msgid "Status Messages and Posts"
msgstr "Mensajes de estado y publicaciones"
-#: ../../include/nav.php:435 ../../Zotlabs/Module/Help.php:83
+#: ../../include/nav.php:434 ../../Zotlabs/Module/Help.php:83
msgid "About"
msgstr "Mi perfil"
-#: ../../include/nav.php:438
+#: ../../include/nav.php:437
msgid "Profile Details"
msgstr "Detalles del perfil"
-#: ../../include/nav.php:453 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../include/nav.php:452 ../../Zotlabs/Module/Fbrowser.php:85
#: ../../Zotlabs/Lib/Apps.php:340 ../../Zotlabs/Storage/Browser.php:351
msgid "Files"
msgstr "Ficheros"
-#: ../../include/nav.php:456
+#: ../../include/nav.php:455
msgid "Files and Storage"
msgstr "Ficheros y repositorio"
-#: ../../include/nav.php:478 ../../include/nav.php:481
+#: ../../include/nav.php:477 ../../include/nav.php:480
#: ../../Zotlabs/Widget/Chatroom_list.php:16 ../../Zotlabs/Lib/Apps.php:330
msgid "Chatrooms"
msgstr "Salas de chat"
-#: ../../include/nav.php:491 ../../Zotlabs/Lib/Apps.php:329
+#: ../../include/nav.php:490 ../../Zotlabs/Lib/Apps.php:329
msgid "Bookmarks"
msgstr "Marcadores"
-#: ../../include/nav.php:494
+#: ../../include/nav.php:493
msgid "Saved Bookmarks"
msgstr "Marcadores guardados"
-#: ../../include/nav.php:502 ../../Zotlabs/Module/Cards.php:207
+#: ../../include/nav.php:501 ../../Zotlabs/Module/Cards.php:207
#: ../../Zotlabs/Lib/Apps.php:326
msgid "Cards"
msgstr "Fichas"
-#: ../../include/nav.php:505
+#: ../../include/nav.php:504
msgid "View Cards"
msgstr "Ver las fichas"
-#: ../../include/nav.php:513 ../../Zotlabs/Module/Articles.php:225
+#: ../../include/nav.php:512 ../../Zotlabs/Module/Articles.php:225
#: ../../Zotlabs/Lib/Apps.php:325
msgid "Articles"
msgstr "Artículos"
-#: ../../include/nav.php:516
+#: ../../include/nav.php:515
msgid "View Articles"
msgstr "Ver los artículos"
-#: ../../include/nav.php:525 ../../Zotlabs/Module/Webpages.php:252
+#: ../../include/nav.php:524 ../../Zotlabs/Module/Webpages.php:252
#: ../../Zotlabs/Lib/Apps.php:341
msgid "Webpages"
msgstr "Páginas web"
-#: ../../include/nav.php:528
+#: ../../include/nav.php:527
msgid "View Webpages"
msgstr "Ver páginas web"
-#: ../../include/nav.php:537 ../../Zotlabs/Widget/Wiki_list.php:15
-#: ../../Zotlabs/Module/Wiki.php:206
+#: ../../include/nav.php:536 ../../Zotlabs/Widget/Wiki_list.php:15
+#: ../../Zotlabs/Module/Wiki.php:205
msgid "Wikis"
msgstr "Wikis"
-#: ../../include/nav.php:540 ../../Zotlabs/Lib/Apps.php:342
+#: ../../include/nav.php:539 ../../Zotlabs/Lib/Apps.php:342
msgid "Wiki"
msgstr "Wiki"
@@ -5781,7 +5793,7 @@ msgstr "Edad:"
msgid "YYYY-MM-DD or MM-DD"
msgstr "AAAA-MM-DD o MM-DD"
-#: ../../include/datetime.php:238 ../../boot.php:2715
+#: ../../include/datetime.php:238 ../../boot.php:2730
msgid "never"
msgstr "nunca"
@@ -6002,9 +6014,9 @@ msgstr "Seleccionar"
#: ../../include/conversation.php:730 ../../include/conversation.php:777
#: ../../Zotlabs/Module/Article_edit.php:129
#: ../../Zotlabs/Module/Card_edit.php:130 ../../Zotlabs/Module/Oauth.php:174
-#: ../../Zotlabs/Module/Editwebpage.php:167 ../../Zotlabs/Module/Cdav.php:1056
-#: ../../Zotlabs/Module/Cdav.php:1389 ../../Zotlabs/Module/Webpages.php:257
-#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Editwebpage.php:167 ../../Zotlabs/Module/Cdav.php:1057
+#: ../../Zotlabs/Module/Cdav.php:1390 ../../Zotlabs/Module/Webpages.php:257
+#: ../../Zotlabs/Module/Admin/Accounts.php:320
#: ../../Zotlabs/Module/Admin/Channels.php:149
#: ../../Zotlabs/Module/Admin/Profs.php:176
#: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editblock.php:139
@@ -6037,7 +6049,7 @@ msgid "Message signature incorrect"
msgstr "Firma de mensaje incorrecta"
#: ../../include/conversation.php:776
-#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../Zotlabs/Module/Admin/Accounts.php:318
#: ../../Zotlabs/Module/Connections.php:343
msgid "Approve"
msgstr "Aprobar"
@@ -6055,19 +6067,19 @@ msgstr "Temas:"
msgid "Filed under:"
msgstr "Archivado bajo:"
-#: ../../include/conversation.php:809 ../../Zotlabs/Widget/Pinned.php:133
+#: ../../include/conversation.php:809 ../../Zotlabs/Widget/Pinned.php:132
#: ../../Zotlabs/Lib/ThreadItem.php:430
#, php-format
msgid "from %s"
msgstr "desde %s"
-#: ../../include/conversation.php:812 ../../Zotlabs/Widget/Pinned.php:136
+#: ../../include/conversation.php:812 ../../Zotlabs/Widget/Pinned.php:135
#: ../../Zotlabs/Lib/ThreadItem.php:433
#, php-format
msgid "last edited: %s"
msgstr "último cambio: %s"
-#: ../../include/conversation.php:813 ../../Zotlabs/Widget/Pinned.php:137
+#: ../../include/conversation.php:813 ../../Zotlabs/Widget/Pinned.php:136
#: ../../Zotlabs/Lib/ThreadItem.php:434
#, php-format
msgid "Expires: %s"
@@ -6115,7 +6127,7 @@ msgid "Recent Activity"
msgstr "Actividad reciente"
#: ../../include/conversation.php:1103 ../../include/connections.php:110
-#: ../../include/channel.php:1619 ../../Zotlabs/Widget/Suggestions.php:46
+#: ../../include/channel.php:1643 ../../Zotlabs/Widget/Suggestions.php:46
#: ../../Zotlabs/Widget/Follow.php:32 ../../Zotlabs/Module/Directory.php:370
#: ../../Zotlabs/Module/Connections.php:350
#: ../../Zotlabs/Module/Suggest.php:71
@@ -6127,6 +6139,7 @@ msgid "Edit Connection"
msgstr "Editar conexión"
#: ../../include/conversation.php:1123
+#: ../../Zotlabs/Module/Admin/Accounts.php:347
msgid "Message"
msgstr "Mensaje"
@@ -6185,40 +6198,40 @@ msgstr "A %s le gusta esto."
msgid "%s don't like this."
msgstr "A %s no le gusta esto."
-#: ../../include/conversation.php:1465
+#: ../../include/conversation.php:1464
msgid "Toggle poll"
msgstr "Activar o desactivar encuestas"
-#: ../../include/conversation.php:1466
+#: ../../include/conversation.php:1465
msgid "Option"
msgstr "Opción"
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1466
msgid "Add option"
msgstr "Añadir una opción"
-#: ../../include/conversation.php:1468
+#: ../../include/conversation.php:1467
msgid "Minutes"
msgstr "Minutos "
-#: ../../include/conversation.php:1468
+#: ../../include/conversation.php:1467
msgid "Hours"
msgstr "Horas "
-#: ../../include/conversation.php:1468
+#: ../../include/conversation.php:1467
msgid "Days"
msgstr "Días "
-#: ../../include/conversation.php:1469
+#: ../../include/conversation.php:1468
msgid "Allow multiple answers"
msgstr "Permitir respuestas múltiples"
-#: ../../include/conversation.php:1479
+#: ../../include/conversation.php:1478
msgid "Summary (optional)"
msgstr "Sumario (opcional)"
-#: ../../include/conversation.php:1753 ../../include/taxonomy.php:670
-#: ../../include/channel.php:1782 ../../Zotlabs/Module/Photos.php:1136
+#: ../../include/conversation.php:1752 ../../include/taxonomy.php:670
+#: ../../include/channel.php:1806 ../../Zotlabs/Module/Photos.php:1136
#: ../../Zotlabs/Lib/ThreadItem.php:243
msgctxt "noun"
msgid "Like"
@@ -6226,7 +6239,7 @@ msgid_plural "Likes"
msgstr[0] "Me gusta"
msgstr[1] "Me gusta"
-#: ../../include/conversation.php:1756 ../../Zotlabs/Module/Photos.php:1141
+#: ../../include/conversation.php:1755 ../../Zotlabs/Module/Photos.php:1141
#: ../../Zotlabs/Lib/ThreadItem.php:248
msgctxt "noun"
msgid "Dislike"
@@ -6234,42 +6247,42 @@ msgid_plural "Dislikes"
msgstr[0] "No me gusta"
msgstr[1] "No me gusta"
-#: ../../include/conversation.php:1759
+#: ../../include/conversation.php:1758
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] "Participaré"
msgstr[1] "Participaré"
-#: ../../include/conversation.php:1762
+#: ../../include/conversation.php:1761
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] "No participaré"
msgstr[1] "No participaré"
-#: ../../include/conversation.php:1765
+#: ../../include/conversation.php:1764
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] "Indeciso/a"
msgstr[1] "Indecisos/as"
-#: ../../include/conversation.php:1768
+#: ../../include/conversation.php:1767
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] "De acuerdo"
msgstr[1] "De acuerdo"
-#: ../../include/conversation.php:1771
+#: ../../include/conversation.php:1770
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] "En desacuerdo"
msgstr[1] "En desacuerdo"
-#: ../../include/conversation.php:1774
+#: ../../include/conversation.php:1773
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
@@ -6336,11 +6349,11 @@ msgstr "Transexual"
msgid "Hermaphrodite"
msgstr "Hermafrodita"
-#: ../../include/selectors.php:60 ../../include/channel.php:1727
+#: ../../include/selectors.php:60 ../../include/channel.php:1751
msgid "Neuter"
msgstr "Neutral"
-#: ../../include/selectors.php:60 ../../include/channel.php:1729
+#: ../../include/selectors.php:60 ../../include/channel.php:1753
msgid "Non-specific"
msgstr "No especificado"
@@ -6437,8 +6450,7 @@ msgid "Sex Addict"
msgstr "Con adicción al sexo"
#: ../../include/selectors.php:134 ../../include/channel.php:506
-#: ../../include/channel.php:507 ../../include/channel.php:514
-#: ../../Zotlabs/Widget/Affinity.php:32
+#: ../../include/channel.php:509 ../../Zotlabs/Widget/Affinity.php:32
#: ../../Zotlabs/Module/Settings/Channel.php:71
#: ../../Zotlabs/Module/Settings/Channel.php:75
#: ../../Zotlabs/Module/Settings/Channel.php:76
@@ -6547,28 +6559,28 @@ msgid ""
"not what you intended, please create another group with a different name."
msgstr "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos que ya existen sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente."
-#: ../../include/group.php:265 ../../Zotlabs/Lib/Group.php:270
+#: ../../include/group.php:271 ../../Zotlabs/Lib/Group.php:270
msgid "Add new connections to this privacy group"
msgstr "Añadir conexiones nuevas a este grupo de canales"
-#: ../../include/group.php:299 ../../Zotlabs/Lib/AccessList.php:311
+#: ../../include/group.php:305 ../../Zotlabs/Lib/AccessList.php:311
#: ../../Zotlabs/Lib/Group.php:302
msgid "edit"
msgstr "editar"
-#: ../../include/group.php:322 ../../Zotlabs/Lib/Group.php:325
+#: ../../include/group.php:328 ../../Zotlabs/Lib/Group.php:325
msgid "Edit group"
msgstr "Editar grupo"
-#: ../../include/group.php:323 ../../Zotlabs/Lib/Group.php:326
+#: ../../include/group.php:329 ../../Zotlabs/Lib/Group.php:326
msgid "Add privacy group"
msgstr "Añadir un grupo de canales"
-#: ../../include/group.php:324 ../../Zotlabs/Lib/Group.php:327
+#: ../../include/group.php:330 ../../Zotlabs/Lib/Group.php:327
msgid "Channels not in any privacy group"
msgstr "Sin canales en ningún grupo"
-#: ../../include/group.php:326 ../../Zotlabs/Widget/Savedsearch.php:84
+#: ../../include/group.php:332 ../../Zotlabs/Widget/Savedsearch.php:84
#: ../../Zotlabs/Lib/AccessList.php:336 ../../Zotlabs/Lib/Group.php:329
msgid "add"
msgstr "añadir"
@@ -6618,177 +6630,199 @@ msgstr "no me gusta"
msgid "dislikes"
msgstr "no gusta de"
-#: ../../include/items.php:1001 ../../include/items.php:1061
+#: ../../include/items.php:1037 ../../include/items.php:1097
msgid "(Unknown)"
msgstr "(Desconocido)"
-#: ../../include/items.php:1249
+#: ../../include/items.php:1301
msgid "Visible to anybody on the internet."
msgstr "Visible para cualquiera en internet."
-#: ../../include/items.php:1251
+#: ../../include/items.php:1303
msgid "Visible to you only."
msgstr "Visible sólo para usted."
-#: ../../include/items.php:1253
+#: ../../include/items.php:1305
msgid "Visible to anybody in this network."
msgstr "Visible para cualquiera en esta red."
-#: ../../include/items.php:1255
+#: ../../include/items.php:1307
msgid "Visible to anybody authenticated."
msgstr "Visible para cualquiera que esté autenticado."
-#: ../../include/items.php:1257
+#: ../../include/items.php:1309
#, php-format
msgid "Visible to anybody on %s."
msgstr "Visible para cualquiera en %s."
-#: ../../include/items.php:1259
+#: ../../include/items.php:1311
msgid "Visible to all connections."
msgstr "Visible para todas las conexiones."
-#: ../../include/items.php:1261
+#: ../../include/items.php:1313
msgid "Visible to approved connections."
msgstr "Visible para las conexiones permitidas."
-#: ../../include/items.php:1263
+#: ../../include/items.php:1315
msgid "Visible to specific connections."
msgstr "Visible para conexiones específicas."
-#: ../../include/items.php:4493 ../../Zotlabs/Module/Group.php:62
+#: ../../include/items.php:4584 ../../Zotlabs/Module/Group.php:62
#: ../../Zotlabs/Module/Group.php:214
msgid "Privacy group not found."
msgstr "Grupo de canales no encontrado."
-#: ../../include/items.php:4509
+#: ../../include/items.php:4600
msgid "Privacy group is empty."
msgstr "El grupo de canales está vacío."
-#: ../../include/items.php:4516
+#: ../../include/items.php:4607
#, php-format
msgid "Privacy group: %s"
msgstr "Grupo de canales: %s"
-#: ../../include/items.php:4526 ../../Zotlabs/Module/Connedit.php:860
+#: ../../include/items.php:4617 ../../Zotlabs/Module/Connedit.php:860
#, php-format
msgid "Connection: %s"
msgstr "Conexión: %s"
-#: ../../include/items.php:4528
+#: ../../include/items.php:4619
msgid "Connection not found."
msgstr "Conexión no encontrada"
-#: ../../include/items.php:4875 ../../Zotlabs/Module/Cover_photo.php:297
+#: ../../include/items.php:4965 ../../Zotlabs/Module/Cover_photo.php:297
msgid "female"
msgstr "mujer"
-#: ../../include/items.php:4876 ../../Zotlabs/Module/Cover_photo.php:298
+#: ../../include/items.php:4966 ../../Zotlabs/Module/Cover_photo.php:298
#, php-format
msgid "%1$s updated her %2$s"
msgstr "%1$s ha actualizado su %2$s"
-#: ../../include/items.php:4877 ../../Zotlabs/Module/Cover_photo.php:299
+#: ../../include/items.php:4967 ../../Zotlabs/Module/Cover_photo.php:299
msgid "male"
msgstr "hombre"
-#: ../../include/items.php:4878 ../../Zotlabs/Module/Cover_photo.php:300
+#: ../../include/items.php:4968 ../../Zotlabs/Module/Cover_photo.php:300
#, php-format
msgid "%1$s updated his %2$s"
msgstr "%1$s ha actualizado su %2$s"
-#: ../../include/items.php:4880 ../../Zotlabs/Module/Cover_photo.php:302
+#: ../../include/items.php:4970 ../../Zotlabs/Module/Cover_photo.php:302
#, php-format
msgid "%1$s updated their %2$s"
msgstr "%1$s ha actualizado su %2$s"
-#: ../../include/items.php:4882
+#: ../../include/items.php:4972
msgid "profile photo"
msgstr "foto del perfil"
-#: ../../include/items.php:5074
+#: ../../include/items.php:5164
#, php-format
msgid "[Edited %s]"
msgstr "[se ha editado %s]"
-#: ../../include/items.php:5074
+#: ../../include/items.php:5164
msgctxt "edit_activity"
msgid "Post"
msgstr "Publicar"
-#: ../../include/items.php:5074
+#: ../../include/items.php:5164
msgctxt "edit_activity"
msgid "Comment"
msgstr "Comentar"
#: ../../include/account.php:38
-msgid "Not a valid email address"
-msgstr "Dirección de correo no válida"
+msgid "The provided email address is not valid"
+msgstr "La dirección de correo electrónico proporcionada no es válida"
#: ../../include/account.php:40
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio."
+msgid "The provided email domain is not among those allowed on this site"
+msgstr "El dominio de correo electrónico proporcionado no está entre los permitidos en este sitio"
-#: ../../include/account.php:46
-msgid "Your email address is already registered at this site."
-msgstr "Su dirección de correo está ya registrada en este sitio."
+#: ../../include/account.php:51
+msgid "The provided email address is already registered at this site"
+msgstr "La dirección de correo electrónico proporcionada ya está registrada en este sitio"
-#: ../../include/account.php:78
+#: ../../include/account.php:88
msgid "An invitation is required."
msgstr "Es obligatorio que le inviten."
-#: ../../include/account.php:82
+#: ../../include/account.php:97
msgid "Invitation could not be verified."
msgstr "No se ha podido verificar su invitación."
-#: ../../include/account.php:158
+#: ../../include/account.php:185
msgid "Please enter the required information."
msgstr "Por favor introduzca la información requerida."
-#: ../../include/account.php:225
+#: ../../include/account.php:252 ../../include/account.php:360
msgid "Failed to store account information."
msgstr "La información de la cuenta no se ha podido guardar."
-#: ../../include/account.php:313
+#: ../../include/account.php:429 ../../include/account.php:497
+#: ../../Zotlabs/Module/Register.php:352
#, php-format
msgid "Registration confirmation for %s"
msgstr "Confirmación de registro para %s"
-#: ../../include/account.php:382
+#: ../../include/account.php:572
#, php-format
msgid "Registration request at %s"
msgstr "Solicitud de registro en %s"
-#: ../../include/account.php:404
+#: ../../include/account.php:594
msgid "your registration password"
msgstr "su contraseña de registro"
-#: ../../include/account.php:410 ../../include/account.php:473
+#: ../../include/account.php:600 ../../include/account.php:689
#, php-format
msgid "Registration details for %s"
msgstr "Detalles del registro de %s"
-#: ../../include/account.php:484
+#: ../../include/account.php:700
msgid "Account approved."
msgstr "Cuenta aprobada."
-#: ../../include/account.php:524
+#: ../../include/account.php:756
#, php-format
msgid "Registration revoked for %s"
msgstr "Registro revocado para %s"
-#: ../../include/account.php:807 ../../include/account.php:809
+#: ../../include/account.php:763
+#, php-format
+msgid "Could not revoke registration for %s"
+msgstr "No se ha podido revocar el registro de %s"
+
+#: ../../include/account.php:1179 ../../include/account.php:1181
msgid "Click here to upgrade."
msgstr "Pulse aquí para actualizar"
-#: ../../include/account.php:815
+#: ../../include/account.php:1187
msgid "This action exceeds the limits set by your subscription plan."
msgstr "Esta acción supera los límites establecidos por su plan de suscripción "
-#: ../../include/account.php:820
+#: ../../include/account.php:1192
msgid "This action is not available under your subscription plan."
msgstr "Esta acción no está disponible en su plan de suscripción."
-#: ../../include/photo/photo_driver.php:434
+#: ../../include/account.php:1252
+msgid "open"
+msgstr "abierto"
+
+#: ../../include/account.php:1252
+msgid "closed"
+msgstr "cerrado"
+
+#: ../../include/account.php:1259
+msgid "Registration is currently"
+msgstr "El registro está actualmente "
+
+#: ../../include/account.php:1268
+msgid "please come back"
+msgstr "por favor, vuelva"
+
+#: ../../include/photo/photo_driver.php:435
#: ../../Zotlabs/Module/Profile_photo.php:147
#: ../../Zotlabs/Module/Profile_photo.php:284
msgid "Profile Photos"
@@ -6871,8 +6905,8 @@ msgstr "%sha compartido un/una %scon usted"
msgid "%1$s's bookmarks"
msgstr "Marcadores de %1$s"
-#: ../../include/menu.php:120 ../../include/channel.php:1539
-#: ../../include/channel.php:1543 ../../Zotlabs/Widget/Cdav.php:138
+#: ../../include/menu.php:120 ../../include/channel.php:1563
+#: ../../include/channel.php:1567 ../../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
@@ -6884,84 +6918,84 @@ msgstr "Marcadores de %1$s"
#: ../../Zotlabs/Module/Connections.php:363
#: ../../Zotlabs/Module/Connections.php:383 ../../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/Wiki.php:210 ../../Zotlabs/Module/Wiki.php:383
#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Lib/Apps.php:557
#: ../../Zotlabs/Lib/ThreadItem.php:149
msgid "Edit"
msgstr "Editar"
-#: ../../include/bbcode.php:221 ../../include/bbcode.php:916
-#: ../../include/bbcode.php:1494 ../../include/bbcode.php:1502
+#: ../../include/bbcode.php:233 ../../include/bbcode.php:928
+#: ../../include/bbcode.php:1525 ../../include/bbcode.php:1533
msgid "Image/photo"
msgstr "Imagen/foto"
-#: ../../include/bbcode.php:268 ../../include/bbcode.php:1519
+#: ../../include/bbcode.php:280 ../../include/bbcode.php:1550
msgid "Encrypted content"
msgstr "Contenido cifrado"
-#: ../../include/bbcode.php:322
+#: ../../include/bbcode.php:334
#, php-format
msgid "Install %1$s element %2$s"
msgstr "Instalar el elemento de%1$s%2$s"
-#: ../../include/bbcode.php:326
+#: ../../include/bbcode.php:338
#, php-format
msgid ""
"This post contains an installable %s element, however you lack permissions "
"to install it on this site."
msgstr "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio."
-#: ../../include/bbcode.php:336 ../../Zotlabs/Module/Impel.php:43
+#: ../../include/bbcode.php:348 ../../Zotlabs/Module/Impel.php:43
msgid "webpage"
msgstr "página web"
-#: ../../include/bbcode.php:339 ../../Zotlabs/Module/Impel.php:53
+#: ../../include/bbcode.php:351 ../../Zotlabs/Module/Impel.php:53
msgid "layout"
msgstr "plantilla"
-#: ../../include/bbcode.php:342 ../../Zotlabs/Module/Impel.php:48
+#: ../../include/bbcode.php:354 ../../Zotlabs/Module/Impel.php:48
msgid "block"
msgstr "bloque"
-#: ../../include/bbcode.php:345 ../../Zotlabs/Module/Impel.php:60
+#: ../../include/bbcode.php:357 ../../Zotlabs/Module/Impel.php:60
msgid "menu"
msgstr "menú"
-#: ../../include/bbcode.php:539
+#: ../../include/bbcode.php:551
msgid "card"
msgstr "ficha"
-#: ../../include/bbcode.php:541
+#: ../../include/bbcode.php:553
msgid "article"
msgstr "el artículo"
-#: ../../include/bbcode.php:547 ../../include/markdown.php:202
+#: ../../include/bbcode.php:559 ../../include/markdown.php:202
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr "%1$s escribió %2$s siguiente %3$s"
-#: ../../include/bbcode.php:624 ../../include/bbcode.php:632
+#: ../../include/bbcode.php:636 ../../include/bbcode.php:644
msgid "Click to open/close"
msgstr "Pulsar para abrir/cerrar"
-#: ../../include/bbcode.php:632 ../../include/markdown.php:255
+#: ../../include/bbcode.php:644 ../../include/markdown.php:255
msgid "spoiler"
msgstr "spoiler"
-#: ../../include/bbcode.php:645
+#: ../../include/bbcode.php:657
msgid "View article"
msgstr "Ver el artículo"
-#: ../../include/bbcode.php:645
+#: ../../include/bbcode.php:657
msgid "View summary"
msgstr "Ver sumario"
-#: ../../include/bbcode.php:1038 ../../include/bbcode.php:1195
-#: ../../Zotlabs/Lib/NativeWikiPage.php:605
+#: ../../include/bbcode.php:1050 ../../include/bbcode.php:1217
+#: ../../Zotlabs/Lib/NativeWikiPage.php:618
msgid "Different viewers will see this text differently"
msgstr "Visitantes diferentes verán este texto de forma distinta"
-#: ../../include/bbcode.php:1482
+#: ../../include/bbcode.php:1501
msgid "$1 wrote:"
msgstr "$1 escribió:"
@@ -6981,16 +7015,18 @@ msgstr "Nombre demasiado largo"
msgid "No account identifier"
msgstr "Ningún identificador de la cuenta"
-#: ../../include/channel.php:212
+#: ../../include/channel.php:212 ../../Zotlabs/Module/Register.php:95
msgid "Nickname is required."
msgstr "Se requiere un sobrenombre (alias)."
-#: ../../include/channel.php:226 ../../include/channel.php:707
+#: ../../include/channel.php:226 ../../include/channel.php:706
+#: ../../Zotlabs/Module/Register.php:100
#: ../../Zotlabs/Module/Changeaddr.php:46
msgid "Reserved nickname. Please choose another."
msgstr "Sobrenombre en uso. Por favor, elija otro."
-#: ../../include/channel.php:231 ../../include/channel.php:712
+#: ../../include/channel.php:231 ../../include/channel.php:711
+#: ../../Zotlabs/Module/Register.php:105
#: ../../Zotlabs/Module/Changeaddr.php:51
msgid ""
"Nickname has unsupported characters or is already being used on this site."
@@ -7004,192 +7040,192 @@ msgstr "No ha sido posible recuperar la identidad creada"
msgid "Default Profile"
msgstr "Perfil principal"
-#: ../../include/channel.php:640 ../../include/channel.php:729
+#: ../../include/channel.php:639 ../../include/channel.php:728
msgid "Unable to retrieve modified identity"
msgstr "No se puede recuperar la identidad modficada"
-#: ../../include/channel.php:1386
+#: ../../include/channel.php:1410
msgid "Requested channel is not available."
msgstr "El canal solicitado no está disponible."
-#: ../../include/channel.php:1532 ../../Zotlabs/Module/Profiles.php:730
+#: ../../include/channel.php:1556 ../../Zotlabs/Module/Profiles.php:730
msgid "Change profile photo"
msgstr "Cambiar la foto del perfil"
-#: ../../include/channel.php:1540
+#: ../../include/channel.php:1564
msgid "Create New Profile"
msgstr "Crear un nuevo perfil"
-#: ../../include/channel.php:1558 ../../Zotlabs/Module/Profiles.php:822
+#: ../../include/channel.php:1582 ../../Zotlabs/Module/Profiles.php:822
msgid "Profile Image"
msgstr "Imagen del perfil"
-#: ../../include/channel.php:1561
+#: ../../include/channel.php:1585
msgid "Visible to everybody"
msgstr "Visible para todos"
-#: ../../include/channel.php:1562 ../../Zotlabs/Module/Profiles.php:727
+#: ../../include/channel.php:1586 ../../Zotlabs/Module/Profiles.php:727
#: ../../Zotlabs/Module/Profiles.php:826
msgid "Edit visibility"
msgstr "Editar visibilidad"
-#: ../../include/channel.php:1638 ../../include/channel.php:1766
+#: ../../include/channel.php:1662 ../../include/channel.php:1790
msgid "Gender:"
msgstr "Género:"
-#: ../../include/channel.php:1639 ../../include/channel.php:1810
+#: ../../include/channel.php:1663 ../../include/channel.php:1834
msgid "Status:"
msgstr "Estado:"
-#: ../../include/channel.php:1640 ../../include/channel.php:1834
+#: ../../include/channel.php:1664 ../../include/channel.php:1858
msgid "Homepage:"
msgstr "Página personal:"
-#: ../../include/channel.php:1641
+#: ../../include/channel.php:1665
msgid "Online Now"
msgstr "Ahora en línea"
-#: ../../include/channel.php:1694
+#: ../../include/channel.php:1718
msgid "Change your profile photo"
msgstr "Cambiar su foto del perfil"
-#: ../../include/channel.php:1725
+#: ../../include/channel.php:1749
msgid "Trans"
msgstr "Trans"
-#: ../../include/channel.php:1764
+#: ../../include/channel.php:1788
#: ../../Zotlabs/Module/Settings/Channel.php:501
msgid "Full Name:"
msgstr "Nombre completo:"
-#: ../../include/channel.php:1771
+#: ../../include/channel.php:1795
msgid "Like this channel"
msgstr "Me gusta este canal"
-#: ../../include/channel.php:1795
+#: ../../include/channel.php:1819
msgid "j F, Y"
msgstr "j F Y"
-#: ../../include/channel.php:1796
+#: ../../include/channel.php:1820
msgid "j F"
msgstr "j F"
-#: ../../include/channel.php:1803
+#: ../../include/channel.php:1827
msgid "Birthday:"
msgstr "Cumpleaños:"
-#: ../../include/channel.php:1807 ../../Zotlabs/Module/Directory.php:349
+#: ../../include/channel.php:1831 ../../Zotlabs/Module/Directory.php:349
msgid "Age:"
msgstr "Edad:"
-#: ../../include/channel.php:1816
+#: ../../include/channel.php:1840
#, php-format
msgid "for %1$d %2$s"
msgstr "por %1$d %2$s"
-#: ../../include/channel.php:1828
+#: ../../include/channel.php:1852
msgid "Tags:"
msgstr "Etiquetas:"
-#: ../../include/channel.php:1832
+#: ../../include/channel.php:1856
msgid "Sexual Preference:"
msgstr "Orientación sexual:"
-#: ../../include/channel.php:1836 ../../Zotlabs/Module/Directory.php:367
+#: ../../include/channel.php:1860 ../../Zotlabs/Module/Directory.php:367
msgid "Hometown:"
msgstr "Lugar de nacimiento:"
-#: ../../include/channel.php:1838
+#: ../../include/channel.php:1862
msgid "Political Views:"
msgstr "Posición política:"
-#: ../../include/channel.php:1840
+#: ../../include/channel.php:1864
msgid "Religion:"
msgstr "Religión:"
-#: ../../include/channel.php:1842 ../../Zotlabs/Module/Directory.php:369
+#: ../../include/channel.php:1866 ../../Zotlabs/Module/Directory.php:369
msgid "About:"
msgstr "Sobre mí:"
-#: ../../include/channel.php:1844
+#: ../../include/channel.php:1868
msgid "Hobbies/Interests:"
msgstr "Aficciones o intereses:"
-#: ../../include/channel.php:1846
+#: ../../include/channel.php:1870
msgid "Likes:"
msgstr "Me gusta:"
-#: ../../include/channel.php:1848
+#: ../../include/channel.php:1872
msgid "Dislikes:"
msgstr "No me gusta:"
-#: ../../include/channel.php:1850
+#: ../../include/channel.php:1874
msgid "Contact information and Social Networks:"
msgstr "Información de contacto y redes sociales:"
-#: ../../include/channel.php:1852
+#: ../../include/channel.php:1876
msgid "My other channels:"
msgstr "Mis otros canales:"
-#: ../../include/channel.php:1854
+#: ../../include/channel.php:1878
msgid "Musical interests:"
msgstr "Preferencias musicales:"
-#: ../../include/channel.php:1856
+#: ../../include/channel.php:1880
msgid "Books, literature:"
msgstr "Libros, literatura:"
-#: ../../include/channel.php:1858
+#: ../../include/channel.php:1882
msgid "Television:"
msgstr "Televisión:"
-#: ../../include/channel.php:1860
+#: ../../include/channel.php:1884
msgid "Film/dance/culture/entertainment:"
msgstr "Cine, danza, cultura, entretenimiento:"
-#: ../../include/channel.php:1862
+#: ../../include/channel.php:1886
msgid "Love/Romance:"
msgstr "Vida sentimental o amorosa:"
-#: ../../include/channel.php:1864
+#: ../../include/channel.php:1888
msgid "Work/employment:"
msgstr "Trabajo:"
-#: ../../include/channel.php:1866
+#: ../../include/channel.php:1890
msgid "School/education:"
msgstr "Estudios:"
-#: ../../include/channel.php:1887 ../../Zotlabs/Module/Profperm.php:113
+#: ../../include/channel.php:1911 ../../Zotlabs/Module/Profperm.php:113
#: ../../Zotlabs/Lib/Apps.php:362
msgid "Profile"
msgstr "Perfil"
-#: ../../include/channel.php:1889
+#: ../../include/channel.php:1913
msgid "Like this thing"
msgstr "Me gusta esto"
-#: ../../include/channel.php:1890 ../../Zotlabs/Module/Events.php:699
+#: ../../include/channel.php:1914 ../../Zotlabs/Module/Events.php:699
msgid "Export"
msgstr "Exportar"
-#: ../../include/channel.php:2329 ../../Zotlabs/Module/Cover_photo.php:304
+#: ../../include/channel.php:2353 ../../Zotlabs/Module/Cover_photo.php:304
msgid "cover photo"
msgstr "Imagen de portada del perfil"
-#: ../../include/channel.php:2598 ../../Zotlabs/Module/Rmagic.php:96
-#: ../../boot.php:1712
+#: ../../include/channel.php:2622 ../../Zotlabs/Module/Rmagic.php:96
+#: ../../boot.php:1717
msgid "Remote Authentication"
msgstr "Acceso desde su servidor"
-#: ../../include/channel.php:2599 ../../Zotlabs/Module/Rmagic.php:97
+#: ../../include/channel.php:2623 ../../Zotlabs/Module/Rmagic.php:97
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)"
-#: ../../include/channel.php:2600 ../../Zotlabs/Module/Rmagic.php:98
+#: ../../include/channel.php:2624 ../../Zotlabs/Module/Rmagic.php:98
msgid "Authenticate"
msgstr "Acceder"
-#: ../../include/channel.php:2758 ../../Zotlabs/Module/Admin/Accounts.php:91
+#: ../../include/channel.php:2782 ../../Zotlabs/Module/Admin/Accounts.php:184
#, php-format
msgid "Account '%s' deleted"
msgstr "La cuenta '%s' ha sido eliminada"
@@ -7199,49 +7235,49 @@ msgstr "La cuenta '%s' ha sido eliminada"
msgid "Visible to your default audience"
msgstr "Visible para su público predeterminado."
-#: ../../include/acl_selectors.php:99
+#: ../../include/acl_selectors.php:100
msgid "Profile-Based Privacy Groups"
msgstr "Grupos de privacidad basados en perfiles"
-#: ../../include/acl_selectors.php:118
+#: ../../include/acl_selectors.php:119
msgid "Private Forum"
msgstr "Foro privado"
-#: ../../include/acl_selectors.php:124 ../../Zotlabs/Widget/Forums.php:100
-#: ../../Zotlabs/Widget/Activity_filter.php:115
+#: ../../include/acl_selectors.php:125 ../../Zotlabs/Widget/Forums.php:100
+#: ../../Zotlabs/Widget/Activity_filter.php:123
#: ../../Zotlabs/Widget/Notifications.php:139
#: ../../Zotlabs/Widget/Notifications.php:140
msgid "Forums"
msgstr "Foros"
-#: ../../include/acl_selectors.php:135
+#: ../../include/acl_selectors.php:136
#: ../../Zotlabs/Lib/PermissionDescription.php:107
msgid "Only me"
msgstr "Sólo yo"
-#: ../../include/acl_selectors.php:142
+#: ../../include/acl_selectors.php:143
msgid "Share with"
msgstr "Compartir con "
-#: ../../include/acl_selectors.php:143
+#: ../../include/acl_selectors.php:144
msgid "Custom selection"
msgstr "Selección personalizada"
-#: ../../include/acl_selectors.php:145
+#: ../../include/acl_selectors.php:146
msgid ""
"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and "
"limit the scope of \"Allow\"."
msgstr "Seleccione \"Permitir\" para permitir la visualización. \"No permitir\" le permite anular y limitar el alcance de \"Permitir\"."
-#: ../../include/acl_selectors.php:146 ../../Zotlabs/Module/Authorize.php:32
+#: ../../include/acl_selectors.php:147 ../../Zotlabs/Module/Authorize.php:32
msgid "Allow"
msgstr "Permitir"
-#: ../../include/acl_selectors.php:147
+#: ../../include/acl_selectors.php:148
msgid "Don't allow"
msgstr "No permitir"
-#: ../../include/acl_selectors.php:180
+#: ../../include/acl_selectors.php:181
#, php-format
msgid ""
"Post permissions %s cannot be changed %s after a post is shared.</br />These"
@@ -7440,28 +7476,28 @@ msgstr "Compartir esto"
msgid "share"
msgstr "compartir"
-#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124
+#: ../../Zotlabs/Widget/Pinned.php:122 ../../Zotlabs/Widget/Pinned.php:123
#, php-format
msgid "View %s's profile - %s"
msgstr "Ver el perfil de %s - %s"
-#: ../../Zotlabs/Widget/Pinned.php:128 ../../Zotlabs/Lib/ThreadItem.php:414
+#: ../../Zotlabs/Widget/Pinned.php:127 ../../Zotlabs/Lib/ThreadItem.php:414
msgid "via"
msgstr "mediante"
-#: ../../Zotlabs/Widget/Pinned.php:143 ../../Zotlabs/Lib/ThreadItem.php:445
+#: ../../Zotlabs/Widget/Pinned.php:141 ../../Zotlabs/Lib/ThreadItem.php:445
msgid "Attendance Options"
msgstr "Opciones de participación o asistencia"
-#: ../../Zotlabs/Widget/Pinned.php:144 ../../Zotlabs/Lib/ThreadItem.php:447
+#: ../../Zotlabs/Widget/Pinned.php:142 ../../Zotlabs/Lib/ThreadItem.php:447
msgid "Voting Options"
msgstr "Opciones de votación"
-#: ../../Zotlabs/Widget/Pinned.php:156 ../../Zotlabs/Lib/ThreadItem.php:471
+#: ../../Zotlabs/Widget/Pinned.php:154 ../../Zotlabs/Lib/ThreadItem.php:471
msgid "Pinned post"
msgstr "Entradas ancladas"
-#: ../../Zotlabs/Widget/Pinned.php:158
+#: ../../Zotlabs/Widget/Pinned.php:156
msgid "Don't show"
msgstr "No mostrar"
@@ -7487,7 +7523,7 @@ msgid "Channel Calendar"
msgstr "Calendario del canal"
#: ../../Zotlabs/Widget/Cdav.php:129 ../../Zotlabs/Widget/Cdav.php:143
-#: ../../Zotlabs/Module/Cdav.php:1055
+#: ../../Zotlabs/Module/Cdav.php:1056
msgid "CalDAV Calendars"
msgstr "Calendarios CalDAV"
@@ -7508,7 +7544,7 @@ msgid "Create new CalDAV calendar"
msgstr "Crear un nuevo calendario CalDAV"
#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178
-#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387
+#: ../../Zotlabs/Module/Cdav.php:1060 ../../Zotlabs/Module/Cdav.php:1388
#: ../../Zotlabs/Module/Webpages.php:254
#: ../../Zotlabs/Module/New_channel.php:189
#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Profiles.php:800
@@ -7526,7 +7562,7 @@ msgstr "Nombre del calendario"
msgid "Calendar Tools"
msgstr "Gestión de calendarios"
-#: ../../Zotlabs/Widget/Cdav.php:143 ../../Zotlabs/Module/Cdav.php:1055
+#: ../../Zotlabs/Widget/Cdav.php:143 ../../Zotlabs/Module/Cdav.php:1056
msgid "Channel Calendars"
msgstr "Calendarios del canal"
@@ -7611,23 +7647,23 @@ msgid "Bookmarked Chatrooms"
msgstr "Salas de chat preferidas"
#: ../../Zotlabs/Widget/Wiki_page_history.php:23
-#: ../../Zotlabs/Lib/NativeWikiPage.php:564
+#: ../../Zotlabs/Lib/NativeWikiPage.php:577
msgctxt "wiki_history"
msgid "Message"
msgstr "Mensaje"
#: ../../Zotlabs/Widget/Wiki_page_history.php:24
-#: ../../Zotlabs/Lib/NativeWikiPage.php:565
+#: ../../Zotlabs/Lib/NativeWikiPage.php:578
msgid "Date"
msgstr "Fecha"
#: ../../Zotlabs/Widget/Wiki_page_history.php:25
-#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:566
+#: ../../Zotlabs/Module/Wiki.php:366 ../../Zotlabs/Lib/NativeWikiPage.php:579
msgid "Revert"
msgstr "Revertir"
#: ../../Zotlabs/Widget/Wiki_page_history.php:26
-#: ../../Zotlabs/Lib/NativeWikiPage.php:567
+#: ../../Zotlabs/Lib/NativeWikiPage.php:580
msgid "Compare"
msgstr "Comparar"
@@ -7663,13 +7699,13 @@ msgstr "Nuevo mensaje"
msgid "photo/image"
msgstr "foto/imagen"
-#: ../../Zotlabs/Widget/Admin.php:22 ../../Zotlabs/Module/Admin/Site.php:292
+#: ../../Zotlabs/Widget/Admin.php:22 ../../Zotlabs/Module/Admin/Site.php:411
msgid "Site"
msgstr "Sitio"
#: ../../Zotlabs/Widget/Admin.php:23
-#: ../../Zotlabs/Module/Admin/Accounts.php:167
-#: ../../Zotlabs/Module/Admin/Accounts.php:180
+#: ../../Zotlabs/Module/Admin/Accounts.php:308
+#: ../../Zotlabs/Module/Admin/Accounts.php:327
#: ../../Zotlabs/Module/Admin.php:96
msgid "Accounts"
msgstr "Cuentas"
@@ -7680,7 +7716,7 @@ msgstr "Inscripciones de nuevos miembros pendientes de aprobación"
#: ../../Zotlabs/Widget/Admin.php:24
#: ../../Zotlabs/Module/Admin/Channels.php:146
-#: ../../Zotlabs/Module/Admin.php:114
+#: ../../Zotlabs/Module/Admin.php:117
msgid "Channels"
msgstr "Canales"
@@ -7724,85 +7760,85 @@ msgstr "Informes"
msgid "Addon Features"
msgstr "Características del addon"
-#: ../../Zotlabs/Widget/Activity_filter.php:33
+#: ../../Zotlabs/Widget/Activity_filter.php:37
msgid "Direct Messages"
msgstr "Mensajes directos"
-#: ../../Zotlabs/Widget/Activity_filter.php:37
+#: ../../Zotlabs/Widget/Activity_filter.php:41
msgid "Show direct (private) messages"
msgstr "Mostrar mensajes (privados) directos"
-#: ../../Zotlabs/Widget/Activity_filter.php:42
+#: ../../Zotlabs/Widget/Activity_filter.php:46
msgid "Events"
msgstr "Eventos"
-#: ../../Zotlabs/Widget/Activity_filter.php:46
+#: ../../Zotlabs/Widget/Activity_filter.php:50
msgid "Show posts that include events"
msgstr "Mostrar entradas que incluyan eventos"
-#: ../../Zotlabs/Widget/Activity_filter.php:52
+#: ../../Zotlabs/Widget/Activity_filter.php:56
msgid "Polls"
msgstr "Encuestas"
-#: ../../Zotlabs/Widget/Activity_filter.php:56
+#: ../../Zotlabs/Widget/Activity_filter.php:60
msgid "Show posts that include polls"
msgstr "Mostrar entradas que incluyan encuestas"
-#: ../../Zotlabs/Widget/Activity_filter.php:77
+#: ../../Zotlabs/Widget/Activity_filter.php:83
#, php-format
msgid "Show posts related to the %s privacy group"
msgstr "Mostrar entradas relacionadas con el grupo %s"
-#: ../../Zotlabs/Widget/Activity_filter.php:86
+#: ../../Zotlabs/Widget/Activity_filter.php:92
msgid "Show my privacy groups"
msgstr "Mostrar mis grupos de canales"
-#: ../../Zotlabs/Widget/Activity_filter.php:108
+#: ../../Zotlabs/Widget/Activity_filter.php:116
msgid "Show posts to this forum"
msgstr "Mostrar las entradas en este foro"
-#: ../../Zotlabs/Widget/Activity_filter.php:119
+#: ../../Zotlabs/Widget/Activity_filter.php:127
msgid "Show forums"
msgstr "Mostrar los foros"
-#: ../../Zotlabs/Widget/Activity_filter.php:133
+#: ../../Zotlabs/Widget/Activity_filter.php:141
msgid "Starred Posts"
msgstr "Entradas preferidas"
-#: ../../Zotlabs/Widget/Activity_filter.php:137
+#: ../../Zotlabs/Widget/Activity_filter.php:145
msgid "Show posts that I have starred"
msgstr "Mostrar entradas que he señalado como preferidas"
-#: ../../Zotlabs/Widget/Activity_filter.php:148
+#: ../../Zotlabs/Widget/Activity_filter.php:156
msgid "Personal Posts"
msgstr "Entradas personales"
-#: ../../Zotlabs/Widget/Activity_filter.php:152
+#: ../../Zotlabs/Widget/Activity_filter.php:160
msgid "Show posts that mention or involve me"
msgstr "Mostrar entradas que me mencionen o involucren"
-#: ../../Zotlabs/Widget/Activity_filter.php:173
+#: ../../Zotlabs/Widget/Activity_filter.php:183
#, php-format
msgid "Show posts that I have filed to %s"
msgstr "Mostrar las entradas que he enviado a %s"
-#: ../../Zotlabs/Widget/Activity_filter.php:183
+#: ../../Zotlabs/Widget/Activity_filter.php:193
msgid "Show filed post categories"
msgstr "Mostrar los temas de las entradas archivadas"
-#: ../../Zotlabs/Widget/Activity_filter.php:197
+#: ../../Zotlabs/Widget/Activity_filter.php:207
msgid "Panel search"
msgstr "Panel de búsqueda"
-#: ../../Zotlabs/Widget/Activity_filter.php:207
+#: ../../Zotlabs/Widget/Activity_filter.php:217
msgid "Filter by name"
msgstr "Filtrar por nombre"
-#: ../../Zotlabs/Widget/Activity_filter.php:222
+#: ../../Zotlabs/Widget/Activity_filter.php:232
msgid "Remove active filter"
msgstr "Eliminar el filtro activo"
-#: ../../Zotlabs/Widget/Activity_filter.php:238
+#: ../../Zotlabs/Widget/Activity_filter.php:248
msgid "Stream Filters"
msgstr "Filtros del stream"
@@ -8219,29 +8255,29 @@ msgstr "No se puede copiar la carpeta en sí misma."
msgid "Can not move folder \"%s\" into itself."
msgstr "No se puede mover la carpeta\"%s\" en sí misma."
-#: ../../Zotlabs/Module/Network.php:105
+#: ../../Zotlabs/Module/Network.php:107
msgid "No such group"
msgstr "No se encuentra el grupo"
-#: ../../Zotlabs/Module/Network.php:152
+#: ../../Zotlabs/Module/Network.php:156
msgid "No such channel"
msgstr "No se encuentra el canal"
-#: ../../Zotlabs/Module/Network.php:164 ../../Zotlabs/Module/Channel.php:221
+#: ../../Zotlabs/Module/Network.php:168 ../../Zotlabs/Module/Channel.php:221
msgid "Search Results For:"
msgstr "Buscar resultados para:"
-#: ../../Zotlabs/Module/Network.php:205 ../../Zotlabs/Module/Channel.php:256
+#: ../../Zotlabs/Module/Network.php:209 ../../Zotlabs/Module/Channel.php:256
#: ../../Zotlabs/Module/Hq.php:125 ../../Zotlabs/Module/Pubstream.php:95
#: ../../Zotlabs/Module/Display.php:76
msgid "Reset form"
msgstr "Reiniciar el formulario"
-#: ../../Zotlabs/Module/Network.php:239
+#: ../../Zotlabs/Module/Network.php:243
msgid "Privacy group is empty"
msgstr "El grupo de canales está vacío"
-#: ../../Zotlabs/Module/Network.php:249
+#: ../../Zotlabs/Module/Network.php:253
msgid "Privacy group: "
msgstr "Grupo de canales: "
@@ -8278,7 +8314,7 @@ msgid ""
msgstr "Utilice este formulario para importar entradas y contenido desde un archivo de exportación."
#: ../../Zotlabs/Module/Import_items.php:127
-#: ../../Zotlabs/Module/Import.php:629
+#: ../../Zotlabs/Module/Import.php:630
msgid "File to Upload"
msgstr "Fichero para subir"
@@ -8291,42 +8327,42 @@ msgstr "Su paquete de servicios solo permite %d canales."
msgid "No channel. Import failed."
msgstr "No hay canal. La importación ha fallado"
-#: ../../Zotlabs/Module/Import.php:622
+#: ../../Zotlabs/Module/Import.php:623
msgid "You must be logged in to use this feature."
msgstr "Debe estar registrado para poder usar esta funcionalidad."
-#: ../../Zotlabs/Module/Import.php:627
+#: ../../Zotlabs/Module/Import.php:628
msgid "Import Channel"
msgstr "Importar canal"
-#: ../../Zotlabs/Module/Import.php:628
+#: ../../Zotlabs/Module/Import.php:629
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 "Emplee este formulario para importar un canal desde un servidor/hub diferente. Puede recuperar el canal desde el antiguo servidor/hub a través de la red o proporcionando un fichero de exportación."
-#: ../../Zotlabs/Module/Import.php:630
+#: ../../Zotlabs/Module/Import.php:631
msgid "Or provide the old server/hub details"
msgstr "O proporcione los detalles de su antiguo servidor/hub"
-#: ../../Zotlabs/Module/Import.php:632
+#: ../../Zotlabs/Module/Import.php:633
msgid "Your old identity address (xyz@example.com)"
msgstr "Su identidad en el antiguo servidor (canal@ejemplo.com)"
-#: ../../Zotlabs/Module/Import.php:633
+#: ../../Zotlabs/Module/Import.php:634
msgid "Your old login email address"
msgstr "Su antigua dirección de correo electrónico"
-#: ../../Zotlabs/Module/Import.php:634
+#: ../../Zotlabs/Module/Import.php:635
msgid "Your old login password"
msgstr "Su antigua contraseña"
-#: ../../Zotlabs/Module/Import.php:635
+#: ../../Zotlabs/Module/Import.php:636
msgid "Import a few months of posts if possible (limited by available memory"
msgstr "Importar unos meses de mensajes si es posible (limitado por la memoria disponible"
-#: ../../Zotlabs/Module/Import.php:637
+#: ../../Zotlabs/Module/Import.php:638
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"
@@ -8334,26 +8370,26 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Para cualquiera de las opciones, elija si hacer de este servidor su nueva dirección primaria, o si su antigua dirección debe continuar con este papel. Usted podrá publicar desde cualquier ubicación, pero sólo una puede estar marcada como la ubicación principal para los ficheros, fotos y otras imágenes o vídeos."
-#: ../../Zotlabs/Module/Import.php:639
+#: ../../Zotlabs/Module/Import.php:640
msgid "Make this hub my primary location"
msgstr "Convertir este servidor en mi ubicación primaria"
-#: ../../Zotlabs/Module/Import.php:640
+#: ../../Zotlabs/Module/Import.php:641
msgid "Move this channel (disable all previous locations)"
msgstr "Mover este canal (desactivar todas las ubicaciones anteriores)"
-#: ../../Zotlabs/Module/Import.php:641
+#: ../../Zotlabs/Module/Import.php:642
msgid "Use this channel nickname instead of the one provided"
msgstr "Usa este alias de canal en lugar del que se proporciona"
-#: ../../Zotlabs/Module/Import.php:641
+#: ../../Zotlabs/Module/Import.php:642
msgid ""
"Leave blank to keep your existing channel nickname. You will be randomly "
"assigned a similar nickname if either name is already allocated on this "
"site."
msgstr "Dejar en blanco para mantener su alias de canal . Se le asignará aleatoriamente uno similar si cualquiera de los dos nombres ya está asignado en este sitio."
-#: ../../Zotlabs/Module/Import.php:643
+#: ../../Zotlabs/Module/Import.php:644
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
@@ -8380,146 +8416,150 @@ msgstr "php util/z6convert.php"
msgid "from the terminal."
msgstr "desde la terminal."
-#: ../../Zotlabs/Module/Register.php:52
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Se ha superado el límite máximo de inscripciones diarias de este sitio. Por favor, pruebe de nuevo mañana."
+#: ../../Zotlabs/Module/Register.php:112
+msgid "Email address required"
+msgstr "Dirección de correo electrónico requerida"
-#: ../../Zotlabs/Module/Register.php:58
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Por favor, confirme que acepta los Términos del servicio. El registro ha fallado."
+#: ../../Zotlabs/Module/Register.php:153
+msgid "No password provided"
+msgstr "No se ha proporcionado la contraseña"
-#: ../../Zotlabs/Module/Register.php:92
-msgid "Passwords do not match."
-msgstr "Las contraseñas no coinciden."
+#: ../../Zotlabs/Module/Register.php:176
+msgid "Terms of Service not accepted"
+msgstr "No se han aceptado los Términos del servicio"
-#: ../../Zotlabs/Module/Register.php:135
-msgid "Registration successful. Continue to create your first channel..."
-msgstr "Registro exitoso. Continúe creando tu primer canal..."
+#: ../../Zotlabs/Module/Register.php:238
+msgid "Invitation code succesfully applied"
+msgstr "El código de invitación se ha aplicado con éxito"
-#: ../../Zotlabs/Module/Register.php:138
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registro realizado con éxito. Por favor, compruebe su correo electrónico para ver las instrucciones para validarlo."
+#: ../../Zotlabs/Module/Register.php:258
+msgid "Invitation not in time or too late"
+msgstr "La invitación no llega a tiempo o llega demasiado tarde"
-#: ../../Zotlabs/Module/Register.php:145
-msgid "Your registration is pending approval by the site owner."
-msgstr "Su registro está pendiente de aprobación por el propietario del sitio."
+#: ../../Zotlabs/Module/Register.php:264
+msgid "Invitation email failed"
+msgstr "Error en el correo electrónico de invitación"
+
+#: ../../Zotlabs/Module/Register.php:272
+msgid "Invitation code failed"
+msgstr "Código de invitación fallido"
+
+#: ../../Zotlabs/Module/Register.php:279
+msgid "Invitations are not available"
+msgstr "No hay invitaciones disponibles"
+
+#: ../../Zotlabs/Module/Register.php:305
+msgid "Email address already in use"
+msgstr "La dirección de correo electrónico ya está en uso"
-#: ../../Zotlabs/Module/Register.php:148
-msgid "Your registration can not be processed."
-msgstr "Su registro no puede ser procesado."
+#: ../../Zotlabs/Module/Register.php:315
+msgid "Registration on this hub is by invitation only"
+msgstr "El registro en este hub solo es posible por invitación"
-#: ../../Zotlabs/Module/Register.php:195
+#: ../../Zotlabs/Module/Register.php:423
+msgid "New register request"
+msgstr "Nueva solicitud de registro"
+
+#: ../../Zotlabs/Module/Register.php:441
+msgid "Error creating dId A"
+msgstr "Error al crear dId A"
+
+#: ../../Zotlabs/Module/Register.php:459
msgid "Registration on this hub is disabled."
msgstr "El registro está deshabilitado en este sitio."
-#: ../../Zotlabs/Module/Register.php:204
+#: ../../Zotlabs/Module/Register.php:468
msgid "Registration on this hub is by approval only."
msgstr "El registro en este hub está sometido a aprobación previa."
-#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214
-msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
-msgstr "<a href=\"pubsites\">Registrarse en otro hub afiliado.</a>"
+#: ../../Zotlabs/Module/Register.php:469
+msgid "Register at another affiliated hub in case when prefered"
+msgstr "Regístrese en otro hub afiliado en caso de que lo prefiera"
-#: ../../Zotlabs/Module/Register.php:213
+#: ../../Zotlabs/Module/Register.php:482
msgid "Registration on this hub is by invitation only."
msgstr "La inscripción en este hub es sólo posible por invitación."
-#: ../../Zotlabs/Module/Register.php:224
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Este sitio ha excedido el límite de inscripción diaria de cuentas. Por favor, inténtelo de nuevo mañana."
+#: ../../Zotlabs/Module/Register.php:483
+msgid "Register at another affiliated hub"
+msgstr "Regístrese en otro hub afiliado"
-#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28
+#: ../../Zotlabs/Module/Register.php:497 ../../Zotlabs/Module/Siteinfo.php:28
msgid "Terms of Service"
msgstr "Términos del servicio"
-#: ../../Zotlabs/Module/Register.php:245
+#: ../../Zotlabs/Module/Register.php:503
#, php-format
msgid "I accept the %s for this website"
msgstr "Acepto los %s de este sitio"
-#: ../../Zotlabs/Module/Register.php:252
+#: ../../Zotlabs/Module/Register.php:510
#, php-format
msgid "I am over %s years of age and accept the %s for this website"
msgstr "Tengo más de %s años de edad y acepto los %s de este sitio web"
-#: ../../Zotlabs/Module/Register.php:257
+#: ../../Zotlabs/Module/Register.php:520
msgid "Your email address"
msgstr "Su dirección de correo electrónico"
-#: ../../Zotlabs/Module/Register.php:258
+#: ../../Zotlabs/Module/Register.php:522 ../../Zotlabs/Module/Oauth.php:117
+#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158
+msgid "Optional"
+msgstr "Opcional"
+
+#: ../../Zotlabs/Module/Register.php:527
msgid "Choose a password"
msgstr "Elija una contraseña"
-#: ../../Zotlabs/Module/Register.php:259
+#: ../../Zotlabs/Module/Register.php:528
msgid "Please re-enter your password"
msgstr "Por favor, vuelva a escribir su contraseña"
-#: ../../Zotlabs/Module/Register.php:260
+#: ../../Zotlabs/Module/Register.php:530
msgid "Please enter your invitation code"
msgstr "Por favor, introduzca el código de su invitación"
-#: ../../Zotlabs/Module/Register.php:261
-msgid "Your Name"
+#: ../../Zotlabs/Module/Register.php:532
+msgid "Your name"
msgstr "Su nombre"
-#: ../../Zotlabs/Module/Register.php:261
-msgid "Real names are preferred."
-msgstr "Se prefieren los nombres reales"
+#: ../../Zotlabs/Module/Register.php:532
+msgid "Real name is preferred"
+msgstr "Se prefiere el nombre real"
-#: ../../Zotlabs/Module/Register.php:263
+#: ../../Zotlabs/Module/Register.php:534
#: ../../Zotlabs/Module/New_channel.php:177
msgid "Choose a short nickname"
msgstr "Elija un alias corto"
-#: ../../Zotlabs/Module/Register.php:263
-#, php-format
+#: ../../Zotlabs/Module/Register.php:534
msgid ""
-"Your nickname will be used to create an easy to remember channel address "
-"e.g. nickname%s"
-msgstr "Su alias se usará para crear una dirección de canal fácil de recordar, p. ej.: alias%s"
+"Your nickname will be used to create an easy to remember channel address"
+msgstr "Tu alias se utilizará para crear una dirección de canal fácil de recordar"
-#: ../../Zotlabs/Module/Register.php:264
-#: ../../Zotlabs/Module/New_channel.php:178
-#: ../../Zotlabs/Module/Settings/Channel.php:537
-msgid "Channel role and privacy"
-msgstr "Clase de canal y privacidad"
+#: ../../Zotlabs/Module/Register.php:538
+msgid "Why do you want to join this hub?"
+msgstr "¿Por qué quiere unirse a este hub?"
-#: ../../Zotlabs/Module/Register.php:264
-msgid ""
-"Select a channel permission role for your usage needs and privacy "
-"requirements."
-msgstr "Seleccione unos permisos de rol del canal compatibles con sus necesidades de uso y requisitos de privacidad."
+#: ../../Zotlabs/Module/Register.php:538
+msgid "This will help to review your registration"
+msgstr "Esto ayudará a revisar su registro"
-#: ../../Zotlabs/Module/Register.php:264
-#: ../../Zotlabs/Module/New_channel.php:178
-msgid "Read more about channel permission roles"
-msgstr "Leer más sobre los roles y permisos"
-
-#: ../../Zotlabs/Module/Register.php:265
-msgid "no"
-msgstr "no"
-
-#: ../../Zotlabs/Module/Register.php:265
-msgid "yes"
-msgstr "sí"
-
-#: ../../Zotlabs/Module/Register.php:277
-#: ../../Zotlabs/Module/Admin/Site.php:294
+#: ../../Zotlabs/Module/Register.php:544
+#: ../../Zotlabs/Module/Admin/Site.php:413
msgid "Registration"
msgstr "Registro"
-#: ../../Zotlabs/Module/Register.php:294
+#: ../../Zotlabs/Module/Register.php:552
+msgid "I have an invite code"
+msgstr "Tengo un código de invitación"
+
+#: ../../Zotlabs/Module/Register.php:599
msgid ""
-"This site requires email verification. After completing this form, please "
-"check your email for further instructions."
-msgstr "Este sitio requiere verificación por correo electrónico. Después de completar este formulario, por favor revise su correo electrónico para más instrucciones."
+"This site has exceeded the number of allowed daily account registrations."
+msgstr "Este sitio ha superado el número permitido de registros diarios de cuentas."
-#: ../../Zotlabs/Module/Search.php:22
+#: ../../Zotlabs/Module/Search.php:21
#: ../../Zotlabs/Module/Viewconnections.php:23
#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Display.php:26
#: ../../Zotlabs/Module/Directory.php:73 ../../Zotlabs/Module/Directory.php:78
@@ -8527,425 +8567,425 @@ msgstr "Este sitio requiere verificación por correo electrónico. Después de c
msgid "Public access denied."
msgstr "Acceso público denegado."
-#: ../../Zotlabs/Module/Search.php:251
+#: ../../Zotlabs/Module/Search.php:250
#, php-format
msgid "Items tagged with: %s"
msgstr "elementos etiquetados con: %s"
-#: ../../Zotlabs/Module/Search.php:253
+#: ../../Zotlabs/Module/Search.php:252
#, php-format
msgid "Search results for: %s"
msgstr "Resultados de la búsqueda para: %s"
-#: ../../Zotlabs/Module/Setup.php:167
+#: ../../Zotlabs/Module/Setup.php:169
msgid "$Projectname Server - Setup"
msgstr "Servidor $Projectname - Instalación"
-#: ../../Zotlabs/Module/Setup.php:171
+#: ../../Zotlabs/Module/Setup.php:173
msgid "Could not connect to database."
msgstr "No se ha podido conectar a la base de datos."
-#: ../../Zotlabs/Module/Setup.php:175
+#: ../../Zotlabs/Module/Setup.php:177
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "No se puede conectar con la dirección del sitio indicada. Podría tratarse de un problema de SSL o DNS."
-#: ../../Zotlabs/Module/Setup.php:182
+#: ../../Zotlabs/Module/Setup.php:184
msgid "Could not create table."
msgstr "No se puede crear la tabla."
-#: ../../Zotlabs/Module/Setup.php:188
+#: ../../Zotlabs/Module/Setup.php:190
msgid "Your site database has been installed."
msgstr "La base de datos del sitio ha sido instalada."
-#: ../../Zotlabs/Module/Setup.php:194
+#: ../../Zotlabs/Module/Setup.php:196
msgid ""
"You may need to import the file \"install/schema_xxx.sql\" manually using a "
"database client."
msgstr "Podría tener que importar manualmente el fichero \"install/schema_xxx.sql\" usando un cliente de base de datos."
-#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259
-#: ../../Zotlabs/Module/Setup.php:766
+#: ../../Zotlabs/Module/Setup.php:197 ../../Zotlabs/Module/Setup.php:261
+#: ../../Zotlabs/Module/Setup.php:768
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Por favor, lea el fichero \"install/INSTALL.txt\"."
-#: ../../Zotlabs/Module/Setup.php:256
+#: ../../Zotlabs/Module/Setup.php:258
msgid "System check"
msgstr "Verificación del sistema"
-#: ../../Zotlabs/Module/Setup.php:260 ../../Zotlabs/Module/Cdav.php:1036
+#: ../../Zotlabs/Module/Setup.php:262 ../../Zotlabs/Module/Cdav.php:1037
#: ../../Zotlabs/Module/Events.php:698 ../../Zotlabs/Module/Events.php:707
#: ../../Zotlabs/Module/Cal.php:204 ../../Zotlabs/Module/Photos.php:956
msgid "Next"
msgstr "Siguiente"
-#: ../../Zotlabs/Module/Setup.php:261
+#: ../../Zotlabs/Module/Setup.php:263
msgid "Check again"
msgstr "Verificar de nuevo"
-#: ../../Zotlabs/Module/Setup.php:282
+#: ../../Zotlabs/Module/Setup.php:284
msgid "Database connection"
msgstr "Conexión a la base de datos"
-#: ../../Zotlabs/Module/Setup.php:283
+#: ../../Zotlabs/Module/Setup.php:285
msgid ""
"In order to install $Projectname we need to know how to connect to your "
"database."
msgstr "Para instalar $Projectname es necesario saber cómo conectar con su base de datos."
-#: ../../Zotlabs/Module/Setup.php:284
+#: ../../Zotlabs/Module/Setup.php:286
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Por favor, contacte con el proveedor de servicios o el administrador del sitio si tiene dudas sobre estos ajustes."
-#: ../../Zotlabs/Module/Setup.php:285
+#: ../../Zotlabs/Module/Setup.php:287
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "La base de datos que especifique a continuación debe existir ya. Si no es así, por favor, créela antes de seguir."
-#: ../../Zotlabs/Module/Setup.php:289
+#: ../../Zotlabs/Module/Setup.php:291
msgid "Database Server Name"
msgstr "Nombre del servidor de base de datos"
-#: ../../Zotlabs/Module/Setup.php:289
+#: ../../Zotlabs/Module/Setup.php:291
msgid "Default is 127.0.0.1"
msgstr "De forma predeterminada es 127.0.0.1"
-#: ../../Zotlabs/Module/Setup.php:290
+#: ../../Zotlabs/Module/Setup.php:292
msgid "Database Port"
msgstr "Puerto de la base de datos"
-#: ../../Zotlabs/Module/Setup.php:290
+#: ../../Zotlabs/Module/Setup.php:292
msgid "Communication port number - use 0 for default"
msgstr "Número del puerto de comunicaciones - use 0 como valor por defecto"
-#: ../../Zotlabs/Module/Setup.php:291
+#: ../../Zotlabs/Module/Setup.php:293
msgid "Database Login Name"
msgstr "Usuario de la base de datos"
-#: ../../Zotlabs/Module/Setup.php:292
+#: ../../Zotlabs/Module/Setup.php:294
msgid "Database Login Password"
msgstr "Contraseña de acceso a la base de datos"
-#: ../../Zotlabs/Module/Setup.php:293
+#: ../../Zotlabs/Module/Setup.php:295
msgid "Database Name"
msgstr "Nombre de la base de datos"
-#: ../../Zotlabs/Module/Setup.php:294
+#: ../../Zotlabs/Module/Setup.php:296
msgid "Database Type"
msgstr "Tipo de base de datos"
-#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
+#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:338
msgid "Site administrator email address"
msgstr "Dirección de correo electrónico del administrador del sitio"
-#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336
+#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:338
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Su cuenta deberá usar la misma dirección de correo electrónico para poder utilizar el panel de administración web."
-#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
+#: ../../Zotlabs/Module/Setup.php:299 ../../Zotlabs/Module/Setup.php:340
msgid "Website URL"
msgstr "Dirección del sitio web"
-#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338
+#: ../../Zotlabs/Module/Setup.php:299 ../../Zotlabs/Module/Setup.php:340
msgid "Please use SSL (https) URL if available."
msgstr "Por favor, use SSL (https) si está disponible."
-#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340
+#: ../../Zotlabs/Module/Setup.php:300 ../../Zotlabs/Module/Setup.php:342
msgid "Please select a default timezone for your website"
msgstr "Por favor, selecciones el huso horario por defecto de su sitio web"
-#: ../../Zotlabs/Module/Setup.php:325
+#: ../../Zotlabs/Module/Setup.php:327
msgid "Site settings"
msgstr "Ajustes del sitio"
-#: ../../Zotlabs/Module/Setup.php:379
+#: ../../Zotlabs/Module/Setup.php:381
msgid "PHP version 7.1 or greater is required."
msgstr "Se requiere la versión 7.1 o superior de PHP."
-#: ../../Zotlabs/Module/Setup.php:380
+#: ../../Zotlabs/Module/Setup.php:382
msgid "PHP version"
msgstr "Versión de PHP"
-#: ../../Zotlabs/Module/Setup.php:396
+#: ../../Zotlabs/Module/Setup.php:398
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "No se puede encontrar una versión en línea de comandos de PHP en la ruta del servidor web."
-#: ../../Zotlabs/Module/Setup.php:397
+#: ../../Zotlabs/Module/Setup.php:399
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 "Si no tiene instalada la versión de línea de comandos de PHP en su servidor, no podrá realizar envíos en segundo plano mediante cron."
-#: ../../Zotlabs/Module/Setup.php:401
+#: ../../Zotlabs/Module/Setup.php:403
msgid "PHP executable path"
msgstr "Ruta del ejecutable PHP"
-#: ../../Zotlabs/Module/Setup.php:401
+#: ../../Zotlabs/Module/Setup.php:403
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Introducir la ruta completa del ejecutable PHP. Puede dejar la línea en blanco para continuar la instalación."
-#: ../../Zotlabs/Module/Setup.php:406
+#: ../../Zotlabs/Module/Setup.php:408
msgid "Command line PHP"
msgstr "PHP en línea de comandos"
-#: ../../Zotlabs/Module/Setup.php:416
+#: ../../Zotlabs/Module/Setup.php:418
msgid ""
"Unable to check command line PHP, as shell_exec() is disabled. This is "
"required."
msgstr "No se puede comprobar la línea de comandos PHP, ya que shell_exec() está deshabilitado. Es necesario que esté activado."
-#: ../../Zotlabs/Module/Setup.php:420
+#: ../../Zotlabs/Module/Setup.php:422
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "La línea de comandos PHP de su sistema no tiene activado \"register_argc_argv\"."
-#: ../../Zotlabs/Module/Setup.php:421
+#: ../../Zotlabs/Module/Setup.php:423
msgid "This is required for message delivery to work."
msgstr "Esto es necesario para que funcione la transmisión de mensajes."
-#: ../../Zotlabs/Module/Setup.php:424
+#: ../../Zotlabs/Module/Setup.php:426
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../Zotlabs/Module/Setup.php:444
+#: ../../Zotlabs/Module/Setup.php:446
msgid ""
"This is not sufficient to upload larger images or files. You should be able "
"to upload at least 4 MB at once."
msgstr "Esto no es suficiente para subir imágenes o archivos más grandes. Usted debe ser capaz de subir al menos 4 MB a la vez."
-#: ../../Zotlabs/Module/Setup.php:446
+#: ../../Zotlabs/Module/Setup.php:448
#, 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 "La carga máxima que se le permite subir está establecida en %s. El tamaño máximo de un fichero está establecido en %s. Está permitido subir hasta un máximo de %d ficheros de una sola vez."
-#: ../../Zotlabs/Module/Setup.php:452
+#: ../../Zotlabs/Module/Setup.php:454
msgid "You can adjust these settings in the server php.ini file."
msgstr "Puede ajustar estos valores en el fichero php.ini de su servidor."
-#: ../../Zotlabs/Module/Setup.php:454
+#: ../../Zotlabs/Module/Setup.php:456
msgid "PHP upload limits"
msgstr "Límites PHP de subida"
-#: ../../Zotlabs/Module/Setup.php:477
+#: ../../Zotlabs/Module/Setup.php:479
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Error: La función \"openssl_pkey_new\" en este sistema no es capaz de general claves de cifrado."
-#: ../../Zotlabs/Module/Setup.php:478
+#: ../../Zotlabs/Module/Setup.php:480
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Si está en un servidor Windows, por favor, lea \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../Zotlabs/Module/Setup.php:481
+#: ../../Zotlabs/Module/Setup.php:483
msgid "Generate encryption keys"
msgstr "Generar claves de cifrado"
-#: ../../Zotlabs/Module/Setup.php:498
+#: ../../Zotlabs/Module/Setup.php:500
msgid "libCurl PHP module"
msgstr "módulo libCurl PHP"
-#: ../../Zotlabs/Module/Setup.php:499
+#: ../../Zotlabs/Module/Setup.php:501
msgid "GD graphics PHP module"
msgstr "módulo PHP GD graphics"
-#: ../../Zotlabs/Module/Setup.php:500
+#: ../../Zotlabs/Module/Setup.php:502
msgid "OpenSSL PHP module"
msgstr "módulo PHP OpenSSL"
-#: ../../Zotlabs/Module/Setup.php:501
+#: ../../Zotlabs/Module/Setup.php:503
msgid "PDO database PHP module"
msgstr "Módulo PHP de la base de datos PDO "
-#: ../../Zotlabs/Module/Setup.php:502
+#: ../../Zotlabs/Module/Setup.php:504
msgid "mb_string PHP module"
msgstr "módulo PHP mb_string"
-#: ../../Zotlabs/Module/Setup.php:503
+#: ../../Zotlabs/Module/Setup.php:505
msgid "xml PHP module"
msgstr "módulo PHP xml"
-#: ../../Zotlabs/Module/Setup.php:504
+#: ../../Zotlabs/Module/Setup.php:506
msgid "zip PHP module"
msgstr "Módulo zip PHP"
-#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510
+#: ../../Zotlabs/Module/Setup.php:510 ../../Zotlabs/Module/Setup.php:512
msgid "Apache mod_rewrite module"
msgstr "módulo Apache mod_rewrite "
-#: ../../Zotlabs/Module/Setup.php:508
+#: ../../Zotlabs/Module/Setup.php:510
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Error: se necesita el módulo del servidor web Apache mod-rewrite pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517
+#: ../../Zotlabs/Module/Setup.php:516 ../../Zotlabs/Module/Setup.php:519
msgid "exec"
msgstr "ejecutable"
-#: ../../Zotlabs/Module/Setup.php:514
+#: ../../Zotlabs/Module/Setup.php:516
msgid ""
"Error: exec is required but is either not installed or has been disabled in "
"php.ini"
msgstr "Error: se necesita un ejecutable pero o no se instaló o está deshabilitado en php.ini"
-#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523
+#: ../../Zotlabs/Module/Setup.php:522 ../../Zotlabs/Module/Setup.php:525
msgid "shell_exec"
msgstr "shell_exec"
-#: ../../Zotlabs/Module/Setup.php:520
+#: ../../Zotlabs/Module/Setup.php:522
msgid ""
"Error: shell_exec is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Error: se necesita shell_exec pero o no se instaló o está deshabilitado en php.ini"
-#: ../../Zotlabs/Module/Setup.php:528
+#: ../../Zotlabs/Module/Setup.php:530
msgid "Error: libCURL PHP module required but not installed."
msgstr "Error: se necesita el módulo PHP libCURL pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:532
+#: ../../Zotlabs/Module/Setup.php:534
msgid ""
"Error: GD PHP module with JPEG support or ImageMagick graphics library "
"required but not installed."
msgstr "Error: Se requiere el módulo GD PHP con soporte para JPEG o la biblioteca de gráficos ImageMagick, pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:536
+#: ../../Zotlabs/Module/Setup.php:538
msgid "Error: openssl PHP module required but not installed."
msgstr "Error: el módulo PHP openssl es necesario, pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:542
+#: ../../Zotlabs/Module/Setup.php:544
msgid ""
"Error: PDO database PHP module missing a driver for either mysql or pgsql."
msgstr "Error: El módulo PHP de la base de datos PDO carece de un controlador para mysql o pgsql."
-#: ../../Zotlabs/Module/Setup.php:547
+#: ../../Zotlabs/Module/Setup.php:549
msgid "Error: PDO database PHP module required but not installed."
msgstr "Error: se necesita el módulo PHP de la base de datos PDO, pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:551
+#: ../../Zotlabs/Module/Setup.php:553
msgid "Error: mb_string PHP module required but not installed."
msgstr "Error: el módulo PHP mb_string es necesario, pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:555
+#: ../../Zotlabs/Module/Setup.php:557
msgid "Error: xml PHP module required for DAV but not installed."
msgstr "Error: el módulo PHP xml es necesario para DAV, pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:559
+#: ../../Zotlabs/Module/Setup.php:561
msgid "Error: zip PHP module required but not installed."
msgstr "Error: se requiere el módulo zip PHP pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587
+#: ../../Zotlabs/Module/Setup.php:580 ../../Zotlabs/Module/Setup.php:589
msgid ".htconfig.php is writable"
msgstr ".htconfig.php tiene permisos de escritura"
-#: ../../Zotlabs/Module/Setup.php:583
+#: ../../Zotlabs/Module/Setup.php:585
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 "El instalador web no ha podido crear un fichero llamado “.htconfig.php” en la carpeta base de su servidor."
-#: ../../Zotlabs/Module/Setup.php:584
+#: ../../Zotlabs/Module/Setup.php:586
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 "Esto está generalmente ligado a un problema de permisos, a causa del cual el servidor web tiene prohibido modificar ficheros en su carpeta - incluso si usted mismo tiene esos permisos."
-#: ../../Zotlabs/Module/Setup.php:585
+#: ../../Zotlabs/Module/Setup.php:587
msgid "Please see install/INSTALL.txt for additional information."
msgstr "Por favor, consulte install/INSTALL.txt para más información."
-#: ../../Zotlabs/Module/Setup.php:601
+#: ../../Zotlabs/Module/Setup.php:603
msgid ""
"This software uses the Smarty3 template engine to render its web views. "
"Smarty3 compiles templates to PHP to speed up rendering."
msgstr "Este software hace uso del motor de plantillas Smarty3 para diseñar sus plantillas gráficas. Smarty3 compila las plantillas a PHP para acelerar la renderización."
-#: ../../Zotlabs/Module/Setup.php:602
+#: ../../Zotlabs/Module/Setup.php:604
#, 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 "Para poder guardar las plantillas compiladas, el servidor web necesita permisos para acceder al directorio %s en la carpeta web principal."
-#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624
+#: ../../Zotlabs/Module/Setup.php:605 ../../Zotlabs/Module/Setup.php:626
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Por favor, asegúrese de que el servidor web está siendo ejecutado por un usuario que tenga permisos de escritura sobre esta carpeta (por ejemplo, www-data)."
-#: ../../Zotlabs/Module/Setup.php:604
+#: ../../Zotlabs/Module/Setup.php:606
#, 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 "Nota: como medida de seguridad, debe dar al servidor web permisos de escritura solo sobre %s - no sobre el fichero de plantilla (.tpl) que contiene."
-#: ../../Zotlabs/Module/Setup.php:607
+#: ../../Zotlabs/Module/Setup.php:609
#, php-format
msgid "%s is writable"
msgstr "%s tiene permisos de escritura"
-#: ../../Zotlabs/Module/Setup.php:623
+#: ../../Zotlabs/Module/Setup.php:625
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 "Este software utiliza el directorio de almacenamiento para guardar los ficheros subidos. El servidor web debe tener acceso de escritura a este directorio en la carpeta de nivel superior"
-#: ../../Zotlabs/Module/Setup.php:627
+#: ../../Zotlabs/Module/Setup.php:629
msgid "store is writable"
msgstr "\"store\" tiene permisos de escritura"
-#: ../../Zotlabs/Module/Setup.php:659
+#: ../../Zotlabs/Module/Setup.php:661
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "El certificado SSL no ha podido ser validado. Corrija este problema o desactive el acceso https a este sitio."
-#: ../../Zotlabs/Module/Setup.php:660
+#: ../../Zotlabs/Module/Setup.php:662
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 "Si su servidor soporta conexiones cifradas SSL o si permite conexiones al puerto TCP 443 (el puerto usado por el protocolo https), debe utilizar un certificado válido. No debe usar un certificado firmado por usted mismo."
-#: ../../Zotlabs/Module/Setup.php:661
+#: ../../Zotlabs/Module/Setup.php:663
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "Se ha incorporado esta restricción para evitar que sus entradas públicas hagan referencia a imágenes en su propio servidor."
-#: ../../Zotlabs/Module/Setup.php:662
+#: ../../Zotlabs/Module/Setup.php:664
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 "Si su certificado no ha sido reconocido, los miembros de otros sitios (con certificados válidos) recibirán mensajes de aviso en sus propios sitios web."
-#: ../../Zotlabs/Module/Setup.php:663
+#: ../../Zotlabs/Module/Setup.php:665
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "Por razones de compatibilidad (sobre el conjunto de la red, no solo sobre su propio sitio), debemos insistir en estos requisitos."
-#: ../../Zotlabs/Module/Setup.php:664
+#: ../../Zotlabs/Module/Setup.php:666
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Existen varias Autoridades de Certificación que le pueden proporcionar certificados válidos."
-#: ../../Zotlabs/Module/Setup.php:665
+#: ../../Zotlabs/Module/Setup.php:667
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. "
@@ -8953,32 +8993,32 @@ msgid ""
"server communications."
msgstr "Si se tiene la certeza de que el certificado es válido y está firmado por una autoridad de confianza, comprobar para ver si hubo un error al instalar un certificado intermedio. Estos no son normalmente requeridos por los navegadores, pero son necesarios para las comunicaciones de servidor a servidor."
-#: ../../Zotlabs/Module/Setup.php:667
+#: ../../Zotlabs/Module/Setup.php:669
msgid "SSL certificate validation"
msgstr "validación del certificado SSL"
-#: ../../Zotlabs/Module/Setup.php:673
+#: ../../Zotlabs/Module/Setup.php:675
msgid ""
"Url rewrite in .htaccess is not working. Check your server "
"configuration.Test: "
msgstr "No se pueden reescribir las direcciones web en .htaccess. Compruebe la configuración de su servidor:"
-#: ../../Zotlabs/Module/Setup.php:676
+#: ../../Zotlabs/Module/Setup.php:678
msgid "Url rewrite is working"
msgstr "La reescritura de las direcciones funciona correctamente"
-#: ../../Zotlabs/Module/Setup.php:689
+#: ../../Zotlabs/Module/Setup.php:691
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 "El fichero de configuración de la base de datos .htconfig.php no se ha podido modificar. Por favor, copie el texto generado en un fichero con ese nombre en el directorio raíz de su servidor."
-#: ../../Zotlabs/Module/Setup.php:764
+#: ../../Zotlabs/Module/Setup.php:766
msgid "<h1>What next?</h1>"
msgstr "<h1>¿Qué sigue?</h1>"
-#: ../../Zotlabs/Module/Setup.php:765
+#: ../../Zotlabs/Module/Setup.php:767
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
@@ -9032,18 +9072,18 @@ msgstr "Valorar"
#: ../../Zotlabs/Module/Pubsites.php:61 ../../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/Wiki.php:212 ../../Zotlabs/Module/Wiki.php:408
#: ../../Zotlabs/Module/Layouts.php:198
msgid "View"
msgstr "Ver"
#: ../../Zotlabs/Module/Channel.php:131 ../../Zotlabs/Module/Hcard.php:37
-#: ../../Zotlabs/Module/Profile.php:60
+#: ../../Zotlabs/Module/Profile.php:62
msgid "Posts and comments"
msgstr "Publicaciones y comentarios"
#: ../../Zotlabs/Module/Channel.php:138 ../../Zotlabs/Module/Hcard.php:44
-#: ../../Zotlabs/Module/Profile.php:67
+#: ../../Zotlabs/Module/Profile.php:69
msgid "Only posts"
msgstr "Solo publicaciones"
@@ -9051,7 +9091,7 @@ msgstr "Solo publicaciones"
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Permisos insuficientes. Petición redirigida a la página del perfil."
-#: ../../Zotlabs/Module/Channel.php:482 ../../Zotlabs/Module/Display.php:362
+#: ../../Zotlabs/Module/Channel.php:483 ../../Zotlabs/Module/Display.php:354
msgid ""
"You must enable javascript for your browser to be able to view this content."
msgstr "Debe habilitar javascript para poder ver este contenido en su navegador."
@@ -9218,7 +9258,7 @@ msgid "Key and Secret are required"
msgstr "\"Key\" y \"Secret\" son obligatorios"
#: ../../Zotlabs/Module/Oauth.php:53 ../../Zotlabs/Module/Oauth.php:137
-#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388
+#: ../../Zotlabs/Module/Cdav.php:1054 ../../Zotlabs/Module/Cdav.php:1389
#: ../../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:932
@@ -9266,11 +9306,6 @@ msgstr "URI de redirección - dejar en blanco a menos que su aplicación especí
msgid "Icon url"
msgstr "Dirección del icono"
-#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123
-#: ../../Zotlabs/Module/Sources.php:158
-msgid "Optional"
-msgstr "Opcional"
-
#: ../../Zotlabs/Module/Oauth.php:128
msgid "Application not found."
msgstr "Aplicación no encontrada."
@@ -9315,7 +9350,7 @@ msgstr "¡Bienvenido a Hubzilla!"
msgid "You have got no unseen posts..."
msgstr "No tiene ningún mensaje sin leer..."
-#: ../../Zotlabs/Module/Pin.php:36 ../../Zotlabs/Module/Item.php:461
+#: ../../Zotlabs/Module/Pin.php:36 ../../Zotlabs/Module/Item.php:471
msgid "Unable to locate original post."
msgstr "No ha sido posible encontrar la entrada original."
@@ -9373,7 +9408,7 @@ msgid "No chatrooms available"
msgstr "No hay salas de chat disponibles"
#: ../../Zotlabs/Module/Chat.php:262 ../../Zotlabs/Module/Manage.php:145
-#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214
+#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:213
msgid "Create New"
msgstr "Crear"
@@ -9420,7 +9455,7 @@ msgid "Delete event"
msgstr "Borrar evento"
#: ../../Zotlabs/Module/Channel_calendar.php:392
-#: ../../Zotlabs/Module/Cdav.php:943 ../../Zotlabs/Module/Cal.php:165
+#: ../../Zotlabs/Module/Cdav.php:944 ../../Zotlabs/Module/Cal.php:165
msgid "Link to source"
msgstr "Enlace a la fuente"
@@ -9520,168 +9555,168 @@ msgstr "Elegir qué desea enviar al destinatario"
msgid "Make this post private"
msgstr "Convertir en privado este envío"
-#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28
+#: ../../Zotlabs/Module/Cdav.php:819 ../../Zotlabs/Module/Events.php:28
msgid "Calendar entries imported."
msgstr "Entradas de calendario importadas."
-#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30
+#: ../../Zotlabs/Module/Cdav.php:821 ../../Zotlabs/Module/Events.php:30
msgid "No calendar entries found."
msgstr "No se han encontrado entradas de calendario."
-#: ../../Zotlabs/Module/Cdav.php:876
+#: ../../Zotlabs/Module/Cdav.php:877
msgid "CardDAV App"
msgstr "App CarDav"
-#: ../../Zotlabs/Module/Cdav.php:877
+#: ../../Zotlabs/Module/Cdav.php:878
msgid "CalDAV capable addressbook"
msgstr "Libreta de direcciones compatible con CalDav"
-#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468
+#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:468
msgid "Event title"
msgstr "Título del evento"
-#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474
+#: ../../Zotlabs/Module/Cdav.php:1011 ../../Zotlabs/Module/Events.php:474
msgid "Start date and time"
msgstr "Fecha y hora de comienzo"
-#: ../../Zotlabs/Module/Cdav.php:1011
+#: ../../Zotlabs/Module/Cdav.php:1012
msgid "End date and time"
msgstr "Fecha y hora de finalización"
-#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497
+#: ../../Zotlabs/Module/Cdav.php:1013 ../../Zotlabs/Module/Events.php:497
msgid "Timezone:"
msgstr "Zona horaria: "
-#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:697
+#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:697
#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Cal.php:203
#: ../../Zotlabs/Module/Photos.php:947
msgid "Previous"
msgstr "Anterior"
-#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708
+#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:708
#: ../../Zotlabs/Module/Cal.php:205
msgid "Today"
msgstr "Hoy"
-#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703
+#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:703
msgid "Month"
msgstr "Mes"
-#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704
+#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:704
msgid "Week"
msgstr "Semana"
-#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705
+#: ../../Zotlabs/Module/Cdav.php:1041 ../../Zotlabs/Module/Events.php:705
msgid "Day"
msgstr "Día"
-#: ../../Zotlabs/Module/Cdav.php:1041
+#: ../../Zotlabs/Module/Cdav.php:1042
msgid "List month"
msgstr "Lista mensual"
-#: ../../Zotlabs/Module/Cdav.php:1042
+#: ../../Zotlabs/Module/Cdav.php:1043
msgid "List week"
msgstr "Lista semanal"
-#: ../../Zotlabs/Module/Cdav.php:1043
+#: ../../Zotlabs/Module/Cdav.php:1044
msgid "List day"
msgstr "Lista diaria"
-#: ../../Zotlabs/Module/Cdav.php:1051
+#: ../../Zotlabs/Module/Cdav.php:1052
msgid "More"
msgstr "Más"
-#: ../../Zotlabs/Module/Cdav.php:1052
+#: ../../Zotlabs/Module/Cdav.php:1053
msgid "Less"
msgstr "Menos"
-#: ../../Zotlabs/Module/Cdav.php:1054
+#: ../../Zotlabs/Module/Cdav.php:1055
msgid "Select calendar"
msgstr "Seleccionar un calendario"
-#: ../../Zotlabs/Module/Cdav.php:1057
+#: ../../Zotlabs/Module/Cdav.php:1058
msgid "Delete all"
msgstr "Eliminar todos"
-#: ../../Zotlabs/Module/Cdav.php:1060
+#: ../../Zotlabs/Module/Cdav.php:1061
msgid "Sorry! Editing of recurrent events is not yet implemented."
msgstr "¡Disculpas! La edición de eventos recurrentes aún no se ha implementado."
-#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917
msgid "Organisation"
msgstr "Organización"
-#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:788
#: ../../Zotlabs/Module/Connedit.php:919
msgid "Phone"
msgstr "Teléfono"
-#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:790
#: ../../Zotlabs/Module/Connedit.php:921
msgid "Instant messenger"
msgstr "Mensajería instantánea"
-#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791
+#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:791
#: ../../Zotlabs/Module/Connedit.php:922
msgid "Website"
msgstr "Sitio web"
-#: ../../Zotlabs/Module/Cdav.php:1379
+#: ../../Zotlabs/Module/Cdav.php:1380
#: ../../Zotlabs/Module/Admin/Channels.php:160
#: ../../Zotlabs/Module/Profiles.php:504 ../../Zotlabs/Module/Profiles.php:792
#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Locs.php:129
msgid "Address"
msgstr "Dirección"
-#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:793
#: ../../Zotlabs/Module/Connedit.php:924
msgid "Note"
msgstr "Nota"
-#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:798
#: ../../Zotlabs/Module/Connedit.php:929
msgid "Add Contact"
msgstr "Añadir un contacto"
-#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799
+#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Profiles.php:799
#: ../../Zotlabs/Module/Connedit.php:930
msgid "Add Field"
msgstr "Añadir un campo"
-#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:935
+#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935
msgid "P.O. Box"
msgstr "Buzón de correos"
-#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:936
+#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936
msgid "Additional"
msgstr "Adicional"
-#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:937
+#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937
msgid "Street"
msgstr "Calle"
-#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:938
+#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938
msgid "Locality"
msgstr "Localidad"
-#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:939
+#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939
msgid "Region"
msgstr "Provincia, región o estado"
-#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:940
+#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Connedit.php:940
msgid "ZIP Code"
msgstr "Código postal"
-#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759
+#: ../../Zotlabs/Module/Cdav.php:1398 ../../Zotlabs/Module/Profiles.php:759
#: ../../Zotlabs/Module/Connedit.php:941
msgid "Country"
msgstr "País"
-#: ../../Zotlabs/Module/Cdav.php:1456
+#: ../../Zotlabs/Module/Cdav.php:1457
msgid "Default Calendar"
msgstr "Calendario por defecto"
-#: ../../Zotlabs/Module/Cdav.php:1467
+#: ../../Zotlabs/Module/Cdav.php:1468
msgid "Default Addressbook"
msgstr "Agenda de direcciones por defecto"
@@ -9699,32 +9734,32 @@ msgctxt "acl"
msgid "Profile"
msgstr "Perfil"
-#: ../../Zotlabs/Module/Item.php:747
+#: ../../Zotlabs/Module/Item.php:757
msgid "Empty post discarded."
msgstr "La entrada vacía ha sido desechada."
-#: ../../Zotlabs/Module/Item.php:1181
+#: ../../Zotlabs/Module/Item.php:1189
msgid "Duplicate post suppressed."
msgstr "Se ha suprimido la entrada duplicada."
-#: ../../Zotlabs/Module/Item.php:1326
+#: ../../Zotlabs/Module/Item.php:1334
msgid "System error. Post not saved."
msgstr "Error del sistema. La entrada no se ha podido salvar."
-#: ../../Zotlabs/Module/Item.php:1360
+#: ../../Zotlabs/Module/Item.php:1368
msgid "Your comment is awaiting approval."
msgstr "Su comentario está pendiente de aprobación."
-#: ../../Zotlabs/Module/Item.php:1490
+#: ../../Zotlabs/Module/Item.php:1498
msgid "Unable to obtain post information from database."
msgstr "No ha sido posible obtener información de la entrada en la base de datos."
-#: ../../Zotlabs/Module/Item.php:1497
+#: ../../Zotlabs/Module/Item.php:1505
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Ha alcanzado su límite de %1$.0f entradas en la página principal."
-#: ../../Zotlabs/Module/Item.php:1504
+#: ../../Zotlabs/Module/Item.php:1512
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Ha alcanzado su límite de %1$.0f páginas web."
@@ -10073,15 +10108,11 @@ msgstr "Canal premium o restringido"
msgid "Not found"
msgstr "No encontrado"
-#: ../../Zotlabs/Module/Cloud.php:126
-msgid "Please refresh page"
-msgstr "Por favor, recargue la página"
-
-#: ../../Zotlabs/Module/Cloud.php:129
+#: ../../Zotlabs/Module/Cloud.php:130
msgid "Unknown error"
msgstr "Error desconocido"
-#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2154
+#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2186
#, php-format
msgid "&#x1f501; Repeated %1$s's %2$s"
msgstr "&#x1f501; Repetidos %2$sde %1$s"
@@ -10125,7 +10156,7 @@ msgid "Do you authorize the app %s to access your channel data?"
msgstr "¿Autoriza a la aplicación %s a acceder a los datos de su canal?"
#: ../../Zotlabs/Module/Authorize.php:33
-#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Accounts.php:319
msgid "Deny"
msgstr "Rechazar"
@@ -10182,13 +10213,13 @@ msgstr "Instantánea de pantalla"
#: ../../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:291
+#: ../../Zotlabs/Module/Admin/Accounts.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:408
#: ../../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
+#: ../../Zotlabs/Module/Admin.php:141
msgid "Administration"
msgstr "Administración"
@@ -10357,526 +10388,690 @@ msgstr "ADVERTENCIA: Las imágenes SVG pueden contener código malicioso."
msgid "Allow embedded (inline) PDF files"
msgstr "Permitir ficheros PDF incrustados (en línea)"
-#: ../../Zotlabs/Module/Admin/Accounts.php:37
+#: ../../Zotlabs/Module/Admin/Accounts.php:128
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "%s cuenta bloqueada/desbloqueada"
msgstr[1] "%s cuenta bloqueada/desbloqueada"
-#: ../../Zotlabs/Module/Admin/Accounts.php:44
+#: ../../Zotlabs/Module/Admin/Accounts.php:135
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s cuentas eliminadas"
msgstr[1] "%s cuentas eliminadas"
-#: ../../Zotlabs/Module/Admin/Accounts.php:80
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
msgid "Account not found"
msgstr "Cuenta no encontrada"
-#: ../../Zotlabs/Module/Admin/Accounts.php:99
+#: ../../Zotlabs/Module/Admin/Accounts.php:192
#, php-format
msgid "Account '%s' blocked"
msgstr "La cuenta '%s' ha sido bloqueada"
-#: ../../Zotlabs/Module/Admin/Accounts.php:107
+#: ../../Zotlabs/Module/Admin/Accounts.php:200
#, php-format
msgid "Account '%s' unblocked"
msgstr "La cuenta '%s' ha sido desbloqueada"
-#: ../../Zotlabs/Module/Admin/Accounts.php:169
-#: ../../Zotlabs/Module/Admin/Channels.php:148
-msgid "select all"
-msgstr "seleccionar todo"
+#: ../../Zotlabs/Module/Admin/Accounts.php:240
+msgid "Unverified"
+msgstr "Sin verificar"
-#: ../../Zotlabs/Module/Admin/Accounts.php:170
-msgid "Registrations waiting for confirm"
-msgstr "Inscripciones en espera de confirmación"
+#: ../../Zotlabs/Module/Admin/Accounts.php:243
+msgid "Expired"
+msgstr "Caducado/a"
-#: ../../Zotlabs/Module/Admin/Accounts.php:171
+#: ../../Zotlabs/Module/Admin/Accounts.php:310
+msgid "Show verified registrations"
+msgstr "Mostrar registros verificados"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:310
+msgid "Show all registrations"
+msgstr "Mostrar todos los registros"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:312
+msgid "Select toggle"
+msgstr "Seleccionar alternar"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:313
+msgid "Deny selected"
+msgstr "Denegar seleccionado"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:314
+msgid "Approve selected"
+msgstr "Aprobar seleccionado"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:315
+msgid "All registrations"
+msgstr "Todos los registros"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:315
+msgid "Verified registrations waiting for approval"
+msgstr "Registros verificados en espera de aprobación"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:316
msgid "Request date"
msgstr "Fecha de solicitud"
-#: ../../Zotlabs/Module/Admin/Accounts.php:172
-msgid "No registrations."
-msgstr "Sin registros."
+#: ../../Zotlabs/Module/Admin/Accounts.php:316
+msgid "Requests"
+msgstr "Solicitudes"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:317
+msgid "No registrations available"
+msgstr "No hay registros disponibles"
-#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Admin/Accounts.php:317
+msgid "No verified registrations available"
+msgstr "No hay registros verificados disponibles"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:321
#: ../../Zotlabs/Module/Connedit.php:629
msgid "Block"
msgstr "Bloquear"
-#: ../../Zotlabs/Module/Admin/Accounts.php:177
+#: ../../Zotlabs/Module/Admin/Accounts.php:322
#: ../../Zotlabs/Module/Connedit.php:629
msgid "Unblock"
msgstr "Desbloquear"
-#: ../../Zotlabs/Module/Admin/Accounts.php:182
+#: ../../Zotlabs/Module/Admin/Accounts.php:323
+msgid "Verified"
+msgstr "Verificado/a"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:324
+msgid "Not yet verified"
+msgstr "Aún no se ha verificado"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:329
msgid "ID"
msgstr "ID"
-#: ../../Zotlabs/Module/Admin/Accounts.php:184
-msgid "All Channels"
+#: ../../Zotlabs/Module/Admin/Accounts.php:331
+msgid "All channels"
msgstr "Todos los canales"
-#: ../../Zotlabs/Module/Admin/Accounts.php:185
+#: ../../Zotlabs/Module/Admin/Accounts.php:332
msgid "Register date"
msgstr "Fecha de registro"
-#: ../../Zotlabs/Module/Admin/Accounts.php:186
+#: ../../Zotlabs/Module/Admin/Accounts.php:333
msgid "Last login"
msgstr "Último acceso"
-#: ../../Zotlabs/Module/Admin/Accounts.php:187
+#: ../../Zotlabs/Module/Admin/Accounts.php:334
msgid "Expires"
msgstr "Caduca"
-#: ../../Zotlabs/Module/Admin/Accounts.php:188
-msgid "Service Class"
+#: ../../Zotlabs/Module/Admin/Accounts.php:335
+#: ../../Zotlabs/Module/Admin/Account_edit.php:72
+msgid "Service class"
msgstr "Clase de servicio"
-#: ../../Zotlabs/Module/Admin/Accounts.php:190
+#: ../../Zotlabs/Module/Admin/Accounts.php:337
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
" on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "¡Las cuentas seleccionadas van a ser eliminadas!\\n\\n¡Todo lo que estas cuentas han publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?"
-#: ../../Zotlabs/Module/Admin/Accounts.php:191
+#: ../../Zotlabs/Module/Admin/Accounts.php:338
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 "¡La cuenta {0} va a ser eliminada!\\n\\n¡Todo lo que esta cuenta ha publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?"
-#: ../../Zotlabs/Module/Admin/Site.php:165
+#: ../../Zotlabs/Module/Admin/Site.php:112
+msgid "Invalid input"
+msgstr "Entrada no válida"
+
+#: ../../Zotlabs/Module/Admin/Site.php:132
+msgid "Errors"
+msgstr "Errores"
+
+#: ../../Zotlabs/Module/Admin/Site.php:225
msgid "Site settings updated."
msgstr "Ajustes del sitio actualizados."
-#: ../../Zotlabs/Module/Admin/Site.php:202
+#: ../../Zotlabs/Module/Admin/Site.php:262
#: ../../Zotlabs/Module/Settings/Display.php:118
#, php-format
msgid "%s - (Incompatible)"
msgstr "%s - (Incompatible)"
-#: ../../Zotlabs/Module/Admin/Site.php:209
+#: ../../Zotlabs/Module/Admin/Site.php:269
msgid "mobile"
msgstr "móvil"
-#: ../../Zotlabs/Module/Admin/Site.php:211
+#: ../../Zotlabs/Module/Admin/Site.php:271
msgid "experimental"
msgstr "experimental"
-#: ../../Zotlabs/Module/Admin/Site.php:213
+#: ../../Zotlabs/Module/Admin/Site.php:273
msgid "unsupported"
msgstr "no soportado"
-#: ../../Zotlabs/Module/Admin/Site.php:260
+#: ../../Zotlabs/Module/Admin/Site.php:320
msgid "Yes - with approval"
msgstr "Sí - con aprobación"
-#: ../../Zotlabs/Module/Admin/Site.php:266
+#: ../../Zotlabs/Module/Admin/Site.php:328
msgid "My site is not a public server"
msgstr "Mi sitio no es un servidor público"
-#: ../../Zotlabs/Module/Admin/Site.php:267
+#: ../../Zotlabs/Module/Admin/Site.php:329
msgid "My site has paid access only"
msgstr "Mi sitio es un servicio de pago"
-#: ../../Zotlabs/Module/Admin/Site.php:268
+#: ../../Zotlabs/Module/Admin/Site.php:330
msgid "My site has free access only"
msgstr "Mi sitio es un servicio gratuito"
-#: ../../Zotlabs/Module/Admin/Site.php:269
+#: ../../Zotlabs/Module/Admin/Site.php:331
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mi sitio ofrece cuentas gratuitas con opciones extra de pago"
-#: ../../Zotlabs/Module/Admin/Site.php:283
+#: ../../Zotlabs/Module/Admin/Site.php:345
msgid "Default permission role for new accounts"
msgstr "Permisos de rol por defecto para las nuevas cuentas"
-#: ../../Zotlabs/Module/Admin/Site.php:283
+#: ../../Zotlabs/Module/Admin/Site.php:345
msgid ""
"This role will be used for the first channel created after registration."
msgstr "Este rol se utilizará para el primer canal creado después del registro."
-#: ../../Zotlabs/Module/Admin/Site.php:295
+#: ../../Zotlabs/Module/Admin/Site.php:353 ../../Zotlabs/Module/Invite.php:398
+msgid "Minute(s)"
+msgstr "Minuto(s)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:354 ../../Zotlabs/Module/Invite.php:399
+msgid "Hour(s)"
+msgstr "Hora(s)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:355 ../../Zotlabs/Module/Invite.php:400
+msgid "Day(s)"
+msgstr "Día(s)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:356
+msgid "Week(s)"
+msgstr "Semana(s)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:357
+msgid "Month(s)"
+msgstr "Mes(Meses)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:358
+msgid "Year(s)"
+msgstr "Año(s)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:366
+msgid "Register verification delay"
+msgstr "Retraso en la verificación del registro"
+
+#: ../../Zotlabs/Module/Admin/Site.php:369
+msgid "Time to wait before a registration can be verified"
+msgstr "Tiempo de espera para verificar un registro "
+
+#: ../../Zotlabs/Module/Admin/Site.php:372
+#: ../../Zotlabs/Module/Admin/Site.php:394 ../../Zotlabs/Module/Invite.php:409
+msgid "duration up from now"
+msgstr "duración a partir de ahora "
+
+#: ../../Zotlabs/Module/Admin/Site.php:388
+msgid "Register verification expiration time"
+msgstr "Tiempo de caducidad de la verificación del registro "
+
+#: ../../Zotlabs/Module/Admin/Site.php:391
+msgid "Time before an unverified registration will expire"
+msgstr "Tiempo antes de que caduque un registro no verificado "
+
+#: ../../Zotlabs/Module/Admin/Site.php:414
msgid "File upload"
msgstr "Subir fichero"
-#: ../../Zotlabs/Module/Admin/Site.php:296
+#: ../../Zotlabs/Module/Admin/Site.php:415
msgid "Policies"
msgstr "Políticas"
-#: ../../Zotlabs/Module/Admin/Site.php:303
+#: ../../Zotlabs/Module/Admin/Site.php:422
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: ../../Zotlabs/Module/Admin/Site.php:303
+#: ../../Zotlabs/Module/Admin/Site.php:422
msgid "Unfiltered HTML/CSS/JS is allowed"
msgstr "Se permite HTML/CSS/JS sin filtrar"
-#: ../../Zotlabs/Module/Admin/Site.php:304
+#: ../../Zotlabs/Module/Admin/Site.php:423
msgid "Administrator Information"
msgstr "Información del Administrador"
-#: ../../Zotlabs/Module/Admin/Site.php:304
+#: ../../Zotlabs/Module/Admin/Site.php:423
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Información de contacto de los administradores del sitio. Visible en la página \"siteinfo\". Se puede usar BBCode"
-#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Admin/Site.php:424
#: ../../Zotlabs/Module/Siteinfo.php:24
msgid "Site Information"
msgstr "Información sobre el sitio"
-#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Admin/Site.php:424
msgid ""
"Publicly visible description of this site. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Descripción pública de este sitio. Visible en la página \"siteinfo\". Se puede usar BBCode"
-#: ../../Zotlabs/Module/Admin/Site.php:306
+#: ../../Zotlabs/Module/Admin/Site.php:425
msgid "System language"
msgstr "Idioma del sistema"
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:426
msgid "System theme"
msgstr "Tema gráfico del sistema"
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:426
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Tema del sistema por defecto - se puede cambiar por cada perfil de usuario - <a href='#' id='cnftheme'>modificar los ajustes del tema</a>"
-#: ../../Zotlabs/Module/Admin/Site.php:310
+#: ../../Zotlabs/Module/Admin/Site.php:429
msgid "Allow Feeds as Connections"
msgstr "Permitir contenidos RSS como conexiones"
-#: ../../Zotlabs/Module/Admin/Site.php:310
+#: ../../Zotlabs/Module/Admin/Site.php:429
msgid "(Heavy system resource usage)"
msgstr "(Uso intenso de los recursos del sistema)"
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Admin/Site.php:430
msgid "Maximum image size"
msgstr "Tamaño máximo de la imagen"
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Admin/Site.php:430
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Tamaño máximo en bytes de la imagen subida. Por defecto, es 0, lo que significa que no hay límites."
-#: ../../Zotlabs/Module/Admin/Site.php:312
-msgid "Does this site allow new member registration?"
-msgstr "¿Debe este sitio permitir el registro de nuevos miembros?"
-
-#: ../../Zotlabs/Module/Admin/Site.php:313
-msgid "Invitation only"
-msgstr "Solo con una invitación"
-
-#: ../../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 "Solo se permiten inscripciones de nuevos miembros con un código de invitación. Además, deben aceptarse los términos del registro marcando \"Sí\"."
-
-#: ../../Zotlabs/Module/Admin/Site.php:314
+#: ../../Zotlabs/Module/Admin/Site.php:431
msgid "Minimum age"
msgstr "Edad mínima"
-#: ../../Zotlabs/Module/Admin/Site.php:314
+#: ../../Zotlabs/Module/Admin/Site.php:431
msgid "Minimum age (in years) for who may register on this site."
msgstr "Edad mínima (en años) para poder registrarse en este sitio."
-#: ../../Zotlabs/Module/Admin/Site.php:315
+#: ../../Zotlabs/Module/Admin/Site.php:432
msgid "Which best describes the types of account offered by this hub?"
msgstr "¿Cómo describiría el tipo de servicio ofrecido por este servidor?"
-#: ../../Zotlabs/Module/Admin/Site.php:315
+#: ../../Zotlabs/Module/Admin/Site.php:432
msgid "This is displayed on the public server site list."
msgstr "Esto se muestra en la lista de sitios de servidores públicos."
-#: ../../Zotlabs/Module/Admin/Site.php:316
+#: ../../Zotlabs/Module/Admin/Site.php:438
msgid "Register text"
msgstr "Texto del registro"
-#: ../../Zotlabs/Module/Admin/Site.php:316
-msgid "Will be displayed prominently on the registration page."
-msgstr "Se mostrará de forma destacada en la página de registro."
+#: ../../Zotlabs/Module/Admin/Site.php:440
+msgid "This text will be displayed prominently at the registration page"
+msgstr "Este texto se mostrará de forma destacada en la página de registro "
-#: ../../Zotlabs/Module/Admin/Site.php:318
+#: ../../Zotlabs/Module/Admin/Site.php:444
+msgid "Does this site allow new member registration?"
+msgstr "¿Debe este sitio permitir el registro de nuevos miembros?"
+
+#: ../../Zotlabs/Module/Admin/Site.php:451
+msgid "Configure the registration open days/hours"
+msgstr "Configurar los días/horas de apertura del registro"
+
+#: ../../Zotlabs/Module/Admin/Site.php:453
+msgid "Empty or '-:-' value will keep registration open 24/7 (default)"
+msgstr "El valor vacío o \"-:-\" mantendrá el registro abierto 24/7 (por defecto)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:454
+msgid ""
+"Weekdays and hours must be separated by colon ':', From-To ranges with a "
+"dash `-` example: 1:800-1200"
+msgstr "Los días de la semana y las horas deben separarse con dos puntos ':', los rangos Desde-Hasta con un guión `-` ejemplo: 1:800-1200"
+
+#: ../../Zotlabs/Module/Admin/Site.php:455
+msgid ""
+"Weekday:Hour pairs must be separated by space ' ' example: 1:900-1700 "
+"2:900-1700"
+msgstr "Los pares día de la semana:hora deben estar separados por un espacio ' ' ejemplo: 1:900-1700 2:900-1700"
+
+#: ../../Zotlabs/Module/Admin/Site.php:456
+msgid ""
+"From-To ranges must be separated by comma ',' example: 1:800-1200,1300-1700 "
+"or 1-2,4-5:900-1700"
+msgstr "Los rangos desde-hasta deben estar separados por comas ',' ejemplo: 1:800-1200,1300-1700 o 1-2,4-5:900-1700"
+
+#: ../../Zotlabs/Module/Admin/Site.php:457
+msgid "Advanced examples:"
+msgstr "Ejemplos avanzados: "
+
+#: ../../Zotlabs/Module/Admin/Site.php:457
+#: ../../Zotlabs/Module/Settings/Channel.php:420
+msgid "or"
+msgstr "o"
+
+#: ../../Zotlabs/Module/Admin/Site.php:458
+msgid "Check your configuration"
+msgstr "Compruebe su configuración"
+
+#: ../../Zotlabs/Module/Admin/Site.php:462
+msgid "Max account registrations per day"
+msgstr "Máximo de registros de cuentas por día "
+
+#: ../../Zotlabs/Module/Admin/Site.php:464
+msgid "Unlimited if zero or no value - default 50"
+msgstr "Ilimitado si es cero o sin valor - por defecto 50"
+
+#: ../../Zotlabs/Module/Admin/Site.php:468
+msgid "Max account registrations from same IP"
+msgstr "Máximo de registros de cuentas desde la misma IP"
+
+#: ../../Zotlabs/Module/Admin/Site.php:470
+msgid "Unlimited if zero or no value - default 3"
+msgstr "Ilimitado si es cero o sin valor - por defecto 3"
+
+#: ../../Zotlabs/Module/Admin/Site.php:476
+msgid "Auto channel create"
+msgstr "Creación automática de canales"
+
+#: ../../Zotlabs/Module/Admin/Site.php:478
+msgid ""
+"If disabled the channel will be created in a separate step during the "
+"registration process"
+msgstr "Si se desactiva, el canal se creará en un paso separado durante el proceso de registro"
+
+#: ../../Zotlabs/Module/Admin/Site.php:482
+msgid "Require invite code"
+msgstr "Solicitar código de invitación"
+
+#: ../../Zotlabs/Module/Admin/Site.php:487
+msgid "Allow invite code"
+msgstr "Permitir código de invitación"
+
+#: ../../Zotlabs/Module/Admin/Site.php:492
+msgid "Require email address"
+msgstr "Solicitar dirección de correo electrónico"
+
+#: ../../Zotlabs/Module/Admin/Site.php:494
+msgid "The provided email address will be verified (recommended)"
+msgstr "La dirección de correo electrónico proporcionada será verificada (recomendado)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:498
+msgid "Abandon account after x days"
+msgstr "Abandonar la cuenta después de x días"
+
+#: ../../Zotlabs/Module/Admin/Site.php:500
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo."
+
+#: ../../Zotlabs/Module/Admin/Site.php:505
msgid "Site homepage to show visitors (default: login box)"
msgstr "Página personal que se mostrará a los visitantes (por defecto: la página de identificación)"
-#: ../../Zotlabs/Module/Admin/Site.php:318
+#: ../../Zotlabs/Module/Admin/Site.php:505
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 "ejemplo: 'pubstream' para mostrar el stream público, 'page/sys/home' para mostrar una página web del sistema llamada 'home' o 'include:home.html' para incluir un archivo."
-#: ../../Zotlabs/Module/Admin/Site.php:319
+#: ../../Zotlabs/Module/Admin/Site.php:506
msgid "Preserve site homepage URL"
msgstr "Preservar la dirección de la página personal"
-#: ../../Zotlabs/Module/Admin/Site.php:319
+#: ../../Zotlabs/Module/Admin/Site.php:506
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Presenta la página personal del sitio en un marco en la ubicación original, en vez de redirigirla."
-#: ../../Zotlabs/Module/Admin/Site.php:320
-msgid "Accounts abandoned after x days"
-msgstr "Cuentas abandonadas después de x días"
-
-#: ../../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 "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo."
-
-#: ../../Zotlabs/Module/Admin/Site.php:321
+#: ../../Zotlabs/Module/Admin/Site.php:507
msgid "Allowed friend domains"
msgstr "Dominios amigos permitidos"
-#: ../../Zotlabs/Module/Admin/Site.php:321
+#: ../../Zotlabs/Module/Admin/Site.php:507
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Lista separada por comas de dominios a los que está permitido establecer relaciones de amistad con este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio."
-#: ../../Zotlabs/Module/Admin/Site.php:322
-msgid "Verify Email Addresses"
-msgstr "Verificar las direcciones de correo electrónico"
-
-#: ../../Zotlabs/Module/Admin/Site.php:322
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Activar para la verificación de la dirección de correo electrónico en el registro de una cuenta (recomendado)."
-
-#: ../../Zotlabs/Module/Admin/Site.php:323
+#: ../../Zotlabs/Module/Admin/Site.php:508
msgid "Force publish"
msgstr "Forzar la publicación"
-#: ../../Zotlabs/Module/Admin/Site.php:323
+#: ../../Zotlabs/Module/Admin/Site.php:508
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Intentar forzar todos los perfiles para que sean listados en el directorio de este sitio."
-#: ../../Zotlabs/Module/Admin/Site.php:324
+#: ../../Zotlabs/Module/Admin/Site.php:509
msgid "Import Public Streams"
msgstr "Importar contenido público"
-#: ../../Zotlabs/Module/Admin/Site.php:324
+#: ../../Zotlabs/Module/Admin/Site.php:509
msgid ""
"Import and allow access to public content pulled from other sites. Warning: "
"this content is unmoderated."
msgstr "Importar y permitir acceso al contenido público sacado de otros sitios. Advertencia: este contenido no está moderado, por lo que podría encontrar cosas inapropiadas u ofensivas."
-#: ../../Zotlabs/Module/Admin/Site.php:325
+#: ../../Zotlabs/Module/Admin/Site.php:510
msgid "Site only Public Streams"
msgstr "Solo contenido público en este sitio"
-#: ../../Zotlabs/Module/Admin/Site.php:325
+#: ../../Zotlabs/Module/Admin/Site.php:510
msgid ""
"Allow access to public content originating only from this site if Imported "
"Public Streams are disabled."
msgstr "Permitir el acceso al contenido público originado sólo desde este sitio si los \"streams\" públicos Importados están deshabilitados."
-#: ../../Zotlabs/Module/Admin/Site.php:326
+#: ../../Zotlabs/Module/Admin/Site.php:511
msgid "Allow anybody on the internet to access the Public streams"
msgstr "Permitir que cualquiera en Internet pueda acceder a los \"streams\" públicos"
-#: ../../Zotlabs/Module/Admin/Site.php:326
+#: ../../Zotlabs/Module/Admin/Site.php:511
msgid ""
"Disable to require authentication before viewing. Warning: this content is "
"unmoderated."
msgstr "Desactivar para requerir autenticación antes de la visualización. Advertencia: este contenido no está moderado."
-#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:512
msgid "Only import Public stream posts with this text"
msgstr "Importar solo entradas del stream púlbico con este texto "
-#: ../../Zotlabs/Module/Admin/Site.php:327
-#: ../../Zotlabs/Module/Admin/Site.php:328
+#: ../../Zotlabs/Module/Admin/Site.php:512
+#: ../../Zotlabs/Module/Admin/Site.php:513
#: ../../Zotlabs/Module/Connedit.php:885 ../../Zotlabs/Module/Connedit.php:886
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "Una sola opción por línea: palabras, #etiquetas, /patrones/ o lang=xx. Dejar en blanco para importarlo todo"
-#: ../../Zotlabs/Module/Admin/Site.php:328
+#: ../../Zotlabs/Module/Admin/Site.php:513
msgid "Do not import Public stream posts with this text"
msgstr "No importar entradas del stream público con este texto "
-#: ../../Zotlabs/Module/Admin/Site.php:331
+#: ../../Zotlabs/Module/Admin/Site.php:516
msgid "Login on Homepage"
msgstr "Iniciar sesión en la página personal"
-#: ../../Zotlabs/Module/Admin/Site.php:331
+#: ../../Zotlabs/Module/Admin/Site.php:516
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido."
-#: ../../Zotlabs/Module/Admin/Site.php:332
+#: ../../Zotlabs/Module/Admin/Site.php:517
msgid "Enable context help"
msgstr "Habilitar la ayuda contextual"
-#: ../../Zotlabs/Module/Admin/Site.php:332
+#: ../../Zotlabs/Module/Admin/Site.php:517
msgid ""
"Display contextual help for the current page when the help button is "
"pressed."
msgstr "Ver la ayuda contextual para la página actual cuando se pulse el botón de Ayuda."
-#: ../../Zotlabs/Module/Admin/Site.php:334
+#: ../../Zotlabs/Module/Admin/Site.php:519
msgid "Reply-to email address for system generated email."
msgstr "Dirección de respuesta para el correo electrónico generado por el sistema."
-#: ../../Zotlabs/Module/Admin/Site.php:335
+#: ../../Zotlabs/Module/Admin/Site.php:520
msgid "Sender (From) email address for system generated email."
msgstr "Dirección del remitente (From) para el correo electrónico generado por el sistema."
-#: ../../Zotlabs/Module/Admin/Site.php:336
+#: ../../Zotlabs/Module/Admin/Site.php:521
msgid "Name of email sender for system generated email."
msgstr "Nombre del remitente del correo electrónico generado por el sistema."
-#: ../../Zotlabs/Module/Admin/Site.php:338
+#: ../../Zotlabs/Module/Admin/Site.php:523
msgid "Directory Server URL"
msgstr "URL del servidor de directorio"
-#: ../../Zotlabs/Module/Admin/Site.php:338
+#: ../../Zotlabs/Module/Admin/Site.php:523
msgid "Default directory server"
msgstr "Servidor de directorio predeterminado"
-#: ../../Zotlabs/Module/Admin/Site.php:340
+#: ../../Zotlabs/Module/Admin/Site.php:525
msgid "Enable SSE Notifications"
msgstr "Habilitar notificaciones SSE"
-#: ../../Zotlabs/Module/Admin/Site.php:340
+#: ../../Zotlabs/Module/Admin/Site.php:525
msgid ""
"If disabled, traditional polling will be used. Warning: this setting might "
"not be suited for shared hosting"
msgstr "Si está desactivado, se usará el sistema de votación tradicional. Advertencia: esta configuración podría no ser adecuada para el alojamiento compartido"
-#: ../../Zotlabs/Module/Admin/Site.php:342
+#: ../../Zotlabs/Module/Admin/Site.php:527
msgid "Proxy user"
msgstr "Usuario del proxy"
-#: ../../Zotlabs/Module/Admin/Site.php:343
+#: ../../Zotlabs/Module/Admin/Site.php:528
msgid "Proxy URL"
msgstr "Dirección del proxy"
-#: ../../Zotlabs/Module/Admin/Site.php:344
+#: ../../Zotlabs/Module/Admin/Site.php:529
msgid "Network timeout"
msgstr "Tiempo de espera de la red"
-#: ../../Zotlabs/Module/Admin/Site.php:344
+#: ../../Zotlabs/Module/Admin/Site.php:529
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Valor en segundos. Poner a 0 para que no haya tiempo límite (no recomendado)"
-#: ../../Zotlabs/Module/Admin/Site.php:345
+#: ../../Zotlabs/Module/Admin/Site.php:530
msgid "Delivery interval"
msgstr "Intervalo de entrega"
-#: ../../Zotlabs/Module/Admin/Site.php:345
+#: ../../Zotlabs/Module/Admin/Site.php:530
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 "Retrasar los procesos de transmisión en segundo plano por esta cantidad de segundos para reducir la carga del sistema. Recomendado: 4-5 para sitios compartidos, 2-3 para servidores virtuales privados, 0-1 para grandes servidores dedicados."
-#: ../../Zotlabs/Module/Admin/Site.php:346
+#: ../../Zotlabs/Module/Admin/Site.php:531
msgid "Deliveries per process"
msgstr "Intentos de envío por proceso"
-#: ../../Zotlabs/Module/Admin/Site.php:346
+#: ../../Zotlabs/Module/Admin/Site.php:531
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust"
" if necessary to tune system performance. Recommend: 1-5."
msgstr "Numero de envíos a intentar en un único proceso del sistema operativo. Ajustar si es necesario mejorar el rendimiento. Se recomienda: 1-5."
-#: ../../Zotlabs/Module/Admin/Site.php:347
+#: ../../Zotlabs/Module/Admin/Site.php:532
msgid "Queue Threshold"
msgstr "Umbral de la cola de espera"
-#: ../../Zotlabs/Module/Admin/Site.php:347
+#: ../../Zotlabs/Module/Admin/Site.php:532
msgid ""
"Always defer immediate delivery if queue contains more than this number of "
"entries."
msgstr "Aplazar siempre la entrega inmediata si la cola contiene más de este número de entradas."
-#: ../../Zotlabs/Module/Admin/Site.php:348
+#: ../../Zotlabs/Module/Admin/Site.php:533
msgid "Poll interval"
msgstr "Intervalo máximo de tiempo entre dos mensajes sucesivos"
-#: ../../Zotlabs/Module/Admin/Site.php:348
+#: ../../Zotlabs/Module/Admin/Site.php:533
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Retrasar el intervalo de envío en segundo plano, en esta cantidad de segundos, para reducir la carga del sistema. Si es 0, usar el intervalo de entrega."
-#: ../../Zotlabs/Module/Admin/Site.php:349
+#: ../../Zotlabs/Module/Admin/Site.php:534
msgid "Path to ImageMagick convert program"
msgstr "Ruta al programa de conversión de ImageMagick"
-#: ../../Zotlabs/Module/Admin/Site.php:349
+#: ../../Zotlabs/Module/Admin/Site.php:534
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 "Si está configurado, utilice este programa para generar miniaturas de fotos para imágenes de gran tamaño ( > 4000 píxeles en cualquiera de las dos dimensiones), de lo contrario se puede agotar la memoria. Ejemplo: /usr/bin/convert"
-#: ../../Zotlabs/Module/Admin/Site.php:350
+#: ../../Zotlabs/Module/Admin/Site.php:535
msgid "Maximum Load Average"
msgstr "Carga media máxima"
-#: ../../Zotlabs/Module/Admin/Site.php:350
+#: ../../Zotlabs/Module/Admin/Site.php:535
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Carga máxima del sistema antes de que los procesos de entrega y envío se hayan retardado - por defecto, 50."
-#: ../../Zotlabs/Module/Admin/Site.php:351
+#: ../../Zotlabs/Module/Admin/Site.php:536
msgid "Expiration period in days for imported (grid/network) content"
msgstr "Caducidad del contenido importado de otros sitios (en días)"
-#: ../../Zotlabs/Module/Admin/Site.php:351
+#: ../../Zotlabs/Module/Admin/Site.php:536
msgid "0 for no expiration of imported content"
msgstr "0 para que no caduque el contenido importado"
-#: ../../Zotlabs/Module/Admin/Site.php:352
+#: ../../Zotlabs/Module/Admin/Site.php:537
msgid ""
"Do not expire any posts which have comments less than this many days ago"
msgstr "No caduque ningún mensaje que tenga menos comentarios que este hace muchos días"
-#: ../../Zotlabs/Module/Admin/Site.php:354
+#: ../../Zotlabs/Module/Admin/Site.php:538
msgid ""
"Public servers: Optional landing (marketing) webpage for new registrants"
msgstr "Servidores públicos: Página web de acogida (marketing) opcional para nuevos registros"
-#: ../../Zotlabs/Module/Admin/Site.php:354
+#: ../../Zotlabs/Module/Admin/Site.php:538
#, php-format
msgid "Create this page first. Default is %s/register"
msgstr "Crear esta página primero. Por defecto es %s/register"
-#: ../../Zotlabs/Module/Admin/Site.php:355
+#: ../../Zotlabs/Module/Admin/Site.php:539
msgid "Page to display after creating a new channel"
msgstr "Página a mostrar después de la creación de un nuevo canal"
-#: ../../Zotlabs/Module/Admin/Site.php:355
+#: ../../Zotlabs/Module/Admin/Site.php:539
msgid "Default: profiles"
msgstr "Perfiles predeterminados"
-#: ../../Zotlabs/Module/Admin/Site.php:357
+#: ../../Zotlabs/Module/Admin/Site.php:540
msgid "Optional: site location"
msgstr "Opcional: ubicación del sitio"
-#: ../../Zotlabs/Module/Admin/Site.php:357
+#: ../../Zotlabs/Module/Admin/Site.php:540
msgid "Region or country"
msgstr "Región o país"
+#: ../../Zotlabs/Module/Admin/Site.php:625
+#: ../../Zotlabs/Module/Admin/Site.php:626
+msgid "Invalid 24h time value (hhmm/hmm)"
+msgstr "Valor de tiempo de 24h no válido (hhmm/hmm)"
+
#: ../../Zotlabs/Module/Admin/Logs.php:28
msgid "Log settings updated."
msgstr "Actualizado el informe de configuraciones."
@@ -10953,6 +11148,10 @@ msgstr "Código permitido al canal '%s'"
msgid "Channel '%s' code disallowed"
msgstr "Código no permitido al canal '%s'"
+#: ../../Zotlabs/Module/Admin/Channels.php:148
+msgid "select all"
+msgstr "seleccionar todo"
+
#: ../../Zotlabs/Module/Admin/Channels.php:150
#: ../../Zotlabs/Module/Directory.php:362
msgid "Censor"
@@ -11016,10 +11215,6 @@ msgstr "Nueva contraseña otra vez"
msgid "Account language (for emails)"
msgstr "Idioma de la cuenta (para los correos electrónicos)"
-#: ../../Zotlabs/Module/Admin/Account_edit.php:72
-msgid "Service class"
-msgstr "Clase de servicio"
-
#: ../../Zotlabs/Module/Admin/Profs.php:89
msgid "New Profile Field"
msgstr "Nuevo campo en el perfil"
@@ -11286,6 +11481,129 @@ msgstr "Por favor, introduzca su contraseña para su verificación:"
msgid "Remove Channel"
msgstr "Eliminar el canal"
+#: ../../Zotlabs/Module/Regate.php:81
+msgid "Email resent"
+msgstr "Correo electrónico reenviado"
+
+#: ../../Zotlabs/Module/Regate.php:81
+msgid "Email resend failed"
+msgstr "Fallo en el reenvío del correo electrónico"
+
+#: ../../Zotlabs/Module/Regate.php:105
+msgid "Verify successfull"
+msgstr "Verificar que se ha hecho bien"
+
+#: ../../Zotlabs/Module/Regate.php:149
+msgid "Account successfull created"
+msgstr "Cuenta creada con éxito"
+
+#: ../../Zotlabs/Module/Regate.php:190
+msgid "Channel successfull created"
+msgstr "Canal creado con éxito"
+
+#: ../../Zotlabs/Module/Regate.php:196
+msgid "Automatic channel creation failed. Please create a channel."
+msgstr "La creación automática de canales ha fallado. Por favor, cree un canal."
+
+#: ../../Zotlabs/Module/Regate.php:208
+msgid "Account creation error"
+msgstr "Error en la creación de la cuenta"
+
+#: ../../Zotlabs/Module/Regate.php:220
+msgid "Verify failed"
+msgstr "Verificación fallida"
+
+#: ../../Zotlabs/Module/Regate.php:225
+msgid "Token verification failed"
+msgstr "Ha fallado el token de verificación."
+
+#: ../../Zotlabs/Module/Regate.php:230
+msgid "Request not inside time frame"
+msgstr "Solicitud fuera de plazo"
+
+#: ../../Zotlabs/Module/Regate.php:236 ../../Zotlabs/Module/Regate.php:266
+msgid "Identity unknown"
+msgstr "Identidad desconocida"
+
+#: ../../Zotlabs/Module/Regate.php:242
+msgid "dId2 mistaken"
+msgstr "did2 equivocado/a"
+
+#: ../../Zotlabs/Module/Regate.php:270
+msgid "Your Registration ID"
+msgstr "Su ID de registro"
+
+#: ../../Zotlabs/Module/Regate.php:283 ../../Zotlabs/Module/Regate.php:374
+#: ../../Zotlabs/Module/Regate.php:403
+msgid "Registration verification"
+msgstr "Verificación del registro"
+
+#: ../../Zotlabs/Module/Regate.php:290 ../../Zotlabs/Module/Regate.php:408
+msgid "Hold on, you can start verification in"
+msgstr "Espere, puede empezar la verificación en "
+
+#: ../../Zotlabs/Module/Regate.php:291
+msgid "Please remember your verification token for ID"
+msgstr "Por favor, recuerde su token de verificación para la identificación"
+
+#: ../../Zotlabs/Module/Regate.php:292
+msgid "Token validity"
+msgstr "Validez del token"
+
+#: ../../Zotlabs/Module/Regate.php:328
+msgid "Resend"
+msgstr "Reenviar"
+
+#: ../../Zotlabs/Module/Regate.php:333
+msgid "Registration status"
+msgstr "Estado del registro"
+
+#: ../../Zotlabs/Module/Regate.php:336
+msgid "Verification successful!"
+msgstr "¡Verificación exitosa!"
+
+#: ../../Zotlabs/Module/Regate.php:337
+msgid "Your login ID is"
+msgstr "Su ID de acceso es"
+
+#: ../../Zotlabs/Module/Regate.php:338
+msgid ""
+"After your account has been approved by our administrator you will be able "
+"to login with your login ID and your provided password."
+msgstr "Una vez que su cuenta haya sido aprobada por nuestro administrador, podrá iniciar sesión con su ID de acceso y la contraseña proporcionada."
+
+#: ../../Zotlabs/Module/Regate.php:350
+msgid "Registration request revoked"
+msgstr "Solicitud de registro anulada"
+
+#: ../../Zotlabs/Module/Regate.php:351
+msgid "Sorry for any inconvience. Thank you for your response."
+msgstr "Disculpe las molestias. Gracias por su respuesta."
+
+#: ../../Zotlabs/Module/Regate.php:375
+msgid "Please enter your verification token for ID"
+msgstr "Por favor, introduzca su token de verificación para la identificación"
+
+#: ../../Zotlabs/Module/Regate.php:385
+msgid "Verification token"
+msgstr "Token de verificación "
+
+#: ../../Zotlabs/Module/Regate.php:396
+msgid "ID expired"
+msgstr "ID caducada"
+
+#: ../../Zotlabs/Module/Regate.php:409
+msgid "You will require the verification token for ID"
+msgstr "Necesitará el token de verificación para identificarse"
+
+#: ../../Zotlabs/Module/Regate.php:417
+msgid "Unknown or expired ID"
+msgstr "ID desconocida o caducada"
+
+#: ../../Zotlabs/Module/Regate.php:428
+msgid "dId2 malformed"
+msgstr "did2 malformado/a"
+
#: ../../Zotlabs/Module/Events.php:468
msgid "Edit event title"
msgstr "Editar el título del evento"
@@ -11534,7 +11852,7 @@ msgid ""
msgstr "Esta cuenta y todos sus canales van a ser eliminados de la red."
#: ../../Zotlabs/Module/Removeaccount.php:61
-#: ../../Zotlabs/Module/Settings/Account.php:105
+#: ../../Zotlabs/Module/Settings/Account.php:109
msgid "Remove Account"
msgstr "Eliminar cuenta"
@@ -11546,30 +11864,30 @@ msgstr "App idioma"
msgid "Change UI language"
msgstr "Cambiar el idioma de la interfaz de usuario"
-#: ../../Zotlabs/Module/Uexport.php:61
+#: ../../Zotlabs/Module/Uexport.php:62
msgid "Channel Export App"
msgstr "App Exportación de canales"
-#: ../../Zotlabs/Module/Uexport.php:62
+#: ../../Zotlabs/Module/Uexport.php:63
msgid "Export your channel"
msgstr "Exportar su canal"
-#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73
+#: ../../Zotlabs/Module/Uexport.php:73 ../../Zotlabs/Module/Uexport.php:74
msgid "Export Channel"
msgstr "Exportar el canal"
-#: ../../Zotlabs/Module/Uexport.php:74
+#: ../../Zotlabs/Module/Uexport.php:75
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 "Exportar la información básica del canal a un fichero. Este equivale a una copia de seguridad de sus conexiones, el perfil y datos fundamentales, que puede usarse para importar sus datos a un nuevo servidor, pero no incluye su contenido."
-#: ../../Zotlabs/Module/Uexport.php:75
+#: ../../Zotlabs/Module/Uexport.php:76
msgid "Export Content"
msgstr "Exportar contenidos"
-#: ../../Zotlabs/Module/Uexport.php:76
+#: ../../Zotlabs/Module/Uexport.php:77
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 "
@@ -11578,11 +11896,11 @@ msgid ""
" this download to begin."
msgstr "Exportar la información sobre su canal y el contenido reciente a un fichero de respaldo JSON, que puede ser restaurado o importado a otro servidor. Este fichero incluye todas sus conexiones, permisos, datos del perfil y publicaciones de varios meses. Puede llegar a ser MUY grande. Por favor, sea paciente, la descarga puede tardar varios minutos en comenzar."
-#: ../../Zotlabs/Module/Uexport.php:78
+#: ../../Zotlabs/Module/Uexport.php:79
msgid "Export your posts from a given year."
msgstr "Exporta sus publicaciones de un año dado."
-#: ../../Zotlabs/Module/Uexport.php:80
+#: ../../Zotlabs/Module/Uexport.php:81
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. "
@@ -11590,21 +11908,21 @@ msgid ""
"please try again selecting a more limited date range."
msgstr "También puede exportar sus mensajes y conversaciones durante un año o mes en particular. Ajuste la fecha en la barra de direcciones del navegador para seleccionar otras fechas. Si la exportación falla (posiblemente debido al agotamiento de la memoria del servidor hub), por favor, intente de nuevo la selección de un rango de fechas más pequeño."
-#: ../../Zotlabs/Module/Uexport.php:81
+#: ../../Zotlabs/Module/Uexport.php:82
#, php-format
msgid ""
"To select all posts for a given year, such as this year, visit <a "
"href=\"%1$s\">%2$s</a>"
msgstr "Para seleccionar todos los mensajes de un año determinado, como este año, visite <a href=\"%1$s\">%2$s</a>"
-#: ../../Zotlabs/Module/Uexport.php:82
+#: ../../Zotlabs/Module/Uexport.php:83
#, 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 "Para seleccionar todos los mensajes de un mes determinado, como el de enero de este año, visite <a href=\"%1$s\">%2$s</a>"
-#: ../../Zotlabs/Module/Uexport.php:83
+#: ../../Zotlabs/Module/Uexport.php:84
#, php-format
msgid ""
"These content files may be imported or restored by visiting <a "
@@ -11612,11 +11930,11 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Estos ficheros pueden ser importados o restaurados visitando <a href=\"%1$s\">%2$s</a> o cualquier sitio que contenga su canal. Para obtener los mejores resultados, por favor, importar o restaurar estos ficheros en orden de fecha (la más antigua primero)."
-#: ../../Zotlabs/Module/Display.php:380
+#: ../../Zotlabs/Module/Display.php:372
msgid "Article"
msgstr "Artículo"
-#: ../../Zotlabs/Module/Display.php:425
+#: ../../Zotlabs/Module/Display.php:417
msgid "Item has been removed."
msgstr "Se ha eliminado el elemento."
@@ -11665,11 +11983,20 @@ msgid "Channel name"
msgstr "Nombre del canal"
#: ../../Zotlabs/Module/New_channel.php:178
+#: ../../Zotlabs/Module/Settings/Channel.php:537
+msgid "Channel role and privacy"
+msgstr "Clase de canal y privacidad"
+
+#: ../../Zotlabs/Module/New_channel.php:178
msgid ""
"Select a channel permission role compatible with your usage needs and "
"privacy requirements."
msgstr "Seleccione unos permisos de rol del canal compatibles con sus necesidades de uso y requisitos de privacidad."
+#: ../../Zotlabs/Module/New_channel.php:178
+msgid "Read more about channel permission roles"
+msgstr "Leer más sobre los roles y permisos"
+
#: ../../Zotlabs/Module/New_channel.php:181
msgid "Create a Channel"
msgstr "Crear un canal"
@@ -11698,7 +12025,7 @@ msgstr "le ha enviado un mensaje privado"
msgid "added your channel"
msgstr "añadió este canal a sus conexiones"
-#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986
+#: ../../Zotlabs/Module/Ping.php:418
msgid "requires approval"
msgstr "requiere aprobación"
@@ -11719,11 +12046,11 @@ msgstr "publicó un evento"
msgid "shared a file with you"
msgstr "compartió un archivo con usted"
-#: ../../Zotlabs/Module/Ping.php:672 ../../Zotlabs/Module/Sse_bs.php:540
+#: ../../Zotlabs/Module/Ping.php:672 ../../Zotlabs/Module/Sse_bs.php:554
msgid "Private forum"
msgstr "Foro privado"
-#: ../../Zotlabs/Module/Ping.php:672 ../../Zotlabs/Module/Sse_bs.php:540
+#: ../../Zotlabs/Module/Ping.php:672 ../../Zotlabs/Module/Sse_bs.php:554
msgid "Public forum"
msgstr "Foro público"
@@ -11857,43 +12184,43 @@ msgstr "Cuentas caducadas"
msgid "Expiring accounts"
msgstr "Cuentas que caducan"
-#: ../../Zotlabs/Module/Admin.php:120
+#: ../../Zotlabs/Module/Admin.php:123
msgid "Message queues"
msgstr "Mensajes en cola"
-#: ../../Zotlabs/Module/Admin.php:134
+#: ../../Zotlabs/Module/Admin.php:137
msgid "Your software should be updated"
msgstr "Debe actualizar su software"
-#: ../../Zotlabs/Module/Admin.php:139
+#: ../../Zotlabs/Module/Admin.php:142
msgid "Summary"
msgstr "Sumario"
-#: ../../Zotlabs/Module/Admin.php:142
+#: ../../Zotlabs/Module/Admin.php:145
msgid "Registered accounts"
msgstr "Cuentas registradas"
-#: ../../Zotlabs/Module/Admin.php:143
+#: ../../Zotlabs/Module/Admin.php:146
msgid "Pending registrations"
msgstr "Registros pendientes"
-#: ../../Zotlabs/Module/Admin.php:144
+#: ../../Zotlabs/Module/Admin.php:147
msgid "Registered channels"
msgstr "Canales registrados"
-#: ../../Zotlabs/Module/Admin.php:145
+#: ../../Zotlabs/Module/Admin.php:148
msgid "Active addons"
msgstr "Addons acivos"
-#: ../../Zotlabs/Module/Admin.php:146
+#: ../../Zotlabs/Module/Admin.php:149
msgid "Version"
msgstr "Versión"
-#: ../../Zotlabs/Module/Admin.php:147
+#: ../../Zotlabs/Module/Admin.php:150
msgid "Repository version (master)"
msgstr "Versión del repositorio (master)"
-#: ../../Zotlabs/Module/Admin.php:148
+#: ../../Zotlabs/Module/Admin.php:151
msgid "Repository version (dev)"
msgstr "Versión del repositorio (dev)"
@@ -12132,7 +12459,7 @@ msgid "Use a photo from your albums"
msgstr "Usar una foto de sus álbumes"
#: ../../Zotlabs/Module/Profile_photo.php:511
-#: ../../Zotlabs/Module/Cover_photo.php:432 ../../Zotlabs/Module/Wiki.php:405
+#: ../../Zotlabs/Module/Cover_photo.php:432 ../../Zotlabs/Module/Wiki.php:404
msgid "Choose a different album"
msgstr "Elegir un álbum diferente..."
@@ -12217,7 +12544,7 @@ msgstr "Archivadas o inaccesibles"
#: ../../Zotlabs/Module/Connections.php:83
#: ../../Zotlabs/Module/Connections.php:92 ../../Zotlabs/Module/Menu.php:180
-#: ../../Zotlabs/Module/Notifications.php:50
+#: ../../Zotlabs/Module/Notifications.php:53
msgid "New"
msgstr "Nuevas"
@@ -12526,7 +12853,7 @@ msgid ""
"Password reset failed."
msgstr "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado."
-#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1720
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1725
msgid "Password Reset"
msgstr "Restablecer la contraseña"
@@ -12743,7 +13070,7 @@ msgid "Your full name"
msgstr "Nombre completo"
#: ../../Zotlabs/Module/Profiles.php:752
-msgid "Short title/tescription"
+msgid "Short title/description"
msgstr "Breve título y descripción"
#: ../../Zotlabs/Module/Profiles.php:752
@@ -12842,12 +13169,12 @@ msgstr "Mis otros canales"
msgid "Communications"
msgstr "Comunicaciones"
-#: ../../Zotlabs/Module/Subthread.php:143
+#: ../../Zotlabs/Module/Subthread.php:128
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr "%1$s está siguiendo %3$s de %2$s"
-#: ../../Zotlabs/Module/Subthread.php:145
+#: ../../Zotlabs/Module/Subthread.php:130
#, php-format
msgid "%1$s stopped following %2$s's %3$s"
msgstr "%1$s ha dejado de seguir %3$s de %2$s"
@@ -12914,74 +13241,121 @@ msgstr "Nueva dirección del canal"
msgid "Rename Channel"
msgstr "Renombrar el canal"
-#: ../../Zotlabs/Module/Invite.php:37
-msgid "Total invitation limit exceeded."
-msgstr "Se ha superado el límite máximo de invitaciones."
+#: ../../Zotlabs/Module/Invite.php:56 ../../Zotlabs/Module/Invite.php:310
+msgid "Invite App"
+msgstr "Solicitar una app"
+
+#: ../../Zotlabs/Module/Invite.php:68
+msgid "Register is closed"
+msgstr "El registro está cerrado"
-#: ../../Zotlabs/Module/Invite.php:61
+#: ../../Zotlabs/Module/Invite.php:102 ../../Zotlabs/Module/Invite.php:549
+msgid "Note, the invitation code is valid up to"
+msgstr "Tenga en cuenta que el código de invitación es válido hasta "
+
+#: ../../Zotlabs/Module/Invite.php:115
#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : No es una dirección de correo electrónico válida. "
+msgid "Too many recipients for one invitation (max %d)"
+msgstr "Demasiados destinatarios para una invitación (máx %d)"
-#: ../../Zotlabs/Module/Invite.php:75
-msgid "Please join us on $Projectname"
-msgstr "Únase a nosotros en $Projectname"
+#: ../../Zotlabs/Module/Invite.php:119
+msgid "No recipients for this invitation"
+msgstr "No hay destinatarios para esta invitación"
-#: ../../Zotlabs/Module/Invite.php:85
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio."
+#: ../../Zotlabs/Module/Invite.php:133
+#, php-format
+msgid "(%s) : Not a valid email address"
+msgstr "(%s): No es una dirección de correo electrónico válida"
-#: ../../Zotlabs/Module/Invite.php:94
+#: ../../Zotlabs/Module/Invite.php:138
#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d mensajes enviados."
-msgstr[1] "%d mensajes enviados."
+msgid "(%s) : Not a real email address"
+msgstr "(%s) : No es una dirección de correo electrónica real"
-#: ../../Zotlabs/Module/Invite.php:110
-msgid "Invite App"
-msgstr "Solicitar una app"
+#: ../../Zotlabs/Module/Invite.php:145
+#, php-format
+msgid "(%s) : Not allowed email address"
+msgstr "(%s) : Dirección de correo electrónico no permitida"
-#: ../../Zotlabs/Module/Invite.php:111
-msgid "Send email invitations to join this network"
-msgstr "Enviar invitaciones por correo electrónico para unirse a esta red"
+#: ../../Zotlabs/Module/Invite.php:158
+#, php-format
+msgid "(%s) : email address already in use"
+msgstr "(%s) : La dirección de correo electrónico ya está en uso"
+
+#: ../../Zotlabs/Module/Invite.php:165
+#, php-format
+msgid "(%s) : Accepted email address"
+msgstr "(%s) : Dirección de correo electrónico aceptada"
+
+#: ../../Zotlabs/Module/Invite.php:257
+#, php-format
+msgid "To %s : Message delivery success."
+msgstr "To %s : Entrega exitosa del mensaje."
+
+#: ../../Zotlabs/Module/Invite.php:289
+#, php-format
+msgid "%1$d mail(s) sent, %2$d mail error(s)"
+msgstr "%1$d correo(s) enviado, %2$d error(es) de correo"
-#: ../../Zotlabs/Module/Invite.php:124
+#: ../../Zotlabs/Module/Invite.php:315
+msgid "Invites not proposed by configuration"
+msgstr "Invitaciones no propuestas por la configuración"
+
+#: ../../Zotlabs/Module/Invite.php:316
+msgid "Contact the site admin"
+msgstr "Contactar con el administrador del sitio"
+
+#: ../../Zotlabs/Module/Invite.php:332
+msgid "Invites by users not enabled"
+msgstr "Invitaciones de usuarios no habilitadas"
+
+#: ../../Zotlabs/Module/Invite.php:337
msgid "You have no more invitations available"
msgstr "No tiene más invitaciones disponibles"
-#: ../../Zotlabs/Module/Invite.php:155
+#: ../../Zotlabs/Module/Invite.php:353
+msgid "Not on xchan"
+msgstr "No en xchan"
+
+#: ../../Zotlabs/Module/Invite.php:386
+msgid "All users invitation limit exceeded."
+msgstr "Se ha superado el límite de invitaciones a todos los usuarios."
+
+#: ../../Zotlabs/Module/Invite.php:404
+msgid "Invitation expires after"
+msgstr "La invitación expira después de "
+
+#: ../../Zotlabs/Module/Invite.php:504 ../../Zotlabs/Module/Invite.php:543
+msgid "Invitation"
+msgstr "Invitación"
+
+#: ../../Zotlabs/Module/Invite.php:534
msgid "Send invitations"
msgstr "Enviar invitaciones"
-#: ../../Zotlabs/Module/Invite.php:156
-msgid "Enter email addresses, one per line:"
-msgstr "Introduzca las direcciones de correo electrónico, una por línea:"
-
-#: ../../Zotlabs/Module/Invite.php:158
-msgid "Please join my community on $Projectname."
-msgstr "Por favor, únase a mi comunidad en $Projectname."
+#: ../../Zotlabs/Module/Invite.php:535
+msgid "Invitations I am using"
+msgstr "Invitaciones que estoy utilizando "
-#: ../../Zotlabs/Module/Invite.php:160
-msgid "You will need to supply this invitation code:"
-msgstr "Tendrá que suministrar este código de invitación:"
+#: ../../Zotlabs/Module/Invite.php:536
+msgid "Invitations we are using"
+msgstr "Invitaciones que usamos "
-#: ../../Zotlabs/Module/Invite.php:161
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Regístrese en cualquier sitio de $Projectname (están todos interconectados)"
+#: ../../Zotlabs/Module/Invite.php:537
+msgid "§ Note, the email(s) sent will be recorded in the system logs"
+msgstr "§ Nota: el/los correo(s) electrónicos enviados quedarán registrados en los registros del sistema"
-#: ../../Zotlabs/Module/Invite.php:163
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Introduzca mi dirección $Projectname en la caja de búsqueda del sitio."
+#: ../../Zotlabs/Module/Invite.php:538
+msgid "Enter email addresses, one per line:"
+msgstr "Introduzca las direcciones de correo electrónico, una por línea:"
-#: ../../Zotlabs/Module/Invite.php:164
-msgid "or visit"
-msgstr "o visitar"
+#: ../../Zotlabs/Module/Invite.php:540
+msgid "Invite template"
+msgstr "Plantilla de invitación"
-#: ../../Zotlabs/Module/Invite.php:166
-msgid "3. Click [Connect]"
-msgstr "3. Pulse [conectar]"
+#: ../../Zotlabs/Module/Invite.php:548
+msgid "Here you may enter personal notes to the recipient(s)"
+msgstr "Aquí puede introducir notas personales para el/los destinatario(s)"
#: ../../Zotlabs/Module/Notes.php:57
msgid "Notes App"
@@ -13126,10 +13500,6 @@ msgstr "Publicar su perfil principal en el directorio de la red"
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "¿Nos permite sugerirle como amigo potencial a los nuevos miembros?"
-#: ../../Zotlabs/Module/Settings/Channel.php:420
-msgid "or"
-msgstr "o"
-
#: ../../Zotlabs/Module/Settings/Channel.php:429
msgid "Your channel address is"
msgstr "Su dirección de canal es"
@@ -13157,7 +13527,6 @@ msgid "Basic Settings"
msgstr "Configuración básica"
#: ../../Zotlabs/Module/Settings/Channel.php:502
-#: ../../Zotlabs/Module/Settings/Account.php:104
msgid "Email Address:"
msgstr "Dirección de correo electrónico:"
@@ -13476,59 +13845,63 @@ msgstr "Carpeta por defecto de los ficheros subidos"
msgid "Remove this channel."
msgstr "Eliminar este canal."
-#: ../../Zotlabs/Module/Settings/Account.php:19
+#: ../../Zotlabs/Module/Settings/Account.php:21
msgid "Not valid email."
msgstr "Correo electrónico no válido."
-#: ../../Zotlabs/Module/Settings/Account.php:22
+#: ../../Zotlabs/Module/Settings/Account.php:24
msgid "Protected email address. Cannot change to that email."
msgstr "Dirección de correo electrónico protegida. No se puede cambiar a ella."
-#: ../../Zotlabs/Module/Settings/Account.php:31
+#: ../../Zotlabs/Module/Settings/Account.php:33
msgid "System failure storing new email. Please try again."
msgstr "Fallo de sistema al guardar el nuevo correo electrónico. Por favor, inténtelo de nuevo."
-#: ../../Zotlabs/Module/Settings/Account.php:48
+#: ../../Zotlabs/Module/Settings/Account.php:51
msgid "Password verification failed."
msgstr "La comprobación de la contraseña ha fallado."
-#: ../../Zotlabs/Module/Settings/Account.php:55
+#: ../../Zotlabs/Module/Settings/Account.php:58
msgid "Passwords do not match. Password unchanged."
msgstr "Las contraseñas no coinciden. La contraseña no se ha cambiado."
-#: ../../Zotlabs/Module/Settings/Account.php:59
+#: ../../Zotlabs/Module/Settings/Account.php:62
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "No se permiten contraseñas vacías. La contraseña no se ha cambiado."
-#: ../../Zotlabs/Module/Settings/Account.php:73
+#: ../../Zotlabs/Module/Settings/Account.php:76
msgid "Password changed."
msgstr "Contraseña cambiada."
-#: ../../Zotlabs/Module/Settings/Account.php:75
+#: ../../Zotlabs/Module/Settings/Account.php:78
msgid "Password update failed. Please try again."
msgstr "La actualización de la contraseña ha fallado. Por favor, inténtalo de nuevo."
-#: ../../Zotlabs/Module/Settings/Account.php:99
+#: ../../Zotlabs/Module/Settings/Account.php:103
msgid "Account Settings"
msgstr "Configuración de la cuenta"
-#: ../../Zotlabs/Module/Settings/Account.php:100
+#: ../../Zotlabs/Module/Settings/Account.php:104
msgid "Current Password"
msgstr "Contraseña actual"
-#: ../../Zotlabs/Module/Settings/Account.php:101
+#: ../../Zotlabs/Module/Settings/Account.php:105
msgid "Enter New Password"
msgstr "Escribir una nueva contraseña"
-#: ../../Zotlabs/Module/Settings/Account.php:102
+#: ../../Zotlabs/Module/Settings/Account.php:106
msgid "Confirm New Password"
msgstr "Confirmar la nueva contraseña"
-#: ../../Zotlabs/Module/Settings/Account.php:102
+#: ../../Zotlabs/Module/Settings/Account.php:106
msgid "Leave password fields blank unless changing"
msgstr "Dejar en blanco la contraseña a menos que desee cambiarla."
-#: ../../Zotlabs/Module/Settings/Account.php:106
+#: ../../Zotlabs/Module/Settings/Account.php:108
+msgid "DId2 or Email Address:"
+msgstr "Did2 o dirección de correo electrónico: "
+
+#: ../../Zotlabs/Module/Settings/Account.php:110
msgid "Remove this account including all its channels"
msgstr "Eliminar esta cuenta incluyendo todos sus canales"
@@ -14040,135 +14413,135 @@ msgstr "App Wiki"
msgid "Provide a wiki for your channel"
msgstr "Proporcionar un wiki para su canal"
-#: ../../Zotlabs/Module/Wiki.php:133
+#: ../../Zotlabs/Module/Wiki.php:132
msgid "Error retrieving wiki"
msgstr "Error al recuperar el wiki"
-#: ../../Zotlabs/Module/Wiki.php:140
+#: ../../Zotlabs/Module/Wiki.php:139
msgid "Error creating zip file export folder"
msgstr "Error al crear el fichero comprimido zip de la carpeta a exportar"
-#: ../../Zotlabs/Module/Wiki.php:191
+#: ../../Zotlabs/Module/Wiki.php:190
msgid "Error downloading wiki: "
msgstr "Error al descargar el wiki: "
-#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Storage/Browser.php:404
+#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Storage/Browser.php:404
msgid "Download"
msgstr "Descargar"
-#: ../../Zotlabs/Module/Wiki.php:216
+#: ../../Zotlabs/Module/Wiki.php:215
msgid "Wiki name"
msgstr "Nombre del wiki"
-#: ../../Zotlabs/Module/Wiki.php:217
+#: ../../Zotlabs/Module/Wiki.php:216
msgid "Content type"
msgstr "Tipo de contenido"
-#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:378
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Storage/Browser.php:378
msgid "Type"
msgstr "Tipo"
-#: ../../Zotlabs/Module/Wiki.php:220
+#: ../../Zotlabs/Module/Wiki.php:219
msgid "Any&nbsp;type"
msgstr "Cualquier&nbsp;tipo"
-#: ../../Zotlabs/Module/Wiki.php:227
+#: ../../Zotlabs/Module/Wiki.php:226
msgid "Lock content type"
msgstr "Tipo de contenido bloqueado"
-#: ../../Zotlabs/Module/Wiki.php:228
+#: ../../Zotlabs/Module/Wiki.php:227
msgid "Create a status post for this wiki"
msgstr "Crear un mensaje de estado para este wiki"
-#: ../../Zotlabs/Module/Wiki.php:229
+#: ../../Zotlabs/Module/Wiki.php:228
msgid "Edit Wiki Name"
msgstr "Editar el nombre del wiki"
-#: ../../Zotlabs/Module/Wiki.php:274
+#: ../../Zotlabs/Module/Wiki.php:273
msgid "Wiki not found"
msgstr "Wiki no encontrado"
-#: ../../Zotlabs/Module/Wiki.php:300
+#: ../../Zotlabs/Module/Wiki.php:299
msgid "Rename page"
msgstr "Renombrar la página"
-#: ../../Zotlabs/Module/Wiki.php:321
+#: ../../Zotlabs/Module/Wiki.php:320
msgid "Error retrieving page content"
msgstr "Error al recuperar el contenido de la página"
-#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331
+#: ../../Zotlabs/Module/Wiki.php:328 ../../Zotlabs/Module/Wiki.php:330
msgid "New page"
msgstr "Nueva página"
-#: ../../Zotlabs/Module/Wiki.php:366
+#: ../../Zotlabs/Module/Wiki.php:365
msgid "Revision Comparison"
msgstr "Comparación de revisiones"
-#: ../../Zotlabs/Module/Wiki.php:374
+#: ../../Zotlabs/Module/Wiki.php:373
msgid "Short description of your changes (optional)"
msgstr "Breve descripción de sus cambios (opcional)"
-#: ../../Zotlabs/Module/Wiki.php:394
+#: ../../Zotlabs/Module/Wiki.php:393
msgid "New page name"
msgstr "Nombre de la nueva página"
-#: ../../Zotlabs/Module/Wiki.php:399
+#: ../../Zotlabs/Module/Wiki.php:398
msgid "Embed image from photo albums"
msgstr "Incluir una imagen de los álbumes de fotos"
-#: ../../Zotlabs/Module/Wiki.php:410
+#: ../../Zotlabs/Module/Wiki.php:409
msgid "History"
msgstr "Historial"
-#: ../../Zotlabs/Module/Wiki.php:488
+#: ../../Zotlabs/Module/Wiki.php:487
msgid "Error creating wiki. Invalid name."
msgstr "Error al crear el wiki: el nombre no es válido."
-#: ../../Zotlabs/Module/Wiki.php:495
+#: ../../Zotlabs/Module/Wiki.php:494
msgid "A wiki with this name already exists."
msgstr "Ya hay un wiki con este nombre."
-#: ../../Zotlabs/Module/Wiki.php:508
+#: ../../Zotlabs/Module/Wiki.php:507
msgid "Wiki created, but error creating Home page."
msgstr "Se ha creado el wiki, pero se ha producido un error al crear la página de inicio."
-#: ../../Zotlabs/Module/Wiki.php:515
+#: ../../Zotlabs/Module/Wiki.php:514
msgid "Error creating wiki"
msgstr "Error al crear el wiki"
-#: ../../Zotlabs/Module/Wiki.php:539
+#: ../../Zotlabs/Module/Wiki.php:538
msgid "Error updating wiki. Invalid name."
msgstr "Error al actualizar el wiki. Nombre no válido."
-#: ../../Zotlabs/Module/Wiki.php:559
+#: ../../Zotlabs/Module/Wiki.php:557
msgid "Error updating wiki"
msgstr "Error al actualizar el wiki"
-#: ../../Zotlabs/Module/Wiki.php:574
+#: ../../Zotlabs/Module/Wiki.php:572
msgid "Wiki delete permission denied."
msgstr "Se ha denegado el permiso para eliminar el wiki."
-#: ../../Zotlabs/Module/Wiki.php:584
+#: ../../Zotlabs/Module/Wiki.php:582
msgid "Error deleting wiki"
msgstr "Se ha producido un error al eliminar el wiki"
-#: ../../Zotlabs/Module/Wiki.php:617
+#: ../../Zotlabs/Module/Wiki.php:615
msgid "New page created"
msgstr "Se ha creado la nueva página"
-#: ../../Zotlabs/Module/Wiki.php:739
+#: ../../Zotlabs/Module/Wiki.php:741
msgid "Cannot delete Home"
msgstr "No se puede eliminar la página principal"
-#: ../../Zotlabs/Module/Wiki.php:803
+#: ../../Zotlabs/Module/Wiki.php:817
msgid "Current Revision"
msgstr "Revisión actual"
-#: ../../Zotlabs/Module/Wiki.php:803
+#: ../../Zotlabs/Module/Wiki.php:817
msgid "Selected Revision"
msgstr "Revisión seleccionada"
-#: ../../Zotlabs/Module/Wiki.php:853
+#: ../../Zotlabs/Module/Wiki.php:872
msgid "You must be authenticated."
msgstr "Debe estar autenticado."
@@ -14446,17 +14819,17 @@ msgstr "Última actualización:"
msgid "Details"
msgstr "Detalles"
-#: ../../Zotlabs/Module/Notifications.php:55
+#: ../../Zotlabs/Module/Notifications.php:58
#: ../../Zotlabs/Module/Notify.php:61
msgid "No more system notifications."
msgstr "No hay más notificaciones del sistema"
-#: ../../Zotlabs/Module/Notifications.php:59
+#: ../../Zotlabs/Module/Notifications.php:62
#: ../../Zotlabs/Module/Notify.php:65
msgid "System Notifications"
msgstr "Notificaciones del sistema"
-#: ../../Zotlabs/Module/Notifications.php:60
+#: ../../Zotlabs/Module/Notifications.php:63
#: ../../Zotlabs/Lib/ThreadItem.php:484
msgid "Mark all seen"
msgstr "Marcar todo como visto"
@@ -14674,32 +15047,32 @@ msgctxt "permcat"
msgid "publisher"
msgstr "editor"
-#: ../../Zotlabs/Lib/Activity.php:2131
+#: ../../Zotlabs/Lib/Activity.php:2163
#, php-format
msgid "Likes %1$s's %2$s"
msgstr "Gusta de %2$sde %1$s"
-#: ../../Zotlabs/Lib/Activity.php:2134
+#: ../../Zotlabs/Lib/Activity.php:2166
#, php-format
msgid "Doesn't like %1$s's %2$s"
msgstr "No le gusta %2$sde %1$s"
-#: ../../Zotlabs/Lib/Activity.php:2140
+#: ../../Zotlabs/Lib/Activity.php:2172
#, php-format
msgid "Will attend %s's event"
msgstr "Asistirá al evento de %s"
-#: ../../Zotlabs/Lib/Activity.php:2143
+#: ../../Zotlabs/Lib/Activity.php:2175
#, php-format
msgid "Will not attend %s's event"
msgstr "No asistirá al evento de %s"
-#: ../../Zotlabs/Lib/Activity.php:2146
+#: ../../Zotlabs/Lib/Activity.php:2178
#, php-format
msgid "May attend %s's event"
msgstr "Puede asistir al evento de %s"
-#: ../../Zotlabs/Lib/Activity.php:2149
+#: ../../Zotlabs/Lib/Activity.php:2181
#, php-format
msgid "May not attend %s's event"
msgstr "Puede no asistir al evento de %s"
@@ -14984,6 +15357,10 @@ msgstr "ha editado un comentario %s"
msgid "created an event"
msgstr "se creó un evento"
+#: ../../Zotlabs/Lib/Enotify.php:986
+msgid "verified"
+msgstr "verificado"
+
#: ../../Zotlabs/Lib/Connect.php:271
msgid "error saving data"
msgstr "error guardando los datos"
@@ -15008,11 +15385,11 @@ msgstr "Sala no encontrada."
msgid "Room is full"
msgstr "La sala está llena."
-#: ../../Zotlabs/Lib/NativeWiki.php:145
+#: ../../Zotlabs/Lib/NativeWiki.php:146
msgid "Wiki updated successfully"
msgstr "El wiki se ha actualizado con éxito"
-#: ../../Zotlabs/Lib/NativeWiki.php:199
+#: ../../Zotlabs/Lib/NativeWiki.php:206
msgid "Wiki files deleted successfully"
msgstr "Se han borrado con éxito los ficheros del wiki"
@@ -15165,51 +15542,51 @@ msgstr "(Sin título)"
msgid "Wiki page create failed."
msgstr "Se ha producido un error en la creación de la página wiki."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:122
+#: ../../Zotlabs/Lib/NativeWikiPage.php:123
msgid "Wiki not found."
msgstr "No se ha encontrado el wiki."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:133
+#: ../../Zotlabs/Lib/NativeWikiPage.php:134
msgid "Destination name already exists"
msgstr "El nombre de destino ya existe"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:166
-#: ../../Zotlabs/Lib/NativeWikiPage.php:361
+#: ../../Zotlabs/Lib/NativeWikiPage.php:167
+#: ../../Zotlabs/Lib/NativeWikiPage.php:368
msgid "Page not found"
msgstr "No se ha encontrado la página"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:197
+#: ../../Zotlabs/Lib/NativeWikiPage.php:200
msgid "Error reading page content"
msgstr "Se ha producido un error al leer el contenido de la página"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:352
-#: ../../Zotlabs/Lib/NativeWikiPage.php:401
-#: ../../Zotlabs/Lib/NativeWikiPage.php:468
-#: ../../Zotlabs/Lib/NativeWikiPage.php:509
+#: ../../Zotlabs/Lib/NativeWikiPage.php:359
+#: ../../Zotlabs/Lib/NativeWikiPage.php:409
+#: ../../Zotlabs/Lib/NativeWikiPage.php:480
+#: ../../Zotlabs/Lib/NativeWikiPage.php:522
msgid "Error reading wiki"
msgstr "Se ha producido un error al leer el wiki"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:389
+#: ../../Zotlabs/Lib/NativeWikiPage.php:396
msgid "Page update failed."
msgstr "Se ha producido un error al actualizar la página."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:423
+#: ../../Zotlabs/Lib/NativeWikiPage.php:431
msgid "Nothing deleted"
msgstr "No se ha eliminado nada"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:489
+#: ../../Zotlabs/Lib/NativeWikiPage.php:501
msgid "Compare: object not found."
msgstr "No se ha encontrado un objeto para comparar."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:495
+#: ../../Zotlabs/Lib/NativeWikiPage.php:508
msgid "Page updated"
msgstr "Se ha actualizado la página"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:498
+#: ../../Zotlabs/Lib/NativeWikiPage.php:511
msgid "Untitled"
msgstr "Sin título"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:504
+#: ../../Zotlabs/Lib/NativeWikiPage.php:517
msgid "Wiki resource_id required for git commit"
msgstr "Se necesita Wiki resource_id para el git commit"
@@ -15608,40 +15985,40 @@ msgid ""
"an existing folder."
msgstr "Puede seleccionar los archivos a través del botón de subir o soltarlos aquí mismo o en una carpeta existente."
-#: ../../boot.php:1690
+#: ../../boot.php:1695
msgid "Create an account to access services and applications"
msgstr "Crear una cuenta para acceder a los servicios y aplicaciones"
-#: ../../boot.php:1714
+#: ../../boot.php:1719
msgid "Login/Email"
msgstr "Inicio de sesión / Correo electrónico"
-#: ../../boot.php:1715
+#: ../../boot.php:1720
msgid "Password"
msgstr "Contraseña"
-#: ../../boot.php:1716
+#: ../../boot.php:1721
msgid "Remember me"
msgstr "Recordarme"
-#: ../../boot.php:1719
+#: ../../boot.php:1724
msgid "Forgot your password?"
msgstr "¿Olvidó su contraseña?"
-#: ../../boot.php:2588
+#: ../../boot.php:2603
#, php-format
msgid "[$Projectname] Website SSL error for %s"
msgstr "[$Projectname] Error SSL del sitio web en %s"
-#: ../../boot.php:2593
+#: ../../boot.php:2608
msgid "Website SSL certificate is not valid. Please correct."
msgstr "El certificado SSL del sitio web no es válido. Por favor, solucione el problema."
-#: ../../boot.php:2709
+#: ../../boot.php:2724
#, php-format
msgid "[$Projectname] Cron tasks not running on %s"
msgstr "[$Projectname] Las tareas de Cron no están funcionando en %s"
-#: ../../boot.php:2714
+#: ../../boot.php:2729
msgid "Cron/Scheduled tasks not running."
msgstr "Las tareas del Planificador/Cron no están funcionando."
diff --git a/view/es-es/hstrings.php b/view/es-es/hstrings.php
index c41cf9fe9..d61cb65c2 100644
--- a/view/es-es/hstrings.php
+++ b/view/es-es/hstrings.php
@@ -2,7 +2,7 @@
if(! function_exists("string_plural_select_es_es")) {
function string_plural_select_es_es($n){
- return ($n != 1 ? 1 : 0);
+ return ($n != 1);
}}
App::$rtl = 0;
App::$strings["plural_function_code"] = "(n != 1 ? 1 : 0)";
@@ -611,6 +611,7 @@ App::$strings["Diaspora Protocol Settings updated."] = "Los ajustes del protocol
App::$strings["The diaspora protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "El protocolo de Diaspora no admite la independencia de la ubicación. Las conexiones que realice dentro de esa red pueden ser inaccesibles desde ubicaciones de canales alternativos.";
App::$strings["Diaspora Protocol App"] = "App Protocolo Diaspora";
App::$strings["Allow any Diaspora member to comment or like your public posts"] = "Permitir que cualquier miembro de Diaspora comente o ponga un like en sus entradas públicas";
+App::$strings["If this setting is disabled only your contacts will be able to comment or like your public posts"] = "Si esta configuración está desactivada, sólo sus contactos podrán comentar o dar a \"me gusta\" en sus publicaciones públicas";
App::$strings["Prevent your hashtags from being redirected to other sites"] = "Impedir que sus \"hashtags\" sean redirigidos a otros sitios ";
App::$strings["Sign and forward posts and comments with no existing Diaspora signature"] = "Firmar y enviar entradas y comentarios sin firma de Diaspora";
App::$strings["Followed hashtags (comma separated, do not include the #)"] = "\"Hashtags\" seguidos (separados por comas, sin incluir #)";
@@ -1129,6 +1130,7 @@ App::$strings["__ctx:calendar__ week"] = "semana";
App::$strings["__ctx:calendar__ day"] = "día";
App::$strings["__ctx:calendar__ All day"] = "Todos los días";
App::$strings["Please stand by while your download is being prepared."] = "Por favor, espere mientras se prepara la descarga.";
+App::$strings["Email address not valid"] = "Dirección de correo electrónica no válida";
App::$strings["Help:"] = "Ayuda:";
App::$strings["Help"] = "Ayuda";
App::$strings["Not Found"] = "No encontrado";
@@ -1487,9 +1489,9 @@ App::$strings["profile photo"] = "foto del perfil";
App::$strings["[Edited %s]"] = "[se ha editado %s]";
App::$strings["__ctx:edit_activity__ Post"] = "Publicar";
App::$strings["__ctx:edit_activity__ Comment"] = "Comentar";
-App::$strings["Not a valid email address"] = "Dirección de correo no válida";
-App::$strings["Your email domain is not among those allowed on this site"] = "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio.";
-App::$strings["Your email address is already registered at this site."] = "Su dirección de correo está ya registrada en este sitio.";
+App::$strings["The provided email address is not valid"] = "La dirección de correo electrónico proporcionada no es válida";
+App::$strings["The provided email domain is not among those allowed on this site"] = "El dominio de correo electrónico proporcionado no está entre los permitidos en este sitio";
+App::$strings["The provided email address is already registered at this site"] = "La dirección de correo electrónico proporcionada ya está registrada en este sitio";
App::$strings["An invitation is required."] = "Es obligatorio que le inviten.";
App::$strings["Invitation could not be verified."] = "No se ha podido verificar su invitación.";
App::$strings["Please enter the required information."] = "Por favor introduzca la información requerida.";
@@ -1500,9 +1502,14 @@ App::$strings["your registration password"] = "su contraseña de registro";
App::$strings["Registration details for %s"] = "Detalles del registro de %s";
App::$strings["Account approved."] = "Cuenta aprobada.";
App::$strings["Registration revoked for %s"] = "Registro revocado para %s";
+App::$strings["Could not revoke registration for %s"] = "No se ha podido revocar el registro de %s";
App::$strings["Click here to upgrade."] = "Pulse aquí para actualizar";
App::$strings["This action exceeds the limits set by your subscription plan."] = "Esta acción supera los límites establecidos por su plan de suscripción ";
App::$strings["This action is not available under your subscription plan."] = "Esta acción no está disponible en su plan de suscripción.";
+App::$strings["open"] = "abierto";
+App::$strings["closed"] = "cerrado";
+App::$strings["Registration is currently"] = "El registro está actualmente ";
+App::$strings["please come back"] = "por favor, vuelva";
App::$strings["Profile Photos"] = "Fotos del perfil";
App::$strings["Item was not found."] = "Elemento no encontrado.";
App::$strings["Unknown error."] = "Error desconocido";
@@ -1863,36 +1870,40 @@ App::$strings["Update to Hubzilla 5.0 step 2"] = "Actualizar a Hubzilla 5.0. Pas
App::$strings["To complete the update please run"] = "Para completar la actualización, ejecutar ";
App::$strings["php util/z6convert.php"] = "php util/z6convert.php";
App::$strings["from the terminal."] = "desde la terminal.";
-App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Se ha superado el límite máximo de inscripciones diarias de este sitio. Por favor, pruebe de nuevo mañana.";
-App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Por favor, confirme que acepta los Términos del servicio. El registro ha fallado.";
-App::$strings["Passwords do not match."] = "Las contraseñas no coinciden.";
-App::$strings["Registration successful. Continue to create your first channel..."] = "Registro exitoso. Continúe creando tu primer canal...";
-App::$strings["Registration successful. Please check your email for validation instructions."] = "Registro realizado con éxito. Por favor, compruebe su correo electrónico para ver las instrucciones para validarlo.";
-App::$strings["Your registration is pending approval by the site owner."] = "Su registro está pendiente de aprobación por el propietario del sitio.";
-App::$strings["Your registration can not be processed."] = "Su registro no puede ser procesado.";
+App::$strings["Email address required"] = "Dirección de correo electrónico requerida";
+App::$strings["No password provided"] = "No se ha proporcionado la contraseña";
+App::$strings["Terms of Service not accepted"] = "No se han aceptado los Términos del servicio";
+App::$strings["Invitation code succesfully applied"] = "El código de invitación se ha aplicado con éxito";
+App::$strings["Invitation not in time or too late"] = "La invitación no llega a tiempo o llega demasiado tarde";
+App::$strings["Invitation email failed"] = "Error en el correo electrónico de invitación";
+App::$strings["Invitation code failed"] = "Código de invitación fallido";
+App::$strings["Invitations are not available"] = "No hay invitaciones disponibles";
+App::$strings["Email address already in use"] = "La dirección de correo electrónico ya está en uso";
+App::$strings["Registration on this hub is by invitation only"] = "El registro en este hub solo es posible por invitación";
+App::$strings["New register request"] = "Nueva solicitud de registro";
+App::$strings["Error creating dId A"] = "Error al crear dId A";
App::$strings["Registration on this hub is disabled."] = "El registro está deshabilitado en este sitio.";
App::$strings["Registration on this hub is by approval only."] = "El registro en este hub está sometido a aprobación previa.";
-App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Registrarse en otro hub afiliado.</a>";
+App::$strings["Register at another affiliated hub in case when prefered"] = "Regístrese en otro hub afiliado en caso de que lo prefiera";
App::$strings["Registration on this hub is by invitation only."] = "La inscripción en este hub es sólo posible por invitación.";
-App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Este sitio ha excedido el límite de inscripción diaria de cuentas. Por favor, inténtelo de nuevo mañana.";
+App::$strings["Register at another affiliated hub"] = "Regístrese en otro hub afiliado";
App::$strings["Terms of Service"] = "Términos del servicio";
App::$strings["I accept the %s for this website"] = "Acepto los %s de este sitio";
App::$strings["I am over %s years of age and accept the %s for this website"] = "Tengo más de %s años de edad y acepto los %s de este sitio web";
App::$strings["Your email address"] = "Su dirección de correo electrónico";
+App::$strings["Optional"] = "Opcional";
App::$strings["Choose a password"] = "Elija una contraseña";
App::$strings["Please re-enter your password"] = "Por favor, vuelva a escribir su contraseña";
App::$strings["Please enter your invitation code"] = "Por favor, introduzca el código de su invitación";
-App::$strings["Your Name"] = "Su nombre";
-App::$strings["Real names are preferred."] = "Se prefieren los nombres reales";
+App::$strings["Your name"] = "Su nombre";
+App::$strings["Real name is preferred"] = "Se prefiere el nombre real";
App::$strings["Choose a short nickname"] = "Elija un alias corto";
-App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Su alias se usará para crear una dirección de canal fácil de recordar, p. ej.: alias%s";
-App::$strings["Channel role and privacy"] = "Clase de canal y privacidad";
-App::$strings["Select a channel permission role for your usage needs and privacy requirements."] = "Seleccione unos permisos de rol del canal compatibles con sus necesidades de uso y requisitos de privacidad.";
-App::$strings["Read more about channel permission roles"] = "Leer más sobre los roles y permisos";
-App::$strings["no"] = "no";
-App::$strings["yes"] = "sí";
+App::$strings["Your nickname will be used to create an easy to remember channel address"] = "Tu alias se utilizará para crear una dirección de canal fácil de recordar";
+App::$strings["Why do you want to join this hub?"] = "¿Por qué quiere unirse a este hub?";
+App::$strings["This will help to review your registration"] = "Esto ayudará a revisar su registro";
App::$strings["Registration"] = "Registro";
-App::$strings["This site requires email verification. After completing this form, please check your email for further instructions."] = "Este sitio requiere verificación por correo electrónico. Después de completar este formulario, por favor revise su correo electrónico para más instrucciones.";
+App::$strings["I have an invite code"] = "Tengo un código de invitación";
+App::$strings["This site has exceeded the number of allowed daily account registrations."] = "Este sitio ha superado el número permitido de registros diarios de cuentas.";
App::$strings["Public access denied."] = "Acceso público denegado.";
App::$strings["Items tagged with: %s"] = "elementos etiquetados con: %s";
App::$strings["Search results for: %s"] = "Resultados de la búsqueda para: %s";
@@ -2050,7 +2061,6 @@ App::$strings["Automatically generated - change if desired. Max length 20"] = "G
App::$strings["Redirect"] = "Redirigir";
App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirección - dejar en blanco a menos que su aplicación específicamente lo requiera";
App::$strings["Icon url"] = "Dirección del icono";
-App::$strings["Optional"] = "Opcional";
App::$strings["Application not found."] = "Aplicación no encontrada.";
App::$strings["Connected OAuth Apps"] = "Apps OAuth conectadas";
App::$strings["Client key starts with"] = "La \"client key\" empieza por";
@@ -2238,7 +2248,6 @@ App::$strings["By continuing, I certify that I have complied with any instructio
App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(No ha sido proporcionada ninguna instrucción específica por el propietario del canal.)";
App::$strings["Restricted or Premium Channel"] = "Canal premium o restringido";
App::$strings["Not found"] = "No encontrado";
-App::$strings["Please refresh page"] = "Por favor, recargue la página";
App::$strings["Unknown error"] = "Error desconocido";
App::$strings["&#x1f501; Repeated %1\$s's %2\$s"] = "&#x1f501; Repetidos %2\$sde %1\$s";
App::$strings["Post repeated"] = "Entrada repetida";
@@ -2310,20 +2319,33 @@ App::$strings["%s account deleted"] = array(
App::$strings["Account not found"] = "Cuenta no encontrada";
App::$strings["Account '%s' blocked"] = "La cuenta '%s' ha sido bloqueada";
App::$strings["Account '%s' unblocked"] = "La cuenta '%s' ha sido desbloqueada";
-App::$strings["select all"] = "seleccionar todo";
-App::$strings["Registrations waiting for confirm"] = "Inscripciones en espera de confirmación";
+App::$strings["Unverified"] = "Sin verificar";
+App::$strings["Expired"] = "Caducado/a";
+App::$strings["Show verified registrations"] = "Mostrar registros verificados";
+App::$strings["Show all registrations"] = "Mostrar todos los registros";
+App::$strings["Select toggle"] = "Seleccionar alternar";
+App::$strings["Deny selected"] = "Denegar seleccionado";
+App::$strings["Approve selected"] = "Aprobar seleccionado";
+App::$strings["All registrations"] = "Todos los registros";
+App::$strings["Verified registrations waiting for approval"] = "Registros verificados en espera de aprobación";
App::$strings["Request date"] = "Fecha de solicitud";
-App::$strings["No registrations."] = "Sin registros.";
+App::$strings["Requests"] = "Solicitudes";
+App::$strings["No registrations available"] = "No hay registros disponibles";
+App::$strings["No verified registrations available"] = "No hay registros verificados disponibles";
App::$strings["Block"] = "Bloquear";
App::$strings["Unblock"] = "Desbloquear";
+App::$strings["Verified"] = "Verificado/a";
+App::$strings["Not yet verified"] = "Aún no se ha verificado";
App::$strings["ID"] = "ID";
-App::$strings["All Channels"] = "Todos los canales";
+App::$strings["All channels"] = "Todos los canales";
App::$strings["Register date"] = "Fecha de registro";
App::$strings["Last login"] = "Último acceso";
App::$strings["Expires"] = "Caduca";
-App::$strings["Service Class"] = "Clase de servicio";
+App::$strings["Service class"] = "Clase de servicio";
App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "¡Las cuentas seleccionadas van a ser eliminadas!\\n\\n¡Todo lo que estas cuentas han publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?";
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?"] = "¡La cuenta {0} va a ser eliminada!\\n\\n¡Todo lo que esta cuenta ha publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?";
+App::$strings["Invalid input"] = "Entrada no válida";
+App::$strings["Errors"] = "Errores";
App::$strings["Site settings updated."] = "Ajustes del sitio actualizados.";
App::$strings["%s - (Incompatible)"] = "%s - (Incompatible)";
App::$strings["mobile"] = "móvil";
@@ -2336,6 +2358,17 @@ App::$strings["My site has free access only"] = "Mi sitio es un servicio gratuit
App::$strings["My site offers free accounts with optional paid upgrades"] = "Mi sitio ofrece cuentas gratuitas con opciones extra de pago";
App::$strings["Default permission role for new accounts"] = "Permisos de rol por defecto para las nuevas cuentas";
App::$strings["This role will be used for the first channel created after registration."] = "Este rol se utilizará para el primer canal creado después del registro.";
+App::$strings["Minute(s)"] = "Minuto(s)";
+App::$strings["Hour(s)"] = "Hora(s)";
+App::$strings["Day(s)"] = "Día(s)";
+App::$strings["Week(s)"] = "Semana(s)";
+App::$strings["Month(s)"] = "Mes(Meses)";
+App::$strings["Year(s)"] = "Año(s)";
+App::$strings["Register verification delay"] = "Retraso en la verificación del registro";
+App::$strings["Time to wait before a registration can be verified"] = "Tiempo de espera para verificar un registro ";
+App::$strings["duration up from now"] = "duración a partir de ahora ";
+App::$strings["Register verification expiration time"] = "Tiempo de caducidad de la verificación del registro ";
+App::$strings["Time before an unverified registration will expire"] = "Tiempo antes de que caduque un registro no verificado ";
App::$strings["File upload"] = "Subir fichero";
App::$strings["Policies"] = "Políticas";
App::$strings["Banner/Logo"] = "Banner/Logo";
@@ -2351,25 +2384,39 @@ App::$strings["Allow Feeds as Connections"] = "Permitir contenidos RSS como cone
App::$strings["(Heavy system resource usage)"] = "(Uso intenso de los recursos del sistema)";
App::$strings["Maximum image size"] = "Tamaño máximo de la imagen";
App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Tamaño máximo en bytes de la imagen subida. Por defecto, es 0, lo que significa que no hay límites.";
-App::$strings["Does this site allow new member registration?"] = "¿Debe este sitio permitir el registro de nuevos miembros?";
-App::$strings["Invitation only"] = "Solo con una invitación";
-App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Solo se permiten inscripciones de nuevos miembros con un código de invitación. Además, deben aceptarse los términos del registro marcando \"Sí\".";
App::$strings["Minimum age"] = "Edad mínima";
App::$strings["Minimum age (in years) for who may register on this site."] = "Edad mínima (en años) para poder registrarse en este sitio.";
App::$strings["Which best describes the types of account offered by this hub?"] = "¿Cómo describiría el tipo de servicio ofrecido por este servidor?";
App::$strings["This is displayed on the public server site list."] = "Esto se muestra en la lista de sitios de servidores públicos.";
App::$strings["Register text"] = "Texto del registro";
-App::$strings["Will be displayed prominently on the registration page."] = "Se mostrará de forma destacada en la página de registro.";
+App::$strings["This text will be displayed prominently at the registration page"] = "Este texto se mostrará de forma destacada en la página de registro ";
+App::$strings["Does this site allow new member registration?"] = "¿Debe este sitio permitir el registro de nuevos miembros?";
+App::$strings["Configure the registration open days/hours"] = "Configurar los días/horas de apertura del registro";
+App::$strings["Empty or '-:-' value will keep registration open 24/7 (default)"] = "El valor vacío o \"-:-\" mantendrá el registro abierto 24/7 (por defecto)";
+App::$strings["Weekdays and hours must be separated by colon ':', From-To ranges with a dash `-` example: 1:800-1200"] = "Los días de la semana y las horas deben separarse con dos puntos ':', los rangos Desde-Hasta con un guión `-` ejemplo: 1:800-1200";
+App::$strings["Weekday:Hour pairs must be separated by space ' ' example: 1:900-1700 2:900-1700"] = "Los pares día de la semana:hora deben estar separados por un espacio ' ' ejemplo: 1:900-1700 2:900-1700";
+App::$strings["From-To ranges must be separated by comma ',' example: 1:800-1200,1300-1700 or 1-2,4-5:900-1700"] = "Los rangos desde-hasta deben estar separados por comas ',' ejemplo: 1:800-1200,1300-1700 o 1-2,4-5:900-1700";
+App::$strings["Advanced examples:"] = "Ejemplos avanzados: ";
+App::$strings["or"] = "o";
+App::$strings["Check your configuration"] = "Compruebe su configuración";
+App::$strings["Max account registrations per day"] = "Máximo de registros de cuentas por día ";
+App::$strings["Unlimited if zero or no value - default 50"] = "Ilimitado si es cero o sin valor - por defecto 50";
+App::$strings["Max account registrations from same IP"] = "Máximo de registros de cuentas desde la misma IP";
+App::$strings["Unlimited if zero or no value - default 3"] = "Ilimitado si es cero o sin valor - por defecto 3";
+App::$strings["Auto channel create"] = "Creación automática de canales";
+App::$strings["If disabled the channel will be created in a separate step during the registration process"] = "Si se desactiva, el canal se creará en un paso separado durante el proceso de registro";
+App::$strings["Require invite code"] = "Solicitar código de invitación";
+App::$strings["Allow invite code"] = "Permitir código de invitación";
+App::$strings["Require email address"] = "Solicitar dirección de correo electrónico";
+App::$strings["The provided email address will be verified (recommended)"] = "La dirección de correo electrónico proporcionada será verificada (recomendado)";
+App::$strings["Abandon account after x days"] = "Abandonar la cuenta después de x días";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo.";
App::$strings["Site homepage to show visitors (default: login box)"] = "Página personal que se mostrará a los visitantes (por defecto: la página de identificación)";
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."] = "ejemplo: 'pubstream' para mostrar el stream público, 'page/sys/home' para mostrar una página web del sistema llamada 'home' o 'include:home.html' para incluir un archivo.";
App::$strings["Preserve site homepage URL"] = "Preservar la dirección de la página personal";
App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Presenta la página personal del sitio en un marco en la ubicación original, en vez de redirigirla.";
-App::$strings["Accounts abandoned after x days"] = "Cuentas abandonadas después de x días";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo.";
App::$strings["Allowed friend domains"] = "Dominios amigos permitidos";
App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Lista separada por comas de dominios a los que está permitido establecer relaciones de amistad con este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio.";
-App::$strings["Verify Email Addresses"] = "Verificar las direcciones de correo electrónico";
-App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Activar para la verificación de la dirección de correo electrónico en el registro de una cuenta (recomendado).";
App::$strings["Force publish"] = "Forzar la publicación";
App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Intentar forzar todos los perfiles para que sean listados en el directorio de este sitio.";
App::$strings["Import Public Streams"] = "Importar contenido público";
@@ -2417,6 +2464,7 @@ App::$strings["Page to display after creating a new channel"] = "Página a mostr
App::$strings["Default: profiles"] = "Perfiles predeterminados";
App::$strings["Optional: site location"] = "Opcional: ubicación del sitio";
App::$strings["Region or country"] = "Región o país";
+App::$strings["Invalid 24h time value (hhmm/hmm)"] = "Valor de tiempo de 24h no válido (hhmm/hmm)";
App::$strings["Log settings updated."] = "Actualizado el informe de configuraciones.";
App::$strings["Clear"] = "Vaciar";
App::$strings["Debugging"] = "Depuración";
@@ -2441,6 +2489,7 @@ App::$strings["Channel '%s' censored"] = "Canal '%s' censurado";
App::$strings["Channel '%s' uncensored"] = "Canal '%s' no censurado";
App::$strings["Channel '%s' code allowed"] = "Código permitido al canal '%s'";
App::$strings["Channel '%s' code disallowed"] = "Código no permitido al canal '%s'";
+App::$strings["select all"] = "seleccionar todo";
App::$strings["Censor"] = "Censurar";
App::$strings["Uncensor"] = "No censurar";
App::$strings["Allow Code"] = "Permitir código";
@@ -2455,7 +2504,6 @@ App::$strings["Account Edit"] = "Editar la cuenta";
App::$strings["New Password"] = "Nueva contraseña";
App::$strings["New Password again"] = "Nueva contraseña otra vez";
App::$strings["Account language (for emails)"] = "Idioma de la cuenta (para los correos electrónicos)";
-App::$strings["Service class"] = "Clase de servicio";
App::$strings["New Profile Field"] = "Nuevo campo en el perfil";
App::$strings["Field nickname"] = "Alias del campo";
App::$strings["System name of field"] = "Nombre del campo en el sistema";
@@ -2515,6 +2563,36 @@ App::$strings["This channel will be completely removed from the network. "] = "E
App::$strings["This action is permanent and can not be undone!"] = "¡Esta acción tiene carácter definitivo y no se puede deshacer!";
App::$strings["Please enter your password for verification:"] = "Por favor, introduzca su contraseña para su verificación:";
App::$strings["Remove Channel"] = "Eliminar el canal";
+App::$strings["Email resent"] = "Correo electrónico reenviado";
+App::$strings["Email resend failed"] = "Fallo en el reenvío del correo electrónico";
+App::$strings["Verify successfull"] = "Verificar que se ha hecho bien";
+App::$strings["Account successfull created"] = "Cuenta creada con éxito";
+App::$strings["Channel successfull created"] = "Canal creado con éxito";
+App::$strings["Automatic channel creation failed. Please create a channel."] = "La creación automática de canales ha fallado. Por favor, cree un canal.";
+App::$strings["Account creation error"] = "Error en la creación de la cuenta";
+App::$strings["Verify failed"] = "Verificación fallida";
+App::$strings["Token verification failed"] = "Ha fallado el token de verificación.";
+App::$strings["Request not inside time frame"] = "Solicitud fuera de plazo";
+App::$strings["Identity unknown"] = "Identidad desconocida";
+App::$strings["dId2 mistaken"] = "did2 equivocado/a";
+App::$strings["Your Registration ID"] = "Su ID de registro";
+App::$strings["Registration verification"] = "Verificación del registro";
+App::$strings["Hold on, you can start verification in"] = "Espere, puede empezar la verificación en ";
+App::$strings["Please remember your verification token for ID"] = "Por favor, recuerde su token de verificación para la identificación";
+App::$strings["Token validity"] = "Validez del token";
+App::$strings["Resend"] = "Reenviar";
+App::$strings["Registration status"] = "Estado del registro";
+App::$strings["Verification successful!"] = "¡Verificación exitosa!";
+App::$strings["Your login ID is"] = "Su ID de acceso es";
+App::$strings["After your account has been approved by our administrator you will be able to login with your login ID and your provided password."] = "Una vez que su cuenta haya sido aprobada por nuestro administrador, podrá iniciar sesión con su ID de acceso y la contraseña proporcionada.";
+App::$strings["Registration request revoked"] = "Solicitud de registro anulada";
+App::$strings["Sorry for any inconvience. Thank you for your response."] = "Disculpe las molestias. Gracias por su respuesta.";
+App::$strings["Please enter your verification token for ID"] = "Por favor, introduzca su token de verificación para la identificación";
+App::$strings["Verification token"] = "Token de verificación ";
+App::$strings["ID expired"] = "ID caducada";
+App::$strings["You will require the verification token for ID"] = "Necesitará el token de verificación para identificarse";
+App::$strings["Unknown or expired ID"] = "ID desconocida o caducada";
+App::$strings["dId2 malformed"] = "did2 malformado/a";
App::$strings["Edit event title"] = "Editar el título del evento";
App::$strings["Categories (comma-separated list)"] = "Temas (lista separada por comas)";
App::$strings["Edit Category"] = "Modificar el tema";
@@ -2599,7 +2677,9 @@ App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \
App::$strings["This will be used to create a unique network address (like an email address)."] = "Esto se utilizará para crear una dirección de red única (como una dirección de correo electrónico).";
App::$strings["Allowed characters are a-z 0-9, - and _"] = "Los caracteres permitidos son a-z 0-9, - and _";
App::$strings["Channel name"] = "Nombre del canal";
+App::$strings["Channel role and privacy"] = "Clase de canal y privacidad";
App::$strings["Select a channel permission role compatible with your usage needs and privacy requirements."] = "Seleccione unos permisos de rol del canal compatibles con sus necesidades de uso y requisitos de privacidad.";
+App::$strings["Read more about channel permission roles"] = "Leer más sobre los roles y permisos";
App::$strings["Create a Channel"] = "Crear un canal";
App::$strings["A channel is a unique network identity. It can represent a person (social network profile), a forum (group), a business or celebrity page, a newsfeed, and many other things."] = "Un canal es una identidad única en la red. Puede representar a una persona (un perfil de una red social), un foro o grupo, un negocio o una página de una celebridad, un \"feed\" de noticias, y muchas otras cosas.";
App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "O <a href=\"import\">importar un canal </a> desde otro lugar.";
@@ -2852,7 +2932,7 @@ App::$strings["Sexual preference"] = "Preferencia sexual";
App::$strings["Profile name"] = "Nombre del perfil";
App::$strings["This is your default profile."] = "Este es su perfil principal.";
App::$strings["Your full name"] = "Nombre completo";
-App::$strings["Short title/tescription"] = "Breve título y descripción";
+App::$strings["Short title/description"] = "Breve título y descripción";
App::$strings["Maximal 190 characters"] = "Máximo de 190 caracteres";
App::$strings["Street address"] = "Dirección";
App::$strings["Locality/City"] = "Ciudad";
@@ -2894,25 +2974,33 @@ App::$strings["Change channel nickname/address"] = "Cambiar el alias o la direcc
App::$strings["Any/all connections on other networks will be lost!"] = "¡Cualquier/todas las conexiones en otras redes se perderán!";
App::$strings["New channel address"] = "Nueva dirección del canal";
App::$strings["Rename Channel"] = "Renombrar el canal";
-App::$strings["Total invitation limit exceeded."] = "Se ha superado el límite máximo de invitaciones.";
-App::$strings["%s : Not a valid email address."] = "%s : No es una dirección de correo electrónico válida. ";
-App::$strings["Please join us on \$Projectname"] = "Únase a nosotros en \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio.";
-App::$strings["%d message sent."] = array(
- 0 => "%d mensajes enviados.",
- 1 => "%d mensajes enviados.",
-);
App::$strings["Invite App"] = "Solicitar una app";
-App::$strings["Send email invitations to join this network"] = "Enviar invitaciones por correo electrónico para unirse a esta red";
+App::$strings["Register is closed"] = "El registro está cerrado";
+App::$strings["Note, the invitation code is valid up to"] = "Tenga en cuenta que el código de invitación es válido hasta ";
+App::$strings["Too many recipients for one invitation (max %d)"] = "Demasiados destinatarios para una invitación (máx %d)";
+App::$strings["No recipients for this invitation"] = "No hay destinatarios para esta invitación";
+App::$strings["(%s) : Not a valid email address"] = "(%s): No es una dirección de correo electrónico válida";
+App::$strings["(%s) : Not a real email address"] = "(%s) : No es una dirección de correo electrónica real";
+App::$strings["(%s) : Not allowed email address"] = "(%s) : Dirección de correo electrónico no permitida";
+App::$strings["(%s) : email address already in use"] = "(%s) : La dirección de correo electrónico ya está en uso";
+App::$strings["(%s) : Accepted email address"] = "(%s) : Dirección de correo electrónico aceptada";
+App::$strings["To %s : Message delivery success."] = "To %s : Entrega exitosa del mensaje.";
+App::$strings["%1\$d mail(s) sent, %2\$d mail error(s)"] = "%1\$d correo(s) enviado, %2\$d error(es) de correo";
+App::$strings["Invites not proposed by configuration"] = "Invitaciones no propuestas por la configuración";
+App::$strings["Contact the site admin"] = "Contactar con el administrador del sitio";
+App::$strings["Invites by users not enabled"] = "Invitaciones de usuarios no habilitadas";
App::$strings["You have no more invitations available"] = "No tiene más invitaciones disponibles";
+App::$strings["Not on xchan"] = "No en xchan";
+App::$strings["All users invitation limit exceeded."] = "Se ha superado el límite de invitaciones a todos los usuarios.";
+App::$strings["Invitation expires after"] = "La invitación expira después de ";
+App::$strings["Invitation"] = "Invitación";
App::$strings["Send invitations"] = "Enviar invitaciones";
+App::$strings["Invitations I am using"] = "Invitaciones que estoy utilizando ";
+App::$strings["Invitations we are using"] = "Invitaciones que usamos ";
+App::$strings["§ Note, the email(s) sent will be recorded in the system logs"] = "§ Nota: el/los correo(s) electrónicos enviados quedarán registrados en los registros del sistema";
App::$strings["Enter email addresses, one per line:"] = "Introduzca las direcciones de correo electrónico, una por línea:";
-App::$strings["Please join my community on \$Projectname."] = "Por favor, únase a mi comunidad en \$Projectname.";
-App::$strings["You will need to supply this invitation code:"] = "Tendrá que suministrar este código de invitación:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Regístrese en cualquier sitio de \$Projectname (están todos interconectados)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Introduzca mi dirección \$Projectname en la caja de búsqueda del sitio.";
-App::$strings["or visit"] = "o visitar";
-App::$strings["3. Click [Connect]"] = "3. Pulse [conectar]";
+App::$strings["Invite template"] = "Plantilla de invitación";
+App::$strings["Here you may enter personal notes to the recipient(s)"] = "Aquí puede introducir notas personales para el/los destinatario(s)";
App::$strings["Notes App"] = "App Notas";
App::$strings["A simple notes app with a widget (note: notes are not encrypted)"] = "Una simple aplicación de notas con un widget (aviso: las notas no están encriptadas)";
App::$strings["Xchan Lookup"] = "Búsqueda de canales";
@@ -2946,7 +3034,6 @@ App::$strings["Anybody authenticated"] = "Cualquiera que esté autenticado";
App::$strings["Anybody on the internet"] = "Cualquiera en internet";
App::$strings["Publish your default profile in the network directory"] = "Publicar su perfil principal en el directorio de la red";
App::$strings["Allow us to suggest you as a potential friend to new members?"] = "¿Nos permite sugerirle como amigo potencial a los nuevos miembros?";
-App::$strings["or"] = "o";
App::$strings["Your channel address is"] = "Su dirección de canal es";
App::$strings["Your files/photos are accessible via WebDAV at"] = "Sus archivos y fotos son accesibles a través de WebDAV en ";
App::$strings["Automatic membership approval"] = "Aprobación automática de nuevos miembros";
@@ -3042,6 +3129,7 @@ App::$strings["Current Password"] = "Contraseña actual";
App::$strings["Enter New Password"] = "Escribir una nueva contraseña";
App::$strings["Confirm New Password"] = "Confirmar la nueva contraseña";
App::$strings["Leave password fields blank unless changing"] = "Dejar en blanco la contraseña a menos que desee cambiarla.";
+App::$strings["DId2 or Email Address:"] = "Did2 o dirección de correo electrónico: ";
App::$strings["Remove this account including all its channels"] = "Eliminar esta cuenta incluyendo todos sus canales";
App::$strings["No feature settings configured"] = "No se ha establecido la configuración de los complementos";
App::$strings["Addon Settings"] = "Ajustes de los complementos";
@@ -3380,6 +3468,7 @@ App::$strings["repeated %s's post"] = "repetida la entrada de %s";
App::$strings["edited a post dated %s"] = "ha editado una entrada %s";
App::$strings["edited a comment dated %s"] = "ha editado un comentario %s";
App::$strings["created an event"] = "se creó un evento";
+App::$strings["verified"] = "verificado";
App::$strings["error saving data"] = "error guardando los datos";
App::$strings["Missing room name"] = "Sala de chat sin nombre";
App::$strings["Duplicate room name"] = "Nombre de sala duplicado.";
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js
index c45c47518..f20c45982 100644
--- a/view/js/autocomplete.js
+++ b/view/js/autocomplete.js
@@ -162,8 +162,8 @@ function string2bb(element) {
if (typeof extra_channels === 'undefined') extra_channels = false;
// Autocomplete contacts
- contacts = {
- match: /(^|\s)(@\!*)([^ \n]{3,})$/,
+ channels = {
+ match: /(^(?=[^\!]{2})|\s)(@)([^ \n]{3,})$/,
index: 3,
cache: true,
search: function(term, callback) { contact_search(term, callback, backend_url, 'c', extra_channels, spinelement=false); },
@@ -171,6 +171,15 @@ function string2bb(element) {
template: contact_format
};
+ contacts = {
+ match: /(^|\s)(@\!)([^ \n]{3,})$/,
+ index: 3,
+ cache: true,
+ search: function(term, callback) { contact_search(term, callback, backend_url, 'm', extra_channels, spinelement=false); },
+ replace: editor_replace,
+ template: contact_format
+ };
+
// Autocomplete hashtags
tags = {
match: /(^|\s)(\#)([^ \n]{2,})$/,
@@ -202,7 +211,7 @@ function string2bb(element) {
maxCount: 100
}
});
- textcomplete.register([contacts,smilies,tags]);
+ textcomplete.register([channels,contacts,smilies,tags]);
});
};
})( jQuery );
diff --git a/view/js/main.js b/view/js/main.js
index 6c418b213..78bd790cd 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -26,13 +26,6 @@ var followUpPageLoad = false;
var window_needs_alert = true;
var expanded_items = [];
-var sse_bs_active = false;
-var sse_offset = 0;
-var sse_type;
-var sse_partial_result = false;
-var sse_rmids = [];
-var sse_fallback_interval;
-
var page_cache = {};
// take care of tab/window reloads on channel change
@@ -78,6 +71,65 @@ $(document).ready(function() {
}
});
+ // @hilmar |->
+ if ( typeof(window.tao) == 'undefined' ) {
+ window.tao = {};
+ }
+ if ( typeof(window.tao.zin) == 'undefined' ) {
+ tao.zin = { syslc: '', syslcs: {}, htm: '', me: '', debug: '' };
+ tao.zin.axim = '<div class="zinpax fa fa-sync fa-spin"> </div>';
+ $('.navbar-app[href*="/lang"]').attr({"data-toggle": "dropdown", "aria-expand": "true", "id": "zintog"})
+ .removeAttr('href').addClass('zinlcx zinlcxp dropdown dropdown-toggle');
+ $('.dropdown-item[href*="/lang"]').addClass('zinlcxmi zinlcx').removeAttr('href').css('cursor','pointer');
+ }
+ $('.zinlcx').on('click', function(e) {
+ if (tao.zin.syslc == '') {
+ $('.zinlcx').append(tao.zin.axim);
+ $.ajax({
+ type: 'POST', url: 'lang',
+ data: { zinlc: '??' }
+ }).done( function(re) {
+ tao.zin.re = JSON.parse(re);
+ tao.zin.syslc = tao.zin.re.lc;
+ tao.zin.syslcs = tao.zin.re.lcs;
+ tao.zin.htm = '<ul class="zinlcs fa-ul">';
+ $.each( tao.zin.syslcs, function( k, v ) {
+ tao.zin.htm += '<li><a id="zinlc' + k + '" class="zinlc dropdown-item fakelink">' + k + ' ' + v + '</a></li>';
+ });
+ tao.zin.htm += '</ul>';
+ $('.zinpax').remove();
+ $('.zinlcx').append(tao.zin.htm);
+ $('.zinlcxp > ul').addClass('dropdown dropdown-menu dropdown-menu-right').css('left','-16em');
+ });
+ return false;
+ } else {
+ if (e.target.id == '') {
+ // noop click on lang again
+ return false;
+ }
+ tao.zin.me = e.target.id.substr(5);
+ $('#right_aside_wrapper').append(tao.zin.axim);
+ $.ajax({
+ type: 'POST', url: 'lang',
+ data: { zinlc: tao.zin.me }
+ }).done( function(re) {
+ tao.zin.re = JSON.parse(re);
+ location.reload(true);
+ });
+ }
+ });
+ $('#zintog').on('click', function() {
+ $('.zinlcs').toggle();
+ });
+ $('#dropdown-menu').on('shown.bs.dropdown', function() {
+ tao.zin.debug += 'e,';
+ //$('.zinlcs').removeAttr('display');
+ })
+ .on('mouseleave', function() {
+ $(this).trigger('click');
+ });
+ // @hilmar <-|
+
var tf = new Function('n', 's', 'var k = s.split("/")['+aStr['plural_func']+']; return (k ? k : s);');
jQuery.timeago.settings.strings = {
@@ -102,110 +154,63 @@ $(document).ready(function() {
jQuery.timeago.settings.allowFuture = true;
- if(sse_enabled) {
- if(typeof(window.SharedWorker) === 'undefined') {
- // notifications with multiple tabs open will not work very well in this scenario
- var evtSource = new EventSource('/sse');
+ $(document).on('click', '.notification, .message', function(e) {
+ let b64mid = $(this).data('b64mid');
+ let notify_id = $(this).data('notify_id');
+ let path = $(this)[0].pathname.split('/')[1];
+ let stateObj = { b64mid: b64mid };
+ let singlethread_modules = ['display', 'hq', 'dm'];
+ let redirect_modules = ['display', 'notify'];
- evtSource.addEventListener('notifications', function(e) {
- var obj = JSON.parse(e.data);
- sse_handleNotifications(obj, false, false);
- }, false);
-
- document.addEventListener('visibilitychange', function() {
- if (!document.hidden) {
- sse_offset = 0;
- sse_bs_init();
- }
- }, false);
+ if(! b64mid && ! notify_id)
+ return;
+ if(redirect_modules.indexOf(path) !== -1) {
+ path = 'hq';
}
- else {
- var myWorker = new SharedWorker('/view/js/sse_worker.js', localUser);
-
- myWorker.port.onmessage = function(e) {
- obj = e.data;
- console.log(obj);
- sse_handleNotifications(obj, false, false);
- }
- myWorker.onerror = function(e) {
- myWorker.port.close();
- }
+ if(notify_id != null) {
+ $.ajax({
+ type: 'post',
+ url: 'notify',
+ data: {
+ 'notify_id' : notify_id
+ },
+ async: ((module !== path) ? false : true)
+ });
+ }
- myWorker.port.start();
+ if (module !== path) {
+ e.preventDefault();
+ window.location.href = path + '/' + b64mid;
}
- }
- else {
- if (!document.hidden)
- sse_fallback_interval = setInterval(sse_fallback, updateInterval);
+ else {
- document.addEventListener('visibilitychange', function() {
- if (document.hidden) {
- clearInterval(sse_fallback_interval);
- }
- else {
- sse_offset = 0;
- sse_bs_init();
- sse_fallback_interval = setInterval(sse_fallback, updateInterval);
+ if (singlethread_modules.indexOf(module) !== -1) {
+ history.pushState(stateObj, '', module + '/' + b64mid);
+ $('.message').removeClass('active');
+ $('[data-b64mid="' + b64mid + '"].message').addClass('active');
}
- }, false);
- }
-
- $('.notification-link').on('click', { replace: true, followup: false }, sse_bs_notifications);
+ if (b64mid) {
- $('.notification-filter').on('keypress', function(e) {
- if(e.which == 13) { // enter
- this.blur();
- sse_offset = 0;
- $("#nav-" + sse_type + "-menu").html('');
- $("#nav-" + sse_type + "-loading").show();
+ e.preventDefault();
- var cn_val = $('#cn-' + sse_type + '-input').length ? $('#cn-' + sse_type + '-input').val().toString().toLowerCase() : '';
-
- $.get('/sse_bs/' + sse_type + '/' + sse_offset + '?nquery=' + encodeURIComponent(cn_val), function(obj) {
- console.log('sse: bootstraping ' + sse_type);
- console.log(obj);
-
- sse_bs_active = false;
- sse_partial_result = true;
- sse_offset = obj[sse_type].offset;
- if(sse_offset < 0)
- $("#nav-" + sse_type + "-loading").hide();
-
- sse_handleNotifications(obj, true, false);
-
- });
+ if(! page_load) {
+ prepareLiveUpdate(b64mid, notify_id);
+ }
+ }
}
});
- $('.notifications-textinput-clear').on('click', function(e) {
- if(! sse_partial_result)
- return;
-
- $("#nav-" + sse_type + "-menu").html('');
- $("#nav-" + sse_type + "-loading").show();
- $.get('/sse_bs/' + sse_type, function(obj) {
- console.log('sse: bootstraping ' + sse_type);
- console.log(obj);
-
- sse_bs_active = false;
- sse_partial_result = false;
- sse_offset = obj[sse_type].offset;
- if(sse_offset < 0)
- $("#nav-" + sse_type + "-loading").hide();
-
- sse_handleNotifications(obj, true, false);
-
- });
- });
-
- $('.notification-content').on('scroll', function() {
- if(this.scrollTop > this.scrollHeight - this.clientHeight - (this.scrollHeight/7)) {
- sse_bs_notifications(sse_type, false, true);
+ window.onpopstate = function(e) {
+ if(e.state !== null && e.state.b64mid !== bParam_mid) {
+ prepareLiveUpdate(e.state.b64mid, '');
+ $('.message').removeClass('active');
+ $('[data-b64mid="' + e.state.b64mid + '"].message').addClass('active');
}
- });
+
+ };
//mod_mail only
$(".mail-conv-detail .autotime").timeago();
@@ -537,7 +542,7 @@ function closeMenu(theID) {
}
function markRead(notifType) {
- $.get('ping?f=&markRead='+notifType);
+ $.get('notifications?f=&markRead='+notifType);
$('.' + notifType + '-button').fadeOut(function() {
$("." + notifType + "-update").html('0');
$('#nav-' + notifType + '-menu').html('');
@@ -548,7 +553,7 @@ function markRead(notifType) {
}
function markItemRead(itemId) {
- $.get('ping?f=&markItemRead='+itemId);
+ $.get('notifications?f=&markItemRead='+itemId);
$('.unseen-wall-indicator-'+itemId).remove();
}
@@ -908,6 +913,20 @@ function updateInit() {
}
}
+function prepareLiveUpdate(b64mid, notify_id) {
+ $(document).scrollTop(0);
+ $('.thread-wrapper').remove();
+ bParam_mid = b64mid;
+ mode = 'replace';
+ page_load = true;
+ if (module == 'hq') {
+ liveUpdate(notify_id);
+ }
+ if (module == 'display'|| module == 'dm') {
+ liveUpdate();
+ }
+}
+
function liveUpdate(notify_id) {
if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */
@@ -993,7 +1012,7 @@ function liveUpdate(notify_id) {
if(typeof notify_id !== 'undefined' && notify_id !== 'undefined') {
$.post(
- "hq",
+ "notify",
{
"notify_id" : notify_id
}
@@ -1446,24 +1465,6 @@ function preview_post() {
return true;
}
-function preview_mail() {
- $("#mail-preview").val("1");
- $("#mail-preview-content").show();
- $.post(
- "mail",
- $("#prvmail-form").serialize(),
- function(data) {
- if(data.preview) {
- $("#mail-preview-content").html(data.preview);
- $("#mail-preview-content" + " a").click(function() { return false; });
- }
- },
- "json"
- );
- $("#mail-preview").val("0");
- return true;
-}
-
function bin2hex(s) {
// Converts the binary representation of data to hex
//
@@ -1719,288 +1720,6 @@ function zid(s) {
return s;
}
-function sse_bs_init() {
- if(sessionStorage.getItem('notification_open') !== null || typeof sse_type !== 'undefined' ) {
- if(typeof sse_type === 'undefined')
- sse_type = sessionStorage.getItem('notification_open');
-
- $("#nav-" + sse_type + "-sub").addClass('show');
- sse_bs_notifications(sse_type, true, false);
- }
- else {
- sse_bs_counts();
- }
-}
-
-function sse_bs_counts() {
- if(sse_bs_active)
- return;
-
- sse_bs_active = true;
-
- $.ajax({
- type: 'post',
- url: '/sse_bs',
- data: { sse_rmids }
- }).done( function(obj) {
- console.log(obj);
- sse_bs_active = false;
- sse_rmids = [];
- sse_handleNotifications(obj, true, false);
- });
-}
-
-function sse_bs_notifications(e, replace, followup) {
-
- if(sse_bs_active)
- return;
-
-
- var manual = false;
-
- if(typeof replace === 'undefined')
- replace = e.data.replace;
-
- if(typeof followup === 'undefined')
- followup = e.data.followup;
-
- if(typeof e === 'string') {
- sse_type = e;
- }
- else {
- manual = true;
- sse_offset = 0;
- sse_type = e.target.dataset.sse_type;
- }
-
- if(typeof sse_type === 'undefined')
- return;
-
- if(followup || !manual || !($('#nav-' + sse_type + '-sub').hasClass('collapse') && $('#nav-' + sse_type + '-sub').hasClass('show'))) {
-
- if(sse_offset >= 0) {
- $("#nav-" + sse_type + "-loading").show();
- }
-
- sessionStorage.setItem('notification_open', sse_type);
- if(sse_offset !== -1 || replace) {
-
- var cn_val = (($('#cn-' + sse_type + '-input').length && sse_partial_result) ? $('#cn-' + sse_type + '-input').val().toString().toLowerCase() : '');
-
- $("#nav-" + sse_type + "-loading").show();
-
- sse_bs_active = true;
-
- $.ajax({
- type: 'post',
- url: '/sse_bs/' + sse_type + '/' + sse_offset,
- nquery: encodeURIComponent(cn_val),
- data: { sse_rmids }
- }).done(function(obj) {
- console.log('sse: bootstraping ' + sse_type);
- console.log(obj);
- sse_bs_active = false;
- sse_rmids = [];
- $("#nav-" + sse_type + "-loading").hide();
- sse_offset = obj[sse_type].offset;
- sse_handleNotifications(obj, replace, followup);
- });
- }
- else
- $("#nav-" + sse_type + "-loading").hide();
-
- }
- else {
- sessionStorage.removeItem('notification_open');
- }
-}
-
-function sse_handleNotifications(obj, replace, followup) {
-
- var primary_notifications = ['dm', 'home', 'intros', 'register', 'mail', 'notify', 'files'];
- var secondary_notifications = ['network', 'forums', 'all_events', 'pubs'];
- var all_notifications = primary_notifications.concat(secondary_notifications);
-
- all_notifications.forEach(function(type, index) {
- if(typeof obj[type] === typeof undefined)
- return true;
-
- if(obj[type].count) {
- $('.' + type + '-button').fadeIn();
- if(replace || followup)
- $('.' + type + '-update').html(Number(obj[type].count));
- else
- $('.' + type + '-update').html(Number(obj[type].count) + Number($('.' + type + '-update').html()));
- }
- else {
- $('.' + type + '-update').html('0');
- $('.' + type + '-button').fadeOut(function() {
- sse_setNotificationsStatus();
- });
- }
- if(obj[type].notifications.length)
- sse_handleNotificationsItems(type, obj[type].notifications, replace, followup);
- });
-
- sse_setNotificationsStatus();
-
- // notice and info
- $.jGrowl.defaults.closerTemplate = '<div>[ ' + aStr.closeAll + ']</div>';
-
- if(obj.notice) {
- $(obj.notice.notifications).each(function() {
- $.jGrowl(this, { sticky: true, theme: 'notice' });
- });
- }
-
- if(obj.info) {
- $(obj.info.notifications).each(function(){
- $.jGrowl(this, { sticky: false, theme: 'info', life: 10000 });
- });
- }
-
- // load more notifications if visible notifications count becomes low
- if(sse_type && sse_offset != -1 && $('#nav-' + sse_type + '-menu').children().length <= 20) {
- sse_offset = 0;
- sse_bs_notifications(sse_type, false, true);
- }
-
-
-}
-
-function sse_handleNotificationsItems(notifyType, data, replace, followup) {
-
- var notifications_tpl = ((notifyType == 'forums') ? decodeURIComponent($("#nav-notifications-forums-template[rel=template]").html().replace('data-src', 'src')) : decodeURIComponent($("#nav-notifications-template[rel=template]").html().replace('data-src', 'src')));
- var notify_menu = $("#nav-" + notifyType + "-menu");
- var notify_loading = $("#nav-" + notifyType + "-loading");
- var notify_count = $("." + notifyType + "-update");
-
- if(replace && !followup) {
- notify_menu.html('');
- notify_loading.hide();
- }
-
- $(data).each(function() {
-
- // do not add a notification if it is already present
- if($('#nav-' + notifyType + '-menu .notification[data-b64mid=\'' + this.b64mid + '\']').length)
- return true;
-
- html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.addr,this.message,this.when,this.hclass,this.b64mid,this.notify_id,this.thread_top,this.unseen,this.private_forum, encodeURIComponent(this.mids), this.body);
- notify_menu.append(html);
- });
-
- if(!replace && !followup) {
- $("#nav-" + notifyType + "-menu .notification").sort(function(a,b) {
- a = new Date(a.dataset.when);
- b = new Date(b.dataset.when);
- return a > b ? -1 : a < b ? 1 : 0;
- }).appendTo('#nav-' + notifyType + '-menu');
- }
-
- $(document.body).trigger("sticky_kit:recalc");
- $("#nav-" + notifyType + "-menu .notifications-autotime").timeago();
-
- if($('#tt-' + notifyType + '-only').hasClass('active'))
- $('#nav-' + notifyType + '-menu [data-thread_top=false]').addClass('tt-filter-active');
-
- if($('#cn-' + notifyType + '-input').length) {
- var filter = $('#cn-' + notifyType + '-input').val().toString().toLowerCase();
- if(filter) {
- filter = filter.indexOf('%') == 0 ? filter.substring(1) : filter;
-
- $('#nav-' + notifyType + '-menu .notification').each(function(i, el) {
- var cn = $(el).data('contact_name').toString().toLowerCase();
- var ca = $(el).data('contact_addr').toString().toLowerCase();
- if(cn.indexOf(filter) === -1 && ca.indexOf(filter) === -1)
- $(el).addClass('cn-filter-active');
- else
- $(el).removeClass('cn-filter-active');
- });
- }
- }
-}
-
-function sse_updateNotifications(type, mid) {
-
- if(type === 'pubs')
- return true;
-
- if(type === 'notify' && (mid !== bParam_mid || sse_type !== 'notify'))
- return true;
-/*
- var count = Number($('.' + type + '-update').html());
-
- count--;
-
- if(count < 1) {
- $('.' + type + '-update').html(count);
- $('.' + type + '-button').fadeOut(function() {
- sse_setNotificationsStatus();
- });
- }
- else {
- $('.' + type + '-update').html(count);
- }
-*/
-
- $('#nav-' + type + '-menu .notification[data-b64mid=\'' + mid + '\']').fadeOut(function() {
- this.remove();
- });
-
-}
-
-function sse_setNotificationsStatus() {
- var primary_notifications = ['dm', 'home', 'intros', 'register', 'mail', 'notify', 'files'];
- var secondary_notifications = ['network', 'forums', 'all_events', 'pubs'];
- var all_notifications = primary_notifications.concat(secondary_notifications);
-
- var primary_available = false;
- var any_available = false;
-
- all_notifications.forEach(function(type, index) {
- if($('.' + type + '-button').css('display') == 'block') {
- any_available = true;
- if(primary_notifications.indexOf(type) > -1)
- primary_available = true;
- }
- });
-
- if(primary_available) {
- $('.notifications-btn-icon').removeClass('fa-exclamation-circle');
- $('.notifications-btn-icon').addClass('fa-exclamation-triangle');
- }
- else {
- $('.notifications-btn-icon').removeClass('fa-exclamation-triangle');
- $('.notifications-btn-icon').addClass('fa-exclamation-circle');
- }
-
- if(any_available) {
- $('.notifications-btn').css('opacity', 1);
- $('#no_notifications').hide();
- $('#notifications').show();
- }
- else {
- $('.notifications-btn').css('opacity', 0.5);
- $('#navbar-collapse-1').removeClass('show');
- $('#no_notifications').show();
- $('#notifications').hide();
- }
-
-}
-
-function sse_fallback() {
- $.get('/sse', function(obj) {
- if(! obj)
- return;
-
- console.log('sse fallback');
- console.log(obj);
-
- sse_handleNotifications(obj, false, false);
- });
-}
-
function makeid(length) {
var result = '';
var characters = 'abcdef0123456789';
@@ -2010,3 +1729,4 @@ function makeid(length) {
}
return result;
}
+
diff --git a/view/js/mod_hq.js b/view/js/mod_hq.js
index b321382bd..0a3939913 100644
--- a/view/js/mod_hq.js
+++ b/view/js/mod_hq.js
@@ -1,10 +1,13 @@
-$(document).on('click', '#jot-toggle', function(e) {
- e.preventDefault();
- e.stopPropagation();
+$(document).ready(function() {
- $(this).toggleClass('active');
- $(window).scrollTop(0);
- $('#jot-popup').toggle();
- $('#profile-jot-text').focus();
+ $(document).on('click', '#jot-toggle', function(e) {
+ $(window).scrollTop(0);
+ $('#jot-popup').toggle();
+ });
+
+ $(document).on('click', '#notes-toggle', function(e) {
+ $(window).scrollTop(0);
+ $('#personal-notes').toggleClass('d-none');
+ });
});
diff --git a/view/js/mod_mail.js b/view/js/mod_mail.js
deleted file mode 100644
index 917e5414c..000000000
--- a/view/js/mod_mail.js
+++ /dev/null
@@ -1,7 +0,0 @@
-$(document).ready(function() {
- $("#recip").name_autocomplete(baseurl + '/acl', 'm', false, function(data) {
- $("#recip-complete").val(data.xid);
- });
- $('#prvmail-text').bbco_autocomplete('bbcode');
- $("#prvmail-text").editor_autocomplete(baseurl+"/acl");
-});
diff --git a/view/js/mod_register.js b/view/js/mod_register.js
index 1fc5ad2fa..f54dd2570 100644
--- a/view/js/mod_register.js
+++ b/view/js/mod_register.js
@@ -3,7 +3,7 @@ $(document).ready(function() {
typeof(window.tao) == 'undefined' ? window.tao = {} : '';
tao.zar = { vsn: '2.0.0', form: {}, msg: {} };
tao.zar.patano = /^d[0-9]{5,10}$/;
- tao.zar.patema = /^[a-z0-9.-]{1,64}@[a-z0-9.-]{2,32}\.[a-z]{2,12}$/;
+ tao.zar.patema = /^[^@\s]{1,64}@[a-z0-9.-]{2,32}\.[a-z]{2,12}$/;
$('.register_date').each( function () {
var date = new Date($(this).data('utc'));
diff --git a/view/pdl/mod_hq.pdl b/view/pdl/mod_hq.pdl
index 1bcdb2c65..ff44b2df9 100644
--- a/view/pdl/mod_hq.pdl
+++ b/view/pdl/mod_hq.pdl
@@ -1,5 +1,18 @@
[region=aside]
-[widget=hq_controls][/widget]
+[widget=messages][/widget]
+[widget=hq_controls]
+ [var=class]d-none d-lg-block[/var]
+[/widget]
+[/region]
+[region=content]
+[widget=notes]
+ [var=hidden]1[/var]
+ [var=app]1[/var]
+[/widget]
+$content
+[widget=hq_controls]
+ [var=class]hq_controls_fixed_bottom_center d-lg-none[/var]
+[/widget]
[/region]
[region=right_aside]
[widget=notifications][/widget]
diff --git a/view/pl/hmessages.mo b/view/pl/hmessages.mo
index 64db4c71c..4dc55fd42 100644
--- a/view/pl/hmessages.mo
+++ b/view/pl/hmessages.mo
Binary files differ
diff --git a/view/pl/hmessages.po b/view/pl/hmessages.po
index 0fb80a1c6..f9100f023 100644
--- a/view/pl/hmessages.po
+++ b/view/pl/hmessages.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: 5.7\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-23 21:08+0200\n"
-"PO-Revision-Date: 2021-05-31 13:29+0200\n"
+"POT-Creation-Date: 2021-06-12 02:13+0200\n"
+"PO-Revision-Date: 2021-06-13 02:21+0200\n"
"Last-Translator: Andrzej Budziński <astabski@gmail.com>\n"
"Language-Team: \n"
"Language: pl\n"
@@ -72,13 +72,13 @@ 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 lubić/nie lubić profile i rzeczy w profilach"
+msgstr "Może pochwalać/ganić 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 wpisach"
+"Może przekazywać informacje do wszystkich moich połączeń kanałowych za "
+"pośrednictwem !wzmianki w wpisach"
#: ../../Zotlabs/Access/Permissions.php:71
msgid "Can chat with me"
@@ -152,12 +152,13 @@ msgstr "Specjalne - celebryckie i mównice"
msgid "Special - Group Repository"
msgstr "Specjalne - repozytorium grupowe"
-#: ../../Zotlabs/Access/PermissionRoles.php:310 ../../Zotlabs/Module/Cdav.php:1385
-#: ../../Zotlabs/Module/Profiles.php:797 ../../Zotlabs/Module/Connedit.php:928
-#: ../../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
+#: ../../Zotlabs/Access/PermissionRoles.php:310
+#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:796
+#: ../../Zotlabs/Module/Connedit.php:920 ../../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"
@@ -165,62 +166,72 @@ msgstr "Inny"
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:242 ../../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/Authtest.php:13 ../../Zotlabs/Module/Pdledit.php:35
+#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Bookmarks.php:70
+#: ../../Zotlabs/Module/Webpages.php:133 ../../Zotlabs/Module/Profiles.php:200
+#: ../../Zotlabs/Module/Profiles.php:636 ../../Zotlabs/Module/Like.php:242
+#: ../../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/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:284 ../../Zotlabs/Module/Wiki.php:427
#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
-#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:397
-#: ../../Zotlabs/Module/Profile_photo.php:338 ../../Zotlabs/Module/Profile_photo.php:351
-#: ../../Zotlabs/Module/Sharedwithme.php:19 ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Locs.php:98 ../../Zotlabs/Module/Connedit.php:394
+#: ../../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:506 ../../Zotlabs/Module/Item.php:525
-#: ../../Zotlabs/Module/Item.php:535 ../../Zotlabs/Module/Item.php:1444
-#: ../../Zotlabs/Module/Rate.php:115 ../../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:420
-#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:209
-#: ../../Zotlabs/Module/Channel.php:365 ../../Zotlabs/Module/Channel.php:404
-#: ../../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:99 ../../Zotlabs/Module/Profile.php:114
+#: ../../Zotlabs/Module/Item.php:535 ../../Zotlabs/Module/Item.php:1446
+#: ../../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:420 ../../Zotlabs/Module/Photos.php:71
+#: ../../Zotlabs/Module/Channel.php:222 ../../Zotlabs/Module/Channel.php:378
+#: ../../Zotlabs/Module/Channel.php:417 ../../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:99
+#: ../../Zotlabs/Module/Profile.php:114
#: ../../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:208
-#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126
-#: ../../Zotlabs/Module/Register.php:200 ../../Zotlabs/Module/Channel_calendar.php:232
+#: ../../Zotlabs/Module/Suggest.php:32 ../../Zotlabs/Module/Articles.php:89
+#: ../../Zotlabs/Module/Setup.php:208 ../../Zotlabs/Module/Mitem.php:129
+#: ../../Zotlabs/Module/Mood.php:126 ../../Zotlabs/Module/Register.php:200
+#: ../../Zotlabs/Module/Channel_calendar.php:232
#: ../../Zotlabs/Module/Invite.php:51 ../../Zotlabs/Module/Invite.php:302
-#: ../../Zotlabs/Module/Service_limits.php:11 ../../Zotlabs/Module/Cover_photo.php:341
+#: ../../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:4088
+#: ../../Zotlabs/Module/Attach_edit.php:90
+#: ../../Zotlabs/Module/Attach_edit.php:99
+#: ../../Zotlabs/Module/Attach_edit.php:106
+#: ../../Zotlabs/Module/Settings.php:58 ../../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:3744
#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:53
#: ../../extend/addon/hubzilla-addons/keepout/keepout.php:36
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:26
@@ -244,11 +255,11 @@ msgstr "Aplikacja Edytor PDL"
#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:62
#: ../../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/Notes.php:56 ../../Zotlabs/Module/Tokens.php:99
#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134
-#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:19
-#: ../../Zotlabs/Module/Invite.php:56 ../../Zotlabs/Module/Invite.php:310
-#: ../../Zotlabs/Module/Lang.php:17 ../../Zotlabs/Module/Sources.php:88
+#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Invite.php:56
+#: ../../Zotlabs/Module/Invite.php:310 ../../Zotlabs/Module/Lang.php:20
+#: ../../Zotlabs/Module/Lang.php:63 ../../Zotlabs/Module/Sources.php:88
#: ../../Zotlabs/Module/Poke.php:165
#: ../../extend/addon/hubzilla-addons/gnusoc/Mod_Gnusoc.php:22
#: ../../extend/addon/hubzilla-addons/skeleton/Mod_Skeleton.php:32
@@ -320,27 +331,32 @@ msgstr "Edytuj inny układ"
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:647
-#: ../../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:214
-#: ../../Zotlabs/Module/Locs.php:132 ../../Zotlabs/Module/Connedit.php:897
-#: ../../Zotlabs/Module/Regate.php:387 ../../Zotlabs/Module/Rate.php:168
+#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Profiles.php:724
+#: ../../Zotlabs/Module/Import.php:582 ../../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:214 ../../Zotlabs/Module/Locs.php:130
+#: ../../Zotlabs/Module/Connedit.php:889 ../../Zotlabs/Module/Regate.php:387
#: ../../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/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1214
#: ../../Zotlabs/Module/Editpost.php:86 ../../Zotlabs/Module/Affinity.php:87
-#: ../../Zotlabs/Module/Pconfig.php:116 ../../Zotlabs/Module/Admin/Themes.php:158
+#: ../../Zotlabs/Module/Pconfig.php:116
+#: ../../Zotlabs/Module/Admin/Themes.php:158
#: ../../Zotlabs/Module/Admin/Security.php:120
-#: ../../Zotlabs/Module/Admin/Accounts.php:309 ../../Zotlabs/Module/Admin/Features.php:66
-#: ../../Zotlabs/Module/Admin/Channels.php:147 ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Accounts.php:309
+#: ../../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:412
+#: ../../Zotlabs/Module/Admin/Addons.php:442
+#: ../../Zotlabs/Module/Admin/Site.php:412
#: ../../Zotlabs/Module/Admin/Profs.php:178 ../../Zotlabs/Module/Thing.php:328
-#: ../../Zotlabs/Module/Thing.php:381 ../../Zotlabs/Module/Email_validation.php:40
+#: ../../Zotlabs/Module/Thing.php:381
+#: ../../Zotlabs/Module/Email_validation.php:40
#: ../../Zotlabs/Module/Tokens.php:188 ../../Zotlabs/Module/Setup.php:306
#: ../../Zotlabs/Module/Setup.php:346 ../../Zotlabs/Module/Mitem.php:259
#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Permcats.php:129
@@ -358,12 +374,14 @@ msgstr "Układ systemowy"
#: ../../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:550
-#: ../../Zotlabs/Module/Sources.php:125 ../../Zotlabs/Module/Sources.php:162
-#: ../../Zotlabs/Module/Poke.php:217 ../../Zotlabs/Storage/Browser.php:382
-#: ../../Zotlabs/Lib/ThreadItem.php:827 ../../Zotlabs/Widget/Wiki_pages.php:42
-#: ../../Zotlabs/Widget/Wiki_pages.php:99 ../../Zotlabs/Widget/Eventstools.php:16
-#: ../../include/js_strings.php:22 ../../extend/addon/hubzilla-addons/irc/irc.php:45
+#: ../../Zotlabs/Module/Settings/Conversation.php:49
+#: ../../Zotlabs/Module/Invite.php:550 ../../Zotlabs/Module/Sources.php:125
+#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Module/Poke.php:217
+#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Lib/ThreadItem.php:827
+#: ../../Zotlabs/Widget/Wiki_pages.php:42
+#: ../../Zotlabs/Widget/Wiki_pages.php:99
+#: ../../Zotlabs/Widget/Eventstools.php:16 ../../include/js_strings.php:22
+#: ../../extend/addon/hubzilla-addons/irc/irc.php:45
#: ../../extend/addon/hubzilla-addons/hubwall/hubwall.php:95
#: ../../extend/addon/hubzilla-addons/likebanner/likebanner.php:57
#: ../../extend/addon/hubzilla-addons/piwik/piwik.php:95
@@ -440,9 +458,10 @@ 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:342 ../../Zotlabs/Module/Group.php:99
-#: ../../Zotlabs/Module/Import_items.php:120 ../../Zotlabs/Module/Subthread.php:89
-#: ../../Zotlabs/Module/Share.php:72 ../../Zotlabs/Web/WebServer.php:115
-#: ../../include/items.php:441 ../../extend/addon/hubzilla-addons/hzfiles/hzfiles.php:75
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Subthread.php:89 ../../Zotlabs/Module/Share.php:72
+#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:440
+#: ../../extend/addon/hubzilla-addons/hzfiles/hzfiles.php:75
#: ../../extend/addon/hubzilla-addons/redphotos/redphotos.php:119
#: ../../extend/addon/hubzilla-addons/redfiles/redfiles.php:109
msgid "Permission denied"
@@ -452,65 +471,65 @@ msgstr "Dostęp zabroniony"
msgid "Invalid message"
msgstr "Nieprawidłowa wiadomość"
-#: ../../Zotlabs/Module/Dreport.php:93
+#: ../../Zotlabs/Module/Dreport.php:92
msgid "no results"
msgstr "brak wyników"
-#: ../../Zotlabs/Module/Dreport.php:107
+#: ../../Zotlabs/Module/Dreport.php:106
msgid "channel sync processed"
msgstr "synchronizacja kanałów została przetworzona"
-#: ../../Zotlabs/Module/Dreport.php:111
+#: ../../Zotlabs/Module/Dreport.php:110
msgid "queued"
msgstr "w kolejce"
-#: ../../Zotlabs/Module/Dreport.php:115
+#: ../../Zotlabs/Module/Dreport.php:114
msgid "posted"
msgstr "opublikowane"
-#: ../../Zotlabs/Module/Dreport.php:119
+#: ../../Zotlabs/Module/Dreport.php:118
msgid "accepted for delivery"
msgstr "przyjęty do dostawy"
-#: ../../Zotlabs/Module/Dreport.php:123
+#: ../../Zotlabs/Module/Dreport.php:122
msgid "updated"
msgstr "zaktualizowany"
-#: ../../Zotlabs/Module/Dreport.php:126
+#: ../../Zotlabs/Module/Dreport.php:125
msgid "update ignored"
msgstr "aktualizacja zignorowana"
-#: ../../Zotlabs/Module/Dreport.php:129
+#: ../../Zotlabs/Module/Dreport.php:128
msgid "permission denied"
msgstr "dostęp zabroniony"
-#: ../../Zotlabs/Module/Dreport.php:133
+#: ../../Zotlabs/Module/Dreport.php:132
msgid "recipient not found"
msgstr "nie znaleziono odbiorcy"
-#: ../../Zotlabs/Module/Dreport.php:136
+#: ../../Zotlabs/Module/Dreport.php:135
msgid "mail recalled"
msgstr "mail odwołany"
-#: ../../Zotlabs/Module/Dreport.php:139
+#: ../../Zotlabs/Module/Dreport.php:138
msgid "duplicate mail received"
msgstr "otrzymano powieloną wiadomość"
-#: ../../Zotlabs/Module/Dreport.php:142
+#: ../../Zotlabs/Module/Dreport.php:141
msgid "mail delivered"
msgstr "dostarczono pocztę"
-#: ../../Zotlabs/Module/Dreport.php:162
+#: ../../Zotlabs/Module/Dreport.php:161
#, 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/Module/Dreport.php:165 ../../Zotlabs/Widget/Wiki_pages.php:41
#: ../../Zotlabs/Widget/Wiki_pages.php:98
msgid "Options"
msgstr "Opcje"
-#: ../../Zotlabs/Module/Dreport.php:167
+#: ../../Zotlabs/Module/Dreport.php:166
msgid "Redeliver"
msgstr "Dostarcz ponownie"
@@ -523,7 +542,7 @@ msgid "Profile Visibility Editor"
msgstr "Edytor widoczności profilu"
#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362
-#: ../../include/channel.php:1914
+#: ../../include/channel.php:1834
msgid "Profile"
msgstr "Profil"
@@ -535,7 +554,8 @@ msgstr "Kliknij kontakt, który chcesz dodać lub usunąć."
msgid "Visible To"
msgstr "Widoczne dla"
-#: ../../Zotlabs/Module/Profperm.php:140 ../../Zotlabs/Module/Connections.php:218
+#: ../../Zotlabs/Module/Profperm.php:140
+#: ../../Zotlabs/Module/Connections.php:218
msgid "All Connections"
msgstr "Wszystkie połączenia"
@@ -564,15 +584,16 @@ msgstr "Czy zezwalasz aplikacji %s na dostęp do danych Twojego kanału?"
msgid "Allow"
msgstr "Zezwól"
-#: ../../Zotlabs/Module/Authorize.php:33 ../../Zotlabs/Module/Admin/Accounts.php:319
+#: ../../Zotlabs/Module/Authorize.php:33
+#: ../../Zotlabs/Module/Admin/Accounts.php:319
msgid "Deny"
msgstr "Zabroń"
-#: ../../Zotlabs/Module/Cdav.php:819 ../../Zotlabs/Module/Events.php:28
+#: ../../Zotlabs/Module/Cdav.php:819
msgid "Calendar entries imported."
msgstr "Zaimportowano wpisy kalendarza."
-#: ../../Zotlabs/Module/Cdav.php:821 ../../Zotlabs/Module/Events.php:30
+#: ../../Zotlabs/Module/Cdav.php:821
msgid "No calendar entries found."
msgstr "Nie znaleziono wpisów kalendarza."
@@ -589,11 +610,11 @@ msgstr "Książka adresowa z obsługą CalDAV"
msgid "Link to source"
msgstr "Link do źródła"
-#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:468
+#: ../../Zotlabs/Module/Cdav.php:1010
msgid "Event title"
msgstr "Tytuł wydarzenia"
-#: ../../Zotlabs/Module/Cdav.php:1011 ../../Zotlabs/Module/Events.php:474
+#: ../../Zotlabs/Module/Cdav.php:1011
msgid "Start date and time"
msgstr "Data i godzina rozpoczęcia"
@@ -601,51 +622,47 @@ msgstr "Data i godzina rozpoczęcia"
msgid "End date and time"
msgstr "Data i godzina zakończenia"
-#: ../../Zotlabs/Module/Cdav.php:1013 ../../Zotlabs/Module/Events.php:497
+#: ../../Zotlabs/Module/Cdav.php:1013
msgid "Timezone:"
msgstr "Strefa czasowa:"
-#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:481
-#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Appman.php:145
+#: ../../Zotlabs/Module/Rbmark.php:100
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:173
#: ../../extend/addon/hubzilla-addons/cart/submodules/hzservices.php:655
#: ../../extend/addon/hubzilla-addons/cart/submodules/manualcat.php:260
msgid "Description"
msgstr "Opis"
-#: ../../Zotlabs/Module/Cdav.php:1016 ../../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
+#: ../../Zotlabs/Module/Cdav.php:1016 ../../Zotlabs/Module/Profiles.php:511
+#: ../../Zotlabs/Module/Profiles.php:735 ../../Zotlabs/Module/Locs.php:126
+#: ../../Zotlabs/Module/Pubsites.php:52 ../../include/js_strings.php:25
msgid "Location"
msgstr "Lokalizacja"
-#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:697
-#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947
+#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Photos.php:947
#: ../../Zotlabs/Module/Cal.php:203
msgid "Previous"
msgstr "Poprzedni"
-#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:698
-#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956
+#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Photos.php:956
#: ../../Zotlabs/Module/Cal.php:204 ../../Zotlabs/Module/Setup.php:262
msgid "Next"
msgstr "Następny"
-#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:708
-#: ../../Zotlabs/Module/Cal.php:205
+#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Cal.php:205
msgid "Today"
msgstr "Dzisiaj"
-#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:703
+#: ../../Zotlabs/Module/Cdav.php:1039
msgid "Month"
msgstr "Miesiąc"
-#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:704
+#: ../../Zotlabs/Module/Cdav.php:1040
msgid "Week"
msgstr "Tydzień"
-#: ../../Zotlabs/Module/Cdav.php:1041 ../../Zotlabs/Module/Events.php:705
+#: ../../Zotlabs/Module/Cdav.php:1041
msgid "Day"
msgstr "Dzień"
@@ -670,9 +687,9 @@ msgid "Less"
msgstr "Mniej"
#: ../../Zotlabs/Module/Cdav.php:1054 ../../Zotlabs/Module/Cdav.php:1389
-#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53
+#: ../../Zotlabs/Module/Profiles.php:800 ../../Zotlabs/Module/Oauth.php:53
#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58
-#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:932
+#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:924
#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536
msgid "Update"
msgstr "Zaktualizuj"
@@ -691,18 +708,21 @@ msgid "CalDAV Calendars"
msgstr "Kalendarze CalDAV"
#: ../../Zotlabs/Module/Cdav.php:1057 ../../Zotlabs/Module/Cdav.php:1390
-#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Profiles.php:801
#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:130
#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Connedit.php:661 ../../Zotlabs/Module/Connedit.php:933
-#: ../../Zotlabs/Module/Editlayout.php:138 ../../Zotlabs/Module/Editblock.php:139
-#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Connections.php:329
-#: ../../Zotlabs/Module/Editwebpage.php:167 ../../Zotlabs/Module/Article_edit.php:129
+#: ../../Zotlabs/Module/Connedit.php:653 ../../Zotlabs/Module/Connedit.php:925
+#: ../../Zotlabs/Module/Editlayout.php:138
+#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179
+#: ../../Zotlabs/Module/Connections.php:329
+#: ../../Zotlabs/Module/Editwebpage.php:167
+#: ../../Zotlabs/Module/Article_edit.php:128
#: ../../Zotlabs/Module/Admin/Accounts.php:320
-#: ../../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:171
-#: ../../include/conversation.php:730 ../../include/conversation.php:777
+#: ../../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:171 ../../include/conversation.php:730
+#: ../../include/conversation.php:777
msgid "Delete"
msgstr "Usuń"
@@ -711,78 +731,85 @@ msgid "Delete all"
msgstr "Usuń wszystko"
#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1391
-#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:802
#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138
#: ../../Zotlabs/Module/Card_edit.php:132 ../../Zotlabs/Module/Oauth2.php:117
#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:367
#: ../../Zotlabs/Module/Wiki.php:400 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:934
-#: ../../Zotlabs/Module/Profile_photo.php:507 ../../Zotlabs/Module/Editlayout.php:140
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:926
+#: ../../Zotlabs/Module/Profile_photo.php:507
+#: ../../Zotlabs/Module/Editlayout.php:140
#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:111
#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
-#: ../../Zotlabs/Module/Editwebpage.php:169 ../../Zotlabs/Module/Article_edit.php:131
-#: ../../Zotlabs/Module/Admin/Addons.php:427 ../../Zotlabs/Module/Cover_photo.php:428
-#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1460
-#: ../../include/conversation.php:1515
+#: ../../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:1455
+#: ../../include/conversation.php:1510
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:209
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:258
msgid "Cancel"
msgstr "Anuluj"
#: ../../Zotlabs/Module/Cdav.php:1060 ../../Zotlabs/Module/Cdav.php:1388
-#: ../../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:931
-#: ../../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
+#: ../../Zotlabs/Module/Webpages.php:253 ../../Zotlabs/Module/Profiles.php:799
+#: ../../Zotlabs/Module/Layouts.php:185
+#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159
+#: ../../Zotlabs/Module/Connedit.php:923 ../../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:1061
msgid "Sorry! Editing of recurrent events is not yet implemented."
msgstr ""
-"Przepraszamy! Edycja powtarzających się wydarzeń nie została jeszcze zaimplementowana."
+"Przepraszamy! Edycja powtarzających się wydarzeń nie została jeszcze "
+"zaimplementowana."
#: ../../Zotlabs/Module/Cdav.php:1071 ../../Zotlabs/Storage/Browser.php:293
#: ../../Zotlabs/Storage/Browser.php:388 ../../Zotlabs/Storage/Browser.php:403
-#: ../../Zotlabs/Widget/Appcategories.php:43 ../../include/contact_widgets.php:112
-#: ../../include/contact_widgets.php:156 ../../include/contact_widgets.php:201
-#: ../../include/contact_widgets.php:236 ../../include/taxonomy.php:420
-#: ../../include/taxonomy.php:502 ../../include/taxonomy.php:522
-#: ../../include/taxonomy.php:543
+#: ../../Zotlabs/Widget/Appcategories.php:43
+#: ../../include/contact_widgets.php:112 ../../include/contact_widgets.php:156
+#: ../../include/contact_widgets.php:201 ../../include/contact_widgets.php:236
+#: ../../include/taxonomy.php:420 ../../include/taxonomy.php:502
+#: ../../include/taxonomy.php:522 ../../include/taxonomy.php:543
msgid "Categories"
msgstr "Kategorie"
#: ../../Zotlabs/Module/Cdav.php:1373 ../../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:217 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Connedit.php:908
#: ../../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:576 ../../Zotlabs/Widget/Wiki_page_history.php:22
+#: ../../Zotlabs/Module/Admin/Channels.php:159
+#: ../../Zotlabs/Storage/Browser.php:377
+#: ../../Zotlabs/Lib/NativeWikiPage.php:576
+#: ../../Zotlabs/Widget/Wiki_page_history.php:22
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:172
msgid "Name"
msgstr "Nazwa"
-#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:909
msgid "Organisation"
msgstr "Organizacja"
-#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Connedit.php:918
+#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Connedit.php:910
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:2617
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:2678
msgid "Title"
msgstr "Tytuł"
-#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:788
-#: ../../Zotlabs/Module/Connedit.php:919
+#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:787
+#: ../../Zotlabs/Module/Connedit.php:911
msgid "Phone"
msgstr "Numer telefonu"
-#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:789
-#: ../../Zotlabs/Module/Connedit.php:920 ../../Zotlabs/Module/Admin/Accounts.php:316
-#: ../../Zotlabs/Module/Admin/Accounts.php:330 ../../include/network.php:1768
+#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Connedit.php:912
+#: ../../Zotlabs/Module/Admin/Accounts.php:316
+#: ../../Zotlabs/Module/Admin/Accounts.php:330 ../../include/network.php:1743
#: ../../extend/addon/hubzilla-addons/redred/Mod_Redred.php:71
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:56
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:57
@@ -790,81 +817,82 @@ msgstr "Numer telefonu"
msgid "Email"
msgstr "Adres e-mail"
-#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:790
-#: ../../Zotlabs/Module/Connedit.php:921
+#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:789
+#: ../../Zotlabs/Module/Connedit.php:913
msgid "Instant messenger"
msgstr "Komunikator internetowy"
-#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:791
-#: ../../Zotlabs/Module/Connedit.php:922
+#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Connedit.php:914
msgid "Website"
msgstr "Strona internetowa"
#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:504
-#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129
-#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Admin/Channels.php:160
+#: ../../Zotlabs/Module/Profiles.php:791 ../../Zotlabs/Module/Locs.php:127
+#: ../../Zotlabs/Module/Connedit.php:915
+#: ../../Zotlabs/Module/Admin/Channels.php:160
msgid "Address"
msgstr "Adres"
-#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:793
-#: ../../Zotlabs/Module/Connedit.php:924
+#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:792
+#: ../../Zotlabs/Module/Connedit.php:916
msgid "Note"
msgstr "Notatka"
-#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:794
-#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:734
+#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Connedit.php:917 ../../include/connections.php:734
#: ../../include/event.php:1422
msgid "Mobile"
msgstr "Komórka"
-#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:795
-#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:735
+#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:794
+#: ../../Zotlabs/Module/Connedit.php:918 ../../include/connections.php:735
#: ../../include/event.php:1423
msgid "Home"
msgstr "Domowy"
-#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:796
-#: ../../Zotlabs/Module/Connedit.php:927 ../../include/connections.php:738
+#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:795
+#: ../../Zotlabs/Module/Connedit.php:919 ../../include/connections.php:738
#: ../../include/event.php:1426
msgid "Work"
msgstr "Praca"
-#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:798
-#: ../../Zotlabs/Module/Connedit.php:929
+#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:797
+#: ../../Zotlabs/Module/Connedit.php:921
msgid "Add Contact"
msgstr "Dodaj kontakt"
-#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Profiles.php:799
-#: ../../Zotlabs/Module/Connedit.php:930
+#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Connedit.php:922
msgid "Add Field"
msgstr "Dodaj pole"
-#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935
+#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:927
msgid "P.O. Box"
msgstr "Skrytka pocztowa"
-#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936
+#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:928
msgid "Additional"
msgstr "Dodatkowe informacje"
-#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937
+#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:929
msgid "Street"
msgstr "Ulica"
-#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938
+#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:930
msgid "Locality"
msgstr "Miejscowość"
-#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939
+#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:931
msgid "Region"
msgstr "Region"
-#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Connedit.php:940
+#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Connedit.php:932
msgid "ZIP Code"
msgstr "Kod pocztowy"
-#: ../../Zotlabs/Module/Cdav.php:1398 ../../Zotlabs/Module/Profiles.php:759
-#: ../../Zotlabs/Module/Connedit.php:941
+#: ../../Zotlabs/Module/Cdav.php:1398 ../../Zotlabs/Module/Profiles.php:758
+#: ../../Zotlabs/Module/Connedit.php:933
msgid "Country"
msgstr "Państwo"
@@ -890,32 +918,33 @@ 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 wpisów i kontaktów albo "
-"tworzenie dla Ciebie nowych wpisó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:636 ../../Zotlabs/Module/Import.php:640
-#: ../../Zotlabs/Module/Import.php:641 ../../Zotlabs/Module/Defperms.php:198
-#: ../../Zotlabs/Module/Filestorage.php:203 ../../Zotlabs/Module/Filestorage.php:211
-#: ../../Zotlabs/Module/Wiki.php:226 ../../Zotlabs/Module/Wiki.php:227
-#: ../../Zotlabs/Module/Connedit.php:404 ../../Zotlabs/Module/Photos.php:673
-#: ../../Zotlabs/Module/Admin/Site.php:321 ../../Zotlabs/Module/Mitem.php:176
-#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
-#: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Register.php:512
+"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 wpisów i kontaktów "
+"albo tworzenie dla Ciebie nowych wpisów ?"
+
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Profiles.php:682
+#: ../../Zotlabs/Module/Import.php:571 ../../Zotlabs/Module/Import.php:575
+#: ../../Zotlabs/Module/Import.php:576 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:226
+#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:401
+#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:321
+#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
+#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
+#: ../../Zotlabs/Module/Register.php:512
#: ../../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:1468 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145 ../../include/dir_fns.php:146
+#: ../../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:1463
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../include/dir_fns.php:146
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:111
#: ../../extend/addon/hubzilla-addons/redred/Mod_Redred.php:63
#: ../../extend/addon/hubzilla-addons/cart/cart.php:1370
@@ -965,30 +994,31 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:98
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:102
#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1721
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1725
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:636 ../../Zotlabs/Module/Import.php:640
-#: ../../Zotlabs/Module/Import.php:641 ../../Zotlabs/Module/Defperms.php:198
-#: ../../Zotlabs/Module/Filestorage.php:203 ../../Zotlabs/Module/Filestorage.php:211
-#: ../../Zotlabs/Module/Wiki.php:226 ../../Zotlabs/Module/Wiki.php:227
-#: ../../Zotlabs/Module/Connedit.php:404 ../../Zotlabs/Module/Connedit.php:789
-#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:319
-#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
-#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
-#: ../../Zotlabs/Module/Register.php:512 ../../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:1468 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145 ../../include/dir_fns.php:146
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Profiles.php:682
+#: ../../Zotlabs/Module/Import.php:571 ../../Zotlabs/Module/Import.php:575
+#: ../../Zotlabs/Module/Import.php:576 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Filestorage.php:203
+#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:226
+#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:401
+#: ../../Zotlabs/Module/Connedit.php:781 ../../Zotlabs/Module/Photos.php:673
+#: ../../Zotlabs/Module/Admin/Site.php:319 ../../Zotlabs/Module/Mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
+#: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Register.php:512
+#: ../../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:1463
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../include/dir_fns.php:146
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:111
#: ../../extend/addon/hubzilla-addons/redred/Mod_Redred.php:63
#: ../../extend/addon/hubzilla-addons/cart/cart.php:1370
@@ -1038,15 +1068,15 @@ msgstr "Tak"
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:98
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:102
#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1721
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1725
msgid "No"
msgstr "Nie"
-#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52
+#: ../../Zotlabs/Module/Dirsearch.php:24 ../../Zotlabs/Module/Regdir.php:52
msgid "This site is not a directory server"
-msgstr "Ta witryna nie jest serwerem katalogów"
+msgstr "Ten portal nie jest serwerem katalogów"
-#: ../../Zotlabs/Module/Dirsearch.php:37
+#: ../../Zotlabs/Module/Dirsearch.php:33
msgid "This directory server requires an access token"
msgstr "Ten serwer katalogowy wymaga tokenu dostępu"
@@ -1059,9 +1089,10 @@ msgid "or select an existing folder (doubleclick)"
msgstr "lub wybierz istniejący folder (kliknij dwukrotnie)"
#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Cards.php:113
-#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Admin/Profs.php:114
-#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23
+#: ../../Zotlabs/Module/Admin/Profs.php:94
+#: ../../Zotlabs/Module/Admin/Profs.php:114
+#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Rbmark.php:31
+#: ../../Zotlabs/Module/Rbmark.php:103 ../../Zotlabs/Widget/Notes.php:23
#: ../../include/text.php:1145 ../../include/text.php:1157
#: ../../extend/addon/hubzilla-addons/queueworker/Mod_Queueworker.php:116
msgid "Save"
@@ -1071,168 +1102,13 @@ msgstr "Zapisz"
msgid "Save to Folder"
msgstr "Zapisz do folderu"
-#: ../../Zotlabs/Module/Events.php:113 ../../Zotlabs/Module/Channel_calendar.php:62
-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:64
-#: ../../Zotlabs/Module/Channel_calendar.php:72
-#: ../../Zotlabs/Module/Channel_calendar.php:87
-msgid "Unable to generate preview."
-msgstr "Nie można wygenerować podglądu."
-
-#: ../../Zotlabs/Module/Events.php:122 ../../Zotlabs/Module/Channel_calendar.php:70
-msgid "Event title and start time are required."
-msgstr "Wymaga się wprowadzenia tytułu wydarzenia i godziny rozpoczęcia."
-
-#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271
-#: ../../Zotlabs/Module/Channel_calendar.php:85
-#: ../../Zotlabs/Module/Channel_calendar.php:226
-msgid "Event not found."
-msgstr "Nie znaleziono wydarzenia."
-
-#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:441
-#: ../../Zotlabs/Module/Tagger.php:75 ../../Zotlabs/Module/Channel_calendar.php:221
-#: ../../include/conversation.php:132 ../../include/text.php:2257
-#: ../../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
-#: ../../Zotlabs/Module/Register.php:498 ../../include/js_strings.php:123
-#: ../../include/datetime.php:211
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:334
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:358
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:434
-#: ../../extend/addon/hubzilla-addons/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:837
-#: ../../include/conversation.php:1404
-#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:153
-msgid "Preview"
-msgstr "Podgląd"
-
-#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1482
-#: ../../extend/addon/hubzilla-addons/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:370
-msgid "Edit event"
-msgstr "Edytuj wydarzenie"
-
-#: ../../Zotlabs/Module/Events.php:643 ../../Zotlabs/Module/Channel_calendar.php:372
-msgid "Delete event"
-msgstr "Usuń wydarzenie"
-
-#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2076
-msgid "Link to Source"
-msgstr "Link do źródła"
-
-#: ../../Zotlabs/Module/Events.php:677 ../../Zotlabs/Module/Channel_calendar.php:406
-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:1917
-msgid "Export"
-msgstr "Eksportuj"
-
-#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261
-#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:212
-#: ../../Zotlabs/Module/Wiki.php:408 ../../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:493
-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"
+msgstr "O platformie"
#: ../../Zotlabs/Module/Help.php:84 ../../Zotlabs/Module/Group.php:156
msgid "Members"
@@ -1281,18 +1157,18 @@ 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:27 ../../Zotlabs/Module/Articles.php:43
-#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Menu.php:92
-#: ../../include/channel.php:1464
+#: ../../Zotlabs/Module/Achievements.php:15
+#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42
+#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:27
+#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1384
#: ../../extend/addon/hubzilla-addons/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 Witryny Internetowe"
+msgstr "Aplikacja Strony internetowe"
#: ../../Zotlabs/Module/Webpages.php:49
msgid "Provide managed web pages on your channel"
@@ -1314,79 +1190,94 @@ msgstr "Eksportuj elementy strony internetowej"
msgid "Export selected"
msgstr "Eksportuj wybrane"
-#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341
+#: ../../Zotlabs/Module/Webpages.php:251 ../../Zotlabs/Lib/Apps.php:341
#: ../../include/nav.php:524
msgid "Webpages"
msgstr "Strony internetowe"
-#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Webpages.php:254 ../../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:210 ../../Zotlabs/Module/Wiki.php:383
#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114
-#: ../../Zotlabs/Module/Editblock.php:114 ../../Zotlabs/Module/Connections.php:321
-#: ../../Zotlabs/Module/Connections.php:363 ../../Zotlabs/Module/Connections.php:383
-#: ../../Zotlabs/Module/Editwebpage.php:142 ../../Zotlabs/Module/Article_edit.php:98
+#: ../../Zotlabs/Module/Editblock.php:114
+#: ../../Zotlabs/Module/Connections.php:321
+#: ../../Zotlabs/Module/Connections.php:363
+#: ../../Zotlabs/Module/Connections.php:383
+#: ../../Zotlabs/Module/Editwebpage.php:142
+#: ../../Zotlabs/Module/Article_edit.php:97
#: ../../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:149 ../../Zotlabs/Widget/Cdav.php:138
-#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1566
-#: ../../include/channel.php:1570 ../../include/menu.php:120
+#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1486
+#: ../../include/channel.php:1490 ../../include/menu.php:120
msgid "Edit"
msgstr "Edytuj"
-#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:194
#: ../../Zotlabs/Module/Wiki.php:300 ../../Zotlabs/Module/Blocks.php:161
#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136
-#: ../../include/conversation.php:1437
+#: ../../include/conversation.php:1432
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:186
msgid "Share"
msgstr "Udostępnij"
-#: ../../Zotlabs/Module/Webpages.php:263
+#: ../../Zotlabs/Module/Webpages.php:260 ../../Zotlabs/Module/Layouts.php:198
+#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Module/Wiki.php:408
+#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Pubsites.php:60
+msgid "View"
+msgstr "Widok"
+
+#: ../../Zotlabs/Module/Webpages.php:261 ../../Zotlabs/Module/Photos.php:1099
+#: ../../Zotlabs/Lib/ThreadItem.php:837 ../../include/conversation.php:1399
+#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:153
+msgid "Preview"
+msgstr "Podgląd"
+
+#: ../../Zotlabs/Module/Webpages.php:262
msgid "Actions"
msgstr "Akcje"
-#: ../../Zotlabs/Module/Webpages.php:264
+#: ../../Zotlabs/Module/Webpages.php:263
msgid "Page Link"
msgstr "Link do strony"
-#: ../../Zotlabs/Module/Webpages.php:265
+#: ../../Zotlabs/Module/Webpages.php:264
msgid "Page Title"
msgstr "Tytuł strony"
-#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Webpages.php:265 ../../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/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:192
#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179
msgid "Edited"
msgstr "Edytowano"
-#: ../../Zotlabs/Module/Webpages.php:295
+#: ../../Zotlabs/Module/Webpages.php:294
msgid "Invalid file type."
msgstr "Zły typ pliku."
-#: ../../Zotlabs/Module/Webpages.php:307
+#: ../../Zotlabs/Module/Webpages.php:306
msgid "Error opening zip file"
msgstr "Błąd podczas otwierania pliku zip"
-#: ../../Zotlabs/Module/Webpages.php:318
+#: ../../Zotlabs/Module/Webpages.php:317
msgid "Invalid folder path."
msgstr "Nieprawidłowa ścieżka folderu."
-#: ../../Zotlabs/Module/Webpages.php:345
+#: ../../Zotlabs/Module/Webpages.php:344
msgid "No webpage elements detected."
msgstr "Nie wykryto żadnych elementów strony internetowej."
-#: ../../Zotlabs/Module/Webpages.php:420
+#: ../../Zotlabs/Module/Webpages.php:419
msgid "Import complete."
msgstr "Importowanie zakończone."
#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186
-#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661
+#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:660
msgid "Profile not found."
msgstr "Nie znaleziono profilu."
@@ -1422,15 +1313,15 @@ msgstr "Stan cywilny"
msgid "Romantic Partner"
msgstr "Partner romantyczny"
-#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774
+#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:773
msgid "Likes"
-msgstr "Oceny pozytywne"
+msgstr "Pochwały"
-#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775
+#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:774
msgid "Dislikes"
-msgstr "Oceny negatywne"
+msgstr "Zganienia"
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:781
msgid "Work/Employment"
msgstr "Praca/Zatrudnienie"
@@ -1463,328 +1354,341 @@ msgstr "Zainteresowania"
msgid "Profile updated."
msgstr "Profil został zaktualizowany."
-#: ../../Zotlabs/Module/Profiles.php:680
+#: ../../Zotlabs/Module/Profiles.php:679
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
+#: ../../Zotlabs/Module/Profiles.php:723
msgid "Edit Profile Details"
msgstr "Edytuj szczegóły profilu"
-#: ../../Zotlabs/Module/Profiles.php:726
+#: ../../Zotlabs/Module/Profiles.php:725
msgid "View this profile"
msgstr "Zobacz ten profil"
-#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826
-#: ../../include/channel.php:1589
+#: ../../Zotlabs/Module/Profiles.php:726 ../../Zotlabs/Module/Profiles.php:825
+#: ../../include/channel.php:1509
msgid "Edit visibility"
msgstr "Edytuj dostępność"
-#: ../../Zotlabs/Module/Profiles.php:728
+#: ../../Zotlabs/Module/Profiles.php:727
msgid "Profile Tools"
msgstr "Narzędzia profilowe"
-#: ../../Zotlabs/Module/Profiles.php:729
+#: ../../Zotlabs/Module/Profiles.php:728
msgid "Change cover photo"
msgstr "Zmień zdjęcie okładkowe"
-#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1559
+#: ../../Zotlabs/Module/Profiles.php:729 ../../include/channel.php:1479
msgid "Change profile photo"
msgstr "Zmień zdjęcie profilowe"
-#: ../../Zotlabs/Module/Profiles.php:731
+#: ../../Zotlabs/Module/Profiles.php:730
msgid "Create a new profile using these settings"
msgstr "Utwórz nowy profil, korzystając z tych ustawień"
-#: ../../Zotlabs/Module/Profiles.php:732
+#: ../../Zotlabs/Module/Profiles.php:731
msgid "Clone this profile"
msgstr "Sklonuj ten profil"
-#: ../../Zotlabs/Module/Profiles.php:733
+#: ../../Zotlabs/Module/Profiles.php:732
msgid "Delete this profile"
msgstr "Usuń ten profil"
-#: ../../Zotlabs/Module/Profiles.php:734
+#: ../../Zotlabs/Module/Profiles.php:733
msgid "Add profile things"
msgstr "Dodaj elementy profilu"
-#: ../../Zotlabs/Module/Profiles.php:735
+#: ../../Zotlabs/Module/Profiles.php:734
msgid "Personal"
msgstr "Osobiste"
-#: ../../Zotlabs/Module/Profiles.php:737
+#: ../../Zotlabs/Module/Profiles.php:736
msgid "Relationship"
msgstr "Relacje"
-#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51
+#: ../../Zotlabs/Module/Profiles.php:737 ../../Zotlabs/Widget/Newmember.php:51
#: ../../include/datetime.php:58
msgid "Miscellaneous"
msgstr "Inne"
-#: ../../Zotlabs/Module/Profiles.php:740
+#: ../../Zotlabs/Module/Profiles.php:739
msgid "Import profile from file"
msgstr "Importuj profil z pliku"
-#: ../../Zotlabs/Module/Profiles.php:741
+#: ../../Zotlabs/Module/Profiles.php:740
msgid "Export profile to file"
msgstr "Eksportuj profil do pliku"
-#: ../../Zotlabs/Module/Profiles.php:742
+#: ../../Zotlabs/Module/Profiles.php:741
msgid "Your gender"
msgstr "Twoja płeć"
-#: ../../Zotlabs/Module/Profiles.php:743
+#: ../../Zotlabs/Module/Profiles.php:742
msgid "Marital status"
msgstr "Stan cywilny"
-#: ../../Zotlabs/Module/Profiles.php:744
+#: ../../Zotlabs/Module/Profiles.php:743
msgid "Sexual preference"
msgstr "Preferencje seksualne"
-#: ../../Zotlabs/Module/Profiles.php:747
+#: ../../Zotlabs/Module/Profiles.php:746
msgid "Profile name"
msgstr "Nazwa profilu"
-#: ../../Zotlabs/Module/Profiles.php:749
+#: ../../Zotlabs/Module/Profiles.php:746 ../../Zotlabs/Module/Profiles.php:750
+#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144
+#: ../../Zotlabs/Module/Register.php:498 ../../include/js_strings.php:123
+#: ../../include/datetime.php:211
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:334
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:358
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:434
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:458
+msgid "Required"
+msgstr "Wymagane"
+
+#: ../../Zotlabs/Module/Profiles.php:748
msgid "This is your default profile."
msgstr "To jest Twój profil domyślny."
-#: ../../Zotlabs/Module/Profiles.php:751
+#: ../../Zotlabs/Module/Profiles.php:750
msgid "Your full name"
msgstr "Twoje imię i nazwisko albo pełna nazwa"
-#: ../../Zotlabs/Module/Profiles.php:752
+#: ../../Zotlabs/Module/Profiles.php:751
msgid "Short title/description"
msgstr "Krótki tytuł/opis"
-#: ../../Zotlabs/Module/Profiles.php:752
+#: ../../Zotlabs/Module/Profiles.php:751
msgid "Maximal 190 characters"
msgstr "Maksymalnie 190 znaków"
-#: ../../Zotlabs/Module/Profiles.php:755
+#: ../../Zotlabs/Module/Profiles.php:754
msgid "Street address"
msgstr "Ulica"
-#: ../../Zotlabs/Module/Profiles.php:756
+#: ../../Zotlabs/Module/Profiles.php:755
msgid "Locality/City"
msgstr "Miejscowość"
-#: ../../Zotlabs/Module/Profiles.php:757
+#: ../../Zotlabs/Module/Profiles.php:756
msgid "Region/State"
msgstr "Region/Stan"
-#: ../../Zotlabs/Module/Profiles.php:758
+#: ../../Zotlabs/Module/Profiles.php:757
msgid "Postal/Zip code"
msgstr "Kod pocztowy"
-#: ../../Zotlabs/Module/Profiles.php:764
+#: ../../Zotlabs/Module/Profiles.php:763
msgid "Who (if applicable)"
msgstr "Kto (jeśli dotyczy)"
-#: ../../Zotlabs/Module/Profiles.php:764
+#: ../../Zotlabs/Module/Profiles.php:763
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Przykłady: jan123, Jan Kowalski, jan@example.com"
-#: ../../Zotlabs/Module/Profiles.php:765
+#: ../../Zotlabs/Module/Profiles.php:764
msgid "Since (date)"
msgstr "Od (data)"
-#: ../../Zotlabs/Module/Profiles.php:768
+#: ../../Zotlabs/Module/Profiles.php:767
msgid "Tell us about yourself"
msgstr "Opowiedz nam o sobie"
-#: ../../Zotlabs/Module/Profiles.php:769
+#: ../../Zotlabs/Module/Profiles.php:768
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:68
msgid "Homepage URL"
msgstr "Adres URL strony domowej"
-#: ../../Zotlabs/Module/Profiles.php:770
+#: ../../Zotlabs/Module/Profiles.php:769
msgid "Hometown"
msgstr "Miejscowość zamieszkania"
-#: ../../Zotlabs/Module/Profiles.php:771
+#: ../../Zotlabs/Module/Profiles.php:770
msgid "Political views"
msgstr "Poglądy polityczne"
-#: ../../Zotlabs/Module/Profiles.php:772
+#: ../../Zotlabs/Module/Profiles.php:771
msgid "Religious views"
msgstr "Poglądy religijne"
-#: ../../Zotlabs/Module/Profiles.php:773
+#: ../../Zotlabs/Module/Profiles.php:772
msgid "Keywords used in directory listings"
msgstr "Słowa kluczowe używane w wykazach katalogów"
-#: ../../Zotlabs/Module/Profiles.php:773
+#: ../../Zotlabs/Module/Profiles.php:772
msgid "Example: fishing photography software"
msgstr "Przykład: oprogramowanie do fotografii wędkarskiej"
-#: ../../Zotlabs/Module/Profiles.php:776
+#: ../../Zotlabs/Module/Profiles.php:775
msgid "Musical interests"
msgstr "Zainteresowania muzyczne"
-#: ../../Zotlabs/Module/Profiles.php:777
+#: ../../Zotlabs/Module/Profiles.php:776
msgid "Books, literature"
msgstr "Ksiązki, literatura"
-#: ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Profiles.php:777
msgid "Television"
msgstr "Telewizja"
-#: ../../Zotlabs/Module/Profiles.php:779
+#: ../../Zotlabs/Module/Profiles.php:778
msgid "Film/Dance/Culture/Entertainment"
msgstr "Film/Taniec/Kultura/Rozrywka"
-#: ../../Zotlabs/Module/Profiles.php:780
+#: ../../Zotlabs/Module/Profiles.php:779
msgid "Hobbies/Interests"
msgstr "Zainteresowania"
-#: ../../Zotlabs/Module/Profiles.php:781
+#: ../../Zotlabs/Module/Profiles.php:780
msgid "Love/Romance"
msgstr "Miłość/romans"
-#: ../../Zotlabs/Module/Profiles.php:783
+#: ../../Zotlabs/Module/Profiles.php:782
msgid "School/Education"
msgstr "Szkoła/Edukacja"
-#: ../../Zotlabs/Module/Profiles.php:784
+#: ../../Zotlabs/Module/Profiles.php:783
msgid "Contact information and social networks"
msgstr "Informacje kontaktowe i sieci społecznościowe"
-#: ../../Zotlabs/Module/Profiles.php:785
+#: ../../Zotlabs/Module/Profiles.php:784
msgid "My other channels"
msgstr "Moje inne kanały"
-#: ../../Zotlabs/Module/Profiles.php:787
+#: ../../Zotlabs/Module/Profiles.php:786
msgid "Communications"
msgstr "Komunikacja"
-#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1585
+#: ../../Zotlabs/Module/Profiles.php:821 ../../include/channel.php:1505
msgid "Profile Image"
msgstr "Obraz profilowy"
-#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1566
+#: ../../Zotlabs/Module/Profiles.php:831 ../../include/channel.php:1486
#: ../../include/nav.php:118
msgid "Edit Profiles"
msgstr "Edytuj profile"
-#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:213
-#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262
+#: ../../Zotlabs/Module/Profiles.php:832 ../../Zotlabs/Module/Wiki.php:213
+#: ../../Zotlabs/Module/Manage.php:135 ../../Zotlabs/Module/Chat.php:262
msgid "Create New"
msgstr "Utwórz nowy"
-#: ../../Zotlabs/Module/Import.php:69 ../../Zotlabs/Module/Import_items.php:48
+#: ../../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:84 ../../Zotlabs/Module/Import.php:100
+#: ../../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:107 ../../Zotlabs/Module/Import_items.php:77
+#: ../../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:163
+#: ../../Zotlabs/Module/Import.php:162
#, php-format
msgid "Your service plan only allows %d channels."
msgstr "Twój plan usług zezwala tylko na %d kanał/kanałów."
-#: ../../Zotlabs/Module/Import.php:190
+#: ../../Zotlabs/Module/Import.php:189
msgid "No channel. Import failed."
msgstr "Brak kanału. Import nieudany."
-#: ../../Zotlabs/Module/Import.php:595
+#: ../../Zotlabs/Module/Import.php:530
#: ../../extend/addon/hubzilla-addons/diaspora/import_diaspora.php:142
msgid "Import completed."
msgstr "Import zakończony."
-#: ../../Zotlabs/Module/Import.php:623
+#: ../../Zotlabs/Module/Import.php:558
msgid "You must be logged in to use this feature."
msgstr "Trzeba się zalogować, aby korzystać z tej funkcji."
-#: ../../Zotlabs/Module/Import.php:628
+#: ../../Zotlabs/Module/Import.php:563
msgid "Import Channel"
msgstr "Importuj kanał"
-#: ../../Zotlabs/Module/Import.php:629
+#: ../../Zotlabs/Module/Import.php:564
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."
+"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 (portalu)."
-"Możesz pobrać tożsamość kanału ze starego serwera (portalu) przez sieć lub dostarczyć "
-"plik eksportu."
+"Użyj tego formularza, aby zaimportować istniejący kanał z innego serwera "
+"(portalu).Możesz pobrać tożsamość kanału ze starego serwera (portalu) przez "
+"sieć lub dostarczyć plik eksportu."
-#: ../../Zotlabs/Module/Import.php:630 ../../Zotlabs/Module/Import_items.php:127
+#: ../../Zotlabs/Module/Import.php:565
+#: ../../Zotlabs/Module/Import_items.php:127
msgid "File to Upload"
msgstr "Plik do przesłania"
-#: ../../Zotlabs/Module/Import.php:631
+#: ../../Zotlabs/Module/Import.php:566
msgid "Or provide the old server/hub details"
msgstr "Lub podaj szczegóły starego serwera/portalu"
-#: ../../Zotlabs/Module/Import.php:633
+#: ../../Zotlabs/Module/Import.php:568
msgid "Your old identity address (xyz@example.com)"
msgstr "Twój stary adres tożsamości (xyz@example.com)"
-#: ../../Zotlabs/Module/Import.php:634
+#: ../../Zotlabs/Module/Import.php:569
msgid "Your old login email address"
msgstr "Twój stary adres e-mail logowania"
-#: ../../Zotlabs/Module/Import.php:635
+#: ../../Zotlabs/Module/Import.php:570
msgid "Your old login password"
msgstr "Twoje stare hasło logowania"
-#: ../../Zotlabs/Module/Import.php:636
+#: ../../Zotlabs/Module/Import.php:571
msgid "Import a few months of posts if possible (limited by available memory"
msgstr ""
-"Zaimportuj wpisy z kilku miesięcy, jeśli to możliwe (ograniczone dostępną pamięcią)"
+"Zaimportuj wpisy z kilku miesięcy, jeśli to możliwe (ograniczone dostępną "
+"pamięcią)"
-#: ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:573
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."
+"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 portal 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."
+"W obu przypadkach wybierz, czy chcesz ustawić ten portal 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:640
+#: ../../Zotlabs/Module/Import.php:575
msgid "Make this hub my primary location"
msgstr "Ustaw ten portal jako moją główną lokalizację"
-#: ../../Zotlabs/Module/Import.php:641
+#: ../../Zotlabs/Module/Import.php:576
msgid "Move this channel (disable all previous locations)"
msgstr "Przenieś ten kanał (wyłącz wszystkie poprzednie lokalizacje)"
-#: ../../Zotlabs/Module/Import.php:642
+#: ../../Zotlabs/Module/Import.php:577
msgid "Use this channel nickname instead of the one provided"
msgstr "Użyj tego pseudonimu kanału zamiast podanego"
-#: ../../Zotlabs/Module/Import.php:642
+#: ../../Zotlabs/Module/Import.php:577
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."
+"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 tym portalu."
+"Pozostaw puste, aby zachować istniejący pseudonim kanału. Otrzymasz losowo "
+"podobny pseudonim, jeśli któryś z nich jest już przydzielony na tym portalu."
-#: ../../Zotlabs/Module/Import.php:644
+#: ../../Zotlabs/Module/Import.php:579
msgid ""
-"This process may take several minutes to complete. Please submit the form only once "
-"and leave this page open until finished."
+"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."
+"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:106
msgid "Like/Dislike"
-msgstr "Oceń pozytywnie/negatywnie"
+msgstr "Pochwal/Zgań"
#: ../../Zotlabs/Module/Like.php:112
msgid "This action is restricted to members."
@@ -1792,11 +1696,12 @@ msgstr "Ta akcja jest ograniczona do członków."
#: ../../Zotlabs/Module/Like.php:113
msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href=\"register"
-"\">register as a new $Projectname member</a> to continue."
+"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>."
+"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:166 ../../Zotlabs/Module/Like.php:192
#: ../../Zotlabs/Module/Like.php:230
@@ -1820,34 +1725,41 @@ msgid "Previous action reversed."
msgstr "Poprzednia czynność została cofnięta."
#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Tagger.php:71
-#: ../../Zotlabs/Module/Subthread.php:115 ../../Zotlabs/Lib/Activity.php:3264
-#: ../../include/conversation.php:128 ../../include/text.php:2254
+#: ../../Zotlabs/Module/Subthread.php:115 ../../Zotlabs/Lib/Activity.php:3248
+#: ../../include/conversation.php:128 ../../include/text.php:2236
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1649
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2101
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2111
#: ../../extend/addon/hubzilla-addons/redphotos/redphotohelper.php:71
msgid "photo"
msgstr "zdjecie"
#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Subthread.php:115
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1649
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2101
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2111
msgid "status"
msgstr "stan"
-#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3297
+#: ../../Zotlabs/Module/Like.php:441 ../../Zotlabs/Module/Tagger.php:75
+#: ../../Zotlabs/Module/Channel_calendar.php:221
+#: ../../include/conversation.php:132 ../../include/text.php:2239
+#: ../../include/event.php:1259
+msgid "event"
+msgstr "wydarzenie"
+
+#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3281
#: ../../include/conversation.php:174
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1595
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2138
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2148
#, php-format
msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s ocenił pozytywnie %3$s %2$s"
+msgstr "%1$s pochwalił %3$s %2$s"
-#: ../../Zotlabs/Module/Like.php:473 ../../Zotlabs/Lib/Activity.php:3299
+#: ../../Zotlabs/Module/Like.php:473 ../../Zotlabs/Lib/Activity.php:3283
#: ../../include/conversation.php:177
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2140
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2150
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s ocenił negatywnie %3$s %2$s"
+msgstr "%1$s zganił %3$s %2$s"
#: ../../Zotlabs/Module/Like.php:475
#, php-format
@@ -1894,14 +1806,15 @@ msgstr "Dziękujemy."
msgid "Could not access contact record."
msgstr "Brak dostępu do rekordu kontaktu."
-#: ../../Zotlabs/Module/Defperms.php:112 ../../Zotlabs/Module/Settings/Channel.php:267
+#: ../../Zotlabs/Module/Defperms.php:112
+#: ../../Zotlabs/Module/Settings/Channel.php:267
#: ../../extend/addon/hubzilla-addons/msgfooter/msgfooter.php:54
#: ../../extend/addon/hubzilla-addons/piwik/piwik.php:116
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:82
#: ../../extend/addon/hubzilla-addons/diaspora/diaspora.php:97
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:171
#: ../../extend/addon/hubzilla-addons/xmpp/xmpp.php:54
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:494
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:487
#: ../../extend/addon/hubzilla-addons/logrot/logrot.php:54
msgid "Settings updated."
msgstr "Zaktualizowano ustawienia."
@@ -1914,63 +1827,72 @@ msgstr "Aplikacja Domyślne uprawnienia"
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:860
+#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:852
msgid "Connection Default Permissions"
msgstr "Domyślne uprawnienia połączenia"
-#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:853
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: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:862
+#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:854
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:862
-#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324
+#: ../../Zotlabs/Module/Defperms.php:257
+#: ../../Zotlabs/Module/New_channel.php:157
+#: ../../Zotlabs/Module/New_channel.php:164
+#: ../../Zotlabs/Module/Connedit.php:854
+#: ../../Zotlabs/Widget/Notifications.php:167 ../../include/nav.php:324
msgid "Loading"
msgstr "Ładowanie"
-#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:863
+#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:855
msgid "Add permission role"
msgstr "Dodaj rolę uprawnień"
-#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:876
-msgid "The permissions indicated on this page will be applied to all new connections."
+#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:868
+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ń."
+"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:896
+#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:888
#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124
msgid "inherited"
msgstr "dziedziczone"
-#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:901
+#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:893
#: ../../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:903
+#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:895
#: ../../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."
+"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."
+"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
@@ -1981,13 +1903,13 @@ msgstr "Nazwa układu"
msgid "Layout Description (Optional)"
msgstr "Opis układu (opcjonalnie)"
-#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2714
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2675
msgid "Layouts"
msgstr "Układy"
#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348
-#: ../../include/nav.php:180 ../../include/nav.php:320 ../../include/help.php:117
-#: ../../include/help.php:125
+#: ../../include/nav.php:180 ../../include/nav.php:320
+#: ../../include/help.php:118 ../../include/help.php:126
msgid "Help"
msgstr "Pomoc"
@@ -2012,21 +1934,21 @@ msgid "The unmoderated public stream of this hub"
msgstr "Niemoderowany strumień publiczny tego portalu"
#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76
-#: ../../Zotlabs/Module/Channel.php:256 ../../Zotlabs/Module/Hq.php:125
+#: ../../Zotlabs/Module/Channel.php:269 ../../Zotlabs/Module/Hq.php:125
#: ../../Zotlabs/Module/Network.php:209
msgid "Reset form"
msgstr "Resetuj formularz"
#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375
-#: ../../Zotlabs/Widget/Notifications.php:162
+#: ../../Zotlabs/Widget/Notifications.php:147
msgid "Public Stream"
msgstr "Strumień publiczny"
-#: ../../Zotlabs/Module/Sse_bs.php:554 ../../Zotlabs/Module/Ping.php:672
+#: ../../Zotlabs/Module/Sse_bs.php:569
msgid "Private forum"
msgstr "Prywatne forum"
-#: ../../Zotlabs/Module/Sse_bs.php:554 ../../Zotlabs/Module/Ping.php:672
+#: ../../Zotlabs/Module/Sse_bs.php:569
msgid "Public forum"
msgstr "Publiczne forum"
@@ -2039,7 +1961,7 @@ 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:4585
+#: ../../include/items.php:4241
msgid "Privacy group not found."
msgstr "Nie znaleziono grupy prywatności."
@@ -2060,7 +1982,7 @@ msgstr "Zarządzanie grupami prywatności"
#: ../../Zotlabs/Widget/Activity_filter.php:88 ../../include/group.php:327
#: ../../include/acl_selectors.php:87 ../../include/nav.php:104
msgid "Privacy Groups"
-msgstr "Grupy Prywatności"
+msgstr "Grupy prywatności"
#: ../../Zotlabs/Module/Group.php:143
msgid "Add Group"
@@ -2109,8 +2031,11 @@ 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."
+"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"
@@ -2125,7 +2050,8 @@ msgstr "UWAGA: "
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
+#: ../../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ąć!"
@@ -2134,7 +2060,8 @@ msgstr "Ta akcja jest bezpowrotna i nie można jej cofnąć!"
msgid "Please enter your password for verification:"
msgstr "Wprowadź hasło do weryfikacji:"
-#: ../../Zotlabs/Module/Removeme.php:64 ../../Zotlabs/Module/Settings/Channel.php:596
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:596
msgid "Remove Channel"
msgstr "Usuń kanał"
@@ -2192,19 +2119,23 @@ 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."
+"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."
+"Zmiana nazwy kanału jest niedozwolona w ciągu 48 godzin od zmiany hasła do "
+"konta."
#: ../../Zotlabs/Module/Changeaddr.php:46 ../../Zotlabs/Module/Register.php:100
-#: ../../include/channel.php:226 ../../include/channel.php:706
+#: ../../include/channel.php:225 ../../include/channel.php:657
msgid "Reserved nickname. Please choose another."
msgstr "Ten pseudonim jest już zarezerwowany. Proszę wybrać inny."
#: ../../Zotlabs/Module/Changeaddr.php:51 ../../Zotlabs/Module/Register.php:105
-#: ../../include/channel.php:231 ../../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 portalu."
+#: ../../include/channel.php:230 ../../include/channel.php:662
+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 portalu."
#: ../../Zotlabs/Module/Changeaddr.php:77
msgid "Change channel nickname/address"
@@ -2251,21 +2182,22 @@ msgstr "Nazwa aplikacji"
#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140
#: ../../extend/addon/hubzilla-addons/statusnet/statusnet.php:596
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:505
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:498
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"
+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/hubzilla-addons/statusnet/statusnet.php:595
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:506
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:499
msgid "Consumer Secret"
-msgstr "Hasło konsumenta"
+msgstr "Sekret konsumenta"
#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142
#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148
@@ -2274,9 +2206,11 @@ 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"
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires this"
msgstr ""
-"Identyfikator URI przekierowania - pozostaw puste, chyba że aplikacja tego wymaga"
+"Identyfikator URI przekierowania - pozostaw puste, chyba że aplikacja tego "
+"wymaga"
#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143
msgid "Icon url"
@@ -2293,7 +2227,7 @@ msgstr "Aplikacji nie znaleziono."
#: ../../Zotlabs/Module/Oauth.php:171
msgid "Connected OAuth Apps"
-msgstr "Połączone aplikacje OAuth"
+msgstr "Podłączone aplikacje OAuth"
#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196
msgid "Client key starts with"
@@ -2307,7 +2241,8 @@ msgstr "Brak nazwy"
msgid "Remove authorization"
msgstr "Usuń autoryzację"
-#: ../../Zotlabs/Module/Email_resend.php:12 ../../Zotlabs/Module/Email_validation.php:24
+#: ../../Zotlabs/Module/Email_resend.php:12
+#: ../../Zotlabs/Module/Email_validation.php:24
msgid "Token verification failed."
msgstr "Weryfikacja tokena nie powiodła się."
@@ -2319,10 +2254,10 @@ msgstr "Weryfikacja adresu e-mail została wysłana ponownie"
msgid "Unable to resend email verification message."
msgstr "Nie można ponownie wysłać weryfikacyjną wiadomość e-mail."
-#: ../../Zotlabs/Module/Search.php:21 ../../Zotlabs/Module/Viewconnections.php:23
+#: ../../Zotlabs/Module/Search.php:21
+#: ../../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
+#: ../../Zotlabs/Module/Directory.php:72 ../../Zotlabs/Module/Directory.php:77
msgid "Public access denied."
msgstr "Odmowa dostępu publicznego."
@@ -2352,7 +2287,7 @@ msgstr "Komentarz został zatwierdzony"
msgid "Comment deleted"
msgstr "Komentarz został usunięty"
-#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:110
+#: ../../Zotlabs/Module/Rpost.php:151 ../../Zotlabs/Module/Editpost.php:110
msgid "Edit post"
msgstr "Edytuj wpis"
@@ -2380,14 +2315,14 @@ msgstr "przełącz na tryb pełnego ekranu"
msgid "Post not found."
msgstr "Nie znaleziono wpisu."
-#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:3264
-#: ../../include/conversation.php:158 ../../include/text.php:2260
-#: ../../include/markdown.php:204 ../../include/bbcode.php:555
+#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:3248
+#: ../../include/conversation.php:158 ../../include/text.php:2242
+#: ../../include/markdown.php:205 ../../include/bbcode.php:555
msgid "post"
msgstr "wpis"
#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160
-#: ../../include/text.php:2262
+#: ../../include/text.php:2244
msgid "comment"
msgstr "komentarz"
@@ -2412,7 +2347,8 @@ 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 wpisy i treść z pliku eksportu."
+"Użyj tego formularza, aby zaimportować istniejące wpisy i treść z pliku "
+"eksportu."
#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118
msgid "Continue"
@@ -2431,28 +2367,29 @@ 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."
+"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:"
+"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:"
+"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:"
+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."
+"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."
+"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.)"
@@ -2462,7 +2399,7 @@ msgstr "(Właściciel kanału nie przekazał żadnych szczegółowych instrukcji
msgid "Restricted or Premium Channel"
msgstr "Kanał z ograniczeniami lub premium"
-#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138
+#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:128
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr "Utworzono %1$.0f z %2$.0f dozwolonych kanałów."
@@ -2473,15 +2410,18 @@ 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\""
+"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\""
+"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)."
+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)."
+"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 _"
@@ -2491,21 +2431,23 @@ msgstr "Dozwolone znaki, to a-z 0-9, - oraz _"
msgid "Channel name"
msgstr "Nazwa kanału"
-#: ../../Zotlabs/Module/New_channel.php:177 ../../Zotlabs/Module/Register.php:510
+#: ../../Zotlabs/Module/New_channel.php:177
+#: ../../Zotlabs/Module/Register.php:510
msgid "Choose a short nickname"
msgstr "Wybierz krótki pseudonim"
-#: ../../Zotlabs/Module/New_channel.php:178 ../../Zotlabs/Module/Settings/Channel.php:537
+#: ../../Zotlabs/Module/New_channel.php:178
+#: ../../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."
+"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."
+"Wybierz rolę uprawnień do kanału, zgodną z Twoimi potrzebami użytkowania i "
+"wymaganiami dotyczącymi prywatności."
#: ../../Zotlabs/Module/New_channel.php:178
msgid "Read more about channel permission roles"
@@ -2517,17 +2459,19 @@ 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."
+"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."
+"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."
+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"
@@ -2551,15 +2495,20 @@ 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."
+"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. "
+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
@@ -2567,21 +2516,23 @@ msgstr "To konto i wszystkie jego kanały zostaną całkowicie usunięte z sieci
msgid "Remove Account"
msgstr "Usuń konto"
-#: ../../Zotlabs/Module/Filestorage.php:14 ../../Zotlabs/Module/Filestorage.php:53
+#: ../../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:424 ../../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:4011
+#: ../../Zotlabs/Module/Display.php:424 ../../Zotlabs/Module/Admin.php:61
+#: ../../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:3667
#: ../../extend/addon/hubzilla-addons/flashcards/Mod_Flashcards.php:284
#: ../../extend/addon/hubzilla-addons/flashcards/Mod_Flashcards.php:285
msgid "Item not found."
msgstr "Nie znaleziono elementu."
-#: ../../Zotlabs/Module/Filestorage.php:109 ../../Zotlabs/Module/Attach_edit.php:69
+#: ../../Zotlabs/Module/Filestorage.php:109
+#: ../../Zotlabs/Module/Attach_edit.php:69
msgid "File not found."
msgstr "Nie znaleziono pliku."
@@ -2593,10 +2544,11 @@ msgstr "Odmowa dostępu."
msgid "Edit file permissions"
msgstr "Edytuj uprawnienia do pliku"
-#: ../../Zotlabs/Module/Filestorage.php:195 ../../Zotlabs/Module/Connedit.php:683
-#: ../../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:154
+#: ../../Zotlabs/Module/Filestorage.php:195
+#: ../../Zotlabs/Module/Connedit.php:675 ../../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:154
#: ../../extend/addon/hubzilla-addons/flashcards/Mod_Flashcards.php:254
msgid "Permissions"
msgstr "Uprawnienia"
@@ -2614,11 +2566,13 @@ msgstr "Uwzględnij wszystkie pliki i podfoldery"
msgid "Return to file list"
msgstr "Wróć do listy plików"
-#: ../../Zotlabs/Module/Filestorage.php:206 ../../Zotlabs/Storage/Browser.php:386
+#: ../../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 wpisu"
-#: ../../Zotlabs/Module/Filestorage.php:207 ../../Zotlabs/Storage/Browser.php:387
+#: ../../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 połączyć plik ze strony internetowej"
@@ -2630,30 +2584,35 @@ msgstr "Udostępnij ten plik"
msgid "Show URL to this file"
msgstr "Pokaż adres URL do tego pliku"
-#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Storage/Browser.php:552
+#: ../../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/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:1345
+#: ../../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:99 ../../include/conversation.php:1340
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:95
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:167
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:310
msgid "Insert web link"
msgstr "Wstaw link internetowy"
-#: ../../Zotlabs/Module/Card_edit.php:118 ../../Zotlabs/Module/Editblock.php:129
-#: ../../Zotlabs/Module/Photos.php:674 ../../Zotlabs/Module/Photos.php:1044
-#: ../../Zotlabs/Module/Article_edit.php:117 ../../include/conversation.php:1477
+#: ../../Zotlabs/Module/Card_edit.php:118
+#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674
+#: ../../Zotlabs/Module/Photos.php:1044
+#: ../../Zotlabs/Module/Article_edit.php:116
+#: ../../include/conversation.php:1472
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:221
msgid "Title (optional)"
msgstr "Tytuł (opcjonalnie)"
@@ -2666,28 +2625,28 @@ msgstr "Edytuj kartę"
msgid "No connections."
msgstr "Brak połączeń."
-#: ../../Zotlabs/Module/Viewconnections.php:80 ../../Zotlabs/Module/Connections.php:289
-#: ../../include/text.php:1038
+#: ../../Zotlabs/Module/Viewconnections.php:80
+#: ../../Zotlabs/Module/Connections.php:289 ../../include/text.php:1038
msgid "Accepts"
msgstr "Akceptacje"
-#: ../../Zotlabs/Module/Viewconnections.php:83 ../../Zotlabs/Module/Connections.php:292
-#: ../../include/text.php:1041
+#: ../../Zotlabs/Module/Viewconnections.php:83
+#: ../../Zotlabs/Module/Connections.php:292 ../../include/text.php:1041
msgid "Comments"
msgstr "Komentarze"
-#: ../../Zotlabs/Module/Viewconnections.php:88 ../../Zotlabs/Module/Connections.php:297
-#: ../../include/text.php:1046
+#: ../../Zotlabs/Module/Viewconnections.php:88
+#: ../../Zotlabs/Module/Connections.php:297 ../../include/text.php:1046
msgid "Stream items"
msgstr "Elementy strumienia"
-#: ../../Zotlabs/Module/Viewconnections.php:93 ../../Zotlabs/Module/Connections.php:302
-#: ../../include/text.php:1051
+#: ../../Zotlabs/Module/Viewconnections.php:93
+#: ../../Zotlabs/Module/Connections.php:302 ../../include/text.php:1051
msgid "Wall posts"
msgstr "Wpisy ścienne"
-#: ../../Zotlabs/Module/Viewconnections.php:97 ../../Zotlabs/Module/Connections.php:306
-#: ../../include/text.php:1055
+#: ../../Zotlabs/Module/Viewconnections.php:97
+#: ../../Zotlabs/Module/Connections.php:306 ../../include/text.php:1055
msgid "Nothing"
msgstr "Nic"
@@ -2718,11 +2677,11 @@ msgstr "Dodaj aplikację OAuth2"
#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149
msgid "Grant Types"
-msgstr "Rodzaje dofinansowań"
+msgstr "Rodzaje zezwoleń"
#: ../../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"
+msgstr "pozostaw puste, chyba że Twoja aplikacja jawnie tego wymaga"
#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150
msgid "Authorization scope"
@@ -2738,9 +2697,10 @@ 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"
+msgstr "Podłączone aplikacje OAuth2"
-#: ../../Zotlabs/Module/Wiki.php:35 ../../extend/addon/hubzilla-addons/cart/cart.php:1410
+#: ../../Zotlabs/Module/Wiki.php:35
+#: ../../extend/addon/hubzilla-addons/cart/cart.php:1410
#: ../../extend/addon/hubzilla-addons/flashcards/Mod_Flashcards.php:51
msgid "Profile Unavailable."
msgstr "Profil niedostępny."
@@ -2753,7 +2713,8 @@ msgstr "Aplikacja Wiki"
msgid "Provide a wiki for your channel"
msgstr "Udostępnij wiki dla swojego kanału"
-#: ../../Zotlabs/Module/Wiki.php:77 ../../extend/addon/hubzilla-addons/cart/cart.php:1556
+#: ../../Zotlabs/Module/Wiki.php:77
+#: ../../extend/addon/hubzilla-addons/cart/cart.php:1556
#: ../../extend/addon/hubzilla-addons/cart/submodules/paypalbuttonV2.php:478
#: ../../extend/addon/hubzilla-addons/cart/submodules/paypalbutton.php:456
#: ../../extend/addon/hubzilla-addons/cart/myshop.php:37
@@ -2791,21 +2752,22 @@ msgid "Content type"
msgstr "Rodzaj treści"
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Module/Wiki.php:370
-#: ../../Zotlabs/Widget/Wiki_pages.php:38 ../../Zotlabs/Widget/Wiki_pages.php:95
-#: ../../include/text.php:2118 ../../extend/addon/hubzilla-addons/mdpost/mdpost.php:41
+#: ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2100
+#: ../../extend/addon/hubzilla-addons/mdpost/mdpost.php:41
msgid "Markdown"
msgstr "Markdown"
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Module/Wiki.php:370
-#: ../../Zotlabs/Widget/Wiki_pages.php:38 ../../Zotlabs/Widget/Wiki_pages.php:95
-#: ../../include/text.php:2116
+#: ../../Zotlabs/Widget/Wiki_pages.php:38
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2098
msgid "BBcode"
msgstr "BBcode"
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2119
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2101
msgid "Text"
-msgstr "Text"
+msgstr "Tekst"
#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Storage/Browser.php:378
msgid "Type"
@@ -2873,27 +2835,27 @@ msgstr "Nowa nazwa strony"
msgid "Embed image from photo albums"
msgstr "Osadź obraz z albumów fotograficznych"
-#: ../../Zotlabs/Module/Wiki.php:399 ../../include/conversation.php:1459
+#: ../../Zotlabs/Module/Wiki.php:399 ../../include/conversation.php:1454
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:208
msgid "Embed an image from your albums"
msgstr "Osadź obraz ze swoich albumów"
#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Profile_photo.php:508
-#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1461
-#: ../../include/conversation.php:1514
+#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1456
+#: ../../include/conversation.php:1509
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:210
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:257
msgid "OK"
msgstr "Dobrze"
#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:509
-#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1387
+#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1382
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:139
msgid "Choose images to embed"
msgstr "Wybierz zdjęcie do osadzenia"
#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:510
-#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1388
+#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1383
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:140
msgid "Choose an album"
msgstr "Wybierz album"
@@ -2904,19 +2866,19 @@ msgid "Choose a different album"
msgstr "Wybierz inny album"
#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:512
-#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1390
+#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1385
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:142
msgid "Error getting album list"
msgstr "Błąd podczas pobierania listy albumów"
#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:513
-#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1391
+#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1386
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:143
msgid "Error getting photo link"
msgstr "Błąd podczas pobierania linku do zdjęcia"
#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:514
-#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1392
+#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1387
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:144
msgid "Error getting album"
msgstr "Błąd podczas pobierania albumu"
@@ -2982,7 +2944,7 @@ msgstr "Trzeba być uwierzytelnionym."
msgid "Block Name"
msgstr "Nazwa bloku"
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2712
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2673
msgid "Blocks"
msgstr "Bloki"
@@ -2998,58 +2960,63 @@ msgstr "Wpis ocenzurowany"
msgid "Entry uncensored"
msgstr "Wpis nieocenzurowany"
-#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66
+#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:65
msgid "Location not found."
msgstr "Nie znaleziono lokalizacji."
-#: ../../Zotlabs/Module/Locs.php:75
+#: ../../Zotlabs/Module/Locs.php:74
msgid "Location lookup failed."
msgstr "Wyszukiwanie lokalizacji nie powiodło się."
-#: ../../Zotlabs/Module/Locs.php:79
+#: ../../Zotlabs/Module/Locs.php:78
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ą."
+"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
+#: ../../Zotlabs/Module/Locs.php:106
msgid "Syncing locations"
msgstr "Synchronizuję lokalizacje"
-#: ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Locs.php:115
msgid "No locations found."
msgstr "Nie znaleziono żadnych lokalizacji."
-#: ../../Zotlabs/Module/Locs.php:127
+#: ../../Zotlabs/Module/Locs.php:125
msgid "Manage Channel Locations"
msgstr "Zarządzaj lokalizacjami kanałów"
-#: ../../Zotlabs/Module/Locs.php:130
+#: ../../Zotlabs/Module/Locs.php:128
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:285
msgid "Primary"
msgstr "Podstawowy"
-#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177
+#: ../../Zotlabs/Module/Locs.php:129 ../../Zotlabs/Module/Menu.php:177
msgid "Drop"
msgstr "Upuść"
-#: ../../Zotlabs/Module/Locs.php:133
+#: ../../Zotlabs/Module/Locs.php:131
msgid "Sync Now"
msgstr "Synchronizuj teraz"
-#: ../../Zotlabs/Module/Locs.php:134
+#: ../../Zotlabs/Module/Locs.php:132
msgid "Please wait several minutes between consecutive operations."
msgstr "Poczekaj kilka minut między kolejnymi operacjami."
-#: ../../Zotlabs/Module/Locs.php:135
+#: ../../Zotlabs/Module/Locs.php:133
msgid ""
-"When possible, drop a location by logging into that website/hub and removing your "
-"channel."
+"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 portalu i usuwając swój kanał."
+"Jeśli to możliwe, upuść lokalizację, logując się do tego portalu i usuwając "
+"swój kanał."
-#: ../../Zotlabs/Module/Locs.php:136
+#: ../../Zotlabs/Module/Locs.php:134
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 portal już nie działa."
+msgstr ""
+"Użyj tego formularza, aby usunąć lokalizację, jeśli portal już nie działa."
#: ../../Zotlabs/Module/Chatsvc.php:131
msgid "Away"
@@ -3073,343 +3040,353 @@ msgstr "Pliki"
msgid "Could not locate selected profile."
msgstr "Nie udało się znaleźć wybranego profilu."
-#: ../../Zotlabs/Module/Connedit.php:265
+#: ../../Zotlabs/Module/Connedit.php:262
msgid "Connection updated."
msgstr "Zaktualizowano połączenie."
-#: ../../Zotlabs/Module/Connedit.php:267
+#: ../../Zotlabs/Module/Connedit.php:264
msgid "Failed to update connection record."
msgstr "Nie udało się zaktualizować zapisu połączenia."
-#: ../../Zotlabs/Module/Connedit.php:310
+#: ../../Zotlabs/Module/Connedit.php:307
msgid "is now connected to"
msgstr "jest teraz połączony z"
-#: ../../Zotlabs/Module/Connedit.php:435
+#: ../../Zotlabs/Module/Connedit.php:432
msgid "Could not access address book record."
msgstr "Nie można uzyskać dostępu do rekordu książki adresowej."
-#: ../../Zotlabs/Module/Connedit.php:483 ../../Zotlabs/Module/Connedit.php:487
+#: ../../Zotlabs/Module/Connedit.php:480
msgid "Refresh failed - channel is currently unavailable."
msgstr "Odświeżenie nie powiodło się - kanał jest obecnie niedostępny."
-#: ../../Zotlabs/Module/Connedit.php:502 ../../Zotlabs/Module/Connedit.php:511
-#: ../../Zotlabs/Module/Connedit.php:520 ../../Zotlabs/Module/Connedit.php:529
-#: ../../Zotlabs/Module/Connedit.php:542
+#: ../../Zotlabs/Module/Connedit.php:494 ../../Zotlabs/Module/Connedit.php:503
+#: ../../Zotlabs/Module/Connedit.php:512 ../../Zotlabs/Module/Connedit.php:521
+#: ../../Zotlabs/Module/Connedit.php:534
msgid "Unable to set address book parameters."
msgstr "Nie można ustawić parametrów książki adresowej."
-#: ../../Zotlabs/Module/Connedit.php:561
+#: ../../Zotlabs/Module/Connedit.php:553
msgid "Connection has been removed."
msgstr "Połączenie zostało usunięte."
-#: ../../Zotlabs/Module/Connedit.php:601 ../../Zotlabs/Lib/Apps.php:344
-#: ../../include/conversation.php:1083 ../../include/nav.php:115
+#: ../../Zotlabs/Module/Connedit.php:593 ../../Zotlabs/Lib/Apps.php:344
+#: ../../include/conversation.php:1078 ../../include/nav.php:115
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:57
msgid "View Profile"
msgstr "Wyświetl profil"
-#: ../../Zotlabs/Module/Connedit.php:604
+#: ../../Zotlabs/Module/Connedit.php:596
#, php-format
msgid "View %s's profile"
msgstr "Wyświetl profil %s"
-#: ../../Zotlabs/Module/Connedit.php:608
+#: ../../Zotlabs/Module/Connedit.php:600
msgid "Refresh Permissions"
msgstr "Odśwież uprawnienia"
-#: ../../Zotlabs/Module/Connedit.php:611
+#: ../../Zotlabs/Module/Connedit.php:603
msgid "Fetch updated permissions"
msgstr "Pobierz zaktualizowane uprawnienia"
-#: ../../Zotlabs/Module/Connedit.php:615
+#: ../../Zotlabs/Module/Connedit.php:607
msgid "Refresh Photo"
msgstr "Odśwież zdjęcie"
-#: ../../Zotlabs/Module/Connedit.php:618
+#: ../../Zotlabs/Module/Connedit.php:610
msgid "Fetch updated photo"
msgstr "Pobierz zaktualizowane zdjęcie"
-#: ../../Zotlabs/Module/Connedit.php:622 ../../include/conversation.php:1093
+#: ../../Zotlabs/Module/Connedit.php:614 ../../include/conversation.php:1088
msgid "Recent Activity"
msgstr "Ostatnia aktywność"
-#: ../../Zotlabs/Module/Connedit.php:625
+#: ../../Zotlabs/Module/Connedit.php:617
msgid "View recent posts and comments"
msgstr "Wyświetl najnowsze wpisy i komentarze"
-#: ../../Zotlabs/Module/Connedit.php:629 ../../Zotlabs/Module/Admin/Accounts.php:322
+#: ../../Zotlabs/Module/Connedit.php:621
+#: ../../Zotlabs/Module/Admin/Accounts.php:322
msgid "Unblock"
msgstr "Odblokuj"
-#: ../../Zotlabs/Module/Connedit.php:629 ../../Zotlabs/Module/Admin/Accounts.php:321
+#: ../../Zotlabs/Module/Connedit.php:621
+#: ../../Zotlabs/Module/Admin/Accounts.php:321
msgid "Block"
msgstr "Zablokuj"
-#: ../../Zotlabs/Module/Connedit.php:632
+#: ../../Zotlabs/Module/Connedit.php:624
msgid "Block (or Unblock) all communications with this connection"
msgstr "Zablokuj (lub odblokuj) całą komunikację z tym połączeniem"
-#: ../../Zotlabs/Module/Connedit.php:633
+#: ../../Zotlabs/Module/Connedit.php:625
msgid "This connection is blocked!"
msgstr "To połączenie jest zablokowane!"
-#: ../../Zotlabs/Module/Connedit.php:637
+#: ../../Zotlabs/Module/Connedit.php:629
msgid "Unignore"
msgstr "Przestań ignorować"
-#: ../../Zotlabs/Module/Connedit.php:637 ../../Zotlabs/Module/Connections.php:345
+#: ../../Zotlabs/Module/Connedit.php:629
+#: ../../Zotlabs/Module/Connections.php:345
msgid "Ignore"
msgstr "Ignoruj"
-#: ../../Zotlabs/Module/Connedit.php:640
+#: ../../Zotlabs/Module/Connedit.php:632
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:641
+#: ../../Zotlabs/Module/Connedit.php:633
msgid "This connection is ignored!"
msgstr "To połączenie jest ignorowane!"
-#: ../../Zotlabs/Module/Connedit.php:645
+#: ../../Zotlabs/Module/Connedit.php:637
msgid "Unarchive"
msgstr "Przywróć z archiwum"
-#: ../../Zotlabs/Module/Connedit.php:645
+#: ../../Zotlabs/Module/Connedit.php:637
msgid "Archive"
msgstr "Archiwizuj"
-#: ../../Zotlabs/Module/Connedit.php:648
-msgid "Archive (or Unarchive) this connection - mark channel dead but keep content"
+#: ../../Zotlabs/Module/Connedit.php:640
+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ść"
+"Archiwizuj (lub przywróć) to połączenie - zaznacz kanał jako martwy, ale "
+"zachowaj zawartość"
-#: ../../Zotlabs/Module/Connedit.php:649
+#: ../../Zotlabs/Module/Connedit.php:641
msgid "This connection is archived!"
msgstr "To połączenie zostało zarchiwizowane!"
-#: ../../Zotlabs/Module/Connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:645
msgid "Unhide"
msgstr "Odkryj"
-#: ../../Zotlabs/Module/Connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:645
msgid "Hide"
msgstr "Ukryj"
-#: ../../Zotlabs/Module/Connedit.php:656
+#: ../../Zotlabs/Module/Connedit.php:648
msgid "Hide or Unhide this connection from your other connections"
msgstr "Ukryj lub odkryj to połączenie na liście innymi połączeń"
-#: ../../Zotlabs/Module/Connedit.php:657
+#: ../../Zotlabs/Module/Connedit.php:649
msgid "This connection is hidden!"
msgstr "To połączenie jest ukryte!"
-#: ../../Zotlabs/Module/Connedit.php:664
+#: ../../Zotlabs/Module/Connedit.php:656
msgid "Delete this connection"
msgstr "Usuń to połączenie"
-#: ../../Zotlabs/Module/Connedit.php:672
+#: ../../Zotlabs/Module/Connedit.php:664
msgid "Fetch Vcard"
msgstr "Pobierz Vcard"
-#: ../../Zotlabs/Module/Connedit.php:675
+#: ../../Zotlabs/Module/Connedit.php:667
msgid "Fetch electronic calling card for this connection"
msgstr "Pobierz kartę rozmów elektronicznych dla tego połączenia"
-#: ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Connedit.php:678
msgid "Open Individual Permissions section by default"
msgstr "Otwórz domyślnie sekcję Uprawnienia indywidualne"
-#: ../../Zotlabs/Module/Connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:701
msgid "Affinity"
msgstr "Stopień zaprzyjaźnienie"
-#: ../../Zotlabs/Module/Connedit.php:712
+#: ../../Zotlabs/Module/Connedit.php:704
msgid "Open Set Affinity section by default"
msgstr "Otwieraj domyślnie sekcję Ustaw stopień zaprzyjażnienia"
-#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:30
+#: ../../Zotlabs/Module/Connedit.php:708 ../../Zotlabs/Widget/Affinity.php:30
msgid "Me"
msgstr "Ja"
-#: ../../Zotlabs/Module/Connedit.php:717 ../../Zotlabs/Widget/Affinity.php:31
+#: ../../Zotlabs/Module/Connedit.php:709 ../../Zotlabs/Widget/Affinity.php:31
msgid "Family"
msgstr "Rodzina"
-#: ../../Zotlabs/Module/Connedit.php:718 ../../Zotlabs/Module/Settings/Channel.php:71
+#: ../../Zotlabs/Module/Connedit.php:710
+#: ../../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:506 ../../include/channel.php:509
-#: ../../include/selectors.php:134
+#: ../../Zotlabs/Module/Settings/Channel.php:90
+#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:457
+#: ../../include/channel.php:460 ../../include/selectors.php:134
msgid "Friends"
msgstr "Przyjaciele"
-#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Widget/Affinity.php:33
+#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:33
msgid "Acquaintances"
msgstr "Znajomi"
-#: ../../Zotlabs/Module/Connedit.php:720 ../../Zotlabs/Module/Connections.php:97
-#: ../../Zotlabs/Module/Connections.php:111 ../../Zotlabs/Widget/Affinity.php:34
+#: ../../Zotlabs/Module/Connedit.php:712
+#: ../../Zotlabs/Module/Connections.php:97
+#: ../../Zotlabs/Module/Connections.php:111
+#: ../../Zotlabs/Widget/Affinity.php:34
msgid "All"
msgstr "Wszyscy"
-#: ../../Zotlabs/Module/Connedit.php:749
+#: ../../Zotlabs/Module/Connedit.php:741
msgid "Filter"
msgstr "Filtr"
-#: ../../Zotlabs/Module/Connedit.php:752
+#: ../../Zotlabs/Module/Connedit.php:744
msgid "Open Custom Filter section by default"
msgstr "Otwieraj domyślnie sekcję Własny filtr"
-#: ../../Zotlabs/Module/Connedit.php:789
+#: ../../Zotlabs/Module/Connedit.php:781
msgid "Approve this connection"
msgstr "Zatwierdź to połączenie"
-#: ../../Zotlabs/Module/Connedit.php:789
+#: ../../Zotlabs/Module/Connedit.php:781
msgid "Accept connection to allow communication"
msgstr "Zaakceptuj połączenie, aby umożliwić komunikację"
-#: ../../Zotlabs/Module/Connedit.php:794
+#: ../../Zotlabs/Module/Connedit.php:786
msgid "Set Affinity"
msgstr "Ustaw stopień zaprzyjaźnienia"
-#: ../../Zotlabs/Module/Connedit.php:797
+#: ../../Zotlabs/Module/Connedit.php:789
msgid "Set Profile"
msgstr "Ustaw profil"
-#: ../../Zotlabs/Module/Connedit.php:800
+#: ../../Zotlabs/Module/Connedit.php:792
msgid "Set Affinity & Profile"
msgstr "Ustaw stopień zaprzyjaźnienia i profil"
-#: ../../Zotlabs/Module/Connedit.php:848
+#: ../../Zotlabs/Module/Connedit.php:840
msgid "This connection is unreachable from this location."
msgstr "To połączenie jest nieosiągalne z tej lokalizacji."
-#: ../../Zotlabs/Module/Connedit.php:849
+#: ../../Zotlabs/Module/Connedit.php:841
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:851
+#: ../../Zotlabs/Module/Connedit.php:843
msgid "Location independence is not supported by their network."
msgstr "Niezależność lokalizacji nie jest obsługiwana przez ich sieć."
-#: ../../Zotlabs/Module/Connedit.php:857
+#: ../../Zotlabs/Module/Connedit.php:849
msgid ""
-"This connection is unreachable from this location. Location independence is not "
-"supported by their network."
+"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ć."
+"To połączenie jest nieosiągalne z tej lokalizacji. Niezależność lokalizacji "
+"nie jest obsługiwana przez ich sieć."
-#: ../../Zotlabs/Module/Connedit.php:860 ../../include/items.php:4618
+#: ../../Zotlabs/Module/Connedit.php:852 ../../include/items.php:4274
#, php-format
msgid "Connection: %s"
msgstr "Połączenie: %s"
-#: ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Module/Connedit.php:853
msgid "Connection requests will be approved without your interaction"
msgstr "Prośby o połączenie zostaną zatwierdzone bez Twojej interakcji"
-#: ../../Zotlabs/Module/Connedit.php:870
+#: ../../Zotlabs/Module/Connedit.php:862
msgid "This connection's primary address is"
msgstr "Podstawowy adres tego połączenia to"
-#: ../../Zotlabs/Module/Connedit.php:871
+#: ../../Zotlabs/Module/Connedit.php:863
msgid "Available locations:"
msgstr "Dostępne lokalizacje:"
-#: ../../Zotlabs/Module/Connedit.php:877
+#: ../../Zotlabs/Module/Connedit.php:869
msgid "Connection Tools"
msgstr "Narzędzia połączeń"
-#: ../../Zotlabs/Module/Connedit.php:879
+#: ../../Zotlabs/Module/Connedit.php:871
msgid "Slide to adjust your degree of friendship"
msgstr "Przesuń, aby dostosować stopień zaprzyjaźnienia"
-#: ../../Zotlabs/Module/Connedit.php:880 ../../Zotlabs/Module/Rate.php:157
-#: ../../include/js_strings.php:20
+#: ../../Zotlabs/Module/Connedit.php:872 ../../include/js_strings.php:20
msgid "Rating"
msgstr "Ocena"
-#: ../../Zotlabs/Module/Connedit.php:881
+#: ../../Zotlabs/Module/Connedit.php:873
msgid "Slide to adjust your rating"
msgstr "Przesuń, aby dostosować swoją ocenę"
-#: ../../Zotlabs/Module/Connedit.php:882 ../../Zotlabs/Module/Connedit.php:887
+#: ../../Zotlabs/Module/Connedit.php:874 ../../Zotlabs/Module/Connedit.php:879
msgid "Optionally explain your rating"
msgstr "Ewentualnie wyjaśnij swoją ocenę"
-#: ../../Zotlabs/Module/Connedit.php:884
+#: ../../Zotlabs/Module/Connedit.php:876
msgid "Custom Filter"
msgstr "Własny filtr"
-#: ../../Zotlabs/Module/Connedit.php:885
+#: ../../Zotlabs/Module/Connedit.php:877
msgid "Only import posts with this text"
msgstr "Importuj tylko wpisy z tym tekstem"
-#: ../../Zotlabs/Module/Connedit.php:885 ../../Zotlabs/Module/Connedit.php:886
-#: ../../Zotlabs/Module/Admin/Site.php:512 ../../Zotlabs/Module/Admin/Site.php:513
+#: ../../Zotlabs/Module/Connedit.php:877 ../../Zotlabs/Module/Connedit.php:878
+#: ../../Zotlabs/Module/Admin/Site.php:512
+#: ../../Zotlabs/Module/Admin/Site.php:513
msgid ""
-"words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"
+"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 wpisy"
+"słowa po jednym w wierszu lub #tags lub /patterns/ lub lang=xx, pozostaw "
+"puste, aby zaimportować wszystkie wpisy"
-#: ../../Zotlabs/Module/Connedit.php:886
+#: ../../Zotlabs/Module/Connedit.php:878
msgid "Do not import posts with this text"
msgstr "Nie importuj wpisów z tym tekstem"
-#: ../../Zotlabs/Module/Connedit.php:888
+#: ../../Zotlabs/Module/Connedit.php:880
msgid "This information is public!"
msgstr "Ta informacja jest publiczna!"
-#: ../../Zotlabs/Module/Connedit.php:893
+#: ../../Zotlabs/Module/Connedit.php:885
msgid "Connection Pending Approval"
msgstr "Połączenie oczekujące na zatwierdzenie"
-#: ../../Zotlabs/Module/Connedit.php:898
+#: ../../Zotlabs/Module/Connedit.php:890
#, php-format
msgid ""
-"Please choose the profile you would like to display to %s when viewing your profile "
-"securely."
+"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."
+"Wybierz profil, który chcesz wyświetlić dla %s, podczas bezpiecznego "
+"przeglądania swojego profilu."
-#: ../../Zotlabs/Module/Connedit.php:900 ../../Zotlabs/Module/Tokens.php:180
+#: ../../Zotlabs/Module/Connedit.php:892 ../../Zotlabs/Module/Tokens.php:180
msgid "Their Settings"
msgstr "Ich ustawienia"
-#: ../../Zotlabs/Module/Connedit.php:904 ../../Zotlabs/Module/Tokens.php:187
+#: ../../Zotlabs/Module/Connedit.php:896 ../../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."
+"\"><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ń."
+"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:905
+#: ../../Zotlabs/Module/Connedit.php:897
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."
+"\"><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."
+"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:906
+#: ../../Zotlabs/Module/Connedit.php:898
msgid "Last update:"
msgstr "Ostatnia aktualizacja:"
-#: ../../Zotlabs/Module/Connedit.php:914
+#: ../../Zotlabs/Module/Connedit.php:906
msgid "Details"
msgstr "Szczegóły"
@@ -3500,11 +3477,11 @@ msgstr "Twój identyfikator logowania to"
#: ../../Zotlabs/Module/Regate.php:340
msgid ""
-"After your account has been approved by our administrator you will be able to login "
-"with your login ID and your provided password."
+"After your account has been approved by our administrator you will be able "
+"to login with your login ID and your provided password."
msgstr ""
-"Po zatwierdzeniu konta przez naszego administratora będziesz mógł zalogować się za "
-"pomocą swojego identyfikatora logowania i podanego hasła."
+"Po zatwierdzeniu konta przez naszego administratora będziesz mógł zalogować "
+"się za pomocą swojego identyfikatora logowania i podanego hasła."
#: ../../Zotlabs/Module/Regate.php:352
msgid "Registration request revoked"
@@ -3542,67 +3519,76 @@ msgstr "Nieznany lub wygasły identyfikator"
msgid "dId2 malformed"
msgstr "źle sformułowany dId2"
-#: ../../Zotlabs/Module/Profile_photo.php:93 ../../Zotlabs/Module/Cover_photo.php:85
+#: ../../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
+#: ../../Zotlabs/Module/Profile_photo.php:147
+#: ../../Zotlabs/Module/Profile_photo.php:284
#: ../../include/photo/photo_driver.php:435
msgid "Profile Photos"
msgstr "Zdjęcia profilowe"
-#: ../../Zotlabs/Module/Profile_photo.php:166 ../../Zotlabs/Module/Cover_photo.php:212
+#: ../../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/hubzilla-addons/openclipatar/openclipatar.php:298
msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not display "
-"immediately."
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
msgstr ""
-"Przeładuj stronę lub wyczyść pamięć podręczną przeglądarki, jeśli nowe zdjęcie nie "
-"zostanie wyświetlone od razu."
+"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
+#: ../../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
+#: ../../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
+#: ../../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
+#: ../../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"
+"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"
+"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."
+"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
+#: ../../Zotlabs/Module/Profile_photo.php:497
+#: ../../Zotlabs/Module/Cover_photo.php:420
msgid "Upload File:"
msgstr "Prześlij plik:"
-#: ../../Zotlabs/Module/Profile_photo.php:498 ../../Zotlabs/Module/Cover_photo.php:421
+#: ../../Zotlabs/Module/Profile_photo.php:498
+#: ../../Zotlabs/Module/Cover_photo.php:421
msgid "Select a profile:"
msgstr "Wybierz profil:"
@@ -3618,39 +3604,47 @@ msgstr "Zmień zdjęcie profilowe"
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:189
+#: ../../Zotlabs/Module/Profile_photo.php:500
+#: ../../Zotlabs/Module/Photos.php:688 ../../Zotlabs/Module/Cover_photo.php:423
+#: ../../Zotlabs/Module/Embedphotos.php:189
#: ../../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/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/hubzilla-addons/superblock/Mod_Superblock.php:92
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
+#: ../../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
+#: ../../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
+#: ../../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
+#: ../../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
+#: ../../Zotlabs/Module/Profile_photo.php:538
+#: ../../Zotlabs/Module/Cover_photo.php:458
msgid "Done Editing"
msgstr "Zakończono edycję"
@@ -3662,12 +3656,13 @@ msgstr "Pliki: udostępnione mi"
msgid "NEW"
msgstr "NOWY"
-#: ../../Zotlabs/Module/Sharedwithme.php:108 ../../Zotlabs/Storage/Browser.php:379
-#: ../../include/text.php:1558
+#: ../../Zotlabs/Module/Sharedwithme.php:108
+#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1540
msgid "Size"
msgstr "Rozmiar"
-#: ../../Zotlabs/Module/Sharedwithme.php:109 ../../Zotlabs/Storage/Browser.php:380
+#: ../../Zotlabs/Module/Sharedwithme.php:109
+#: ../../Zotlabs/Storage/Browser.php:380
msgid "Last Modified"
msgstr "Ostatnio zmodyfikowane"
@@ -3683,42 +3678,37 @@ msgstr "Usuń ten plik"
msgid "Edit Layout"
msgstr "Edytuj układ"
-#: ../../Zotlabs/Module/Manage.php:145
+#: ../../Zotlabs/Module/Manage.php:135
msgid "Create a new channel"
msgstr "Utwórz nowy kanał"
-#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337
+#: ../../Zotlabs/Module/Manage.php:160 ../../Zotlabs/Lib/Apps.php:337
#: ../../include/nav.php:101
msgid "Channel Manager"
msgstr "Menadżer kanałów"
-#: ../../Zotlabs/Module/Manage.php:171
+#: ../../Zotlabs/Module/Manage.php:161
msgid "Current Channel"
msgstr "Bieżący kanał"
-#: ../../Zotlabs/Module/Manage.php:173
+#: ../../Zotlabs/Module/Manage.php:163
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
+#: ../../Zotlabs/Module/Manage.php:164
msgid "Default Channel"
msgstr "Domyślny kanał"
-#: ../../Zotlabs/Module/Manage.php:175
+#: ../../Zotlabs/Module/Manage.php:165
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
+#: ../../Zotlabs/Module/Manage.php:168
#, php-format
msgid "%d new introductions"
msgstr "%d nowych wprowadzeń"
-#: ../../Zotlabs/Module/Manage.php:181
+#: ../../Zotlabs/Module/Manage.php:170
msgid "Delegated Channel"
msgstr "Deleguj kanał"
@@ -3734,49 +3724,32 @@ msgstr "Nie można znaleźć oryginalnego wpisu."
msgid "Empty post discarded."
msgstr "Pusty wpis został odrzucony."
-#: ../../Zotlabs/Module/Item.php:1189
+#: ../../Zotlabs/Module/Item.php:1191
msgid "Duplicate post suppressed."
msgstr "Powielony wpis został wyłączony."
-#: ../../Zotlabs/Module/Item.php:1334
+#: ../../Zotlabs/Module/Item.php:1336
msgid "System error. Post not saved."
msgstr "Błąd systemu. Wpis nie został zapisany."
-#: ../../Zotlabs/Module/Item.php:1368
+#: ../../Zotlabs/Module/Item.php:1370
msgid "Your comment is awaiting approval."
msgstr "Twój komentarz oczekuje na zatwierdzenie."
-#: ../../Zotlabs/Module/Item.php:1498
+#: ../../Zotlabs/Module/Item.php:1500
msgid "Unable to obtain post information from database."
msgstr "Nie można uzyskać z bazy danych informacji o tym wpisie."
-#: ../../Zotlabs/Module/Item.php:1505
+#: ../../Zotlabs/Module/Item.php:1507
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Osiągnięty został limit %1$.0f wpisów najwyższego poziomu."
-#: ../../Zotlabs/Module/Item.php:1512
+#: ../../Zotlabs/Module/Item.php:1514
#, 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:158
-msgid "Website:"
-msgstr "Portal internetowy:"
-
-#: ../../Zotlabs/Module/Rate.php:161
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Kanał zdalny [% s] (jeszcze nieznany w tym portalu)"
-
-#: ../../Zotlabs/Module/Rate.php:162
-msgid "Rating (this information is public)"
-msgstr "Ocena (ta informacja jest publiczna)"
-
-#: ../../Zotlabs/Module/Rate.php:163
-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."
@@ -3785,25 +3758,25 @@ msgstr "Nieprawidłowy element."
#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173
#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77
#: ../../Zotlabs/Web/Router.php:186 ../../Zotlabs/Lib/NativeWikiPage.php:533
-#: ../../include/help.php:132
+#: ../../include/help.php:133
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."
+"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"
@@ -3866,48 +3839,49 @@ msgstr "Element %s został zainstalowany"
msgid "%s element installation failed"
msgstr "Instalacja elementu %s nie powiodła się"
-#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../Zotlabs/Widget/Pubsites.php:12
msgid "Public Hubs"
msgstr "Portale publiczne"
-#: ../../Zotlabs/Module/Pubsites.php:28
+#: ../../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."
+"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 portale umożliwiają publiczną rejestrację w sieci $Projectname. Wszystkie "
-"portale 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 portale mogą wymagać subskrypcji lub oferować "
-"stopniowe plany usług. Dodatkową informację można znaleźć na poszczególnych portalach."
+"Wymienione portale umożliwiają publiczną rejestrację w sieci $Projectname. "
+"Wszystkie portale 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 portale "
+"mogą wymagać subskrypcji lub oferować stopniowe plany usług. Dodatkową "
+"informację można znaleźć na poszczególnych portalach."
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Hub URL"
msgstr "Adres URL portalu"
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Access Type"
msgstr "Typ dostępu"
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Registration Policy"
msgstr "Zasady rejestracji"
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Stats"
msgstr "Statystyki"
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Software"
msgstr "Oprogramowanie"
-#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97
-#: ../../include/conversation.php:1133
+#: ../../Zotlabs/Module/Pubsites.php:35 ../../include/conversation.php:1128
msgid "Ratings"
msgstr "Oceny"
-#: ../../Zotlabs/Module/Pubsites.php:50
+#: ../../Zotlabs/Module/Pubsites.php:49
msgid "Rate"
msgstr "Ocena"
@@ -3948,7 +3922,7 @@ msgstr "Jestem dostępny"
msgid "Bookmark this room"
msgstr "Zaznacz ten pokój"
-#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1382
+#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1377
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:134
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:120
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:241
@@ -3956,7 +3930,7 @@ msgid "Please enter a link URL:"
msgstr "Proszę wprowadzić adres URL linku:"
#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:841
-#: ../../include/conversation.php:1512
+#: ../../include/conversation.php:1507
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:255
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:173
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:316
@@ -4006,30 +3980,31 @@ msgstr "Eksport Kanału"
#: ../../Zotlabs/Module/Uexport.php:75
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."
+"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 portalu, ale nie zawiera treści."
+"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 portalu, ale nie zawiera treści."
#: ../../Zotlabs/Module/Uexport.php:76
msgid "Export Content"
-msgstr "Eksport Treści"
+msgstr "Eksport treści"
#: ../../Zotlabs/Module/Uexport.php:77
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."
+"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 portalu. Tworzy to kopie zapasowe "
-"wszystkich połączeń, uprawnień, danych profilu i wpisów z kilku miesięcy. Ten plik "
-"może być BARDZO duży. Prosimy o cierpliwość - rozpoczęcie pobierania może zająć kilka "
-"minut."
+"Wyeksportuj informacje o kanale i najnowsze treści do kopii zapasowej JSON, "
+"którą można przywrócić lub zaimportować do innego portalu. Tworzy to kopie "
+"zapasowe wszystkich połączeń, uprawnień, danych profilu i wpisów z kilku "
+"miesięcy. Ten plik może być BARDZO duży. Prosimy o cierpliwość - rozpoczęcie "
+"pobierania może zająć kilka minut."
#: ../../Zotlabs/Module/Uexport.php:79
msgid "Export your posts from a given year."
@@ -4037,44 +4012,46 @@ msgstr "Eksportuj swoje wpisy z danego roku."
#: ../../Zotlabs/Module/Uexport.php:81
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."
+"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 wpisy i rozmowy z określonego roku 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 portalu), spróbuj "
-"ponownie, wybierając bardziej ograniczony zakres dat."
+"Można także wyeksportować swoje wpisy i rozmowy z określonego roku 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 portalu), spróbuj ponownie, wybierając bardziej ograniczony zakres "
+"dat."
#: ../../Zotlabs/Module/Uexport.php:82
#, 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 wpisy z danego roku, na przykład tego roku, odwiedź <a href=\"%1$s"
+"To select all posts for a given year, such as this year, visit <a href=\"%1$s"
"\">%2$s</a>"
+msgstr ""
+"Aby wybrać wszystkie wpisy z danego roku, na przykład tego roku, odwiedź <a "
+"href=\"%1$s\">%2$s</a>"
#: ../../Zotlabs/Module/Uexport.php:83
#, 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>"
+"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 wpisy z danego miesiąca, np. stycznia tego roku, odwiedź <a href="
-"\"%1$s\">%2$s</a>"
+"Aby wybrać wszystkie wpisy z danego miesiąca, np. stycznia tego roku, "
+"odwiedź <a href=\"%1$s\">%2$s</a>"
#: ../../Zotlabs/Module/Uexport.php:84
#, 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)."
+"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 portalu zawierającym Twój kanał. Aby uzyskać najlepsze wyniki, "
-"zaimportuj lub przywróć je w kolejności (od najstarszych)."
+"Te pliki treści można zaimportować lub przywrócić, odwiedzając stronę <a "
+"href=\"%1$s\">%2$s</a> w dowolnym portalu 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."
@@ -4096,13 +4073,13 @@ 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."
+"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ę."
+"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:1725
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1729
msgid "Password Reset"
msgstr "Resetowanie hasła"
@@ -4124,10 +4101,11 @@ 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."
+"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."
+"Twoje hasło może zostać zmienione na stronie <em>Ustawienia</em> po "
+"pomyślnym zalogowaniu."
#: ../../Zotlabs/Module/Lostpass.php:117
#, php-format
@@ -4140,11 +4118,11 @@ 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."
+"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."
+"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"
@@ -4162,39 +4140,12 @@ msgstr "Nieprawidłowa odpowiedź."
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
-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:354 ../../Zotlabs/Module/Channel.php:483
-msgid "You must enable javascript for your browser to be able to view this content."
+#: ../../Zotlabs/Module/Display.php:354 ../../Zotlabs/Module/Channel.php:496
+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."
+"Aby przeglądać te treści, musisz włączyć obsługę JavaScript w swojej "
+"przeglądarce."
#: ../../Zotlabs/Module/Display.php:372
msgid "Article"
@@ -4204,74 +4155,80 @@ msgstr "Artykuł"
msgid "Item has been removed."
msgstr "Element został usunięty."
-#: ../../Zotlabs/Module/Admin.php:96 ../../Zotlabs/Module/Admin/Accounts.php:308
-#: ../../Zotlabs/Module/Admin/Accounts.php:327 ../../Zotlabs/Widget/Admin.php:23
+#: ../../Zotlabs/Module/Admin.php:95
+#: ../../Zotlabs/Module/Admin/Accounts.php:308
+#: ../../Zotlabs/Module/Admin/Accounts.php:327
+#: ../../Zotlabs/Widget/Admin.php:23
msgid "Accounts"
msgstr "Konta"
-#: ../../Zotlabs/Module/Admin.php:97
+#: ../../Zotlabs/Module/Admin.php:96
msgid "Blocked accounts"
msgstr "Zablokowane konta"
-#: ../../Zotlabs/Module/Admin.php:98
+#: ../../Zotlabs/Module/Admin.php:97
msgid "Expired accounts"
msgstr "Wygasłe konta"
-#: ../../Zotlabs/Module/Admin.php:99
+#: ../../Zotlabs/Module/Admin.php:98
msgid "Expiring accounts"
msgstr "Wygasające konta"
-#: ../../Zotlabs/Module/Admin.php:117 ../../Zotlabs/Module/Admin/Channels.php:146
+#: ../../Zotlabs/Module/Admin.php:116
+#: ../../Zotlabs/Module/Admin/Channels.php:146
#: ../../Zotlabs/Widget/Admin.php:24
msgid "Channels"
msgstr "Kanały"
-#: ../../Zotlabs/Module/Admin.php:123
+#: ../../Zotlabs/Module/Admin.php:122
msgid "Message queues"
msgstr "Kolejki wiadomości"
-#: ../../Zotlabs/Module/Admin.php:137
+#: ../../Zotlabs/Module/Admin.php:136
msgid "Your software should be updated"
msgstr "Twoje oprogramowanie powinno zostać zaktualizowane"
-#: ../../Zotlabs/Module/Admin.php:141 ../../Zotlabs/Module/Admin/Themes.php:122
-#: ../../Zotlabs/Module/Admin/Themes.php:156 ../../Zotlabs/Module/Admin/Security.php:98
+#: ../../Zotlabs/Module/Admin.php:140 ../../Zotlabs/Module/Admin/Themes.php:122
+#: ../../Zotlabs/Module/Admin/Themes.php:156
+#: ../../Zotlabs/Module/Admin/Security.php:98
#: ../../Zotlabs/Module/Admin/Accounts.php:307
-#: ../../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/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:408
msgid "Administration"
msgstr "Administracja"
-#: ../../Zotlabs/Module/Admin.php:142
+#: ../../Zotlabs/Module/Admin.php:141
msgid "Summary"
msgstr "Podsumowanie"
-#: ../../Zotlabs/Module/Admin.php:145
+#: ../../Zotlabs/Module/Admin.php:144
msgid "Registered accounts"
msgstr "Zarejestrowane konta"
-#: ../../Zotlabs/Module/Admin.php:146
+#: ../../Zotlabs/Module/Admin.php:145
msgid "Pending registrations"
msgstr "Rejestracje oczekujące"
-#: ../../Zotlabs/Module/Admin.php:147
+#: ../../Zotlabs/Module/Admin.php:146
msgid "Registered channels"
msgstr "Zarejestrowane kanały"
-#: ../../Zotlabs/Module/Admin.php:148
+#: ../../Zotlabs/Module/Admin.php:147
msgid "Active addons"
msgstr "Aktywne dodatki"
-#: ../../Zotlabs/Module/Admin.php:149
+#: ../../Zotlabs/Module/Admin.php:148
msgid "Version"
msgstr "Wersja"
-#: ../../Zotlabs/Module/Admin.php:150
+#: ../../Zotlabs/Module/Admin.php:149
msgid "Repository version (master)"
msgstr "Wersja repozytorium (master)"
-#: ../../Zotlabs/Module/Admin.php:151
+#: ../../Zotlabs/Module/Admin.php:150
msgid "Repository version (dev)"
msgstr "Wersja repozytorium (dev)"
@@ -4337,19 +4294,20 @@ msgstr "Pokaż najpierw najnowsze"
msgid "Show Oldest First"
msgstr "Pokaż najpierw najstarsze"
-#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333
-#: ../../Zotlabs/Module/Embedphotos.php:171 ../../Zotlabs/Widget/Portfolio.php:87
-#: ../../Zotlabs/Widget/Album.php:78
+#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1331
+#: ../../Zotlabs/Module/Embedphotos.php:171
+#: ../../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/Photos.php:793 ../../Zotlabs/Module/Photos.php:1253
#: ../../Zotlabs/Module/Embedphotos.php:177 ../../Zotlabs/Lib/Apps.php:1112
-#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1552
+#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1553
#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:268
-#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1214
-#: ../../include/cdav.php:158 ../../include/cdav.php:159 ../../include/cdav.php:167
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1189
+#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1209
+#: ../../include/cdav.php:158 ../../include/cdav.php:159
+#: ../../include/cdav.php:167
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1196
msgid "Unknown"
msgstr "Nieznane"
@@ -4358,7 +4316,7 @@ msgstr "Nieznane"
msgid "Edit Album"
msgstr "Edytuj album"
-#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1362
msgid "Add Photos"
msgstr "Dodaj zdjęcia"
@@ -4404,7 +4362,7 @@ msgstr "Przenieś zdjęcie do albumu"
#: ../../Zotlabs/Module/Photos.php:1040
msgid "Enter a new album name"
-msgstr "Wpisz nową nazwę albumu"
+msgstr "Wprowadź nową nazwę albumu"
#: ../../Zotlabs/Module/Photos.php:1041
msgid "or select an existing one (doubleclick)"
@@ -4424,23 +4382,23 @@ msgstr "Oznacz jako \"dla dorosłych\" w widoku albumu"
#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:318
msgid "I like this (toggle)"
-msgstr "Podoba mis sie to (przełącz)"
+msgstr "Pochwalam to (przełącz)"
#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:319
msgid "I don't like this (toggle)"
-msgstr "Nie podoba mi się to (przełącz)"
+msgstr "Nie pochwalam tego (przełącz)"
#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:503
#: ../../include/conversation.php:830
msgid "Please wait"
msgstr "Proszę czekać"
-#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1211
#: ../../Zotlabs/Lib/ThreadItem.php:824
msgid "This is you"
msgstr "To jesteś ty"
-#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1213
#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/js_strings.php:6
msgid "Comment"
msgstr "Komentarz"
@@ -4448,12 +4406,12 @@ msgstr "Komentarz"
#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:652
msgctxt "title"
msgid "Likes"
-msgstr "Ocen pozytywnych"
+msgstr "Pochwały"
#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:653
msgctxt "title"
msgid "Dislikes"
-msgstr "Ocen negatywnych"
+msgstr "Zganienia"
#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:77
#: ../../include/conversation.php:654
@@ -4497,73 +4455,75 @@ msgid "View all"
msgstr "Pokaż wszystkie"
#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:243
-#: ../../include/conversation.php:1752 ../../include/channel.php:1809
+#: ../../include/conversation.php:1744 ../../include/channel.php:1729
#: ../../include/taxonomy.php:670
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
-msgstr[0] "Ocena pozytywna"
-msgstr[1] "Oceny pozytywne"
-msgstr[2] "Oce pozytywanych"
+msgstr[0] "Pochwała"
+msgstr[1] "Pochwały"
+msgstr[2] "Pochwał"
#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:248
-#: ../../include/conversation.php:1755
+#: ../../include/conversation.php:1747
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
-msgstr[0] "Ocena negartwna"
-msgstr[1] "Oceny negatywne"
-msgstr[2] "Ocen negatywnych"
+msgstr[0] "Zganienie"
+msgstr[1] "Zganienia"
+msgstr[2] "Zganień"
-#: ../../Zotlabs/Module/Photos.php:1247
+#: ../../Zotlabs/Module/Photos.php:1245
msgid "Photo Tools"
msgstr "Narzędzia fotograficzne"
-#: ../../Zotlabs/Module/Photos.php:1256
+#: ../../Zotlabs/Module/Photos.php:1254
msgid "In This Photo:"
msgstr "Na tym zdjęciu:"
-#: ../../Zotlabs/Module/Photos.php:1261
+#: ../../Zotlabs/Module/Photos.php:1259
msgid "Map"
msgstr "Mapa"
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:491
+#: ../../Zotlabs/Module/Photos.php:1267 ../../Zotlabs/Lib/ThreadItem.php:491
msgctxt "noun"
msgid "Likes"
-msgstr "Oceny pozytywne"
+msgstr "Pochwały"
-#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:492
+#: ../../Zotlabs/Module/Photos.php:1268 ../../Zotlabs/Lib/ThreadItem.php:492
msgctxt "noun"
msgid "Dislikes"
-msgstr "Oceny negatywne"
+msgstr "Zganienia"
-#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411
+#: ../../Zotlabs/Module/Photos.php:1273 ../../Zotlabs/Storage/Browser.php:411
#: ../../Zotlabs/Lib/ThreadItem.php:497 ../../Zotlabs/Widget/Pinned.php:158
#: ../../include/acl_selectors.php:156
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:233
msgid "Close"
msgstr "Zamknij"
-#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
-#: ../../Zotlabs/Module/Photos.php:1362 ../../include/photos.php:667
+#: ../../Zotlabs/Module/Photos.php:1346 ../../Zotlabs/Module/Photos.php:1359
+#: ../../Zotlabs/Module/Photos.php:1360 ../../include/photos.php:667
msgid "Recent Photos"
msgstr "Najnowsze zdjęcia"
-#: ../../Zotlabs/Module/Channel.php:131 ../../Zotlabs/Module/Profile.php:62
+#: ../../Zotlabs/Module/Channel.php:144 ../../Zotlabs/Module/Profile.php:62
#: ../../Zotlabs/Module/Hcard.php:37
msgid "Posts and comments"
msgstr "Wpisy i komentarze"
-#: ../../Zotlabs/Module/Channel.php:138 ../../Zotlabs/Module/Profile.php:69
+#: ../../Zotlabs/Module/Channel.php:151 ../../Zotlabs/Module/Profile.php:69
#: ../../Zotlabs/Module/Hcard.php:44
msgid "Only posts"
msgstr "Tylko wpisy"
-#: ../../Zotlabs/Module/Channel.php:206
+#: ../../Zotlabs/Module/Channel.php:219
msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Niewystarczające uprawnienia. Żądanie zostało przekierowane na stronę profilu."
+msgstr ""
+"Niewystarczające uprawnienia. Żądanie zostało przekierowane na stronę "
+"profilu."
-#: ../../Zotlabs/Module/Channel.php:221 ../../Zotlabs/Module/Network.php:168
+#: ../../Zotlabs/Module/Channel.php:234 ../../Zotlabs/Module/Network.php:168
msgid "Search Results For:"
msgstr "Wyniki wyszukiwania dla:"
@@ -4597,7 +4557,8 @@ 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"
+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
@@ -4633,44 +4594,54 @@ 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"
+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)"
+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ń)"
+"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"
+msgstr ""
+"Wyświetl strumień publiczny. Ostrzeżenie: ta zawartość nie jest moderowana"
-#: ../../Zotlabs/Module/Connections.php:58 ../../Zotlabs/Module/Connections.php:116
+#: ../../Zotlabs/Module/Connections.php:58
+#: ../../Zotlabs/Module/Connections.php:116
#: ../../Zotlabs/Module/Connections.php:274
msgid "Active"
msgstr "Aktywne"
-#: ../../Zotlabs/Module/Connections.php:63 ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:63
+#: ../../Zotlabs/Module/Connections.php:182
#: ../../Zotlabs/Module/Connections.php:279
msgid "Blocked"
msgstr "Zablokowane"
-#: ../../Zotlabs/Module/Connections.php:68 ../../Zotlabs/Module/Connections.php:189
+#: ../../Zotlabs/Module/Connections.php:68
+#: ../../Zotlabs/Module/Connections.php:189
#: ../../Zotlabs/Module/Connections.php:278
msgid "Ignored"
msgstr "Ignorowane"
-#: ../../Zotlabs/Module/Connections.php:73 ../../Zotlabs/Module/Connections.php:203
+#: ../../Zotlabs/Module/Connections.php:73
+#: ../../Zotlabs/Module/Connections.php:203
#: ../../Zotlabs/Module/Connections.php:277
msgid "Hidden"
msgstr "Ukryte"
-#: ../../Zotlabs/Module/Connections.php:78 ../../Zotlabs/Module/Connections.php:196
+#: ../../Zotlabs/Module/Connections.php:78
+#: ../../Zotlabs/Module/Connections.php:196
msgid "Archived/Unreachable"
msgstr "Zarchiwizowane/Nieosiągalne"
-#: ../../Zotlabs/Module/Connections.php:83 ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Notifications.php:53 ../../Zotlabs/Module/Menu.php:180
+#: ../../Zotlabs/Module/Connections.php:83
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Notifications.php:101 ../../Zotlabs/Module/Menu.php:180
msgid "New"
msgstr "Nowe"
@@ -4682,7 +4653,8 @@ msgstr "Aktywne połączenia"
msgid "Show active connections"
msgstr "Pokaż aktywne połączenia"
-#: ../../Zotlabs/Module/Connections.php:165 ../../Zotlabs/Widget/Notifications.php:104
+#: ../../Zotlabs/Module/Connections.php:165
+#: ../../Zotlabs/Widget/Notifications.php:89
msgid "New Connections"
msgstr "Nowe połączenia"
@@ -4759,7 +4731,8 @@ msgstr "Połączone"
msgid "Approve connection"
msgstr "Zatwierdź połączenie"
-#: ../../Zotlabs/Module/Connections.php:343 ../../Zotlabs/Module/Admin/Accounts.php:318
+#: ../../Zotlabs/Module/Connections.php:343
+#: ../../Zotlabs/Module/Admin/Accounts.php:318
#: ../../include/conversation.php:776
msgid "Approve"
msgstr "Zatwierdź"
@@ -4773,9 +4746,9 @@ msgid "Recent activity"
msgstr "Ostatnia aktywność"
#: ../../Zotlabs/Module/Connections.php:350 ../../Zotlabs/Module/Suggest.php:71
-#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32
-#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1103
-#: ../../include/channel.php:1646 ../../include/connections.php:110
+#: ../../Zotlabs/Module/Directory.php:369 ../../Zotlabs/Widget/Follow.php:32
+#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1098
+#: ../../include/channel.php:1566 ../../include/connections.php:110
msgid "Connect"
msgstr "Połączenie"
@@ -4796,8 +4769,9 @@ msgstr "Wyszukaj swoje połączenia"
msgid "Connections search"
msgstr "Wyszukiwanie połączeń"
-#: ../../Zotlabs/Module/Connections.php:382 ../../Zotlabs/Module/Directory.php:433
-#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23
+#: ../../Zotlabs/Module/Connections.php:382
+#: ../../Zotlabs/Module/Directory.php:432
+#: ../../Zotlabs/Module/Directory.php:437 ../../include/contact_widgets.php:23
msgid "Find"
msgstr "Znajdź"
@@ -4819,31 +4793,31 @@ msgstr "Wybierz znacznik do usunięcia: "
#: ../../Zotlabs/Module/Affinity.php:35
msgid "Affinity Tool settings updated."
-msgstr "Zaktualizowano ustawienia narzędzia koligacji."
+msgstr "Zaktualizowano ustawienia narzędzia więzi."
#: ../../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."
+"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."
+"Ta aplikacja przedstawia suwak w edytorze połączeń, a także na stronie "
+"internetowej. Suwak przedstawia stopień przyjaźni (więzi) 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 Narzędzie koligacji"
+msgstr "Aplikacja Narzędzie więzi"
#: ../../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."
+"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."
+"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"
@@ -4866,10 +4840,11 @@ 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"
+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"
+"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"
@@ -4887,7 +4862,7 @@ msgstr "Brak popularnych połączeń."
msgid "View Common Connections"
msgstr "Wyświetl popularne połączenia"
-#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2186
+#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2182
#, php-format
msgid "&#x1f501; Repeated %1$s's %2$s"
msgstr "&#x1f501; Powtórzony %2$s %1$s"
@@ -4908,25 +4883,26 @@ msgstr "Edytuj stronę internetową"
msgid "vcard"
msgstr "vcard"
-#: ../../Zotlabs/Module/Article_edit.php:128
+#: ../../Zotlabs/Module/Article_edit.php:127
msgid "Edit Article"
msgstr "Edytuj artykuł"
#: ../../Zotlabs/Module/Rmagic.php:46
msgid "Authentication failed."
-msgstr "Uwierzytelnianie nie powiodło się."
+msgstr "Uwierzytelnienie nie powiodło się."
-#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2625 ../../boot.php:1717
+#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2545
+#: ../../boot.php:1721
msgid "Remote Authentication"
-msgstr "Zdalne uwierzytelnianie"
+msgstr "Zdalne uwierzytelnienie"
-#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2626
+#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2546
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:2627
+#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2547
msgid "Authenticate"
-msgstr "Uwierzytelnianie"
+msgstr "Uwierzytelnienie"
#: ../../Zotlabs/Module/Attach.php:68
msgid "Item not available."
@@ -4934,7 +4910,8 @@ 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."
+msgstr ""
+"To ustawienie wymaga specjalnego przetwarzania, a edycja została zablokowana."
#: ../../Zotlabs/Module/Pconfig.php:57
msgid "Configuration Editor"
@@ -4942,13 +4919,13 @@ 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."
+"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ę kompetentnie i wiesz, jak prawidłowo "
-"korzystać z tej funkcji."
+"Ostrzeżenie: zmiana niektórych ustawień może spowodować, że Twój kanał "
+"przestanie działać. Opuść tę stronę, chyba że czujesz się kompetentnie i "
+"wiesz, jak prawidłowo korzystać z tej funkcji."
#: ../../Zotlabs/Module/Randprof.php:29
msgid "Random Channel App"
@@ -4966,11 +4943,13 @@ msgstr "Zaktualizowano ustawienia motywu."
msgid "No themes found."
msgstr "Nie znaleziono motywów."
-#: ../../Zotlabs/Module/Admin/Themes.php:95 ../../Zotlabs/Module/Admin/Addons.php:311
+#: ../../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
+#: ../../Zotlabs/Module/Admin/Themes.php:97
+#: ../../Zotlabs/Module/Admin/Addons.php:314
msgid "Enable"
msgstr "Włącz"
@@ -4978,26 +4957,30 @@ msgstr "Włącz"
msgid "Screenshot"
msgstr "Zrzut ekranu"
-#: ../../Zotlabs/Module/Admin/Themes.php:123 ../../Zotlabs/Module/Admin/Themes.php:157
-#: ../../Zotlabs/Widget/Admin.php:28
+#: ../../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
+#: ../../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/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:106
msgid "Settings"
msgstr "Ustawienia"
-#: ../../Zotlabs/Module/Admin/Themes.php:134 ../../Zotlabs/Module/Admin/Addons.php:352
+#: ../../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
+#: ../../Zotlabs/Module/Admin/Themes.php:135
+#: ../../Zotlabs/Module/Admin/Addons.php:353
msgid "Maintainer: "
msgstr "Opiekun: "
@@ -5011,33 +4994,35 @@ msgstr "[Nieobsługiwane]"
#: ../../Zotlabs/Module/Admin/Security.php:89
msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."
+"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."
+"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:"
+"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 "
-"portali:"
+"Zalecane ustawienie to zezwalanie na niefiltrowany kodu HTML tylko z "
+"następujących portali:"
#: ../../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 />"
+"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 />"
+"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."
+"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 portalu są jawnie zablokowane."
+"Wszystkie inne osadzone treści będą filtrowane, <strong>chyba że</strong> "
+"osadzone treści z tego portalu są jawnie zablokowane."
#: ../../Zotlabs/Module/Admin/Security.php:99 ../../Zotlabs/Widget/Admin.php:25
msgid "Security"
@@ -5049,25 +5034,28 @@ 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."
+"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 na tym portalu, chyba że jesteś obecnie uwierzytelniony."
+"Zaznacz, aby zablokować publiczny dostęp do wszystkich innych publicznych "
+"stron osobistych na tym portalu, 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"
+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"
+"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ą powierzchnię dyskową dostępną dla przesyłania plików do chmury"
+msgstr ""
+"Pokaż całkowitą powierzchnię dyskową dostępną dla przesyłania plików do "
+"chmury"
#: ../../Zotlabs/Module/Admin/Security.php:104
msgid "Set \"Transport Security\" HTTP header"
@@ -5083,12 +5071,13 @@ 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"
+"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 portalu. Akceptowane są symbole wieloznaczne. Puste pole oznacza "
-"zezwolenie na dowolne domeny"
+"Rozdzielana przecinkami lista domen, które są dozwolone w adresach e-mail "
+"podczas rejestracji w tym portalu. Akceptowane są symbole wieloznaczne. "
+"Puste pole oznacza zezwolenie na dowolne domeny"
#: ../../Zotlabs/Module/Admin/Security.php:107
msgid "Not allowed email domains"
@@ -5097,23 +5086,25 @@ 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."
+"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 portalu. Akceptowane są symbole wieloznaczne. Puste pole oznacza "
-"zezwolenie na wszystkie domeny, chyba że zostały uprzednio zdefiniowane jakieś "
-"dozwolone domeny."
+"Rozdzielana przecinkami lista domen, które nie są dozwolone w adresach e-"
+"mail podczas rejestracji w tym portalu. 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 portali"
#: ../../Zotlabs/Module/Admin/Security.php:108
-msgid "One site per line. Leave empty to allow communication from anywhere by default"
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
msgstr ""
-"Jeden portal w każdym wierszu. Pozostaw puste, aby domyślnie zezwolić na komunikację z "
-"każdym portalem"
+"Jeden portal w każdym wierszu. Pozostaw puste, aby domyślnie zezwolić na "
+"komunikację z każdym portalem"
#: ../../Zotlabs/Module/Admin/Security.php:109
msgid "Block communications from these sites"
@@ -5124,9 +5115,11 @@ 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"
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by default"
msgstr ""
-"Jeden kanał (hasz) na linię. Pozostaw puste, aby domyślnie zezwolić na dowolny kanał"
+"Jeden kanał (hasz) na linię. Pozostaw puste, aby domyślnie zezwolić na "
+"dowolny kanał"
#: ../../Zotlabs/Module/Admin/Security.php:111
msgid "Block communications from these channels"
@@ -5158,7 +5151,7 @@ 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 (w treści) pliki PDF"
+msgstr "Zezwalaj na osadzone pliki PDF (w treści)"
#: ../../Zotlabs/Module/Admin/Accounts.php:128
#, php-format
@@ -5180,7 +5173,7 @@ msgstr[2] "%s kont zostało usuniętych"
msgid "Account not found"
msgstr "Konto nie znalezione"
-#: ../../Zotlabs/Module/Admin/Accounts.php:184 ../../include/channel.php:2785
+#: ../../Zotlabs/Module/Admin/Accounts.php:184 ../../include/channel.php:2705
#, php-format
msgid "Account '%s' deleted"
msgstr "Usunięto konto '%s'"
@@ -5282,30 +5275,34 @@ msgstr "Klasa usługi"
#: ../../Zotlabs/Module/Admin/Accounts.php:337
msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
+"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 portalu, zostanie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?"
+"Wybrane konta zostaną usunięte!\\n\\nWszystko, co z tych kont zostało "
+"opublikowane na tym portalu, zostanie bezpowrotnie usunięte!\\n\\nCzy na "
+"pewno usunąć?"
#: ../../Zotlabs/Module/Admin/Accounts.php:338
msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on this site "
-"will be permanently deleted!\\n\\nAre you sure?"
+"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 portalu "
-"zostanie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?"
+"Konto {0} zostanie usuniete!\\n\\nWszystko co opublikowano z tego konta na "
+"tym portalu zostanie bezpowrotnie usunięte!\\n\\nCzy na pewno usunąć?"
-#: ../../Zotlabs/Module/Admin/Accounts.php:347 ../../include/conversation.php:1123
+#: ../../Zotlabs/Module/Admin/Accounts.php:347
+#: ../../include/conversation.php:1118
msgid "Message"
msgstr "Wiadowmość"
-#: ../../Zotlabs/Module/Admin/Features.php:55 ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../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 "WYŁ"
-#: ../../Zotlabs/Module/Admin/Features.php:55 ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../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 "WŁ"
@@ -5347,7 +5344,8 @@ msgstr "Pusta kolejka dla tego portalu"
msgid "Last known contact"
msgstr "Ostatni znany kontakt"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:19 ../../Zotlabs/Module/Admin/Dbsync.php:59
+#: ../../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"
@@ -5355,9 +5353,11 @@ msgstr "Aktualizacja została oznaczona jako pomyślna"
#, 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."
+"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
+#: ../../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."
@@ -5365,14 +5365,16 @@ 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."
+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
+#: ../../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."
@@ -5381,11 +5383,14 @@ msgstr "Nie można znaleźć funkcji aktualizacji %s."
#, php-format
msgid "Executing update procedure %s failed. Check system logs."
msgstr ""
-"Wykonanie procedury aktualizacji %s nie powiodło się. Sprawdź dzienniki systemowe."
+"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."
+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
@@ -5398,7 +5403,8 @@ 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"
+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"
@@ -5465,11 +5471,13 @@ msgstr "Niedozwolony kod kanału '%s'"
msgid "select all"
msgstr "wybierz wszystkie"
-#: ../../Zotlabs/Module/Admin/Channels.php:150 ../../Zotlabs/Module/Directory.php:362
+#: ../../Zotlabs/Module/Admin/Channels.php:150
+#: ../../Zotlabs/Module/Directory.php:361
msgid "Censor"
msgstr "Cenzoruj"
-#: ../../Zotlabs/Module/Admin/Channels.php:151 ../../Zotlabs/Module/Directory.php:362
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Directory.php:361
msgid "Uncensor"
msgstr "Usuń cenzurę"
@@ -5491,19 +5499,19 @@ 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?"
+"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ąć?"
+"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?"
+"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ąć?"
+"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."
@@ -5527,10 +5535,12 @@ 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."
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
msgstr ""
-"Musi mieć możliwość zapisu przez serwer WWW. Ścieżka względna do katalogu głównego "
-"serwera WWW."
+"Musi mieć możliwość zapisu przez serwer WWW. Ścieżka względna do katalogu "
+"głównego serwera WWW."
#: ../../Zotlabs/Module/Admin/Logs.php:93
msgid "Log level"
@@ -5575,8 +5585,8 @@ msgstr "Wtyczka %s jest wyłączona."
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
+#: ../../Zotlabs/Module/Admin/Addons.php:343
+#: ../../Zotlabs/Module/Admin/Addons.php:441 ../../Zotlabs/Widget/Admin.php:27
msgid "Addons"
msgstr "Dodatki"
@@ -5600,7 +5610,8 @@ msgstr "Kompatybilne role serwera: "
msgid "Requires: "
msgstr "Wymagania: "
-#: ../../Zotlabs/Module/Admin/Addons.php:359 ../../Zotlabs/Module/Admin/Addons.php:446
+#: ../../Zotlabs/Module/Admin/Addons.php:359
+#: ../../Zotlabs/Module/Admin/Addons.php:446
msgid "Disabled - version incompatibility"
msgstr "Wyłączone - niezgodność wersji"
@@ -5660,7 +5671,7 @@ msgstr "Błędy"
msgid "Site settings updated."
msgstr "Zaktualizowano ustawienia portalu."
-#: ../../Zotlabs/Module/Admin/Site.php:251 ../../include/text.php:3395
+#: ../../Zotlabs/Module/Admin/Site.php:251 ../../include/text.php:3356
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:335
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:359
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:435
@@ -5669,7 +5680,8 @@ msgstr "Zaktualizowano ustawienia portalu."
msgid "Default"
msgstr "Domyślnie"
-#: ../../Zotlabs/Module/Admin/Site.php:262 ../../Zotlabs/Module/Settings/Display.php:118
+#: ../../Zotlabs/Module/Admin/Site.php:262
+#: ../../Zotlabs/Module/Settings/Display.php:118
#, php-format
msgid "%s - (Incompatible)"
msgstr "%s - (niekompatybilne)"
@@ -5700,19 +5712,22 @@ msgstr "Mój portal ma tylko płatny dostęp"
#: ../../Zotlabs/Module/Admin/Site.php:330
msgid "My site has free access only"
-msgstr "Mój porta ma tylko bezpłatny dostęp"
+msgstr "Mój portal ma tylko bezpłatny dostęp"
#: ../../Zotlabs/Module/Admin/Site.php:331
msgid "My site offers free accounts with optional paid upgrades"
-msgstr "Mój portal oferuje darmowe konta z opcjonalnymi płatnymi rozszerzeniami"
+msgstr ""
+"Mój portal oferuje darmowe konta z opcjonalnymi płatnymi rozszerzeniami"
#: ../../Zotlabs/Module/Admin/Site.php:345
msgid "Default permission role for new accounts"
msgstr "Domyślna rola uprawnień dla nowych kont"
#: ../../Zotlabs/Module/Admin/Site.php:345
-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."
+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:353 ../../Zotlabs/Module/Invite.php:398
msgid "Minute(s)"
@@ -5746,8 +5761,8 @@ msgstr "Zarejestruj opóźnioną weryfikację"
msgid "Time to wait before a registration can be verified"
msgstr "Czas oczekiwania na weryfikację rejestracji"
-#: ../../Zotlabs/Module/Admin/Site.php:372 ../../Zotlabs/Module/Admin/Site.php:394
-#: ../../Zotlabs/Module/Invite.php:409
+#: ../../Zotlabs/Module/Admin/Site.php:372
+#: ../../Zotlabs/Module/Admin/Site.php:394 ../../Zotlabs/Module/Invite.php:409
msgid "duration up from now"
msgstr "czas oczekiwania od teraz"
@@ -5763,7 +5778,8 @@ msgstr "Czas do wygaśnięcia niezweryfikowanej rejestracji"
msgid "Site"
msgstr "Portal"
-#: ../../Zotlabs/Module/Admin/Site.php:413 ../../Zotlabs/Module/Register.php:520
+#: ../../Zotlabs/Module/Admin/Site.php:413
+#: ../../Zotlabs/Module/Register.php:520
msgid "Registration"
msgstr "Rejestracja"
@@ -5799,11 +5815,11 @@ msgstr "Informacje o administratorze"
#: ../../Zotlabs/Module/Admin/Site.php:423
msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. BBCode can "
-"be used here"
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
msgstr ""
-"Informacje kontaktowe o administratorach portalu. Wyświetlane na stronie informacji o "
-"portalu. Tutaj można użyć BBCode"
+"Informacje kontaktowe o administratorach portalu. Wyświetlane na stronie "
+"informacji o portalu. Tutaj można użyć BBCode"
#: ../../Zotlabs/Module/Admin/Site.php:424 ../../Zotlabs/Module/Siteinfo.php:24
msgid "Site Information"
@@ -5811,11 +5827,11 @@ msgstr "Informacje o portalu"
#: ../../Zotlabs/Module/Admin/Site.php:424
msgid ""
-"Publicly visible description of this site. Displayed on siteinfo page. BBCode can be "
-"used here"
+"Publicly visible description of this site. Displayed on siteinfo page. "
+"BBCode can be used here"
msgstr ""
-"Publicznie widoczny opis tego portalu. Wyświetlane na stronie informacji o portalu. "
-"Tutaj można użyć BBCode"
+"Publicznie widoczny opis tego portalu. Wyświetlane na stronie informacji o "
+"portalu. Tutaj można użyć BBCode"
#: ../../Zotlabs/Module/Admin/Site.php:425
msgid "System language"
@@ -5830,8 +5846,8 @@ 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 w profilu użytkownika w opcji - <a "
-"href='#' id='cnftheme'>zmień ustawienia motywu</a>"
+"Domyślny motyw systemu - może zostać zastąpiony w profilu użytkownika w "
+"opcji - <a href='#' id='cnftheme'>zmień ustawienia motywu</a>"
#: ../../Zotlabs/Module/Admin/Site.php:429
msgid "Allow Feeds as Connections"
@@ -5846,10 +5862,12 @@ msgid "Maximum image size"
msgstr "Maksymalny rozmiar obrazu"
#: ../../Zotlabs/Module/Admin/Site.php:430
-msgid "Maximum size in bytes of uploaded images. Default is 0, which means no limits."
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
msgstr ""
-"Maksymalny rozmiar przesyłanych obrazów w bajtach. Wartość domyślna to 0, co oznacza "
-"brak ograniczeń."
+"Maksymalny rozmiar przesyłanych obrazów w bajtach. Wartość domyślna to 0, co "
+"oznacza brak ograniczeń."
#: ../../Zotlabs/Module/Admin/Site.php:431
msgid "Minimum age"
@@ -5857,17 +5875,19 @@ msgstr "Minimalny wiek"
#: ../../Zotlabs/Module/Admin/Site.php:431
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 tym portalu."
+msgstr ""
+"Minimalny wiek (w latach) dla osób, które mogą zarejestrować się na tym "
+"portalu."
#: ../../Zotlabs/Module/Admin/Site.php:432
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 "
-"portal?"
+"Które z poniższych stwierdzeń najlepiej opisuje rodzaje kont oferowanych "
+"przez ten portal?"
#: ../../Zotlabs/Module/Admin/Site.php:432
msgid "This is displayed on the public server site list."
-msgstr "Jest to wyświetlane na liście witryn publicznych serwerów."
+msgstr "Jest to wyświetlane na liście portali publicznych serwerów."
#: ../../Zotlabs/Module/Admin/Site.php:438
msgid "Register text"
@@ -5879,7 +5899,7 @@ msgstr "Ten tekst będzie widoczny w widocznym miejscu na stronie rejestracji"
#: ../../Zotlabs/Module/Admin/Site.php:444
msgid "Does this site allow new member registration?"
-msgstr "Czy ta witryna umożliwia rejestrację nowych członków?"
+msgstr "Czy ten portal umożliwia rejestrację nowych członków?"
#: ../../Zotlabs/Module/Admin/Site.php:451
msgid "Configure the registration open days/hours"
@@ -5888,36 +5908,39 @@ msgstr "Skonfiguruj dni i godziny otwarte rejestracji"
#: ../../Zotlabs/Module/Admin/Site.php:453
msgid "Empty or '-:-' value will keep registration open 24/7 (default)"
msgstr ""
-"Wartość pusta lub '-:-' sprawi, że rejestracja będzie otwarta 24 godziny na dobę i 7 "
-"dni w tygodniu (domyślne ustawienie)"
+"Wartość pusta lub '-:-' sprawi, że rejestracja będzie otwarta 24 godziny na "
+"dobę i 7 dni w tygodniu (domyślne ustawienie)"
#: ../../Zotlabs/Module/Admin/Site.php:454
msgid ""
-"Weekdays and hours must be separated by colon ':', From-To ranges with a dash `-` "
-"example: 1:800-1200"
+"Weekdays and hours must be separated by colon ':', From-To ranges with a "
+"dash `-` example: 1:800-1200"
msgstr ""
-"Dni tygodnia i godziny należy rozdzielić dwukropkiem ':', zakresy od-do myślnikiem "
-"'-'. Przykład: 1:800-1200"
+"Dni tygodnia i godziny należy rozdzielić dwukropkiem ':', zakresy od-do "
+"myślnikiem '-'. Przykład: 1:800-1200"
#: ../../Zotlabs/Module/Admin/Site.php:455
-msgid "Weekday:Hour pairs must be separated by space ' ' example: 1:900-1700 2:900-1700"
-msgstr ""
-"Pary 'dzień tygodnia:godzina' muszą być rozdzielone spacją. Przykład: 1:900-1700 "
+msgid ""
+"Weekday:Hour pairs must be separated by space ' ' example: 1:900-1700 "
"2:900-1700"
+msgstr ""
+"Pary 'dzień tygodnia:godzina' muszą być rozdzielone spacją. Przykład: "
+"1:900-1700 2:900-1700"
#: ../../Zotlabs/Module/Admin/Site.php:456
msgid ""
-"From-To ranges must be separated by comma ',' example: 1:800-1200,1300-1700 or "
-"1-2,4-5:900-1700"
+"From-To ranges must be separated by comma ',' example: 1:800-1200,1300-1700 "
+"or 1-2,4-5:900-1700"
msgstr ""
-"Zakresy 'od-do' muszą być rozdzielone przecinkiem. Przykład: 1:800-1200,1300-1700 lub "
-"1-2,4-5:900-1700"
+"Zakresy 'od-do' muszą być rozdzielone przecinkiem. Przykład: "
+"1:800-1200,1300-1700 lub 1-2,4-5:900-1700"
#: ../../Zotlabs/Module/Admin/Site.php:457
msgid "Advanced examples:"
msgstr "Zaawansowane przykłady:"
-#: ../../Zotlabs/Module/Admin/Site.php:457 ../../Zotlabs/Module/Settings/Channel.php:420
+#: ../../Zotlabs/Module/Admin/Site.php:457
+#: ../../Zotlabs/Module/Settings/Channel.php:420
msgid "or"
msgstr "lub"
@@ -5947,11 +5970,11 @@ msgstr "Automatyczne tworzenie kanałów"
#: ../../Zotlabs/Module/Admin/Site.php:478
msgid ""
-"If disabled the channel will be created in a separate step during the registration "
-"process"
+"If disabled the channel will be created in a separate step during the "
+"registration process"
msgstr ""
-"Jeśli opcja jest wyłączona, kanał zostanie utworzony w osobnym kroku podczas procesu "
-"rejestracji"
+"Jeśli opcja jest wyłączona, kanał zostanie utworzony w osobnym kroku podczas "
+"procesu rejestracji"
#: ../../Zotlabs/Module/Admin/Site.php:482
msgid "Require invite code"
@@ -5975,25 +5998,26 @@ msgstr "Konto porzucone po x dniach"
#: ../../Zotlabs/Module/Admin/Site.php:500
msgid ""
-"Will not waste system resources polling external sites for abandonded accounts. Enter "
-"0 for no time limit."
+"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."
+"Nie marnuje zasobów systemowych na odpytywanie zewnętrznych portali w "
+"poszukiwaniu porzuconych kont. Wpisz 0, aby nie mieć limitu czasu."
#: ../../Zotlabs/Module/Admin/Site.php:505
msgid "Site homepage to show visitors (default: login box)"
msgstr ""
-"Strona główna portalu do wyświetlania odwiedzającym (domyślnie: formularz logowania)"
+"Strona główna portalu do wyświetlania odwiedzającym (domyślnie: formularz "
+"logowania)"
#: ../../Zotlabs/Module/Admin/Site.php:505
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."
+"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."
+"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:506
msgid "Preserve site homepage URL"
@@ -6001,7 +6025,8 @@ msgstr "Zachowaj adres URL strony głównej portalu"
#: ../../Zotlabs/Module/Admin/Site.php:506
msgid ""
-"Present the site homepage in a frame at the original location instead of redirecting"
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
msgstr ""
"Przedstaw stronę główną portalu w ramce w oryginalnej lokalizacji zamiast "
"przekierowywania"
@@ -6012,21 +6037,23 @@ msgstr "Dozwolone domeny znajomych"
#: ../../Zotlabs/Module/Admin/Site.php:507
msgid ""
-"Comma separated list of domains which are allowed to establish friendships with this "
-"site. Wildcards are accepted. Empty to allow any domains"
+"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"
+"Rozdzielana przecinkami lista domen, które mogą zawierać przyjaźnie z tym "
+"portalem. Akceptowane są symbole wieloznaczne. Puste oznacza zezwolenie na "
+"dowolne domeny"
#: ../../Zotlabs/Module/Admin/Site.php:508
msgid "Force publish"
msgstr "Wymuś publikację"
#: ../../Zotlabs/Module/Admin/Site.php:508
-msgid "Check to force all profiles on this site to be listed in the site directory."
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-"Zaznacz, aby wymusić opublikowanie w katalogu wszystkich profili założonych na tym "
-"portalu."
+"Zaznacz, aby wymusić opublikowanie w katalogu wszystkich profili założonych "
+"na tym portalu."
#: ../../Zotlabs/Module/Admin/Site.php:509
msgid "Import Public Streams"
@@ -6034,11 +6061,11 @@ msgstr "Importuj strumienie publiczne"
#: ../../Zotlabs/Module/Admin/Site.php:509
msgid ""
-"Import and allow access to public content pulled from other sites. Warning: this "
-"content is unmoderated."
+"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 portali. "
-"Ostrzeżenie: ta zawartość jest niemoderowana."
+"Importuj i zezwalaj na dostęp do treści publicznych pobranych z innych "
+"portali. Ostrzeżenie: ta zawartość jest niemoderowana."
#: ../../Zotlabs/Module/Admin/Site.php:510
msgid "Site only Public Streams"
@@ -6046,11 +6073,11 @@ msgstr "Strumień publiczny tylko z tego portalu"
#: ../../Zotlabs/Module/Admin/Site.php:510
msgid ""
-"Allow access to public content originating only from this site if Imported Public "
-"Streams are disabled."
+"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 portalu, jeśli "
-"importowane strumienie publiczne są wyłączone."
+"Zezwalaj na dostęp do treści publicznych pochodzących tylko z tego portalu, "
+"jeśli importowane strumienie publiczne są wyłączone."
#: ../../Zotlabs/Module/Admin/Site.php:511
msgid "Allow anybody on the internet to access the Public streams"
@@ -6058,10 +6085,11 @@ msgstr "Zezwól każdemu w Internecie na dostęp do strumienia publicznego"
#: ../../Zotlabs/Module/Admin/Site.php:511
msgid ""
-"Disable to require authentication before viewing. Warning: this content is unmoderated."
+"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."
+"Wyłącz, aby wymagać uwierzytelnienia przed przeglądaniem. Ostrzeżenie: ta "
+"zawartość jest niemoderowana."
#: ../../Zotlabs/Module/Admin/Site.php:512
msgid "Only import Public stream posts with this text"
@@ -6077,8 +6105,8 @@ msgstr "Zaloguj się na stronie głównej"
#: ../../Zotlabs/Module/Admin/Site.php:516
msgid ""
-"Present a login box to visitors on the home page if no other content has been "
-"configured."
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
msgstr ""
"Wyświetlaj formularz logowania odwiedzającym na stronie głównej, jeśli nie "
"skonfigurowano żadnych innych treści."
@@ -6088,9 +6116,11 @@ msgid "Enable context help"
msgstr "Włącz pomoc kontekstową"
#: ../../Zotlabs/Module/Admin/Site.php:517
-msgid "Display contextual help for the current page when the help button is pressed."
+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."
+"Wyświetlanie pomocy kontekstowej dla bieżącej strony po naciśnięciu "
+"przycisku pomocy."
#: ../../Zotlabs/Module/Admin/Site.php:519
msgid "Reply-to email address for system generated email."
@@ -6098,7 +6128,8 @@ msgstr "Zwrotny adres e-mail dla wiadomości wygenerowanych przez system."
#: ../../Zotlabs/Module/Admin/Site.php:520
msgid "Sender (From) email address for system generated email."
-msgstr "Adres e-mail nadawcy (Od) wiadomości e-mail wygenerowanej przez system."
+msgstr ""
+"Adres e-mail nadawcy (Od) wiadomości e-mail wygenerowanej przez system."
#: ../../Zotlabs/Module/Admin/Site.php:521
msgid "Name of email sender for system generated email."
@@ -6118,11 +6149,11 @@ msgstr "Włącz powiadomienia SSE"
#: ../../Zotlabs/Module/Admin/Site.php:525
msgid ""
-"If disabled, traditional polling will be used. Warning: this setting might not be "
-"suited for shared hosting"
+"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"
+"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:527
msgid "Proxy user"
@@ -6138,7 +6169,8 @@ msgstr "Limit czasu sieci"
#: ../../Zotlabs/Module/Admin/Site.php:529
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Wartość w sekundach. Ustaw na 0 dla nieograniczonej liczby (niezalecane)."
+msgstr ""
+"Wartość w sekundach. Ustaw na 0 dla nieograniczonej liczby (niezalecane)."
#: ../../Zotlabs/Module/Admin/Site.php:530
msgid "Delivery interval"
@@ -6146,13 +6178,13 @@ msgstr "Interwał dostaw"
#: ../../Zotlabs/Module/Admin/Site.php:530
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."
+"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."
+"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:531
msgid "Deliveries per process"
@@ -6160,11 +6192,11 @@ msgstr "Liczba dostaw na proces"
#: ../../Zotlabs/Module/Admin/Site.php:531
msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust if "
-"necessary to tune system performance. Recommend: 1-5."
+"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. Zalecane: 1-5."
+"Liczba dostaw do podjęcia w ramach jednego procesu systemu operacyjnego. W "
+"razie potrzeby dostosuj, aby dostroić wydajność systemu. Zalecane: 1-5."
#: ../../Zotlabs/Module/Admin/Site.php:532
msgid "Queue Threshold"
@@ -6172,10 +6204,11 @@ msgstr "Próg kolejki"
#: ../../Zotlabs/Module/Admin/Site.php:532
msgid ""
-"Always defer immediate delivery if queue contains more than this number of entries."
+"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 liczba."
+"Zawsze odraczaj natychmiastowe dostarczenie, jeśli kolejka zawiera więcej "
+"pozycji niż ta liczba."
#: ../../Zotlabs/Module/Admin/Site.php:533
msgid "Poll interval"
@@ -6183,11 +6216,11 @@ msgstr "Okres odpytywania"
#: ../../Zotlabs/Module/Admin/Site.php:533
msgid ""
-"Delay background polling processes by this many seconds to reduce system load. If 0, "
-"use delivery interval."
+"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."
+"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:534
msgid "Path to ImageMagick convert program"
@@ -6195,22 +6228,25 @@ msgstr "Ścieżka do programu konwertującego ImageMagick"
#: ../../Zotlabs/Module/Admin/Site.php:534
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"
+"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"
+"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:535
msgid "Maximum Load Average"
msgstr "Maksymalne średnie obciążenie"
#: ../../Zotlabs/Module/Admin/Site.php:535
-msgid "Maximum system load before delivery and poll processes are deferred - default 50."
+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."
+"Maksymalne obciążenie systemu przed odroczeniem procesów dostarczania i "
+"odpytywania - domyślnie 50."
#: ../../Zotlabs/Module/Admin/Site.php:536
msgid "Expiration period in days for imported (grid/network) content"
@@ -6221,15 +6257,18 @@ msgid "0 for no expiration of imported content"
msgstr "0 dla braku wygaśnięcia zaimportowanej treści"
#: ../../Zotlabs/Module/Admin/Site.php:537
-msgid "Do not expire any posts which have comments less than this many days ago"
+msgid ""
+"Do not expire any posts which have comments less than this many days ago"
msgstr ""
-"Nie wygaszaj żadnych wpisów, które mają komentarze z datami mniejszymi niż ta wartość "
-"dni od teraz"
+"Nie wygaszaj żadnych wpisów, które mają komentarze z datami mniejszymi niż "
+"ta wartość dni od teraz"
#: ../../Zotlabs/Module/Admin/Site.php:538
-msgid "Public servers: Optional landing (marketing) webpage for new registrants"
+msgid ""
+"Public servers: Optional landing (marketing) webpage for new registrants"
msgstr ""
-"Serwery publiczne: opcjonalna strona lądowania (marketingowa) dla nowych rejestrujących"
+"Serwery publiczne: opcjonalna strona lądowania (marketingowa) dla nowych "
+"rejestrujących"
#: ../../Zotlabs/Module/Admin/Site.php:538
#, php-format
@@ -6252,7 +6291,8 @@ msgstr "Opcjonalnie: lokalizacja portalu"
msgid "Region or country"
msgstr "Region lub kraj"
-#: ../../Zotlabs/Module/Admin/Site.php:625 ../../Zotlabs/Module/Admin/Site.php:626
+#: ../../Zotlabs/Module/Admin/Site.php:625
+#: ../../Zotlabs/Module/Admin/Site.php:626
msgid "Invalid 24h time value (hhmm/hmm)"
msgstr "Nieprawidłowa wartość czasu 24-godzinnego (hhmm/hmm)"
@@ -6260,31 +6300,38 @@ msgstr "Nieprawidłowa wartość czasu 24-godzinnego (hhmm/hmm)"
msgid "New Profile Field"
msgstr "Nowe pole profilu"
-#: ../../Zotlabs/Module/Admin/Profs.php:90 ../../Zotlabs/Module/Admin/Profs.php:110
+#: ../../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
+#: ../../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
+#: ../../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
+#: ../../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
+#: ../../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
+#: ../../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
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
msgid "Additional info (optional)"
msgstr "Dodatkowe informacje (opcjonalnie)"
@@ -6324,11 +6371,13 @@ msgstr "Pola własne"
msgid "Create Custom Field"
msgstr "Utwórz własne pole"
-#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:58
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:106
msgid "No more system notifications."
msgstr "Nigdy więcej powiadomień systemowych."
-#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:62
+#: ../../Zotlabs/Module/Notify.php:65
+#: ../../Zotlabs/Module/Notifications.php:110
msgid "System Notifications"
msgstr "Powiadomienia systemowe"
@@ -6398,22 +6447,29 @@ msgid "Suggest Channels App"
msgstr "Aplikacja Sugerowane Kanały"
#: ../../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ć"
+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."
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
msgstr ""
-"Brak dostępnych propozycji. Jeśli to jest nowy portal, spróbuj ponownie za 24 godziny."
+"Brak dostępnych propozycji. Jeśli to jest nowy portal, 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
+#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:436
#: ../../include/contact_widgets.php:24
msgid "Channel Suggestions"
-msgstr "Sugerowane Kanały"
+msgstr "Sugerowane kanały"
#: ../../Zotlabs/Module/Email_validation.php:36
msgid "Email Verification Required"
@@ -6422,13 +6478,13 @@ 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."
+"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."
+"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"
@@ -6438,13 +6494,14 @@ msgstr "Wyślij ponownie wiadomość e-mail"
msgid "Validation token"
msgstr "Token walidacyjny"
-#: ../../Zotlabs/Module/Notes.php:57
+#: ../../Zotlabs/Module/Notes.php:56
msgid "Notes App"
msgstr "Aplikacja Notatki"
-#: ../../Zotlabs/Module/Notes.php:58
+#: ../../Zotlabs/Module/Notes.php:57
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)"
+msgstr ""
+"Prosta aplikacja do notatek z widżetem (uwaga: notatki nie są szyfrowane)"
#: ../../Zotlabs/Module/Tokens.php:39
#, php-format
@@ -6453,7 +6510,7 @@ 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."
+msgstr "Wymagane są nazwa i hasło."
#: ../../Zotlabs/Module/Tokens.php:85
msgid "Token saved."
@@ -6466,28 +6523,29 @@ msgstr "Aplikacja Dostęp Gościnny"
#: ../../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 Twoich "
-"treści prywatnych"
+"Utwórz tokeny dostępu, aby osoby niebędące członkami mogły uzyskać dostęp do "
+"Twoich 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."
+"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."
+"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:"
+"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:"
+"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 portalu, "
+"jak pokazano na ilustracji. Przykłady:"
#: ../../Zotlabs/Module/Tokens.php:170
msgid "Guest Access Tokens"
@@ -6515,18 +6573,20 @@ 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"
+"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"
+"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"
+"Użyj strzałek, aby przesunąć odpowiednią aplikację w górę lub w dół w "
+"zasobniku aplikacji"
-#: ../../Zotlabs/Module/Notifications.php:63 ../../Zotlabs/Lib/ThreadItem.php:484
+#: ../../Zotlabs/Module/Notifications.php:111
+#: ../../Zotlabs/Lib/ThreadItem.php:484
msgid "Mark all seen"
msgstr "Oznacz wszystko jako oglądnięte"
@@ -6568,7 +6628,9 @@ msgid "Could not connect to database."
msgstr "Nie można połączyć się z bazą danych."
#: ../../Zotlabs/Module/Setup.php:177
-msgid "Could not connect to specified site URL. Possible SSL certificate or DNS issue."
+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 portalu. Możliwy problem z "
"certyfikatem SSL lub DNS."
@@ -6583,16 +6645,16 @@ msgstr "Baza danych portalu została zainstalowana."
#: ../../Zotlabs/Module/Setup.php:196
msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a database "
-"client."
+"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."
+"Może być konieczne ręczne zaimportowanie pliku \"install/schema_xxx.sql\" za "
+"pomocą klienta bazy danych."
#: ../../Zotlabs/Module/Setup.php:197 ../../Zotlabs/Module/Setup.php:261
#: ../../Zotlabs/Module/Setup.php:768
msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Zobacz plik \"install/INSTALL.txt\"."
+msgstr "Proszę zobaczyć plik \"install/INSTALL.txt\"."
#: ../../Zotlabs/Module/Setup.php:258
msgid "System check"
@@ -6607,25 +6669,28 @@ msgid "Database connection"
msgstr "Połączenie z bazą danych"
#: ../../Zotlabs/Module/Setup.php:285
-msgid "In order to install $Projectname we need to know how to connect to your database."
+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."
+"Aby zainstalować $Projectname, musimy wiedzieć, jak połączyć się z twoją "
+"bazą danych."
#: ../../Zotlabs/Module/Setup.php:286
msgid ""
-"Please contact your hosting provider or site administrator if you have questions about "
-"these settings."
+"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 portalu."
#: ../../Zotlabs/Module/Setup.php:287
msgid ""
-"The database you specify below should already exist. If it does not, please create it "
-"before continuing."
+"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."
+"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:291
msgid "Database Server Name"
@@ -6664,10 +6729,12 @@ msgid "Site administrator email address"
msgstr "Adres e-mail administratora portalu"
#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:338
-msgid "Your account email address must match this in order to use the web admin panel."
+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."
+"Adres e-mail Twojego konta musi być zgodny z tym adresem, aby móc korzystać "
+"z panelu administratora sieci."
#: ../../Zotlabs/Module/Setup.php:299 ../../Zotlabs/Module/Setup.php:340
msgid "Website URL"
@@ -6699,11 +6766,11 @@ msgstr "Nie można znaleźć wersji CLI PHP w zmiennej PATH serwerze WWW."
#: ../../Zotlabs/Module/Setup.php:399
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."
+"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."
+"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:403
msgid "PHP executable path"
@@ -6714,28 +6781,31 @@ 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ę."
+"Wpisz pełną ścieżkę do pliku wykonywalnego php. Możesz pozostawić to pole "
+"puste, aby kontynuować instalację."
#: ../../Zotlabs/Module/Setup.php:408
msgid "Command line PHP"
-msgstr "PHP CLI"
+msgstr "Wiersz poleceń PHP"
#: ../../Zotlabs/Module/Setup.php:418
-msgid "Unable to check command line PHP, as shell_exec() is disabled. This is required."
+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."
+"Nie można sprawdzić PHP CLI, ponieważ funkcja shell_exec() jest wyłączona. "
+"To jest wymagane."
#: ../../Zotlabs/Module/Setup.php:422
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\"."
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr ""
+"Ta wersja PHP CLI w Twoim systemie nie ma włączonego \"register_argc_argv\"."
#: ../../Zotlabs/Module/Setup.php:423
msgid "This is required for message delivery to work."
-msgstr "Jest to konieczne,, aby dostarczanie wiadomości działało."
+msgstr "Jest to konieczne, aby dostarczanie wiadomości działało."
#: ../../Zotlabs/Module/Setup.php:426
msgid "PHP register_argc_argv"
@@ -6743,20 +6813,21 @@ msgstr "PHP register_argc_argv"
#: ../../Zotlabs/Module/Setup.php:446
msgid ""
-"This is not sufficient to upload larger images or files. You should be able to upload "
-"at least 4 MB at once."
+"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."
+"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:448
#, 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."
+"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."
+"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:454
msgid "You can adjust these settings in the server php.ini file."
@@ -6768,19 +6839,19 @@ msgstr "Limity wysyłania PHP"
#: ../../Zotlabs/Module/Setup.php:479
msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to generate "
-"encryption keys"
+"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"
+"Błąd: funkcja \"openssl_pkey_new\" w tym systemie nie jest w stanie "
+"wygenerować kluczy szyfrujących"
#: ../../Zotlabs/Module/Setup.php:480
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\"."
+"Jeśli pracujesz w systemie Windows, przeczytaj \"http://www.php.net/manual/"
+"en/openssl.installation.php\"."
#: ../../Zotlabs/Module/Setup.php:483
msgid "Generate encryption keys"
@@ -6804,7 +6875,7 @@ msgstr "Moduł PHP PDO"
#: ../../Zotlabs/Module/Setup.php:504
msgid "mb_string PHP module"
-msgstr "moduł PHP mb_string PHP"
+msgstr "moduł PHP mb_string"
#: ../../Zotlabs/Module/Setup.php:505
msgid "xml PHP module"
@@ -6819,9 +6890,11 @@ msgid "Apache mod_rewrite module"
msgstr "Moduł Apache mod_rewrite"
#: ../../Zotlabs/Module/Setup.php:510
-msgid "Error: Apache webserver mod-rewrite module is required but not installed."
+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."
+"Błąd: wymagany jest moduł mod-rewrite serwera Apache, ale nie jest "
+"zainstalowany."
#: ../../Zotlabs/Module/Setup.php:516 ../../Zotlabs/Module/Setup.php:519
msgid "exec"
@@ -6829,10 +6902,11 @@ msgstr "exec"
#: ../../Zotlabs/Module/Setup.php:516
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 "
+"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:522 ../../Zotlabs/Module/Setup.php:525
msgid "shell_exec"
@@ -6840,11 +6914,11 @@ msgstr "shell_exec"
#: ../../Zotlabs/Module/Setup.php:522
msgid ""
-"Error: shell_exec is required but is either not installed or has been disabled in php."
-"ini"
+"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"
+"Błąd: wymagany jest shell_exec, ale nie jest zainstalowany lub został "
+"wyłączony w php.ini"
#: ../../Zotlabs/Module/Setup.php:530
msgid "Error: libCURL PHP module required but not installed."
@@ -6852,18 +6926,19 @@ msgstr "Błąd: wymagany jest moduł PHP libCURL, ale nie jest zainstalowany."
#: ../../Zotlabs/Module/Setup.php:534
msgid ""
-"Error: GD PHP module with JPEG support or ImageMagick graphics library required but "
-"not installed."
+"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."
+"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:538
msgid "Error: openssl PHP module required but not installed."
msgstr "Błąd: wymagany jest moduł PHP openssl, ale niezainstalowany."
#: ../../Zotlabs/Module/Setup.php:544
-msgid "Error: PDO database PHP module missing a driver for either mysql or pgsql."
+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:549
@@ -6876,7 +6951,7 @@ msgstr "Błąd: wymagany, ale niezainstalowany moduł mb_string PHP."
#: ../../Zotlabs/Module/Setup.php:557
msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Błąd: moduł XML PHP wymagany dla DAV, ale nie jest zainstalowany."
+msgstr "Błąd: moduł xml PHP jest wymagany dla DAV, ale nie jest zainstalowany."
#: ../../Zotlabs/Module/Setup.php:561
msgid "Error: zip PHP module required but not installed."
@@ -6888,19 +6963,19 @@ msgstr ".htconfig.php jest możliwy do zapisu"
#: ../../Zotlabs/Module/Setup.php:585
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."
+"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ć."
+"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:586
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."
+"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."
+"Najczęściej jest to ustawienie uprawnień, ponieważ serwer WWW może nie być w "
+"stanie zapisywać plików w Twoim folderze - nawet jeśli Ty możesz."
#: ../../Zotlabs/Module/Setup.php:587
msgid "Please see install/INSTALL.txt for additional information."
@@ -6908,37 +6983,38 @@ msgstr "Dodatkowe informacje można znaleźć w pliku install/INSTALL.txt."
#: ../../Zotlabs/Module/Setup.php:603
msgid ""
-"This software uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
+"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."
+"To oprogramowanie wykorzystuje silnik szablonów Smarty3 do renderowania "
+"widoków internetowych. Smarty3 kompiluje szablony do PHP, aby przyspieszyć "
+"renderowanie."
#: ../../Zotlabs/Module/Setup.php:604
#, 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."
+"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."
+"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:605 ../../Zotlabs/Module/Setup.php:626
msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has write "
-"access to this folder."
+"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."
+"Upewnij się, że właściciel procesu serwer WWW (np. www-data), ma prawo do "
+"zapisu w tym folderze."
#: ../../Zotlabs/Module/Setup.php:606
#, 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."
+"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."
+"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:609
#, php-format
@@ -6947,11 +7023,12 @@ msgstr "%s jest możliwy do zapisu"
#: ../../Zotlabs/Module/Setup.php:625
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"
+"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 "
+"To oprogramowanie używa katalogu store do zapisywania przesyłanych plików. "
+"Serwer WWW musi mieć dostęp do zapisu w katalogu store, znajdującego się w "
"folderze serwera WWW najwyższego poziomu"
#: ../../Zotlabs/Module/Setup.php:629
@@ -6960,72 +7037,79 @@ msgstr "katalog store jest możliwy do zapisu"
#: ../../Zotlabs/Module/Setup.php:661
msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access to this "
-"site."
+"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."
+"Nie można zweryfikować certyfikatu SSL. Napraw certyfikat lub wyłącz dostęp "
+"https do tego portalu."
#: ../../Zotlabs/Module/Setup.php:662
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!"
+"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 portalu 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!"
+"Jeśli masz dostęp https do swojego portalu 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:663
msgid ""
-"This restriction is incorporated because public posts from you may for example contain "
-"references to images on your own hub."
+"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 wpisy mogą na przykład "
-"zawierać odniesienia do obrazów na Twoim portalu."
+"To ograniczenie zostało wprowadzone, ponieważ Twoje publiczne wpisy mogą na "
+"przykład zawierać odniesienia do obrazów na Twoim portalu."
#: ../../Zotlabs/Module/Setup.php:664
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."
+"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."
+"Jeśli Twój certyfikat nie zostanie rozpoznany, członkowie innych portali "
+"(którzy sami mogą mieć ważne certyfikaty) otrzymają komunikat ostrzegawczy "
+"we własnym portalu, ostrzegający o problemie z bezpieczeństwem."
#: ../../Zotlabs/Module/Setup.php:665
msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we must "
-"insist on this requirement."
+"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 portalu (nie tylko na Twoim), więc "
-"musimy nalegać na to wymaganie."
+"Może to powodować problemy z użytecznością w innym portalu (nie tylko na "
+"Twoim), więc musimy nalegać na to wymaganie."
#: ../../Zotlabs/Module/Setup.php:666
-msgid "Providers are available that issue free certificates which are browser-valid."
+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:667
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."
+"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."
+"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:669
msgid "SSL certificate validation"
msgstr "Walidacja certyfikatu SSL"
#: ../../Zotlabs/Module/Setup.php:675
-msgid "Url rewrite in .htaccess is not working. Check your server configuration.Test: "
+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: "
+"Przepisywanie adresu URL w .htaccess nie działa. Sprawdź konfigurację "
+"serwera. Test: "
#: ../../Zotlabs/Module/Setup.php:678
msgid "Url rewrite is working"
@@ -7033,11 +7117,13 @@ msgstr "Przepisywanie adresu URL działa"
#: ../../Zotlabs/Module/Setup.php:691
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."
+"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."
+"załączonego tekstu, aby utworzyć plik konfiguracyjny w katalogu głównym "
+"serwera WWW."
#: ../../Zotlabs/Module/Setup.php:720
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:401
@@ -7049,14 +7135,15 @@ msgid "<h1>What next?</h1>"
msgstr "<h1>Co następnie?</h1>"
#: ../../Zotlabs/Module/Setup.php:767
-msgid "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr "WAŻNE: Będziesz musiał [ręcznie] ustawić zaplanowanie zadania Cron."
-#: ../../Zotlabs/Module/Directory.php:122
+#: ../../Zotlabs/Module/Directory.php:121
msgid "No default suggestions were found."
msgstr "Nie znaleziono domyślnych propozycji."
-#: ../../Zotlabs/Module/Directory.php:282
+#: ../../Zotlabs/Module/Directory.php:281
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
@@ -7064,96 +7151,96 @@ msgstr[0] "%d ocen"
msgstr[1] "%d oceny"
msgstr[2] "%d ocen"
-#: ../../Zotlabs/Module/Directory.php:293
+#: ../../Zotlabs/Module/Directory.php:292
msgid "Gender: "
msgstr "Płeć: "
-#: ../../Zotlabs/Module/Directory.php:295
+#: ../../Zotlabs/Module/Directory.php:294
msgid "Status: "
msgstr "Status: "
-#: ../../Zotlabs/Module/Directory.php:297
+#: ../../Zotlabs/Module/Directory.php:296
msgid "Homepage: "
msgstr "Strona główna: "
-#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1834
+#: ../../Zotlabs/Module/Directory.php:348 ../../include/channel.php:1754
msgid "Age:"
msgstr "Wiek:"
-#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1661
+#: ../../Zotlabs/Module/Directory.php:353 ../../include/channel.php:1581
#: ../../include/event.php:63 ../../include/event.php:134
msgid "Location:"
msgstr "Lokalizacja:"
-#: ../../Zotlabs/Module/Directory.php:360
+#: ../../Zotlabs/Module/Directory.php:359
msgid "Description:"
msgstr "Opis:"
-#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1863
+#: ../../Zotlabs/Module/Directory.php:366 ../../include/channel.php:1783
msgid "Hometown:"
msgstr "Miasto pobytu:"
-#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1869
+#: ../../Zotlabs/Module/Directory.php:368 ../../include/channel.php:1789
msgid "About:"
msgstr "O mnie:"
-#: ../../Zotlabs/Module/Directory.php:371
+#: ../../Zotlabs/Module/Directory.php:370
msgid "Public Forum:"
msgstr "Forum publiczne:"
-#: ../../Zotlabs/Module/Directory.php:374
+#: ../../Zotlabs/Module/Directory.php:373
msgid "Keywords: "
msgstr "Słowa kluczowe: "
-#: ../../Zotlabs/Module/Directory.php:377
+#: ../../Zotlabs/Module/Directory.php:376
msgid "Don't suggest"
msgstr "Nie sugeruj"
-#: ../../Zotlabs/Module/Directory.php:379
+#: ../../Zotlabs/Module/Directory.php:378
msgid "Common connections (estimated):"
msgstr "Popularne połączenia (oszacowanie):"
-#: ../../Zotlabs/Module/Directory.php:428
+#: ../../Zotlabs/Module/Directory.php:427
msgid "Global Directory"
msgstr "Katalog globalny"
-#: ../../Zotlabs/Module/Directory.php:428
+#: ../../Zotlabs/Module/Directory.php:427
msgid "Local Directory"
msgstr "Katalog lokalny"
-#: ../../Zotlabs/Module/Directory.php:434
+#: ../../Zotlabs/Module/Directory.php:433
msgid "Finding:"
msgstr "Odnaleziono:"
-#: ../../Zotlabs/Module/Directory.php:439
+#: ../../Zotlabs/Module/Directory.php:438
msgid "next page"
msgstr "następna strona"
-#: ../../Zotlabs/Module/Directory.php:439
+#: ../../Zotlabs/Module/Directory.php:438
msgid "previous page"
msgstr "poprzednia strona"
-#: ../../Zotlabs/Module/Directory.php:440
+#: ../../Zotlabs/Module/Directory.php:439
msgid "Sort options"
msgstr "Opcje sortowania"
-#: ../../Zotlabs/Module/Directory.php:441
+#: ../../Zotlabs/Module/Directory.php:440
msgid "Alphabetic"
msgstr "Alfabetycznie"
-#: ../../Zotlabs/Module/Directory.php:442
+#: ../../Zotlabs/Module/Directory.php:441
msgid "Reverse Alphabetic"
-msgstr "Odwróć alfabetycznie"
+msgstr "Odwrotnie alfabetycznie"
-#: ../../Zotlabs/Module/Directory.php:443
+#: ../../Zotlabs/Module/Directory.php:442
msgid "Newest to Oldest"
msgstr "Od najnowszych do najstarszych"
-#: ../../Zotlabs/Module/Directory.php:444
+#: ../../Zotlabs/Module/Directory.php:443
msgid "Oldest to Newest"
msgstr "Od najstarszych do najnowszych"
-#: ../../Zotlabs/Module/Directory.php:461
+#: ../../Zotlabs/Module/Directory.php:460
msgid "No entries (some entries may be hidden)."
msgstr "Brak wpisów (niektóre wpisy mogą być ukryte)."
@@ -7282,7 +7369,7 @@ msgstr "Tekst linku"
#, php-format
msgctxt "mood"
msgid "%1$s is %2$s"
-msgstr "%1$s jest %2$s"
+msgstr "%1$s to %2$s"
#: ../../Zotlabs/Module/Mood.php:134
msgid "Mood App"
@@ -7314,9 +7401,11 @@ 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."
+"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ń."
+"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"
@@ -7326,25 +7415,9 @@ msgstr "Kategorie uprawnień"
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 "Portal: "
-
-#: ../../Zotlabs/Module/Ratings.php:101
-msgid "Description: "
-msgstr "Opis: "
-
-#: ../../Zotlabs/Module/Register.php:95 ../../include/channel.php:212
+#: ../../Zotlabs/Module/Register.php:95 ../../include/channel.php:211
msgid "Nickname is required."
-msgstr "Pseudonim jest wymagany."
+msgstr "Wymagany jest pseudonim."
#: ../../Zotlabs/Module/Register.php:112
msgid "Email address required"
@@ -7410,9 +7483,7 @@ msgstr "Rejestracja na tym portalu wymaga zatwierdzenia przez administratora."
#: ../../Zotlabs/Module/Register.php:445
msgid "Register at another affiliated hub in case when prefered"
-msgstr ""
-"Zarejestruj się w innym stowarzyszonym portalu w przypadku, gdy potrzebujesz takiego "
-"rozwiązania"
+msgstr "Możesz ewentualnie zarejestrować się na innym stowarzyszonym portalu"
#: ../../Zotlabs/Module/Register.php:458
msgid "Registration on this hub is by invitation only."
@@ -7461,8 +7532,10 @@ msgid "Real name is preferred"
msgstr "Preferowane jest prawdziwe imię i nazwisko"
#: ../../Zotlabs/Module/Register.php:510
-msgid "Your nickname will be used to create an easy to remember channel address"
-msgstr "Twój pseudonim posłuży do stworzenia łatwego do zapamiętania adresu kanału"
+msgid ""
+"Your nickname will be used to create an easy to remember channel address"
+msgstr ""
+"Twój pseudonim posłuży do stworzenia łatwego do zapamiętania adresu kanału"
#: ../../Zotlabs/Module/Register.php:514
msgid "Why do you want to join this hub?"
@@ -7476,13 +7549,16 @@ msgstr "Pomoże to przejrzeć Twoją rejestrację"
msgid "I have an invite code"
msgstr "Mam kod zaproszenia"
-#: ../../Zotlabs/Module/Register.php:542 ../../include/nav.php:168 ../../boot.php:1696
+#: ../../Zotlabs/Module/Register.php:542 ../../include/nav.php:168
+#: ../../boot.php:1697
msgid "Register"
msgstr "Zarejestruj się"
#: ../../Zotlabs/Module/Register.php:575
-msgid "This site has exceeded the number of allowed daily account registrations."
-msgstr "Na tym portalu przekroczono dozwoloną liczbę dziennych rejestracji kont."
+msgid ""
+"This site has exceeded the number of allowed daily account registrations."
+msgstr ""
+"Na tym portalu przekroczono dozwoloną liczbę dziennych rejestracji kont."
#: ../../Zotlabs/Module/Acl.php:123 ../../Zotlabs/Module/Lockview.php:117
#: ../../Zotlabs/Module/Lockview.php:153
@@ -7494,6 +7570,41 @@ msgstr "Profil"
msgid "network"
msgstr "sieć"
+#: ../../Zotlabs/Module/Channel_calendar.php:62
+msgid "Event can not end before it has started."
+msgstr "Wydarzenie nie może zakończyć się przed rozpoczęciem."
+
+#: ../../Zotlabs/Module/Channel_calendar.php:64
+#: ../../Zotlabs/Module/Channel_calendar.php:72
+#: ../../Zotlabs/Module/Channel_calendar.php:87
+msgid "Unable to generate preview."
+msgstr "Nie można wygenerować podglądu."
+
+#: ../../Zotlabs/Module/Channel_calendar.php:70
+msgid "Event title and start time are required."
+msgstr "Wymaga się wprowadzenia tytułu wydarzenia i godziny rozpoczęcia."
+
+#: ../../Zotlabs/Module/Channel_calendar.php:85
+#: ../../Zotlabs/Module/Channel_calendar.php:226
+msgid "Event not found."
+msgstr "Nie znaleziono wydarzenia."
+
+#: ../../Zotlabs/Module/Channel_calendar.php:370
+msgid "Edit event"
+msgstr "Edytuj wydarzenie"
+
+#: ../../Zotlabs/Module/Channel_calendar.php:372
+msgid "Delete event"
+msgstr "Usuń wydarzenie"
+
+#: ../../Zotlabs/Module/Channel_calendar.php:406
+msgid "calendar"
+msgstr "kalendarz"
+
+#: ../../Zotlabs/Module/Channel_calendar.php:493
+msgid "Failed to remove event"
+msgstr "Nie udało się usunąć wydarzenia"
+
#: ../../Zotlabs/Module/Settings/Featured.php:25
msgid "No feature settings configured"
msgstr "Brak skonfigurowanych ustawień funkcji"
@@ -7517,7 +7628,8 @@ msgstr "Chroniony adres e-mail. Nie można zmienić tego adresu e-mail."
#: ../../Zotlabs/Module/Settings/Account.php:33
msgid "System failure storing new email. Please try again."
msgstr ""
-"Błąd systemu podczas zapisywania nowej wiadomości e-mail. Proszę spróbuj ponownie."
+"Błąd systemu podczas zapisywania nowej wiadomości e-mail. Proszę spróbuj "
+"ponownie."
#: ../../Zotlabs/Module/Settings/Account.php:51
msgid "Password verification failed."
@@ -7622,10 +7734,11 @@ 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"
+"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"
+"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"
@@ -7663,7 +7776,8 @@ msgstr "Domyślnie: menu kanału znajduje się w menu aplikacji"
msgid "Link post titles to source"
msgstr "Połącz tytuły wpisów ze źródłem"
-#: ../../Zotlabs/Module/Settings/Display.php:203 ../../Zotlabs/Widget/Newmember.php:75
+#: ../../Zotlabs/Module/Settings/Display.php:203
+#: ../../Zotlabs/Widget/Newmember.php:75
msgid "New Member Links"
msgstr "Linki dla nowych członków"
@@ -7714,7 +7828,8 @@ 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ć nowym członkom Ciebie jako potencjalnego przyjaciela?"
+"Czy pozwalasz nam sugerować nowym członkom Ciebie jako potencjalnego "
+"przyjaciela?"
#: ../../Zotlabs/Module/Settings/Channel.php:429
msgid "Your channel address is"
@@ -7736,7 +7851,7 @@ msgstr "Ustawienia kanału"
msgid "Basic Settings"
msgstr "Podstawowe ustawienia"
-#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1791
+#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1711
msgid "Full Name:"
msgstr "Pełna nazwa:"
@@ -7766,11 +7881,11 @@ 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)"
+"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)"
+"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"
@@ -7778,7 +7893,9 @@ 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ć"
+msgstr ""
+"Twoje uprawnienia są już skonfigurowane. Kliknij, aby je wyświetlić/"
+"dostosować"
#: ../../Zotlabs/Module/Settings/Channel.php:513
msgid "Hide my online presence"
@@ -7786,23 +7903,26 @@ 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"
+msgstr "Zapobiega wyświetlaniu w Twoim profilu informacji, ż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>"
+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>"
+"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>"
+"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>"
@@ -7817,9 +7937,11 @@ msgid "Allow others to tag your posts"
msgstr "Pozwól innym oznaczać Twoje wpisy"
#: ../../Zotlabs/Module/Settings/Channel.php:521
-msgid "Often used by the community to retro-actively flag inappropriate content"
+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ą"
+"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"
@@ -7860,7 +7982,8 @@ 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"
+msgstr ""
+"Użyj mojego domyślnego ustawienia odbiorców dla typu publikowanego obiektu"
#: ../../Zotlabs/Module/Settings/Channel.php:538
msgid "Default permissions category"
@@ -7874,7 +7997,8 @@ msgstr "Maksymalna liczba prywatnych wiadomości dziennie od nieznanych osób:"
msgid "Useful to reduce spamming"
msgstr "Przydatne do ograniczenia spamowania"
-#: ../../Zotlabs/Module/Settings/Channel.php:547 ../../Zotlabs/Lib/Enotify.php:68
+#: ../../Zotlabs/Module/Settings/Channel.php:547
+#: ../../Zotlabs/Lib/Enotify.php:68
msgid "Notification Settings"
msgstr "Ustawienia powiadomień"
@@ -7924,7 +8048,7 @@ 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"
+msgstr "Oznaczono Ciebie tagiem we wpisie"
#: ../../Zotlabs/Module/Settings/Channel.php:560
msgid "You are poked/prodded/etc. in a post"
@@ -7932,7 +8056,7 @@ msgstr "Zaczepiono Ciebie we wpisie"
#: ../../Zotlabs/Module/Settings/Channel.php:562
msgid "Someone likes your post/comment"
-msgstr "Ktoś ocenił pozytywnie Twój wpis/komentarz"
+msgstr "Ktoś pochwalił Twój wpis/komentarz"
#: ../../Zotlabs/Module/Settings/Channel.php:565
msgid "Show visual notifications including:"
@@ -7948,7 +8072,7 @@ msgstr "Niewidoczną aktywność w kanale"
#: ../../Zotlabs/Module/Settings/Channel.php:569
msgid "Unseen private messages"
-msgstr "Niewidoczną wiadomości prywatne"
+msgstr "Niewidoczne wiadomości prywatne"
#: ../../Zotlabs/Module/Settings/Channel.php:569
#: ../../Zotlabs/Module/Settings/Channel.php:574
@@ -8003,7 +8127,7 @@ msgstr "Niewidoczna aktywność na publicznym strumieniu"
#: ../../Zotlabs/Module/Settings/Channel.php:580
msgid "Unseen likes and dislikes"
-msgstr "Niewidoczne oceny pozytywne i negatywne"
+msgstr "Niewidoczne pochwały i zganienia"
#: ../../Zotlabs/Module/Settings/Channel.php:581
msgid "Unseen forum posts"
@@ -8011,21 +8135,22 @@ msgstr "Niewidoczne wpisy na forum"
#: ../../Zotlabs/Module/Settings/Channel.php:582
msgid "Email notification hub (hostname)"
-msgstr "Serwer powiadomień e-mail (nazwa hosta)"
+msgstr "Powiadomienia e-mail wysyłane z (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"
+"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 ortalach, ustaw to na preferowaną "
+"Jeśli twój kanał jest powielany na wielu portalach, 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 wpisy na ścianie oraz prywatne wiadomości i połączenia"
+"Pokaż w powiadomieniach nowe wpisy na ścianie oraz prywatne wiadomości i "
+"połączenia"
#: ../../Zotlabs/Module/Settings/Channel.php:585
msgid "Notify me of events this many days in advance"
@@ -8110,14 +8235,6 @@ msgstr "Ustawienia zapisane. Proszę ponownie załadować stronę."
msgid "Conversation Settings"
msgstr "Ustawienia rozmów"
-#: ../../Zotlabs/Module/Probe.php:19
-msgid "Remote Diagnostics App"
-msgstr "Aplikacja Zdalna Diagnostyka"
-
-#: ../../Zotlabs/Module/Probe.php:20
-msgid "Perform diagnostics on remote channels"
-msgstr "Przeprowadź diagnostykę zdalnych kanałów"
-
#: ../../Zotlabs/Module/Invite.php:56 ../../Zotlabs/Module/Invite.php:310
msgid "Invite App"
msgstr "Aplikacja Zaproszenie"
@@ -8186,7 +8303,7 @@ msgstr "Zaproszenia nie zostały skonfigurowane"
#: ../../Zotlabs/Module/Invite.php:316
msgid "Contact the site admin"
-msgstr "Skontaktuj się z administratorem witryny"
+msgstr "Skontaktuj się z administratorem portalu"
#: ../../Zotlabs/Module/Invite.php:332
msgid "Invites by users not enabled"
@@ -8226,7 +8343,8 @@ msgstr "Zaproszenia, z których korzystamy"
#: ../../Zotlabs/Module/Invite.php:537
msgid "§ Note, the email(s) sent will be recorded in the system logs"
-msgstr "§ Uwaga, wysłane wiadomości e-mail zostaną zapisane w dziennikach systemowych"
+msgstr ""
+"§ Uwaga, wysłane wiadomości e-mail zostaną zapisane w dziennikach systemowych"
#: ../../Zotlabs/Module/Invite.php:538
msgid "Enter email addresses, one per line:"
@@ -8257,7 +8375,7 @@ msgstr "O tym portalu"
#: ../../Zotlabs/Module/Siteinfo.php:22
msgid "Site Name"
-msgstr "Nazwa witryny"
+msgstr "Nazwa portalu"
#: ../../Zotlabs/Module/Siteinfo.php:26
msgid "Administrator"
@@ -8269,13 +8387,14 @@ 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"
+msgstr "Ten portal jest oparty na $Projectname"
#: ../../Zotlabs/Module/Siteinfo.php:31
-msgid "Federated and decentralised networking and identity services provided by Zot"
+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"
+"Sfederowane i zdecentralizowane usługi sieciowe i tożsamości wykorzystujące "
+"protokół Zot"
#: ../../Zotlabs/Module/Siteinfo.php:34
msgid "Additional federated transport protocols:"
@@ -8298,27 +8417,27 @@ msgstr "Strona główna developerów"
msgid "No service class restrictions found."
msgstr "Nie znaleziono ograniczeń klasy usług."
-#: ../../Zotlabs/Module/Rbmark.php:94
+#: ../../Zotlabs/Module/Rbmark.php:93
msgid "Select a bookmark folder"
msgstr "Wybierz folder zakładek"
-#: ../../Zotlabs/Module/Rbmark.php:99
+#: ../../Zotlabs/Module/Rbmark.php:98
msgid "Save Bookmark"
msgstr "Zapisz zakładkę"
-#: ../../Zotlabs/Module/Rbmark.php:100
+#: ../../Zotlabs/Module/Rbmark.php:99
msgid "URL of bookmark"
msgstr "URL zakładki"
-#: ../../Zotlabs/Module/Rbmark.php:105
+#: ../../Zotlabs/Module/Rbmark.php:104
msgid "Or enter new bookmark folder name"
msgstr "Lub wprowadź nową nazwę folderu zakładek"
-#: ../../Zotlabs/Module/Lang.php:17
+#: ../../Zotlabs/Module/Lang.php:20 ../../Zotlabs/Module/Lang.php:63
msgid "Language App"
msgstr "Aplikacja Język"
-#: ../../Zotlabs/Module/Lang.php:18
+#: ../../Zotlabs/Module/Lang.php:64
msgid "Change UI language"
msgstr "Zmień język interfejsu użytkownika"
@@ -8330,34 +8449,35 @@ msgstr "Witamy w Hubzilla!"
msgid "You have got no unseen posts..."
msgstr "Nie masz żadnych nieoglądniętych wpisów..."
-#: ../../Zotlabs/Module/Cover_photo.php:196 ../../Zotlabs/Module/Cover_photo.php:254
+#: ../../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:4966
+#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4622
msgid "female"
msgstr "kobieta"
-#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4967
+#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4623
#, php-format
msgid "%1$s updated her %2$s"
msgstr "%1$s zaktualizował jej %2$s"
-#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4968
+#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4624
msgid "male"
msgstr "mężczyzna"
-#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4969
+#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4625
#, php-format
msgid "%1$s updated his %2$s"
msgstr "%1$s zaktualizował jego %2$s"
-#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4971
+#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4627
#, 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:2356
+#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2276
msgid "cover photo"
msgstr "zdjęcie okładkowe"
@@ -8405,7 +8525,7 @@ msgstr "Menu może służyć do przechowywania zapisanych zakładek"
msgid "Submit and proceed"
msgstr "Prześlij i kontynuuj"
-#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2713
+#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2674
msgid "Menus"
msgstr "Kolekcja menu"
@@ -8495,11 +8615,11 @@ 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."
+"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."
+"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)"
@@ -8514,14 +8634,16 @@ 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)"
+msgid ""
+"Add the following categories to posts imported from this source (comma "
+"separated)"
msgstr ""
-"Dodaj następujące kategorie do wpisów zaimportowanych z tego źródła (oddzielone "
-"przecinkami)"
+"Dodaj następujące kategorie do wpisów zaimportowanych z tego źródła "
+"(rozdzielone przecinkami)"
#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
msgid "Resend posts with this channel as author"
-msgstr "Wyślij ponownie wpisy z tym kanałem jako autorem"
+msgstr "Wyślij ponownie wpisy z tym kanałem jako autor"
#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159
msgid "Copyrights may apply"
@@ -8549,14 +8671,14 @@ msgstr "Nie można usunąć źródła."
#: ../../Zotlabs/Module/Poke.php:165
msgid "Poke App"
-msgstr "Aplikacja kuksaniec"
+msgstr "Aplikacja Zaczepka"
#: ../../Zotlabs/Module/Poke.php:166
msgid "Poke somebody in your addressbook"
msgstr "Zaczep kogoś w swojej książce adresowej"
#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351
-#: ../../include/conversation.php:1143
+#: ../../include/conversation.php:1138
msgid "Poke"
msgstr "Zaczepka"
@@ -8652,7 +8774,7 @@ msgstr "Kategoria plików"
#: ../../Zotlabs/Storage/Browser.php:362
msgid "Total"
-msgstr "Ogólnie"
+msgstr "Ogółem"
#: ../../Zotlabs/Storage/Browser.php:364
msgid "Shared"
@@ -8726,11 +8848,11 @@ msgstr "OSTRZEŻENIE:"
#: ../../Zotlabs/Storage/Browser.php:537
msgid "Create new folder"
-msgstr "Stwórz nowy folder"
+msgstr "Utwórz nowy folder"
#: ../../Zotlabs/Storage/Browser.php:539
msgid "Upload file"
-msgstr "Przesyłanie pliku"
+msgstr "Prześlij plik"
#: ../../Zotlabs/Storage/Browser.php:551
msgid "Drop files here to immediately upload"
@@ -8738,36 +8860,21 @@ 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:154
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please logout "
-"and retry."
+"You can select files via the upload button or drop them right here or into "
+"an existing folder."
msgstr ""
-"Zdalne uwierzytelnianie zablokowane. Jesteś zalogowany lokalnie na tej stronie. "
-"Wyloguj się i spróbuj ponownie."
-
-#: ../../Zotlabs/Zot/Auth.php:266
-#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:76
-#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:178
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Witaj %s. Zdalne uwierzytelnianie powiodło się."
+"Możesz wybrać pliki za pomocą przycisku przesyłania lub upuścić je tutaj lub "
+"do istniejącego folderu."
#: ../../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."
+"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."
+"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:271
msgid "Add new connections to this privacy group"
@@ -8796,27 +8903,26 @@ msgid "add"
msgstr "dodaj"
#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143
-#: ../../include/follow.php:39
msgid "Channel is blocked on this site."
msgstr "Kanał jest zablokowany na tym portalu."
-#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:44
+#: ../../Zotlabs/Lib/Connect.php:51
msgid "Channel location missing."
msgstr "Brak lokalizacji kanału."
-#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:168
+#: ../../Zotlabs/Lib/Connect.php:103
msgid "Remote channel or protocol unavailable."
msgstr "Niedostępny jest zdalny kanał lub protokół."
-#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:192
+#: ../../Zotlabs/Lib/Connect.php:137
msgid "Channel discovery failed."
msgstr "Wyszukanie kanału nie powiodło się."
-#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:204
+#: ../../Zotlabs/Lib/Connect.php:155
msgid "Protocol disabled."
msgstr "Protokół wyłączony."
-#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:215
+#: ../../Zotlabs/Lib/Connect.php:167
msgid "Cannot connect to yourself."
msgstr "Nie można połączyć się ze sobą."
@@ -8830,7 +8936,7 @@ msgstr "Aplikacje"
#: ../../Zotlabs/Lib/Apps.php:324
msgid "Affinity Tool"
-msgstr "Narzędzie Zaprzyjaźnienia"
+msgstr "Narzędzie więzi"
#: ../../Zotlabs/Lib/Apps.php:327
msgid "Site Admin"
@@ -8867,8 +8973,8 @@ msgstr "Zdalna diagnostyka"
msgid "Suggest Channels"
msgstr "Proponowane kanały"
-#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:127 ../../include/nav.php:131
-#: ../../boot.php:1716
+#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:127
+#: ../../include/nav.php:131 ../../boot.php:1720
msgid "Login"
msgstr "Zaloguj się"
@@ -8884,8 +8990,8 @@ msgstr "Wiki"
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
+#: ../../Zotlabs/Lib/Apps.php:346 ../../include/features.php:82
+#: ../../include/nav.php:463 ../../include/nav.php:466
msgid "Calendar"
msgstr "Kalendarz"
@@ -9018,13 +9124,13 @@ 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."
+"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ą."
+"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"
@@ -9095,8 +9201,8 @@ msgid "$Projectname Notification"
msgstr "Powiadomienie $Projectname"
#: ../../Zotlabs/Lib/Enotify.php:61
-#: ../../extend/addon/hubzilla-addons/diaspora/util.php:336
-#: ../../extend/addon/hubzilla-addons/diaspora/util.php:349
+#: ../../extend/addon/hubzilla-addons/diaspora/util.php:337
+#: ../../extend/addon/hubzilla-addons/diaspora/util.php:350
#: ../../extend/addon/hubzilla-addons/diaspora/p.php:48
msgid "$projectname"
msgstr "$Projectname"
@@ -9118,7 +9224,9 @@ msgstr "Ta wiadomość e-mail została wysłana przez %1$s z %2$s."
#: ../../Zotlabs/Lib/Enotify.php:67
#, php-format
-msgid "To stop receiving these messages, please adjust your Notification Settings at %s"
+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
@@ -9153,7 +9261,8 @@ 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."
+msgstr ""
+"Odwiedź %s, aby wyświetlić albo odpowiedzieć na swoje prywatne wiadomości."
#: ../../Zotlabs/Lib/Enotify.php:144
msgid "commented on"
@@ -9161,11 +9270,11 @@ msgstr "skomentował"
#: ../../Zotlabs/Lib/Enotify.php:157
msgid "liked"
-msgstr "ocenił pozytywnie"
+msgstr "pochwalone"
#: ../../Zotlabs/Lib/Enotify.php:160
msgid "disliked"
-msgstr "ocenił negatywnie"
+msgstr "zganione"
#: ../../Zotlabs/Lib/Enotify.php:165
msgid "voted on"
@@ -9216,17 +9325,17 @@ 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 ocenił pozytywnie [zrl=%2$s]Twój %3$s[/zrl]"
+msgstr "%1$s pochwalił [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] Ocena poytywna wysłana dla rozmowy #%1$d przez %2$s"
+msgstr "[$Projectname:Notify] Pochwała wysłana 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 ocenił pozytywnie utworzony przez Ciebie element/rozmowę."
+msgstr "%1$s pochwalił utworzony przez Ciebie element/rozmowę."
#: ../../Zotlabs/Lib/Enotify.php:332
#, php-format
@@ -9366,6 +9475,10 @@ msgstr "skomentował wpis %s"
msgid "repeated %s's post"
msgstr "powtórzony wpis %s"
+#: ../../Zotlabs/Lib/Enotify.php:829 ../../Zotlabs/Lib/Enotify.php:931
+msgid "shared a file with you"
+msgstr "udostępnił Ci plik"
+
#: ../../Zotlabs/Lib/Enotify.php:837
#, php-format
msgid "edited a post dated %s"
@@ -9376,6 +9489,22 @@ msgstr "edytował wpis z dnia %s"
msgid "edited a comment dated %s"
msgstr "edytował komentarz z dnia %s"
+#: ../../Zotlabs/Lib/Enotify.php:914
+msgid "added your channel"
+msgstr "dodał Twój kanał"
+
+#: ../../Zotlabs/Lib/Enotify.php:948
+msgid "sent you a private message"
+msgstr "wysłał Ci prywatną wiadomość"
+
+#: ../../Zotlabs/Lib/Enotify.php:957
+msgid "g A l F d"
+msgstr "g A l F d"
+
+#: ../../Zotlabs/Lib/Enotify.php:960
+msgid "[today]"
+msgstr "[dzisiaj]"
+
#: ../../Zotlabs/Lib/Enotify.php:970
msgid "created an event"
msgstr "utworzono wydarzenie"
@@ -9384,12 +9513,13 @@ msgstr "utworzono wydarzenie"
msgid "status verified"
msgstr "status został zweryfikowany"
-#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2663
+#: ../../Zotlabs/Lib/Libsync.php:737
#, php-format
msgid "Unable to verify site signature for %s"
-msgstr "Nie można zweryfikować podpisu witryny dla %s"
+msgstr "Nie można zweryfikować podpisu portalu dla %s"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:42 ../../Zotlabs/Lib/NativeWikiPage.php:94
+#: ../../Zotlabs/Lib/NativeWikiPage.php:42
+#: ../../Zotlabs/Lib/NativeWikiPage.php:94
msgid "(No Title)"
msgstr "(Brak tytułu)"
@@ -9405,7 +9535,8 @@ msgstr "Nie znaleziono wiki."
msgid "Destination name already exists"
msgstr "Nazwa celu już istnieje"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:167 ../../Zotlabs/Lib/NativeWikiPage.php:368
+#: ../../Zotlabs/Lib/NativeWikiPage.php:167
+#: ../../Zotlabs/Lib/NativeWikiPage.php:368
msgid "Page not found"
msgstr "Strona nie znaleziona"
@@ -9413,8 +9544,10 @@ msgstr "Strona nie znaleziona"
msgid "Error reading page content"
msgstr "Błąd podczas odczytu zawartości strony"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:359 ../../Zotlabs/Lib/NativeWikiPage.php:409
-#: ../../Zotlabs/Lib/NativeWikiPage.php:480 ../../Zotlabs/Lib/NativeWikiPage.php:522
+#: ../../Zotlabs/Lib/NativeWikiPage.php:359
+#: ../../Zotlabs/Lib/NativeWikiPage.php:409
+#: ../../Zotlabs/Lib/NativeWikiPage.php:480
+#: ../../Zotlabs/Lib/NativeWikiPage.php:522
msgid "Error reading wiki"
msgstr "Błąd podczas odczytu wiki"
@@ -9442,16 +9575,19 @@ msgstr "Bez tytułu"
msgid "Wiki resource_id required for git commit"
msgstr "Identyfikator zasobu Wiki wymagany do zatwierdzenia przez Git"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:577 ../../Zotlabs/Widget/Wiki_page_history.php:23
+#: ../../Zotlabs/Lib/NativeWikiPage.php:577
+#: ../../Zotlabs/Widget/Wiki_page_history.php:23
msgctxt "wiki_history"
msgid "Message"
msgstr "Wiadomość"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:578 ../../Zotlabs/Widget/Wiki_page_history.php:24
+#: ../../Zotlabs/Lib/NativeWikiPage.php:578
+#: ../../Zotlabs/Widget/Wiki_page_history.php:24
msgid "Date"
msgstr "Data"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:580 ../../Zotlabs/Widget/Wiki_page_history.php:26
+#: ../../Zotlabs/Lib/NativeWikiPage.php:580
+#: ../../Zotlabs/Widget/Wiki_page_history.php:26
msgid "Compare"
msgstr "Porównaj"
@@ -9517,11 +9653,11 @@ msgstr "Narzędzia do konwersacji"
#: ../../Zotlabs/Lib/ThreadItem.php:318 ../../include/taxonomy.php:584
msgid "like"
-msgstr "lubi"
+msgstr "pochwaa"
#: ../../Zotlabs/Lib/ThreadItem.php:319 ../../include/taxonomy.php:585
msgid "dislike"
-msgstr "nie lubi"
+msgstr "gani"
#: ../../Zotlabs/Lib/ThreadItem.php:320
msgid "Reply on this comment"
@@ -9602,7 +9738,7 @@ msgstr "Uczestnicz"
msgid "Attendance Options"
msgstr "Opcje uczestnictwa"
-#: ../../Zotlabs/Lib/ThreadItem.php:446 ../../include/text.php:1924
+#: ../../Zotlabs/Lib/ThreadItem.php:446 ../../include/text.php:1906
msgid "Vote"
msgstr "Głosuj"
@@ -9645,27 +9781,27 @@ msgstr "Ten podgląd nie został zapisany"
msgid "%s show all"
msgstr "%s pokaż wszystko"
-#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451
+#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1446
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:200
msgid "Bold"
msgstr "Grube"
-#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452
+#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1447
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:201
msgid "Italic"
msgstr "Pochyłe"
-#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453
+#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1448
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:202
msgid "Underline"
msgstr "Podkreślone"
-#: ../../Zotlabs/Lib/ThreadItem.php:831 ../../include/conversation.php:1454
+#: ../../Zotlabs/Lib/ThreadItem.php:831 ../../include/conversation.php:1449
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:203
msgid "Quote"
msgstr "Cytat"
-#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1455
+#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1450
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:204
msgid "Code"
msgstr "Kod"
@@ -9674,7 +9810,7 @@ msgstr "Kod"
msgid "Image"
msgstr "Obraz"
-#: ../../Zotlabs/Lib/ThreadItem.php:834 ../../include/conversation.php:1456
+#: ../../Zotlabs/Lib/ThreadItem.php:834 ../../include/conversation.php:1451
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:205
msgid "Attach/Upload file"
msgstr "Załącz/Prześlij plik"
@@ -9697,42 +9833,43 @@ msgstr "Twój adres e-mail (wymagane)"
#: ../../Zotlabs/Lib/ThreadItem.php:848
msgid "Your website URL (optional)"
-msgstr "Adres URL Twojej witryny (opcjonalnie)"
+msgstr "Adres URL Twojego portalu (opcjonalnie)"
-#: ../../Zotlabs/Lib/Activity.php:2163
+#: ../../Zotlabs/Lib/Activity.php:2159
#, php-format
msgid "Likes %1$s's %2$s"
-msgstr "Lubi %2$s %1$s"
+msgstr "Pochwalił %2$s %1$s"
-#: ../../Zotlabs/Lib/Activity.php:2166
+#: ../../Zotlabs/Lib/Activity.php:2162
#, php-format
msgid "Doesn't like %1$s's %2$s"
-msgstr "Nie lubi %2$s %1$s"
+msgstr "Zganił %2$s %1$s"
-#: ../../Zotlabs/Lib/Activity.php:2172
+#: ../../Zotlabs/Lib/Activity.php:2168
#, php-format
msgid "Will attend %s's event"
msgstr "Weźmie udział w wydarzeniu %s"
-#: ../../Zotlabs/Lib/Activity.php:2175
+#: ../../Zotlabs/Lib/Activity.php:2171
#, php-format
msgid "Will not attend %s's event"
msgstr "Nie weźmie udziału w wydarzeniu %s"
-#: ../../Zotlabs/Lib/Activity.php:2178
+#: ../../Zotlabs/Lib/Activity.php:2174
#, php-format
msgid "May attend %s's event"
msgstr "Może uczestniczyć w wydarzeniu %s"
-#: ../../Zotlabs/Lib/Activity.php:2181
+#: ../../Zotlabs/Lib/Activity.php:2177
#, php-format
msgid "May not attend %s's event"
msgstr "Nie może uczestniczyć w wydarzeniu %s"
-#: ../../Zotlabs/Lib/Activity.php:3114 ../../Zotlabs/Lib/Activity.php:3306
-#: ../../include/network.php:1767 ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1490
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1939
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2147
+#: ../../Zotlabs/Lib/Activity.php:3098 ../../Zotlabs/Lib/Activity.php:3290
+#: ../../include/network.php:1742
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1500
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1949
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2157
msgid "ActivityPub"
msgstr "ActivityPub"
@@ -9780,15 +9917,17 @@ msgctxt "permcat"
msgid "publisher"
msgstr "wydawca"
-#: ../../Zotlabs/Lib/Libzot.php:655 ../../include/zot.php:805
+#: ../../Zotlabs/Lib/Libzot.php:655
msgid "Unable to verify channel signature"
msgstr "Nie można zweryfikować podpisu kanału"
-#: ../../Zotlabs/Lib/PermissionDescription.php:34 ../../include/acl_selectors.php:33
+#: ../../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:136
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+#: ../../include/acl_selectors.php:136
msgid "Only me"
msgstr "Tylko ja"
@@ -9822,27 +9961,35 @@ 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 wpisów."
+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 wpisów."
#: ../../Zotlabs/Lib/PermissionDescription.php:151
-msgid "This is your default setting for who can view your default channel profile"
+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"
+"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"
+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"
+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 przeglądać magazyn plików i zdjęć"
+"Jest to domyślne ustawienie określające, kto może przeglądać magazyn plików "
+"i zdjęć"
#: ../../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"
+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:115
@@ -9927,7 +10074,8 @@ msgstr "Importuj książkę adresową"
msgid "Select an addressbook to import to"
msgstr "Wybierz książkę adresową do zaimportowania"
-#: ../../Zotlabs/Widget/Filer.php:28 ../../Zotlabs/Widget/Activity_filter.php:189
+#: ../../Zotlabs/Widget/Filer.php:28
+#: ../../Zotlabs/Widget/Activity_filter.php:189
#: ../../include/contact_widgets.php:53 ../../include/features.php:318
msgid "Saved Folders"
msgstr "Zapisywane foldery"
@@ -9957,7 +10105,8 @@ msgstr "Oceń mnie"
msgid "View Ratings"
msgstr "Pokaż oceny"
-#: ../../Zotlabs/Widget/Wiki_pages.php:34 ../../Zotlabs/Widget/Wiki_pages.php:91
+#: ../../Zotlabs/Widget/Wiki_pages.php:34
+#: ../../Zotlabs/Widget/Wiki_pages.php:91
msgid "Add new page"
msgstr "Dodaj nową stronę"
@@ -9971,14 +10120,16 @@ msgstr "Nazwa strony"
#: ../../Zotlabs/Widget/Bookmarkedchats.php:24
msgid "Bookmarked Chatrooms"
-msgstr "Czaty dodane do zakładek"
+msgstr "Czaty z zakładkami"
#: ../../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:123
-#: ../../Zotlabs/Widget/Notifications.php:139 ../../Zotlabs/Widget/Notifications.php:140
+#: ../../Zotlabs/Widget/Forums.php:100
+#: ../../Zotlabs/Widget/Activity_filter.php:123
+#: ../../Zotlabs/Widget/Notifications.php:124
+#: ../../Zotlabs/Widget/Notifications.php:125
#: ../../include/acl_selectors.php:125
msgid "Forums"
msgstr "Fora"
@@ -10046,7 +10197,7 @@ msgstr "Przegląd"
#: ../../Zotlabs/Widget/Appstore.php:11
msgid "App Collections"
-msgstr "Kolekcja aplikacji"
+msgstr "Kolekcje aplikacji"
#: ../../Zotlabs/Widget/Appstore.php:13
msgid "Installed apps"
@@ -10096,10 +10247,6 @@ msgstr "Skrzynka odbiorcza"
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ż"
@@ -10223,20 +10370,25 @@ msgstr "Powiadomienia o nowej aktywności sieciowej"
msgid "View your network activity"
msgstr "Wyświetl swoją aktywność w sieci"
-#: ../../Zotlabs/Widget/Notifications.php:23 ../../Zotlabs/Widget/Notifications.php:62
+#: ../../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
+#: ../../Zotlabs/Widget/Notifications.php:26
+#: ../../Zotlabs/Widget/Notifications.php:46
+#: ../../Zotlabs/Widget/Notifications.php:65
+#: ../../Zotlabs/Widget/Notifications.php:157
msgid "Show new posts only"
msgstr "Pokaż tylko nowe wpisy"
-#: ../../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
+#: ../../Zotlabs/Widget/Notifications.php:27
+#: ../../Zotlabs/Widget/Notifications.php:47
+#: ../../Zotlabs/Widget/Notifications.php:66
+#: ../../Zotlabs/Widget/Notifications.php:127
+#: ../../Zotlabs/Widget/Notifications.php:158
msgid "Filter by name or address"
-msgstr "Filtruj według nazwy lub adresu"
+msgstr "Filtruj wg nazwy lub adresu"
# Sprawdzić w kontekście!
#: ../../Zotlabs/Widget/Notifications.php:36
@@ -10251,7 +10403,8 @@ msgstr "Powiadomienia o nowej aktywności domowej"
msgid "View your home activity"
msgstr "Wyświetl swoją aktywność domową"
-#: ../../Zotlabs/Widget/Notifications.php:43 ../../Zotlabs/Widget/Notifications.php:169
+#: ../../Zotlabs/Widget/Notifications.php:43
+#: ../../Zotlabs/Widget/Notifications.php:154
msgid "Mark all notifications seen"
msgstr "Oznacz wszystkie powiadomienia jako oglądnięte"
@@ -10268,82 +10421,67 @@ 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
+#: ../../Zotlabs/Widget/Notifications.php:75
msgid "New Events Notifications"
msgstr "Powiadomienia o nowych wydarzeniach"
-#: ../../Zotlabs/Widget/Notifications.php:93
+#: ../../Zotlabs/Widget/Notifications.php:78
msgid "View events"
msgstr "Pokaż wydarzenia"
-#: ../../Zotlabs/Widget/Notifications.php:96
+#: ../../Zotlabs/Widget/Notifications.php:81
msgid "Mark all events seen"
msgstr "Oznacza wydarzenia jako oglądnięte"
-#: ../../Zotlabs/Widget/Notifications.php:105
+#: ../../Zotlabs/Widget/Notifications.php:90
msgid "New Connections Notifications"
msgstr "Powiadomienia o nowych połączeniach"
-#: ../../Zotlabs/Widget/Notifications.php:108
+#: ../../Zotlabs/Widget/Notifications.php:93
msgid "View all connections"
msgstr "Pokaż wszystkie połączenia"
-#: ../../Zotlabs/Widget/Notifications.php:116
+#: ../../Zotlabs/Widget/Notifications.php:101
msgid "New Files"
msgstr "Nowe pliki"
-#: ../../Zotlabs/Widget/Notifications.php:117
+#: ../../Zotlabs/Widget/Notifications.php:102
msgid "New Files Notifications"
msgstr "Powiadomienia o nowych plikach"
-#: ../../Zotlabs/Widget/Notifications.php:124 ../../Zotlabs/Widget/Notifications.php:125
+#: ../../Zotlabs/Widget/Notifications.php:109
+#: ../../Zotlabs/Widget/Notifications.php:110
msgid "Notices"
msgstr "Powiadomienia"
-#: ../../Zotlabs/Widget/Notifications.php:128
+#: ../../Zotlabs/Widget/Notifications.php:113
msgid "View all notices"
msgstr "Pokaż wszystkie powiadomienia"
-#: ../../Zotlabs/Widget/Notifications.php:131
+#: ../../Zotlabs/Widget/Notifications.php:116
msgid "Mark all notices seen"
msgstr "Oznacz wszystkie powiadomienia jako oglądnięte"
-#: ../../Zotlabs/Widget/Notifications.php:152
+#: ../../Zotlabs/Widget/Notifications.php:137
msgid "New Registrations"
msgstr "Nowe rejestracje"
-#: ../../Zotlabs/Widget/Notifications.php:153
+#: ../../Zotlabs/Widget/Notifications.php:138
msgid "New Registrations Notifications"
msgstr "Powiadomienia o nowych rejestracjach"
-#: ../../Zotlabs/Widget/Notifications.php:163
+#: ../../Zotlabs/Widget/Notifications.php:148
msgid "Public Stream Notifications"
msgstr "Powiadomienia o strumieniu publicznym"
-#: ../../Zotlabs/Widget/Notifications.php:166
+#: ../../Zotlabs/Widget/Notifications.php:151
msgid "View the public stream"
msgstr "Pokaż strumień publiczny"
-#: ../../Zotlabs/Widget/Notifications.php:181
+#: ../../Zotlabs/Widget/Notifications.php:166
msgid "Sorry, you have got no notifications at the moment"
msgstr "W tej chwili nie masz żadnych powiadomień"
@@ -10376,23 +10514,23 @@ msgstr "Zarządzaj lokalizacjami"
msgid "Suggested Chatrooms"
msgstr "Sugerowane czaty"
-#: ../../Zotlabs/Widget/Conversations.php:17
+#: ../../Zotlabs/Widget/Conversations.php:15
msgid "Received Messages"
msgstr "Otrzymane wiadomości"
-#: ../../Zotlabs/Widget/Conversations.php:21
+#: ../../Zotlabs/Widget/Conversations.php:19
msgid "Sent Messages"
msgstr "Wysłane wiadomości"
-#: ../../Zotlabs/Widget/Conversations.php:25
+#: ../../Zotlabs/Widget/Conversations.php:23
msgid "Conversations"
msgstr "Rozmowy"
-#: ../../Zotlabs/Widget/Conversations.php:37
+#: ../../Zotlabs/Widget/Conversations.php:33
msgid "No messages."
msgstr "Brak wiadomości."
-#: ../../Zotlabs/Widget/Conversations.php:57
+#: ../../Zotlabs/Widget/Conversations.php:53
msgid "Delete conversation"
msgstr "Usuń rozmowę"
@@ -10426,7 +10564,7 @@ msgstr "Zarządzaj swoimi połączeniami"
#: ../../Zotlabs/Widget/Newmember.php:45
msgid "Communicate"
-msgstr "Komunikuj się"
+msgstr "Skomunikuj się"
#: ../../Zotlabs/Widget/Newmember.php:47
msgid "View your channel homepage"
@@ -10434,7 +10572,7 @@ 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"
+msgstr "Wyświetl swój strumień"
#: ../../Zotlabs/Widget/Newmember.php:54
msgid "Documentation"
@@ -10512,12 +10650,12 @@ msgstr "Wyświetl wszystkie %d popularne połączenia"
#: ../../include/conversation.php:183
#, php-format
msgid "likes %1$s's %2$s"
-msgstr "ocenił pozytywnie %2$s %1$s"
+msgstr "pochwalił %2$s %1$s"
#: ../../include/conversation.php:186
#, php-format
msgid "doesn't like %1$s's %2$s"
-msgstr "ocenił negatywnie %1$s %2$s"
+msgstr "zganił %1$s %2$s"
#: ../../include/conversation.php:226 ../../include/conversation.php:228
#, php-format
@@ -10545,7 +10683,7 @@ msgstr "Kategorie:"
#: ../../include/conversation.php:803
msgid "Filed under:"
-msgstr "Złożone pod:"
+msgstr "Skategoryzowane pod:"
#: ../../include/conversation.php:828
msgid "View in context"
@@ -10575,41 +10713,41 @@ msgstr "Obserwuj wątek"
msgid "Unfollow Thread"
msgstr "Przestań obserwować wątek"
-#: ../../include/conversation.php:1113
+#: ../../include/conversation.php:1108
msgid "Edit Connection"
msgstr "Edytuj połączenie"
-#: ../../include/conversation.php:1265
+#: ../../include/conversation.php:1260
#, php-format
msgid "%s likes this."
-msgstr "%s lubi to."
+msgstr "%s pochwalił to."
-#: ../../include/conversation.php:1265
+#: ../../include/conversation.php:1260
#, php-format
msgid "%s doesn't like this."
-msgstr "%s nie lubi tego."
+msgstr "%s zganił to."
-#: ../../include/conversation.php:1269
+#: ../../include/conversation.php:1264
#, 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."
+msgstr[0] "<span %1$s>%2$d osoba</span> pochwaliła to."
+msgstr[1] "<span %1$s>%2$d osoby</span> pochwaliły to."
+msgstr[2] "<span %1$s>%2$d osób</span> pochwaliło to."
-#: ../../include/conversation.php:1271
+#: ../../include/conversation.php:1266
#, 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."
+msgstr[0] "<span %1$s>%2$d osoba</span> zganiła to."
+msgstr[1] "<span %1$s>%2$d osoby</span> zganiły to."
+msgstr[2] "<span %1$s>%2$d osób</span> zganiło to."
-#: ../../include/conversation.php:1277
+#: ../../include/conversation.php:1272
msgid "and"
msgstr "i"
-#: ../../include/conversation.php:1280
+#: ../../include/conversation.php:1275
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
@@ -10617,136 +10755,141 @@ msgstr[0] ", oraz %d inna osoba"
msgstr[1] ", oraz %d inne osoby"
msgstr[2] ", oraz %d innych osób"
-#: ../../include/conversation.php:1281
+#: ../../include/conversation.php:1276
#, php-format
msgid "%s like this."
-msgstr "%s lubi to."
+msgstr "%s pochwala to."
-#: ../../include/conversation.php:1281
+#: ../../include/conversation.php:1276
#, php-format
msgid "%s don't like this."
-msgstr "%s nie lubi tego."
+msgstr "%s gani to."
-#: ../../include/conversation.php:1332
+#: ../../include/conversation.php:1327
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:82
msgid "Set your location"
msgstr "Ustaw swoją lokalizację"
-#: ../../include/conversation.php:1333
+#: ../../include/conversation.php:1328
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:83
msgid "Clear browser location"
msgstr "Wyczyść lokalizację przeglądarki"
-#: ../../include/conversation.php:1349
+#: ../../include/conversation.php:1344
#: ../../extend/addon/hubzilla-addons/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:1383
+#: ../../include/conversation.php:1378
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:135
msgid "Tag term:"
-msgstr "Termin tagu:"
+msgstr "Nazwa tagu:"
-#: ../../include/conversation.php:1384
+#: ../../include/conversation.php:1379
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:136
msgid "Where are you right now?"
msgstr "Gdzie teraz jesteś?"
-#: ../../include/conversation.php:1389
+#: ../../include/conversation.php:1384
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:141
msgid "Choose a different album..."
msgstr "Wybierz inny album..."
-#: ../../include/conversation.php:1393
+#: ../../include/conversation.php:1388
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:145
msgid "Comments enabled"
msgstr "Włączone komentowanie"
-#: ../../include/conversation.php:1394
+#: ../../include/conversation.php:1389
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:146
msgid "Comments disabled"
msgstr "Wyłączone komentowanie"
-#: ../../include/conversation.php:1446
+#: ../../include/conversation.php:1441
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:195
msgid "Page link name"
msgstr "Nazwa linku do strony"
-#: ../../include/conversation.php:1449
+#: ../../include/conversation.php:1444
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:198
msgid "Post as"
msgstr "Opublikuj jako"
-#: ../../include/conversation.php:1463
+#: ../../include/conversation.php:1458
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:212
msgid "Toggle voting"
msgstr "Przełącz głosowanie"
-#: ../../include/conversation.php:1464
+#: ../../include/conversation.php:1459
msgid "Toggle poll"
msgstr "Przełącz ankietę"
-#: ../../include/conversation.php:1465
+#: ../../include/conversation.php:1460
msgid "Option"
msgstr "Opcja"
-#: ../../include/conversation.php:1466
+#: ../../include/conversation.php:1461
msgid "Add option"
msgstr "Dodaj opcję"
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Minutes"
msgstr "Minuty"
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Hours"
msgstr "Godziny"
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Days"
msgstr "Dni"
-#: ../../include/conversation.php:1468
+#: ../../include/conversation.php:1463
msgid "Allow multiple answers"
msgstr "Zezwalaj na wiele odpowiedzi"
-#: ../../include/conversation.php:1470
+#: ../../include/conversation.php:1465
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:215
msgid "Disable comments"
msgstr "Wyłącz komentarze"
-#: ../../include/conversation.php:1471
+#: ../../include/conversation.php:1466
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:216
msgid "Toggle comments"
msgstr "Przełącz komentarze"
-#: ../../include/conversation.php:1478
+#: ../../include/conversation.php:1473
msgid "Summary (optional)"
msgstr "Streszczenie (opcjonalnie)"
-#: ../../include/conversation.php:1481
+#: ../../include/conversation.php:1476
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:224
msgid "Categories (optional, comma-separated list)"
msgstr "Kategorie (opcjonalnie, lista rozdzielana przecinkami)"
-#: ../../include/conversation.php:1504
+#: ../../include/conversation.php:1477
+#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:225
+msgid "Permission settings"
+msgstr "Ustawienia dostępu"
+
+#: ../../include/conversation.php:1499
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:247
msgid "Other networks and post services"
msgstr "Inne sieci i usługi społecznościowe"
-#: ../../include/conversation.php:1507
+#: ../../include/conversation.php:1502
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:250
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:171
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:314
msgid "Set expiration date"
msgstr "Ustaw datę wygaśnięcia"
-#: ../../include/conversation.php:1510
+#: ../../include/conversation.php:1505
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:253
msgid "Set publish date"
msgstr "Ustaw datę publikacji"
-#: ../../include/conversation.php:1758
+#: ../../include/conversation.php:1750
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
@@ -10754,7 +10897,7 @@ msgstr[0] "Uczestniczy"
msgstr[1] "Uczestniczy"
msgstr[2] "Uczestniczy"
-#: ../../include/conversation.php:1761
+#: ../../include/conversation.php:1753
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
@@ -10762,7 +10905,7 @@ msgstr[0] "Nie uczestniczy"
msgstr[1] "Nie uczestniczy"
msgstr[2] "Nie uczestniczy"
-#: ../../include/conversation.php:1764
+#: ../../include/conversation.php:1756
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
@@ -10770,7 +10913,7 @@ msgstr[0] "Niezdecydowany"
msgstr[1] "Niezdecydowane"
msgstr[2] "Niezdecydowanych"
-#: ../../include/conversation.php:1767
+#: ../../include/conversation.php:1759
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
@@ -10778,7 +10921,7 @@ msgstr[0] "Zgadza się"
msgstr[1] "Zgadają się"
msgstr[2] "Zgadza się"
-#: ../../include/conversation.php:1770
+#: ../../include/conversation.php:1762
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
@@ -10786,7 +10929,7 @@ msgstr[0] "Nie zgadza się"
msgstr[1] "Nie zgadzają się"
msgstr[2] "Nie zgadza się"
-#: ../../include/conversation.php:1773
+#: ../../include/conversation.php:1765
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
@@ -10794,182 +10937,188 @@ msgstr[0] "Wstrzymuje się"
msgstr[1] "Wstrzymują się"
msgstr[2] "Wstrzymuje się"
-#: ../../include/channel.php:47
+#: ../../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:80
+#: ../../include/channel.php:79
msgid "Empty name"
msgstr "Pusta nazwa"
-#: ../../include/channel.php:83
+#: ../../include/channel.php:82
msgid "Name too long"
msgstr "Nazwa jest za długa"
-#: ../../include/channel.php:200
+#: ../../include/channel.php:199
msgid "No account identifier"
msgstr "Brak identyfikatora konta"
-#: ../../include/channel.php:295
+#: ../../include/channel.php:290
msgid "Unable to retrieve created identity"
msgstr "Nie można pobrać utworzonej tożsamości"
-#: ../../include/channel.php:442
+#: ../../include/channel.php:393
msgid "Default Profile"
msgstr "Domyślny profil"
-#: ../../include/channel.php:639 ../../include/channel.php:728
+#: ../../include/channel.php:590 ../../include/channel.php:679
msgid "Unable to retrieve modified identity"
msgstr "Nie można pobrać zmodyfikowanej tożsamości"
-#: ../../include/channel.php:1410
-msgid "Requested channel is not available."
-msgstr "Żądany kanał nie jest dostępny."
+#: ../../include/channel.php:1330
+msgid "Requested channel is not available"
+msgstr "Żądany kanał nie jest dostępny"
-#: ../../include/channel.php:1567
+#: ../../include/channel.php:1487
msgid "Create New Profile"
msgstr "Utwórz nowy profil"
-#: ../../include/channel.php:1570 ../../include/nav.php:120
+#: ../../include/channel.php:1490 ../../include/nav.php:120
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:58
msgid "Edit Profile"
msgstr "Edytuj profil"
-#: ../../include/channel.php:1588
+#: ../../include/channel.php:1508
msgid "Visible to everybody"
msgstr "Widoczne dla każdego"
-#: ../../include/channel.php:1665 ../../include/channel.php:1793
+#: ../../include/channel.php:1585 ../../include/channel.php:1713
msgid "Gender:"
msgstr "Płeć:"
-#: ../../include/channel.php:1666 ../../include/channel.php:1837
+#: ../../include/channel.php:1586 ../../include/channel.php:1757
msgid "Status:"
msgstr "Status:"
-#: ../../include/channel.php:1667 ../../include/channel.php:1861
+#: ../../include/channel.php:1587 ../../include/channel.php:1781
msgid "Homepage:"
msgstr "Strona domowa:"
-#: ../../include/channel.php:1668
+#: ../../include/channel.php:1588
msgid "Online Now"
msgstr "Teraz online"
-#: ../../include/channel.php:1721
+#: ../../include/channel.php:1641
msgid "Change your profile photo"
msgstr "Zmień swoje zdjęcie profilowe"
-#: ../../include/channel.php:1748 ../../include/selectors.php:60
-#: ../../include/selectors.php:77 ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:87
+#: ../../include/channel.php:1668 ../../include/selectors.php:60
+#: ../../include/selectors.php:77
+#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:87
msgid "Female"
msgstr "Kobieta"
-#: ../../include/channel.php:1750 ../../include/selectors.php:60
-#: ../../include/selectors.php:77 ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:85
+#: ../../include/channel.php:1670 ../../include/selectors.php:60
+#: ../../include/selectors.php:77
+#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:85
msgid "Male"
msgstr "Mężczyzna"
-#: ../../include/channel.php:1752
+#: ../../include/channel.php:1672
msgid "Trans"
msgstr "Trans"
-#: ../../include/channel.php:1754 ../../include/selectors.php:60
+#: ../../include/channel.php:1674 ../../include/selectors.php:60
msgid "Neuter"
msgstr "Osoba aseksualna"
-#: ../../include/channel.php:1756 ../../include/selectors.php:60
+#: ../../include/channel.php:1676 ../../include/selectors.php:60
msgid "Non-specific"
msgstr "Nie określono"
-#: ../../include/channel.php:1798
+#: ../../include/channel.php:1718
msgid "Like this channel"
-msgstr "Oceń pozytywnie ten kanał"
+msgstr "Pochwal ten kanał"
-#: ../../include/channel.php:1822
+#: ../../include/channel.php:1742
msgid "j F, Y"
msgstr "d M, R"
-#: ../../include/channel.php:1823
+#: ../../include/channel.php:1743
msgid "j F"
msgstr "d M"
-#: ../../include/channel.php:1830
+#: ../../include/channel.php:1750
msgid "Birthday:"
msgstr "Urodziny:"
-#: ../../include/channel.php:1843
+#: ../../include/channel.php:1763
#, php-format
msgid "for %1$d %2$s"
msgstr "dla %1$d %2$s"
-#: ../../include/channel.php:1855
+#: ../../include/channel.php:1775
msgid "Tags:"
msgstr "Tagi:"
-#: ../../include/channel.php:1859
+#: ../../include/channel.php:1779
msgid "Sexual Preference:"
msgstr "Preferencje seksualne:"
-#: ../../include/channel.php:1865
+#: ../../include/channel.php:1785
msgid "Political Views:"
msgstr "Poglądy polityczne:"
-#: ../../include/channel.php:1867
+#: ../../include/channel.php:1787
msgid "Religion:"
msgstr "Religia:"
-#: ../../include/channel.php:1871
+#: ../../include/channel.php:1791
msgid "Hobbies/Interests:"
msgstr "Hobby/Zainteresowania:"
-#: ../../include/channel.php:1873
+#: ../../include/channel.php:1793
msgid "Likes:"
-msgstr "Ocen pozytywnych:"
+msgstr "Pochwały:"
-#: ../../include/channel.php:1875
+#: ../../include/channel.php:1795
msgid "Dislikes:"
-msgstr "Ocen negatywnych:"
+msgstr "Zganienia:"
-#: ../../include/channel.php:1877
+#: ../../include/channel.php:1797
msgid "Contact information and Social Networks:"
msgstr "Informacje kontaktowe i sieci społecznościowe:"
-#: ../../include/channel.php:1879
+#: ../../include/channel.php:1799
msgid "My other channels:"
msgstr "Moje inne kanały:"
-#: ../../include/channel.php:1881
+#: ../../include/channel.php:1801
msgid "Musical interests:"
msgstr "Zainteresowania muzyczne:"
-#: ../../include/channel.php:1883
+#: ../../include/channel.php:1803
msgid "Books, literature:"
msgstr "Książki, literatura:"
-#: ../../include/channel.php:1885
+#: ../../include/channel.php:1805
msgid "Television:"
msgstr "Telewizja:"
-#: ../../include/channel.php:1887
+#: ../../include/channel.php:1807
msgid "Film/dance/culture/entertainment:"
msgstr "Film/taniec/kultura/rozrywka:"
-#: ../../include/channel.php:1889
+#: ../../include/channel.php:1809
msgid "Love/Romance:"
msgstr "Miłość/Romans:"
-#: ../../include/channel.php:1891
+#: ../../include/channel.php:1811
msgid "Work/employment:"
msgstr "Praca/Zatrudnienie:"
-#: ../../include/channel.php:1893
+#: ../../include/channel.php:1813
msgid "School/education:"
msgstr "Szkoła/Wykształcenie:"
-#: ../../include/channel.php:1916
+#: ../../include/channel.php:1836
msgid "Like this thing"
msgstr "Podobne do tej rzeczy"
+#: ../../include/channel.php:1837
+msgid "Export"
+msgstr "Eksportuj"
+
#: ../../include/features.php:86
msgid "Start calendar week on Monday"
msgstr "Rozpocznij tydzień kalendarzowy w poniedziałek"
@@ -11016,7 +11165,9 @@ msgstr "Filtrowanie połączeń"
#: ../../include/features.php:138
msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtruj przychodzące wpisy z połączeń, na podstawie słów kluczowych lub treści"
+msgstr ""
+"Filtruj przychodzące wpisy z połączeń, na podstawie słów kluczowych lub "
+"treści"
#: ../../include/features.php:146
msgid "Conversation"
@@ -11032,11 +11183,11 @@ msgstr "Dodaje możliwość wstawiania reakcji emoji we wpisach"
#: ../../include/features.php:166
msgid "Dislike Posts"
-msgstr "Nielubienie wpisu"
+msgstr "Zganienia wpisów"
#: ../../include/features.php:167
msgid "Ability to dislike posts/comments"
-msgstr "Możliwość oznaczania wpisów i komentarzy jako nielubiane"
+msgstr "Możliwość oznaczania wpisów i komentarzy jako nieaprobowane"
#: ../../include/features.php:174
msgid "Star Posts"
@@ -11056,7 +11207,7 @@ msgstr "Możliwość udzielenia odpowiedzi na wybrany komentarz"
#: ../../include/features.php:196
msgid "Advanced Directory Search"
-msgstr "Zaawansowane przeszukiwanie katalogu"
+msgstr "Zaawansowane wyszukiwanie w katalogu"
#: ../../include/features.php:197
msgid "Allows creation of complex directory search queries"
@@ -11080,21 +11231,22 @@ msgstr "Duże zdjęcia"
#: ../../include/features.php:219
msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) "
-"photo thumbnails"
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
msgstr ""
-"Możliwość zamieszczania dużych miniatur zdjęć (1024px) we wpisach. Jeśli nie jest to "
-"włączone, można używać tylko małych miniatur (640 px)"
+"Możliwość zamieszczania dużych miniatur zdjęć (1024px) we wpisach. Jeśli nie "
+"jest to włączone, można używać tylko małych miniatur (640 px)"
#: ../../include/features.php:226
msgid "Even More Encryption"
msgstr "Jeszcze więcej szyfrowania"
#: ../../include/features.php:227
-msgid "Allow optional encryption of content end-to-end with a shared secret key"
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-"Zezwalaj na opcjonalne pełne (e2e) szyfrowanie treści za pomocą wspólnego tajnego "
-"klucza"
+"Zezwalaj na opcjonalne pełne (e2e) szyfrowanie treści za pomocą wspólnego "
+"tajnego klucza"
#: ../../include/features.php:234
msgid "Disable Comments"
@@ -11126,11 +11278,11 @@ msgstr "Pomijaj zduplikowane wpisy i komentarze"
#: ../../include/features.php:259
msgid ""
-"Prevent posts with identical content to be published with less than two minutes in "
-"between submissions."
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
msgstr ""
-"Zapobiegaj publikowaniu wpisów o identycznej treści, mających mniej niż dwie minuty "
-"między przesłaniami."
+"Zapobiegaj publikowaniu wpisów o identycznej treści, mających mniej niż dwie "
+"minuty między przesłaniami."
#: ../../include/features.php:266
msgid "Auto-save drafts of posts and comments"
@@ -11138,8 +11290,8 @@ msgstr "Automatyczne zapisywanie wersji roboczych wpisów i komentarzy"
#: ../../include/features.php:267
msgid ""
-"Automatically saves post and comment drafts in local browser storage to help prevent "
-"accidental loss of compositions"
+"Automatically saves post and comment drafts in local browser storage to help "
+"prevent accidental loss of compositions"
msgstr ""
"Automatycznie zapisuje wersje robocze wpisów i komentarzy w lokalnej pamięci "
"przeglądarki, aby zapobiec przypadkowej utracie kompozycji"
@@ -11186,11 +11338,11 @@ msgstr "Alternatywna kolejność strumienia"
#: ../../include/features.php:327
msgid ""
-"Ability to order the stream by last post date, last comment date or unthreaded "
-"activities"
+"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 wpisu, daty ostatniego "
-"komentarza lub nieprzeczytanych aktywności"
+"Możliwość uporządkowania strumienia według daty ostatniego wpisu, daty "
+"ostatniego komentarza lub nieprzeczytanych aktywności"
#: ../../include/features.php:334
msgid "Contact Filter"
@@ -11214,7 +11366,8 @@ msgstr "Filtr wpisów osobistych"
#: ../../include/features.php:351
msgid "Ability to display only posts that you've interacted on"
-msgstr "Możliwość wyświetlania tylko tych wpisów, z którymi miało się interakcję"
+msgstr ""
+"Możliwość wyświetlania tylko tych wpisów, z którymi miało się interakcję"
#: ../../include/features.php:372
msgid "Photo Location"
@@ -11222,7 +11375,9 @@ msgstr "Lokalizacja zdjęcia"
#: ../../include/features.php:373
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ą."
+msgstr ""
+"Jeśli dane lokalizacji są dostępne na przesłanych zdjęciach, połącz je z "
+"mapą."
#: ../../include/features.php:386
msgid "Advanced Profiles"
@@ -11238,7 +11393,7 @@ msgstr "Import/Eksport profilu"
#: ../../include/features.php:395
msgid "Save and load profile details across sites/channels"
-msgstr "Zapisz i wczytaj szczegóły profilu z różnych witryn i kanałów"
+msgstr "Zapisz i wczytaj szczegóły profilu z różnych portali i kanałów"
#: ../../include/features.php:402
msgid "Multiple Profiles"
@@ -11258,7 +11413,9 @@ 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."
+msgstr ""
+"Weryfikacja adresu e-mail jest niekompletna. Proszę sprawdzić swój adres "
+"email."
#: ../../include/auth.php:310
msgid "Failed authentication"
@@ -11309,11 +11466,11 @@ msgstr "Sieć: %s"
#: ../../include/text.php:1236 ../../include/text.php:1240
msgid "poke"
-msgstr "zaczepiać"
+msgstr "szturchnij"
#: ../../include/text.php:1241
msgid "ping"
-msgstr "spingować"
+msgstr "spinguj"
#: ../../include/text.php:1241
msgid "pinged"
@@ -11321,7 +11478,7 @@ msgstr "spingowany"
#: ../../include/text.php:1242
msgid "prod"
-msgstr "sprawdzać"
+msgstr "zaczep"
#: ../../include/text.php:1242
msgid "prodded"
@@ -11329,15 +11486,15 @@ msgstr "zaczepiony"
#: ../../include/text.php:1243
msgid "slap"
-msgstr "spoliczkować"
+msgstr "uderz"
#: ../../include/text.php:1243
msgid "slapped"
-msgstr "spoliczkowany"
+msgstr "uderzony"
#: ../../include/text.php:1244
msgid "finger"
-msgstr "dotknąć"
+msgstr "dotknij"
#: ../../include/text.php:1244
msgid "fingered"
@@ -11345,7 +11502,7 @@ msgstr "dotknięty"
#: ../../include/text.php:1245
msgid "rebuff"
-msgstr "odprawiać"
+msgstr "odpraw"
#: ../../include/text.php:1245
msgid "rebuffed"
@@ -11397,7 +11554,7 @@ msgstr "wesoły"
#: ../../include/text.php:1279
msgid "alive"
-msgstr "żywy"
+msgstr "ożywiony"
#: ../../include/text.php:1280
msgid "annoyed"
@@ -11429,7 +11586,7 @@ msgstr "zmotywowany"
#: ../../include/text.php:1287
msgid "relaxed"
-msgstr "z<relaksowany"
+msgstr "zrelaksowany"
#: ../../include/text.php:1288
msgid "surprised"
@@ -11457,7 +11614,7 @@ msgstr "Piątek"
#: ../../include/text.php:1476 ../../include/js_strings.php:104
msgid "Saturday"
-msgstr "Sonota"
+msgstr "Sobota"
#: ../../include/text.php:1476 ../../include/js_strings.php:98
msgid "Sunday"
@@ -11511,169 +11668,157 @@ msgstr "Listopad"
msgid "December"
msgstr "Grudzień"
-#: ../../include/text.php:1556
+#: ../../include/text.php:1538
msgid "Unknown Attachment"
msgstr "Nieznany załącznik"
-#: ../../include/text.php:1558 ../../include/feedutils.php:872
+#: ../../include/text.php:1540 ../../include/feedutils.php:874
msgid "unknown"
msgstr "nieznany"
-#: ../../include/text.php:1599
+#: ../../include/text.php:1581
msgid "remove category"
-msgstr "usuń kataegorię"
+msgstr "usuń kategorię"
-#: ../../include/text.php:1676
+#: ../../include/text.php:1658
msgid "remove from file"
msgstr "usuń z pliku"
-#: ../../include/text.php:1845 ../../include/message.php:13
+#: ../../include/text.php:1827
msgid "Download binary/encrypted content"
msgstr "Pobierz zawartość binarną/zaszyfrowaną"
-#: ../../include/text.php:1916
+#: ../../include/text.php:1898
msgid "Poll has ended."
msgstr "Ankieta zakończyła się."
-#: ../../include/text.php:1919
+#: ../../include/text.php:1901
#, php-format
msgid "Poll ends: %s"
msgstr "Ankieta kończy się : %s"
-#: ../../include/text.php:2098 ../../include/language.php:428
+#: ../../include/text.php:2058
+msgid "Link to Source"
+msgstr "Link do źródła"
+
+#: ../../include/text.php:2080 ../../include/language.php:428
msgid "default"
msgstr "domyślnie"
-#: ../../include/text.php:2106
+#: ../../include/text.php:2088
msgid "Page layout"
msgstr "Układ strony"
-#: ../../include/text.php:2106
+#: ../../include/text.php:2088
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:2117
+#: ../../include/text.php:2099
msgid "HTML"
msgstr "HTML"
-#: ../../include/text.php:2120
+#: ../../include/text.php:2102
msgid "Comanche Layout"
msgstr "Układ Comanche"
-#: ../../include/text.php:2125
+#: ../../include/text.php:2107
msgid "PHP"
msgstr "PHP"
-#: ../../include/text.php:2134
+#: ../../include/text.php:2116
msgid "Page content type"
msgstr "Typ treści strony"
-#: ../../include/text.php:2267
+#: ../../include/text.php:2249
msgid "activity"
msgstr "aktywność"
-#: ../../include/text.php:2270
+#: ../../include/text.php:2252
msgid "poll"
msgstr "ankieta"
-#: ../../include/text.php:2383
+#: ../../include/text.php:2365
msgid "a-z, 0-9, -, and _ only"
msgstr "tylko a-z, 0-9, - i _"
-#: ../../include/text.php:2709
+#: ../../include/text.php:2670
msgid "Design Tools"
-msgstr "Narzędzia projektowe"
+msgstr "Narzędzia projektanckie"
-#: ../../include/text.php:2715
+#: ../../include/text.php:2676
msgid "Pages"
msgstr "Strony"
-#: ../../include/text.php:2727
+#: ../../include/text.php:2688
msgid "Import"
msgstr "Import"
-#: ../../include/text.php:2728
+#: ../../include/text.php:2689
msgid "Import website..."
msgstr "Import witryny..."
-#: ../../include/text.php:2729
+#: ../../include/text.php:2690
msgid "Select folder to import"
msgstr "Wybierz folder do zaimportowania"
-#: ../../include/text.php:2730
+#: ../../include/text.php:2691
msgid "Import from a zipped folder:"
msgstr "Import z pliku archiwum ZIP:"
-#: ../../include/text.php:2731
+#: ../../include/text.php:2692
msgid "Import from cloud files:"
-msgstr "Import plków z chmury:"
+msgstr "Import plików z chmury:"
-#: ../../include/text.php:2732
+#: ../../include/text.php:2693
msgid "/cloud/channel/path/to/folder"
msgstr "/chmura/kanał/ścieżka/do/folderu"
-#: ../../include/text.php:2733
+#: ../../include/text.php:2694
msgid "Enter path to website files"
-msgstr "Wprowadź ścieżkę do plików witryny internetowej"
+msgstr "Wprowadź ścieżkę do plików poretalu"
-#: ../../include/text.php:2734
+#: ../../include/text.php:2695
msgid "Select folder"
msgstr "Wybierz folder"
-#: ../../include/text.php:2735
+#: ../../include/text.php:2696
msgid "Export website..."
msgstr "Eksport witryny..."
-#: ../../include/text.php:2736
+#: ../../include/text.php:2697
msgid "Export to a zip file"
msgstr "Eksport do pliku ZIP"
-#: ../../include/text.php:2737
+#: ../../include/text.php:2698
msgid "website.zip"
msgstr "nazwa_witryny.zip"
-#: ../../include/text.php:2738
+#: ../../include/text.php:2699
msgid "Enter a name for the zip file."
msgstr "Wprowadź nazwę pliku zip."
-#: ../../include/text.php:2739
+#: ../../include/text.php:2700
msgid "Export to cloud files"
msgstr "Eksport do plików w chmurze"
-#: ../../include/text.php:2740
+#: ../../include/text.php:2701
msgid "/path/to/export/folder"
msgstr "/ścieżka/do/eksportu/folder"
-#: ../../include/text.php:2741
+#: ../../include/text.php:2702
msgid "Enter a path to a cloud files destination."
msgstr "Wprowadź ścieżkę do miejsca docelowego plików w chmurze."
-#: ../../include/text.php:2742
+#: ../../include/text.php:2703
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 wpisu."
-
-#: ../../include/markdown.php:202 ../../include/bbcode.php:559
+#: ../../include/markdown.php:203 ../../include/bbcode.php:559
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr "%1$s napisał ten %2$s %3$s"
-#: ../../include/markdown.php:255 ../../include/bbcode.php:644
+#: ../../include/markdown.php:256 ../../include/bbcode.php:644
msgid "spoiler"
msgstr "spojler"
@@ -11695,8 +11840,8 @@ msgstr "Własny wybór"
#: ../../include/acl_selectors.php:146
msgid ""
-"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and limit the "
-"scope of \"Allow\"."
+"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\"."
@@ -11711,8 +11856,8 @@ 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 wpisu. </br /"
-"> Te uprawnienia określają, kto może oglądać wpis."
+"Uprawnienia do publikowania %s nie mogą być zmieniane %s po udostępnieniu "
+"wpisu. </br /> Te uprawnienia określają, kto może oglądać wpis."
#: ../../include/opengraph.php:56
#, php-format
@@ -11745,21 +11890,22 @@ msgstr "chcą"
#: ../../include/taxonomy.php:584
msgid "likes"
-msgstr "lubią"
+msgstr "pochwala"
#: ../../include/taxonomy.php:585
msgid "dislikes"
-msgstr "nie lubią"
+msgstr "gani"
#: ../../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."
+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."
+"Nie można utworzyć zduplikowanego identyfikatora kanału w tym systemie. "
+"Import nieudany."
#: ../../include/import.php:76
#: ../../extend/addon/hubzilla-addons/diaspora/import_diaspora.php:44
@@ -11790,8 +11936,8 @@ msgstr "Zarządzaj swoimi grupami prywatności"
msgid "Account/Channel Settings"
msgstr "Ustawienia kanału/konta"
-#: ../../include/nav.php:112 ../../include/nav.php:142 ../../include/nav.php:163
-#: ../../boot.php:1715
+#: ../../include/nav.php:112 ../../include/nav.php:142
+#: ../../include/nav.php:163 ../../boot.php:1719
msgid "Logout"
msgstr "Wyloguj się"
@@ -11817,7 +11963,7 @@ msgstr "Zabierz mnie do domu"
#: ../../include/nav.php:163
msgid "Log me out of this site"
-msgstr "Wyloguj mnie z tej witryny"
+msgstr "Wyloguj mnie z tego portalu"
#: ../../include/nav.php:168
msgid "Create an account"
@@ -11829,11 +11975,11 @@ msgstr "Pomoc i dokumentacja"
#: ../../include/nav.php:194
msgid "Search site @name, !forum, #tag, ?docs, content"
-msgstr "Szukaj w witrynie @name, !forum, #tag, ?docs, content"
+msgstr "Szukaj @name portalu, !forum, #tag, ?docs, treść"
#: ../../include/nav.php:200
msgid "Site Setup and Configuration"
-msgstr "Instalacja i konfiguracja witryny"
+msgstr "Instalacja i konfiguracja portalu"
#: ../../include/nav.php:330
msgid "@name, !forum, #tag, ?doc, content"
@@ -11845,7 +11991,7 @@ msgstr "Proszę czekać ..."
#: ../../include/nav.php:337
msgid "Add Apps"
-msgstr "Dodaj aplikacje"
+msgstr "Zainstalowane aplikacje"
#: ../../include/nav.php:338
msgid "Arrange Apps"
@@ -11857,7 +12003,7 @@ msgstr "Przełącz aplikacje systemowe"
#: ../../include/nav.php:424
msgid "Status Messages and Posts"
-msgstr "Komunikaty o stanie i wpisy"
+msgstr "Komunikaty o stanie i wpisach"
#: ../../include/nav.php:437
msgid "Profile Details"
@@ -11885,7 +12031,7 @@ msgstr "Wyświetl artykuły"
#: ../../include/nav.php:527
msgid "View Webpages"
-msgstr "Wyświetl witryny internetowe"
+msgstr "Wyświetl strony internetowe"
#: ../../include/language.php:441
msgid "Select an alternate language"
@@ -11951,7 +12097,7 @@ 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"
+msgstr "Obraz przekracza limit rozmiaru dla tego portali, wynoszący %lu bajtów"
#: ../../include/photos.php:162
msgid "Image file is empty."
@@ -12032,7 +12178,7 @@ msgstr "Opisz (opcjonalnie)"
#: ../../include/js_strings.php:23
msgid "Please enter a link URL"
-msgstr "Proszę wprowadzić URL linku"
+msgstr "Proszę wprowadzić URL linku"
#: ../../include/js_strings.php:24
msgid "Unsaved changes. Are you sure you wish to leave this page?"
@@ -12056,9 +12202,11 @@ msgstr "świetne"
#: ../../include/js_strings.php:30
msgid ""
-"Your chosen nickname was either already taken or not valid. Please use our suggestion ("
+"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 ("
+"Twój wybrany pseudonim jest już zajęty lub nieważny. Skorzystaj z naszej "
+"propozycji ("
#: ../../include/js_strings.php:31
msgid ") or enter a new one."
@@ -12130,7 +12278,7 @@ msgstr[2] "%d lat"
#: ../../include/js_strings.php:54
msgid "timeago.prefixAgo"
-msgstr "timeago.prefixAgo"
+msgstr "temu"
#: ../../include/js_strings.php:55
msgid "timeago.prefixFromNow"
@@ -12293,11 +12441,11 @@ msgstr "Adres e-mail jest nieprawidłowy"
#: ../../include/security.php:607
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."
+"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."
+"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"
@@ -12535,43 +12683,43 @@ msgstr "Nie obchodzi mnie to"
msgid "Ask me"
msgstr "Zapytaj mnie"
-#: ../../include/network.php:1762 ../../include/network.php:1763
+#: ../../include/network.php:1737 ../../include/network.php:1738
msgid "Friendica"
msgstr "Friendica"
-#: ../../include/network.php:1764
+#: ../../include/network.php:1739
msgid "OStatus"
msgstr "OStatus"
-#: ../../include/network.php:1765
+#: ../../include/network.php:1740
msgid "GNU-Social"
msgstr "GNU-Social"
-#: ../../include/network.php:1766
+#: ../../include/network.php:1741
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/network.php:1769
+#: ../../include/network.php:1744
msgid "Diaspora"
msgstr "Diaspora"
-#: ../../include/network.php:1770
+#: ../../include/network.php:1745
msgid "Facebook"
msgstr "Facebook"
-#: ../../include/network.php:1771
+#: ../../include/network.php:1746
msgid "Zot"
msgstr "Zot"
-#: ../../include/network.php:1772
+#: ../../include/network.php:1747
msgid "LinkedIn"
msgstr "LinkedIn"
-#: ../../include/network.php:1773
+#: ../../include/network.php:1748
msgid "XMPP/IM"
msgstr "XMPP/IM"
-#: ../../include/network.php:1774
+#: ../../include/network.php:1749
msgid "MySpace"
msgstr "MySpace"
@@ -12585,15 +12733,15 @@ msgstr "Podana domena e-mail nie należy do domen dozwolonych w tym portalu"
#: ../../include/account.php:48
msgid "The provided email address is already registered at this site"
-msgstr "Podany adres e-mail jest już zarejestrowany w tej witrynie"
+msgstr "Podany adres e-mail jest już zarejestrowany w tym portalu"
#: ../../include/account.php:55
msgid ""
-"There is a pending registration for this address - click \"Register\" to continue "
-"verification"
+"There is a pending registration for this address - click \"Register\" to "
+"continue verification"
msgstr ""
-"Oczekuje się na rejestrację tego adresu - kliknij „Zarejestruj się”, aby kontynuować "
-"weryfikację"
+"Oczekuje się na rejestrację tego adresu - kliknij „Zarejestruj się”, aby "
+"kontynuować weryfikację"
#: ../../include/account.php:94
msgid "An invitation is required."
@@ -12667,15 +12815,16 @@ msgstr "Rejestracja trwa"
msgid "please come back"
msgstr "proszę wrócić"
-#: ../../include/help.php:80
+#: ../../include/help.php:81
msgid "Help:"
msgstr "Pomoc:"
-#: ../../include/help.php:129
+#: ../../include/help.php:130
msgid "Not Found"
msgstr "Nie znaleziono"
-#: ../../include/attach.php:273 ../../include/attach.php:324 ../../include/attach.php:419
+#: ../../include/attach.php:273 ../../include/attach.php:324
+#: ../../include/attach.php:419
msgid "Item was not found."
msgstr "Nie znaleziono elementu."
@@ -12708,8 +12857,8 @@ msgstr "Osiągnię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."
+"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."
@@ -12763,11 +12912,11 @@ 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"
+msgstr "Domowy, głosowy"
#: ../../include/connections.php:737 ../../include/event.php:1425
msgid "Home, Fax"
-msgstr "Dom, fax"
+msgstr "Domowy, fax"
#: ../../include/connections.php:739 ../../include/event.php:1427
msgid "Work, Voice"
@@ -12862,7 +13011,7 @@ msgstr "Wiek: "
msgid "YYYY-MM-DD or MM-DD"
msgstr "RRRR-MM-DD lub MM-DD"
-#: ../../include/datetime.php:238 ../../boot.php:2730
+#: ../../include/datetime.php:238 ../../boot.php:2734
msgid "never"
msgstr "nigdy"
@@ -12942,95 +13091,75 @@ msgstr "urodziny %1$s"
msgid "Happy Birthday %1$s"
msgstr "%1$s, wszystkiego najlepszego z okazji urodzin"
-#: ../../include/items.php:1038 ../../include/items.php:1098
+#: ../../include/items.php:979 ../../include/items.php:1039
msgid "(Unknown)"
msgstr "(Nieznane)"
-#: ../../include/items.php:1302
+#: ../../include/items.php:1243
msgid "Visible to anybody on the internet."
msgstr "Widoczne dla każdego w internecie."
-#: ../../include/items.php:1304
+#: ../../include/items.php:1245
msgid "Visible to you only."
msgstr "Widoczne tylko dla Ciebie."
-#: ../../include/items.php:1306
+#: ../../include/items.php:1247
msgid "Visible to anybody in this network."
msgstr "Widoczne dla każdego w tej sieci."
-#: ../../include/items.php:1308
+#: ../../include/items.php:1249
msgid "Visible to anybody authenticated."
msgstr "Widoczne dla każdego uwierzytelnionego."
-#: ../../include/items.php:1310
+#: ../../include/items.php:1251
#, php-format
msgid "Visible to anybody on %s."
msgstr "Widoczne dla wszystkich na %s."
-#: ../../include/items.php:1312
+#: ../../include/items.php:1253
msgid "Visible to all connections."
msgstr "Widoczny dla wszystkich połączeń."
-#: ../../include/items.php:1314
+#: ../../include/items.php:1255
msgid "Visible to approved connections."
msgstr "Widoczny dla zatwierdzonych połączeń."
-#: ../../include/items.php:1316
+#: ../../include/items.php:1257
msgid "Visible to specific connections."
msgstr "Widoczny dla określonych połączeń."
-#: ../../include/items.php:4601
+#: ../../include/items.php:4257
msgid "Privacy group is empty."
msgstr "Grupa prywatności jest pusta."
-#: ../../include/items.php:4608
+#: ../../include/items.php:4264
#, php-format
msgid "Privacy group: %s"
msgstr "Grupa prywatności: %s"
-#: ../../include/items.php:4620
+#: ../../include/items.php:4276
msgid "Connection not found."
msgstr "Nie znaleziono połączenia."
-#: ../../include/items.php:4973
+#: ../../include/items.php:4629
msgid "profile photo"
msgstr "zdjęcie profilowe"
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
#, php-format
msgid "[Edited %s]"
msgstr "[Edytowane %s]"
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
msgctxt "edit_activity"
msgid "Post"
msgstr "Wpis"
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
msgctxt "edit_activity"
msgid "Comment"
msgstr "Komentarz"
-#: ../../include/follow.php:86
-msgid "Response from remote channel was incomplete."
-msgstr "Odpowiedź z kanału zdalnego była niekompletna."
-
-#: ../../include/follow.php:98
-msgid "Premium channel - please visit:"
-msgstr "Kanał premium - odwiedź:"
-
-#: ../../include/follow.php:112
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanał został usunięty i już nie istnieje."
-
-#: ../../include/zot.php:778
-msgid "Invalid data packet"
-msgstr "Nieprawidłowy pakiet danych"
-
-#: ../../include/zot.php:4378
-msgid "invalid target signature"
-msgstr "nieprawidłowy podpis docelowy"
-
#: ../../include/bbcode.php:233 ../../include/bbcode.php:928
#: ../../include/bbcode.php:1525 ../../include/bbcode.php:1533
msgid "Image/photo"
@@ -13043,16 +13172,16 @@ msgstr "Zaszyfrowana treść"
#: ../../include/bbcode.php:334
#, php-format
msgid "Install %1$s element %2$s"
-msgstr "Zainstaluj element %1$s %2$s"
+msgstr "Zainstaluj %2$s elementu %1$s"
#: ../../include/bbcode.php:338
#, php-format
msgid ""
-"This post contains an installable %s element, however you lack permissions to install "
-"it on this site."
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
msgstr ""
-"Ten wpis zawiera możliwy do zainstalowania element %s, jednak nie masz uprawnień do "
-"zainstalowania go w tym portalu."
+"Ten wpis zawiera możliwy do zainstalowania element %s, jednak nie masz "
+"uprawnień do zainstalowania go w tym portalu."
#: ../../include/bbcode.php:551
msgid "card"
@@ -13089,11 +13218,12 @@ msgstr "%1$s obserwujesz teraz %2$s"
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/gnusoc/Mod_Gnusoc.php:22
msgid "GNU-Social Protocol App"
@@ -13186,7 +13316,7 @@ msgstr "Link:"
#: ../../extend/addon/hubzilla-addons/likebanner/likebanner.php:70
msgid "Like us on Hubzilla"
-msgstr "Oceń nas pozytywnie na Hubzilli"
+msgstr "Pochwal nas na Hubzilli"
#: ../../extend/addon/hubzilla-addons/likebanner/likebanner.php:72
msgid "Embed:"
@@ -13200,7 +13330,8 @@ msgstr "Zapisz ustawienia"
#: ../../extend/addon/hubzilla-addons/msgfooter/msgfooter.php:47
msgid "text to include in all outgoing posts from this site"
-msgstr "tekst do umieszczania we wszystkich wpisach wychodzących z tej witryny"
+msgstr ""
+"tekst do umieszczania we wszystkich wpisach wychodzących z tego portalu"
#: ../../extend/addon/hubzilla-addons/moremoods/moremoods.php:19
msgid "lonely"
@@ -13292,21 +13423,22 @@ msgstr "zazdrosny"
#: ../../extend/addon/hubzilla-addons/piwik/piwik.php:85
msgid ""
-"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics "
-"tool."
+"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>."
+"Ten portal jest śledzony za pomocą narzędzia analitycznego <a href='http://"
+"www.piwik.org'>Piwik</a>."
#: ../../extend/addon/hubzilla-addons/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)."
+"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)."
+"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/hubzilla-addons/piwik/piwik.php:96
msgid "Piwik Base URL"
@@ -13314,10 +13446,11 @@ msgstr "Bazowy adres URL Piwik"
#: ../../extend/addon/hubzilla-addons/piwik/piwik.php:96
msgid ""
-"Absolute path to your Piwik installation. (without protocol (http/s), with trailing "
-"slash)"
+"Absolute path to your Piwik installation. (without protocol (http/s), with "
+"trailing slash)"
msgstr ""
-"Absolutna ścieżka do instalacji Piwik (bez schematu (http/s), z końcowym ukośnikiem)"
+"Absolutna ścieżka do instalacji Piwik (bez schematu (http/s), z końcowym "
+"ukośnikiem)"
#: ../../extend/addon/hubzilla-addons/piwik/piwik.php:97
msgid "Site ID"
@@ -13376,8 +13509,8 @@ msgstr "Minimalna reputacja, zanim członek będzie mógł moderować inne wpisy
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:122
msgid ""
-"Max ratio of moderator's reputation that can be added to/deducted from reputation of "
-"person being moderated"
+"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ąć"
@@ -13395,16 +13528,16 @@ 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"
+"Reputacja automatycznie odświeżana jest w tym tempie co godzinę, dopóki nie "
+"osiągnie minimum_to_post"
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:126
msgid ""
-"When minimum_to_moderate > reputation > minimum_to_post reputation recovers at this "
-"rate per hour"
+"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ę"
+"Kiedy minimum_to_moderate > reputation> minimum_to_post reputacja odświeża "
+"na jest z taką szybkością na godzinę"
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:140
msgid "Community Moderation Settings"
@@ -13435,7 +13568,7 @@ msgid "Errors encountered deleting database table "
msgstr "Napotkano błędy podczas usuwania tabeli bazy danych "
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:95
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:503
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:496
msgid "Submit Settings"
msgstr "Prześlij ustawienia"
@@ -13445,11 +13578,11 @@ msgstr "Usunąć tabele podczas odinstalowywania?"
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:96
msgid ""
-"If checked, the Rendezvous database tables will be deleted when the plugin is "
-"uninstalled."
+"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."
+"Jeśli zaznaczone, po odinstalowaniu wtyczki zostaną usunięte wszystkie "
+"tabele z bazy danych Rendezvous."
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:97
msgid "Mapbox Access Token"
@@ -13457,11 +13590,12 @@ msgstr "Token dostępu Mapbox"
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/rendezvous/rendezvous.php:162
msgid "Rendezvous"
@@ -13469,13 +13603,13 @@ msgstr "Rendezvous"
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/rendezvous/rendezvous.php:168
msgid "Welcome to Rendezvous!"
@@ -13483,14 +13617,14 @@ msgstr "Witamy w Rendezvous!"
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/rendezvous/rendezvous.php:171
msgid "Let's meet here"
@@ -13522,11 +13656,12 @@ msgstr "Edytuj alert zbliżeniowy"
#: ../../extend/addon/hubzilla-addons/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):"
+"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ć):"
+"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/hubzilla-addons/rendezvous/rendezvous.php:180
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:185
@@ -13540,11 +13675,12 @@ msgstr "Odległość ostrzeżenia o bliskości (metry)"
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:182
#: ../../extend/addon/hubzilla-addons/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):"
+"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ć):"
+"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/hubzilla-addons/rendezvous/rendezvous.php:183
msgid "Marker proximity alert"
@@ -13555,9 +13691,11 @@ msgid "Reminder note"
msgstr "Notatka przypominająca"
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:187
-msgid "Enter a note to be displayed when you are within the specified proximity..."
+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 ..."
+"Wprowadź notatkę, która będzie wyświetlana, gdy będziesz w określonej "
+"odległości ..."
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:199
msgid "Add new rendezvous"
@@ -13565,14 +13703,15 @@ msgstr "Dodaj nowe spotkanie"
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/rendezvous/rendezvous.php:232
msgid "You have no rendezvous. Press the button above to create a rendezvous!"
@@ -13642,6 +13781,7 @@ msgstr "Nazwa kanału Hubzilla"
#: ../../extend/addon/hubzilla-addons/redred/Mod_Redred.php:75
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:54
+#: ../../boot.php:1714
msgid "Nickname"
msgstr "Pseudonim"
@@ -13659,7 +13799,9 @@ msgstr "Weryfikacja dwuetapowa TOTP"
#: ../../extend/addon/hubzilla-addons/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ą:"
+msgstr ""
+"Wprowadź dwuetapową weryfikację wygenerowaną przez aplikację "
+"uwierzytelniającą:"
#: ../../extend/addon/hubzilla-addons/totp/Mod_Totp.php:25
msgid "Success!"
@@ -13693,12 +13835,14 @@ msgstr "Twój sekret TOTP to"
#: ../../extend/addon/hubzilla-addons/totp/Settings/Totp.php:94
msgid ""
-"Be sure to save it somewhere in case you lose or replace your mobile device.\n"
+"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"
+"Użyj urządzenia mobilnego, aby zeskanować poniższy kod QR i zarejestrować tą "
+"witrynę\n"
"w preferowanej aplikacji uwierzytelniającej."
#: ../../extend/addon/hubzilla-addons/totp/Settings/Totp.php:99
@@ -13750,15 +13894,15 @@ msgstr "Twoje konto na %s wygaśnie za kilka dni."
msgid "Your $Productname test account is about to expire."
msgstr "Twoje konto testowe $Productname wkrótce wygaśnie."
-#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:70
+#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:101
msgid "An account has been created for you."
msgstr "Konto zostało dla Ciebie utworzone."
-#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:77
+#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:108
msgid "Authentication successful but rejected: account creation is disabled."
msgstr ""
-"Uwierzytelnianie przebiegło pomyślne, ale zostało odrzucone: tworzenie konta jest "
-"wyłączone."
+"Uwierzytelnianie przebiegło pomyślne, ale zostało odrzucone: utworzone konto "
+"jest wyłączone."
#: ../../extend/addon/hubzilla-addons/cart/cart.php:252
msgid "DB Cleanup Failure"
@@ -13933,9 +14077,11 @@ msgid "Enable Subscription Management Module"
msgstr "Włącz moduł zarządzania subskrypcjami"
#: ../../extend/addon/hubzilla-addons/cart/submodules/subscriptions.php:223
-msgid "Cannot include subscription items with different terms in the same order."
+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."
+"Nie może zawierać elementów subskrypcji z różnymi terminami w tej samej "
+"kolejności."
#: ../../extend/addon/hubzilla-addons/cart/submodules/subscriptions.php:372
msgid "Select Subscription to Edit"
@@ -14010,11 +14156,11 @@ msgstr "Płatności za pomocą przycisku PayPal nie są włączone."
#: ../../extend/addon/hubzilla-addons/cart/submodules/paypalbuttonV2.php:282
#: ../../extend/addon/hubzilla-addons/cart/submodules/paypalbutton.php:270
msgid ""
-"Paypal button payments are not properly configured. Please choose another payment "
-"option."
+"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."
+"Płatności za pomocą przycisku PayPal nie są poprawnie skonfigurowane. "
+"Wybierz inną opcję płatności."
#: ../../extend/addon/hubzilla-addons/cart/submodules/paypalbutton.php:85
msgid "Enable Paypal Button Module"
@@ -14061,11 +14207,11 @@ msgstr "Podstawowa waluta sprzedawcy"
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"Napotkaliśmy problem podczas logowania za pomocą podanego przez Ciebie "
+"identyfikatora OpenID. Sprawdź poprawną pisownię identyfikatora."
#: ../../extend/addon/hubzilla-addons/openid/openid.php:49
msgid "The error message was:"
@@ -14127,6 +14273,12 @@ msgstr "Data urodzenia"
msgid "OpenID protocol error. No ID returned."
msgstr "Błąd protokołu OpenID. Brak identyfikatora."
+#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:76
+#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Witaj %s. Zdalne uwierzytelnianie powiodło się."
+
#: ../../extend/addon/hubzilla-addons/hzfiles/hzfiles.php:81
msgid "Hubzilla File Storage Import"
msgstr "Import z magazynu plików Hubzilla"
@@ -14134,7 +14286,8 @@ msgstr "Import z magazynu plików Hubzilla"
#: ../../extend/addon/hubzilla-addons/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 portalu Hubzilla."
+"Spowoduje to zaimportowanie wszystkich plików w chmurze z innego portalu "
+"Hubzilla."
#: ../../extend/addon/hubzilla-addons/hzfiles/hzfiles.php:83
msgid "Hubzilla Server base URL"
@@ -14156,11 +14309,12 @@ msgstr "Zaktualizowano ustawienia protokołu Diaspora."
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/diaspora/Mod_Diaspora.php:58
msgid "Diaspora Protocol App"
@@ -14168,19 +14322,20 @@ msgstr "Aplikacja Protokół Diaspora"
#: ../../extend/addon/hubzilla-addons/diaspora/Mod_Diaspora.php:77
msgid "Allow any Diaspora member to comment or like your public posts"
-msgstr "Umożliwia członkom Diaspory komentować lub aprobować Twoje publiczne wpisy"
+msgstr ""
+"Umożliwia członkom Diaspory komentować lub aprobować Twoje publiczne wpisy"
#: ../../extend/addon/hubzilla-addons/diaspora/Mod_Diaspora.php:77
msgid ""
-"If this setting is disabled only your contacts will be able to comment or like your "
-"public posts"
+"If this setting is disabled only your contacts will be able to comment or "
+"like your public posts"
msgstr ""
-"Jeśli to ustawienie jest wyłączone, tylko Twoje kontakty będą mogły komentować lub "
-"aprobować Twoje publiczne wpisy"
+"Jeśli to ustawienie jest wyłączone, tylko Twoje kontakty będą mogły "
+"komentować lub aprobować Twoje publiczne wpisy"
#: ../../extend/addon/hubzilla-addons/diaspora/Mod_Diaspora.php:81
msgid "Prevent your hashtags from being redirected to other sites"
-msgstr "Zapobiegaj przekierowywaniu hasztagów do innych witryn"
+msgstr "Zapobiegaj przekierowywaniu hasztagów do innych portali"
#: ../../extend/addon/hubzilla-addons/diaspora/Mod_Diaspora.php:85
msgid "Sign and forward posts and comments with no existing Diaspora signature"
@@ -14201,11 +14356,13 @@ msgstr "W pliku importu nie znaleziono nazwy użytkownika."
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1599
#, php-format
msgid "%1$s dislikes %2$s's %3$s"
-msgstr "%1$s ocen negatywnych %2$s %3$s"
+msgstr "%1$s zganień %2$s %3$s"
#: ../../extend/addon/hubzilla-addons/diaspora/diaspora.php:70
-msgid "Please install the statistics addon to be able to configure a diaspora relay"
-msgstr "Zainstaluj dodatek do statystyk, aby móc skonfigurować konektor Diaspory"
+msgid ""
+"Please install the statistics addon to be able to configure a diaspora relay"
+msgstr ""
+"Zainstaluj dodatek do statystyk, aby móc skonfigurować konektor Diaspory"
#: ../../extend/addon/hubzilla-addons/diaspora/diaspora.php:80
msgid "Diaspora Relay Handle"
@@ -14273,12 +14430,13 @@ msgstr "Znane tagi"
#: ../../extend/addon/hubzilla-addons/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,"
+"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,"
+"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/hubzilla-addons/upload_limits/upload_limits.php:25
msgid "Show Upload Limits"
@@ -14304,7 +14462,8 @@ msgstr "Aplikacja Hide Aside"
#: ../../extend/addon/hubzilla-addons/hideaside/Mod_Hideaside.php:24
#: ../../extend/addon/hubzilla-addons/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żywa się długiego przewijania"
+msgstr ""
+"Powoduje zanikanie obszaru po chwili, gdy używa się długiego przewijania"
#: ../../extend/addon/hubzilla-addons/hideaside/Mod_Hideaside.php:27
#: ../../extend/addon/hubzilla-addons/planets/Mod_Planets.php:23
@@ -14341,11 +14500,11 @@ msgstr "Adres URL serwera kafelków rastrowych"
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:156
msgid ""
-"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public "
-"tile servers</a>"
+"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>"
+"Lista <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank"
+"\">publicznych serwerów kafelków</a>"
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:157
msgid "Nominatim (reverse geocoding) Server URL"
@@ -14353,21 +14512,22 @@ msgstr "Adres URL serwera Nominatim (odwrotne geokodowanie)"
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:157
msgid ""
-"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank"
-"\">Nominatim servers</a>"
+"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>"
+"Lista <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target="
+"\"_blank\">serwerów Nominatim</a>"
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:158
msgid "Default zoom"
msgstr "Powiększenie domyślne"
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:158
-msgid "The default zoom level. (1:world, 18:highest, also depends on tile server)"
+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)"
+"Domyślny poziom powiększenia. (1: świat, 18: najwyższy, zależy również od "
+"serwera kafelków)"
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:159
msgid "Include marker on map"
@@ -14427,6 +14587,10 @@ msgstr "Przepływ pracy użytkownika."
msgid "This channel"
msgstr "Ten kanał"
+#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:327
+msgid "Create New Workflow Item"
+msgstr "Utwórz element przepływu"
+
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:541
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:1437
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:1456
@@ -14482,13 +14646,14 @@ msgstr "Użyj centralnej bazy użytkowników"
#: ../../extend/addon/hubzilla-addons/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."
+"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”."
+"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/hubzilla-addons/xmpp/Mod_Xmpp.php:23
msgid "XMPP settings updated."
@@ -14544,9 +14709,11 @@ msgid "Random Planet App"
msgstr "Aplikacja Losowa Planeta"
#: ../../extend/addon/hubzilla-addons/planets/Mod_Planets.php:25
-msgid "Set a random planet from the Star Wars Empire as your location when posting"
+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"
+"Podczas wysyłania ustaw, jako lokalizację, losową planetę z Imperium "
+"Gwiezdnych Wojen"
#: ../../extend/addon/hubzilla-addons/nsfw/nsfw.php:152
msgid "Possible adult content"
@@ -14571,19 +14738,17 @@ msgstr "Zwija treść zawierającą określone słowa"
#: ../../extend/addon/hubzilla-addons/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, "
-"na przykład, 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."
+"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 we wpisach słowa/tekst określone poniżej i zwija "
+"wszelkie treści zawierające te słowa, tak aby nie były wyświetlane w "
+"nieodpowiednich momentach. Na przykład, podteksty seksualne, mogą być "
+"niewłaściwe w środowisku."
#: ../../extend/addon/hubzilla-addons/nsfw/Mod_Nsfw.php:49
msgid "Comma separated list of keywords to hide"
@@ -14615,27 +14780,28 @@ msgstr "Nowa gra z handicapem"
#: ../../extend/addon/hubzilla-addons/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. "
+"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. "
+"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/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/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."
+"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ę."
+"Gra z handicapem wyłącza środkową pozycję na środkowym poziomie, ponieważ "
+"gracz zajmujący to pole często ma nieuczciwą przewagę."
#: ../../extend/addon/hubzilla-addons/tictac/tictac.php:183
msgid "You go first..."
@@ -14664,11 +14830,11 @@ msgstr "Zapisano ustawienia pamięci podręcznej zdjęć."
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"Dodatek Photo Cache zapisuje lokalnie kopie obrazów z zewnętrznych portali, "
+"aby zwiększyć Twoją anonimowość w sieci."
#: ../../extend/addon/hubzilla-addons/photocache/Mod_Photocache.php:42
msgid "Photo Cache App"
@@ -14681,7 +14847,8 @@ msgstr "Minimalny rozmiar zdjęcia do buforowania"
#: ../../extend/addon/hubzilla-addons/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."
+"W pikselach. Od 1 do 1024, 0 zostanie zastąpione domyślnymi ustawieniami "
+"systemowymi."
#: ../../extend/addon/hubzilla-addons/photocache/Mod_Photocache.php:64
msgid "Photo Cache"
@@ -14739,10 +14906,12 @@ msgid "Flag Adult Photos"
msgstr "Oznaczanie zdjęć dla dorosłych"
#: ../../extend/addon/hubzilla-addons/adultphotoflag/adultphotoflag.php:25
-msgid "Provide photo edit option to hide inappropriate photos from default album view"
+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"
+"Dostarcza opcję edycji zdjęć, umożliwiającą ukrywanie nieodpowiednich zdjęć "
+"w domyślnym widoku albumu"
#: ../../extend/addon/hubzilla-addons/statusnet/statusnet.php:145
msgid "Post to GNU social"
@@ -14757,24 +14926,29 @@ msgid "Application name"
msgstr "Nazwa aplikacji"
#: ../../extend/addon/hubzilla-addons/statusnet/Mod_Statusnet.php:61
-msgid "Please contact your site administrator.<br />The provided API URL is not valid."
+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."
+"Skontaktuj się z administratorem portalu. <br/> Podany adres URL interfejsu "
+"API jest nieprawidłowy."
#: ../../extend/addon/hubzilla-addons/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."
+msgstr ""
+"Nie mogliśmy nawiązać połączenia ze społecznościowym API GNU o podanej "
+"ścieżce."
#: ../../extend/addon/hubzilla-addons/statusnet/Mod_Statusnet.php:130
msgid "GNU social settings updated."
msgstr "Ustawienia społecznościowe GNU zostały zaktualizowane."
#: ../../extend/addon/hubzilla-addons/statusnet/Mod_Statusnet.php:147
-msgid "Relay public postings to a connected GNU social account (formerly StatusNet)"
+msgid ""
+"Relay public postings to a connected GNU social account (formerly StatusNet)"
msgstr ""
-"Przekazywanie publicznych wpisów na połączone konto społecznościowe GNU (dawniej "
-"StatusNet)"
+"Przekazywanie publicznych wpisów na połączone konto społecznościowe GNU "
+"(dawniej StatusNet)"
#: ../../extend/addon/hubzilla-addons/statusnet/Mod_Statusnet.php:181
msgid "Globally Available GNU social OAuthKeys"
@@ -14782,13 +14956,14 @@ msgstr "Globalnie dostępne klucze OAuthKey społecznościowe GNU"
#: ../../extend/addon/hubzilla-addons/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)."
+"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)."
+"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/hubzilla-addons/statusnet/Mod_Statusnet.php:198
msgid "Provide your own OAuth Credentials"
@@ -14796,18 +14971,18 @@ msgstr "Podaj własne dane logowania OAuth"
#: ../../extend/addon/hubzilla-addons/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."
+"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/hubzilla-addons/statusnet/Mod_Statusnet.php:204
msgid "OAuth Consumer Key"
@@ -14831,14 +15006,16 @@ msgstr "Nazwa aplikacji społecznościowej GNU"
#: ../../extend/addon/hubzilla-addons/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."
+"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 portalu społecznościowego GNU, który musisz "
-"skopiować do pola wprowadzania poniżej i przesłać formularz. Tylko twoje "
-"<strong>publiczne</strong> wpisy będą publikowane w społecznościach GNU."
+"W celu połączenia się ze swoim kontem społecznościowym GNU, kliknij poniższy "
+"przycisk, aby uzyskać kod zabezpieczający z portalu społecznościowego GNU, "
+"który musisz skopiować do pola wprowadzania poniżej i przesłać formularz. "
+"Tylko twoje <strong>publiczne</strong> wpisy będą publikowane w "
+"społecznościach GNU."
#: ../../extend/addon/hubzilla-addons/statusnet/Mod_Statusnet.php:241
msgid "Log in with GNU social"
@@ -14867,16 +15044,16 @@ msgstr "Obecnie połączony z: "
#: ../../extend/addon/hubzilla-addons/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."
+"<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 wpisach 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."
+"(<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami? </em>), "
+"ewentualnie zawarty w publicznych wpisach 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/hubzilla-addons/statusnet/Mod_Statusnet.php:282
msgid "Post to GNU social by default"
@@ -14884,11 +15061,11 @@ msgstr "Wysyłaj domyślnie do społeczności GNU"
#: ../../extend/addon/hubzilla-addons/statusnet/Mod_Statusnet.php:282
msgid ""
-"If enabled your public postings will be posted to the associated GNU-social account by "
-"default"
+"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 wpisy będą domyślnie wysyłane na "
-"powiązane konto społecznościowe GNU"
+"Jeśli ta opcja jest włączona, twoje publiczne wpisy będą domyślnie wysyłane "
+"na powiązane konto społecznościowe GNU"
#: ../../extend/addon/hubzilla-addons/statusnet/Mod_Statusnet.php:291
#: ../../extend/addon/hubzilla-addons/twitter/Mod_Twitter.php:171
@@ -14901,7 +15078,7 @@ msgstr "GNU-Social Crosspost Connector"
#: ../../extend/addon/hubzilla-addons/wholikesme/wholikesme.php:29
msgid "Who likes me?"
-msgstr "Kto mnie lubi?"
+msgstr "Kto mnie pochwala?"
#: ../../extend/addon/hubzilla-addons/pubcrawl/Mod_Pubcrawl.php:25
msgid "ActivityPub Protocol Settings updated."
@@ -14909,11 +15086,12 @@ msgstr "Zaktualizowano ustawienia ActivityPub Protocol."
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/pubcrawl/Mod_Pubcrawl.php:40
msgid "Activitypub Protocol App"
@@ -14925,11 +15103,11 @@ msgstr "Dostarcz do odbiorców ActivityPub w grupach prywatności"
#: ../../extend/addon/hubzilla-addons/pubcrawl/Mod_Pubcrawl.php:50
msgid ""
-"May result in a large number of mentions and expose all the members of your privacy "
-"group"
+"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"
+"Może skutkować dużą liczbą wzmianek i ujawnieniem wszystkich członków Twojej "
+"grupy prywatności"
#: ../../extend/addon/hubzilla-addons/pubcrawl/Mod_Pubcrawl.php:54
msgid "Send multi-media HTML articles"
@@ -14993,7 +15171,7 @@ msgstr "Minimum 120, domyślnie 300 sekund"
#: ../../extend/addon/hubzilla-addons/queueworker/Mod_Queueworker.php:103
msgid "Pause before starting next task"
-msgstr "Zatrzymaj się przed rozpoczęciem następnego zadania"
+msgstr "Zatrzymaj przed rozpoczęciem następnego zadania"
#: ../../extend/addon/hubzilla-addons/queueworker/Mod_Queueworker.php:105
msgid "Minimum 100, default 100 microseconds"
@@ -15037,13 +15215,13 @@ msgstr "Informacje"
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/gravatar/gravatar.php:151
msgid "Default avatar image"
@@ -15052,8 +15230,8 @@ msgstr "Domyślny obraz awatara"
#: ../../extend/addon/hubzilla-addons/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"
+"Wybierz domyślny obraz awatara, jeśli nic nie zostało znaleziony w "
+"Gravatarze. Zobacz README"
#: ../../extend/addon/hubzilla-addons/gravatar/gravatar.php:152
msgid "Rating of images"
@@ -15061,7 +15239,7 @@ msgstr "Ocena zdjęć"
#: ../../extend/addon/hubzilla-addons/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"
+msgstr "Wybierz odpowiednią ocenę awatara dla swojego portalu. Zobacz README"
#: ../../extend/addon/hubzilla-addons/gravatar/gravatar.php:165
msgid "Gravatar settings updated."
@@ -15092,13 +15270,16 @@ msgstr "Zaloguj się do Hubzilli za pomocą konta społecznościowego"
#: ../../extend/addon/hubzilla-addons/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"
+msgstr ""
+"Uwierzytelnianie społecznościowe za pomocą konta w mediach społecznościowych"
#: ../../extend/addon/hubzilla-addons/socialauth/Mod_SocialAuth.php:211
-msgid "This app enables one or more social provider sign-in buttons on the login page."
+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."
+"Ta aplikacja umożliwia korzystanie na stronie logowania z co najmniej "
+"jednego przycisku logowania dostawcy usług społecznościowych."
#: ../../extend/addon/hubzilla-addons/socialauth/Mod_SocialAuth.php:229
msgid "Add an identity provider"
@@ -15149,7 +15330,7 @@ msgstr "Zapisano ustawienia uwierzytelniania społecznościowego."
#: ../../extend/addon/hubzilla-addons/sendzid/Mod_Sendzid.php:14
msgid "Send your identity to all websites"
-msgstr "Wyślij swoją tożsamość do wszystkich witryn internetowych"
+msgstr "Wyślij swoją tożsamość do wszystkich portali"
#: ../../extend/addon/hubzilla-addons/sendzid/Mod_Sendzid.php:20
msgid "Sendzid App"
@@ -15170,7 +15351,8 @@ msgstr "Import albumu fotograficznego Redmatrix"
#: ../../extend/addon/hubzilla-addons/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."
+"Spowoduje to zaimportowanie wszystkich albumów ze zdjęciami z Redmatrix do "
+"tego kanału."
#: ../../extend/addon/hubzilla-addons/redphotos/redphotos.php:131
#: ../../extend/addon/hubzilla-addons/redfiles/redfiles.php:121
@@ -15216,23 +15398,26 @@ msgid "Relay public posts to Twitter"
msgstr "Przekazuj publiczne wpisy na Twitter"
#: ../../extend/addon/hubzilla-addons/twitter/Mod_Twitter.php:103
-msgid "No consumer key pair for Twitter found. Please contact your site administrator."
+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."
+"Nie znaleziono pary kluczy klienta dla Twittera. Skontaktuj się z "
+"administratorem portalu."
#: ../../extend/addon/hubzilla-addons/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."
+"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> wpisy."
+"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> wpisy."
#: ../../extend/addon/hubzilla-addons/twitter/Mod_Twitter.php:127
msgid "Log in with Twitter"
@@ -15244,16 +15429,16 @@ msgstr "Skopiuj tutaj PIN z Twittera"
#: ../../extend/addon/hubzilla-addons/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."
+"<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 wpisach przekazywanych do Twittera, będzie prowadził "
-"odwiedzającego do pustej strony informującej gościa, że dostęp do Twojego profilu "
-"został ograniczony."
+"<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 wpisach 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/hubzilla-addons/twitter/Mod_Twitter.php:157
msgid "Twitter post length"
@@ -15269,11 +15454,11 @@ msgstr "Domyślnie wysyłaj publiczne wpisy na Twitter"
#: ../../extend/addon/hubzilla-addons/twitter/Mod_Twitter.php:162
msgid ""
-"If enabled your public postings will be posted to the associated Twitter account by "
-"default"
+"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 wpisy będą domyślnie publikowane na "
-"powiązanym koncie Twittera"
+"Jeśli ta opcja jest włączona, Twoje publiczne wpisy będą domyślnie "
+"publikowane na powiązanym koncie Twittera"
#: ../../extend/addon/hubzilla-addons/twitter/Mod_Twitter.php:181
msgid "Twitter Crosspost Connector"
@@ -15293,68 +15478,77 @@ msgstr "Twórca projektu i kierownik techniczny"
#: ../../extend/addon/hubzilla-addons/donate/donate.php:49
msgid ""
-"And the hundreds of other people and organisations who helped make the Hubzilla "
-"possible."
-msgstr "Jak równieź setki innych osób i organizacji, które pomogły stworzyć Hubzillę."
+"And the hundreds of other people and organisations who helped make the "
+"Hubzilla possible."
+msgstr ""
+"Jak równieź setki innych osób i organizacji, które pomogły stworzyć Hubzillę."
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"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/hubzilla-addons/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>.)"
+"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>)."
+"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/hubzilla-addons/donate/donate.php:54
msgid ""
-"Help support our ground-breaking work in decentralisation, web identity, and privacy."
+"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."
+"Pomóż nam wspierać nasze przełomowe prace w zakresie decentralizacji, "
+"tożsamości internetowej i prywatności."
#: ../../extend/addon/hubzilla-addons/donate/donate.php:56
msgid ""
-"Your donations keep servers and services running and also helps us to provide "
-"innovative new features and continued development."
+"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."
+"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/hubzilla-addons/donate/donate.php:59
msgid "Donate"
msgstr "Wspomóż"
#: ../../extend/addon/hubzilla-addons/donate/donate.php:61
-msgid "Choose a project, developer, or public hub to support with a one-time donation"
+msgid ""
+"Choose a project, developer, or public hub to support with a one-time "
+"donation"
msgstr ""
-"Wybierz projekt, dewelopera lub publiczny portal, aby wesprzeć jednorazową darowizną"
+"Wybierz projekt, dewelopera lub publiczny portal, aby wesprzeć jednorazową "
+"darowizną"
#: ../../extend/addon/hubzilla-addons/donate/donate.php:62
msgid "Donate Now"
msgstr "Wpłać teraz"
#: ../../extend/addon/hubzilla-addons/donate/donate.php:63
-msgid "<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"
+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)"
+"<strong><em>lub</em> </strong> zostań sponsorem projektu (tylko Projekt "
+"Hubzilla)"
#: ../../extend/addon/hubzilla-addons/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"
+"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"
+"Wskaż, czy chcesz, aby Twoje imię lub imię i nazwisko pojawiało się na "
+"naszej liście sponsorów"
#: ../../extend/addon/hubzilla-addons/donate/donate.php:65
msgid "Sponsor"
@@ -15411,11 +15605,11 @@ msgstr "Aplikacja Bez Federalizacji"
#: ../../extend/addon/hubzilla-addons/nofed/Mod_Nofed.php:34
msgid ""
-"Prevent posting from being federated to anybody. It will exist only on your channel "
-"page."
+"Prevent posting from being federated to anybody. It will exist only on your "
+"channel page."
msgstr ""
-"Zapobiega federowaniu wiadomości do kogokolwiek. Będzie istnieć tylko na stronie "
-"Twojego kanału."
+"Zapobiega federowaniu wiadomości do kogokolwiek. Będzie istnieć tylko na "
+"stronie Twojego kanału."
#: ../../extend/addon/hubzilla-addons/nofed/Mod_Nofed.php:42
msgid "Federate posts by default"
@@ -15456,24 +15650,25 @@ msgstr "Zaimportowano pliki"
#: ../../extend/addon/hubzilla-addons/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."
+"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."
+"Ta dodatkowa aplikacja 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/hubzilla-addons/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."
+"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 wpisów "
-"lun plików."
+"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 wpisów lub plików."
#: ../../extend/addon/hubzilla-addons/content_import/Mod_content_import.php:137
msgid "Include posts"
@@ -15620,11 +15815,11 @@ msgstr "Usuń rozmowę"
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:296
msgid ""
-"No secure communications available. You <strong>may</strong> be able to respond from "
-"the sender's profile page."
+"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."
+"Brak bezpiecznej komunikacji. <strong>Możesz</strong> odpowiedzieć ze strony "
+"profilu nadawcy."
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:300
msgid "Send Reply"
@@ -15650,8 +15845,8 @@ msgstr "Nie można zweryfikować żądanego kanału."
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:417
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ę."
+"Wybrany kanał ma ograniczenia dotyczące wiadomości prywatnych. Wysyłanie nie "
+"powiodło się."
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:50
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:128
@@ -15717,7 +15912,7 @@ msgstr "Najczęściej pobierane jako pierwsze"
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:70
msgid "Most liked first"
-msgstr "Najbardziej lubiane jako pierwsze"
+msgstr "Najbardziej chwalone jako pierwsze"
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:72
msgid "Preferred IDs Message"
@@ -15856,7 +16051,8 @@ msgstr "Aplikacja Publikowanie w Wordpress"
#: ../../extend/addon/hubzilla-addons/wppost/Mod_Wppost.php:44
msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API"
msgstr ""
-"Opublikowanie na serwisach WordPress lub innych, które używają API XMLRPC WordPress"
+"Opublikowanie na serwisach WordPress lub innych, które używają API XMLRPC "
+"WordPress"
#: ../../extend/addon/hubzilla-addons/wppost/Mod_Wppost.php:69
msgid "WordPress username"
@@ -15881,8 +16077,8 @@ msgstr "Identyfikator blogu WordPress"
#: ../../extend/addon/hubzilla-addons/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"
+"Dla serwisów wielowitrynowych, takich jak wordpress.com, w przeciwnym razie "
+"pozostaw puste"
#: ../../extend/addon/hubzilla-addons/wppost/Mod_Wppost.php:86
msgid "Post to WordPress by default"
@@ -15897,9 +16093,11 @@ msgid "Wordpress Post"
msgstr "Publikowanie w Wordpress"
#: ../../extend/addon/hubzilla-addons/authchoose/Mod_Authchoose.php:22
-msgid "Allow magic authentication only to websites of your immediate connections"
+msgid ""
+"Allow magic authentication only to websites of your immediate connections"
msgstr ""
-"Zezwalaj na magiczne uwierzytelnianie tylko w portalach Twoich bezpośrednich połączeń"
+"Zezwalaj na magiczne uwierzytelnianie tylko w portalach Twoich bezpośrednich "
+"połączeń"
#: ../../extend/addon/hubzilla-addons/authchoose/Mod_Authchoose.php:28
#: ../../extend/addon/hubzilla-addons/authchoose/Mod_Authchoose.php:33
@@ -16179,7 +16377,9 @@ msgstr "Import magazyn plików Redmatrix"
#: ../../extend/addon/hubzilla-addons/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."
+msgstr ""
+"Spowoduje to zaimportowanie wszystkich plików chmury Redmatrix do tego "
+"kanału."
#: ../../extend/addon/hubzilla-addons/mdpost/mdpost.php:42
msgid "Use markdown for editing posts"
@@ -16194,10 +16394,11 @@ msgid "Fuzzy Location App"
msgstr "Aplikacja Zamazywanie Lokalizacji"
#: ../../extend/addon/hubzilla-addons/fuzzloc/Mod_Fuzzloc.php:35
-msgid "Blur your precise location if your channel uses browser location mapping"
+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"
+"Zamaż swoją dokładną lokalizację, jeśli Twój kanał używa mapowania "
+"lokalizacji w przeglądarce"
#: ../../extend/addon/hubzilla-addons/fuzzloc/Mod_Fuzzloc.php:40
msgid "Minimum offset in meters"
@@ -16217,7 +16418,8 @@ msgstr "Aplikacja Strona początkowa"
#: ../../extend/addon/hubzilla-addons/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"
+msgstr ""
+"Ustaw preferowaną stronę do załadowania przy logowaniu ze strony głównej"
#: ../../extend/addon/hubzilla-addons/startpage/Mod_Startpage.php:62
msgid "Page to load after login"
@@ -16225,13 +16427,13 @@ msgstr "Strona do załadowania po zalogowaniu"
#: ../../extend/addon/hubzilla-addons/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)."
+"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 "
-"strony sieci."
+"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 strony sieci."
#: ../../extend/addon/hubzilla-addons/startpage/Mod_Startpage.php:70
msgid "Startpage"
@@ -16240,7 +16442,7 @@ msgstr "Strona początkowa"
#: ../../view/theme/redbasic/php/config.php:16
#: ../../view/theme/redbasic/php/config.php:19
msgid "Focus (Hubzilla default)"
-msgstr "Fokus (domyślny w Hubzilla)"
+msgstr "Fokus (domyślnie Hubzilla)"
#: ../../view/theme/redbasic/php/config.php:98
msgid "Theme settings"
@@ -16264,7 +16466,7 @@ msgstr "Kolor ikony aktywnego paska nawigacji "
#: ../../view/theme/redbasic/php/config.php:103
msgid "Link color"
-msgstr "Kolor odnośnika"
+msgstr "Kolor linku"
#: ../../view/theme/redbasic/php/config.php:104
msgid "Set font-color for banner"
@@ -16330,44 +16532,190 @@ msgstr "Ustaw rozmiar kolejnych zdjęć autora"
msgid "Show advanced settings"
msgstr "Pokaż ustawienia zaawansowane"
-#: ../../boot.php:1695
+#: ../../boot.php:1696
msgid "Create an account to access services and applications"
msgstr "Utwórz konto, aby uzyskać dostęp do usług i aplikacji"
-#: ../../boot.php:1719
-msgid "Login/Email"
-msgstr "Login/Email"
+#: ../../boot.php:1714
+msgid "Email or nickname"
+msgstr "Adres e-mail lub pseudonim"
-#: ../../boot.php:1720
+#: ../../boot.php:1724
msgid "Password"
msgstr "Hasło"
-#: ../../boot.php:1721
+#: ../../boot.php:1725
msgid "Remember me"
msgstr "Zapamiętaj mnie"
-#: ../../boot.php:1724
+#: ../../boot.php:1728
msgid "Forgot your password?"
msgstr "Nie pamiętasz hasła?"
-#: ../../boot.php:2603
+#: ../../boot.php:2607
#, php-format
msgid "[$Projectname] Website SSL error for %s"
-msgstr "[$Projectname] Błąd SSL witryny internetowej dla %s"
+msgstr "[$Projectname] Błąd SSL portalu dla %s"
-#: ../../boot.php:2608
+#: ../../boot.php:2612
msgid "Website SSL certificate is not valid. Please correct."
-msgstr "Certyfikat SSL witryny jest nieprawidłowy. Proszę popraw."
+msgstr "Certyfikat SSL portalu jest nieprawidłowy. Proszę poprawić."
-#: ../../boot.php:2724
+#: ../../boot.php:2728
#, php-format
msgid "[$Projectname] Cron tasks not running on %s"
msgstr "[$Projectname] Zadania Crona nie działają na %s"
-#: ../../boot.php:2729
+#: ../../boot.php:2733
msgid "Cron/Scheduled tasks not running."
msgstr "Zadania Crona (zaplanowane) nie działają."
+#~ msgid "Edit event title"
+#~ msgstr "Edytuj tytuł wydarzenia"
+
+#~ msgid "Categories (comma-separated list)"
+#~ msgstr "Kategorie (lista rozdzielana przecinkami)"
+
+#~ msgid "Edit Category"
+#~ msgstr "Edytuj kategorię"
+
+#~ msgid "Category"
+#~ msgstr "Kategoria"
+
+#~ msgid "Edit start date and time"
+#~ msgstr "Edytuj datę i godzinę rozpoczęcia"
+
+#~ msgid "Finish date and time are not known or not relevant"
+#~ msgstr "Data i godzina zakończenia nie są znane lub nie mają znaczenia"
+
+#~ msgid "Edit finish date and time"
+#~ msgstr "Edytuj datę i godzinę zakończenia"
+
+#~ msgid "Finish date and time"
+#~ msgstr "Data i godzina zakończenia"
+
+#~ msgid "Adjust for viewer timezone"
+#~ msgstr "Dostosuj do strefy czasowej widza"
+
+#~ 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."
+
+#~ msgid "Edit Description"
+#~ msgstr "Edytuj opis"
+
+#~ msgid "Edit Location"
+#~ msgstr "Edytuj lokalizację"
+
+#~ msgid "Advanced Options"
+#~ msgstr "Zaawansowane opcje"
+
+#~ msgid "l, F j"
+#~ msgstr "l, F j"
+
+#~ msgid "Edit Event"
+#~ msgstr "Edytuj wydarzenie"
+
+#~ msgid "Create Event"
+#~ msgstr "Utwórz wydarzenie"
+
+#~ msgid "Event removed"
+#~ msgstr "Wydarzenie usunięte"
+
+#~ msgid "%d new messages"
+#~ msgstr "%d nowych wiadomości"
+
+#~ msgid "Website:"
+#~ msgstr "Portal internetowy:"
+
+#~ msgid "Remote Channel [%s] (not yet known on this site)"
+#~ msgstr "Kanał zdalny [% s] (jeszcze nieznany w tym portalu)"
+
+#~ msgid "Rating (this information is public)"
+#~ msgstr "Ocena (ta informacja jest publiczna)"
+
+#~ msgid "Optionally explain your rating (this information is public)"
+#~ msgstr "Ewentualnie wyjaśnij swoją ocenę (ta informacja jest publiczna)"
+
+#~ msgid "requires approval"
+#~ msgstr "wymaga zatwierdzenia"
+
+#~ msgid "posted an event"
+#~ msgstr "opublikował wydarzenie"
+
+#~ msgid "No ratings"
+#~ msgstr "Brak ocen"
+
+#~ msgid "Rating: "
+#~ msgstr "Ocena: "
+
+#~ msgid "Website: "
+#~ msgstr "Portal: "
+
+#~ msgid "Description: "
+#~ msgstr "Opis: "
+
+#~ msgid "Remote Diagnostics App"
+#~ msgstr "Aplikacja Zdalna Diagnostyka"
+
+#~ msgid "Perform diagnostics on remote channels"
+#~ msgstr "Przeprowadź diagnostykę zdalnych kanałów"
+
+#~ 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."
+
+#~ msgid "New Message"
+#~ msgstr "Nowy komunikat"
+
+#~ msgid "New Mails"
+#~ msgstr "Nowe wiadomości e-mail"
+
+#~ msgid "New Mails Notifications"
+#~ msgstr "Powiadomienia o nowych wiadomościach e-mail"
+
+#~ msgid "View your private mails"
+#~ msgstr "Zobacz swoje prywatne wiadomości"
+
+#~ msgid "Mark all messages seen"
+#~ msgstr "Oznacz wszystkie wiadomości jako oglądnięte"
+
+#~ msgid "Unable to determine sender."
+#~ msgstr "Nie można określić nadawcy."
+
+#~ msgid "No recipient provided."
+#~ msgstr "Nie podano odbiorcy."
+
+#~ msgid "[no subject]"
+#~ msgstr "[brak tematu]"
+
+#~ msgid "Stored post could not be verified."
+#~ msgstr "Nie można zweryfikować zapisanego wpisu."
+
+#~ msgid "Response from remote channel was incomplete."
+#~ msgstr "Odpowiedź z kanału zdalnego była niekompletna."
+
+#~ msgid "Premium channel - please visit:"
+#~ msgstr "Kanał premium - odwiedź:"
+
+#~ msgid "Channel was deleted and no longer exists."
+#~ msgstr "Kanał został usunięty i już nie istnieje."
+
+#~ msgid "Invalid data packet"
+#~ msgstr "Nieprawidłowy pakiet danych"
+
+#~ msgid "invalid target signature"
+#~ msgstr "nieprawidłowy podpis docelowy"
+
+#~ msgid "Login/Email"
+#~ msgstr "Login/Adres e-mail"
+
#~ msgid "Verify successfull"
#~ msgstr "Weryfikacja powiodła się"
@@ -16390,47 +16738,55 @@ msgstr "Zadania Crona (zaplanowane) nie działają."
#~ msgstr "Klasa usługi"
#~ msgid ""
-#~ "Only allow new member registrations with an invitation code. Above register policy "
-#~ "must be set to Yes."
+#~ "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."
+#~ "Zezwalaj tylko na rejestracje nowych członków za pomocą kodu zaproszenia. "
+#~ "Powyższe zasady rejestrów muszą być ustawione na Tak."
#~ msgid "Verify Email Addresses"
#~ msgstr "Zweryfikuj adresy e-mail"
-#~ msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+#~ msgid ""
+#~ "Maximum daily site registrations exceeded. Please try again tomorrow."
#~ msgstr ""
-#~ "Przekroczono maksymalną dzienną liczbę rejestracji na tym portalu. Proszę spróbować "
-#~ "jutro."
+#~ "Przekroczono maksymalną dzienną liczbę rejestracji na tym portalu. Proszę "
+#~ "spróbować jutro."
-#~ msgid "Please indicate acceptance of the Terms of Service. Registration failed."
+#~ 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."
+#~ "Proszę zaznaczyć <strong>akceptację Warunków korzystania z usługi</"
+#~ "strong>. Rejestracja nieudana."
#~ msgid "Passwords do not match."
-#~ msgstr "Hasła niezgodne."
+#~ msgstr "Hasła nie są zgodne."
#~ msgid "Registration successful. Continue to create your first channel..."
-#~ msgstr "Rejestracja pomyślna. Kontynuuj tworzenie swojego pierwszego kanału ..."
+#~ msgstr ""
+#~ "Rejestracja pomyślna. Kontynuuj tworzenie swojego pierwszego kanału ..."
-#~ msgid "Registration successful. Please check your email for validation instructions."
+#~ msgid ""
+#~ "Registration successful. Please check your email for validation "
+#~ "instructions."
#~ msgstr ""
-#~ "Rejestracja pomyślna. Sprawdź pocztę e-mail, aby uzyskać instrukcje dotyczące "
-#~ "weryfikacji."
+#~ "Rejestracja pomyślna. Sprawdź pocztę e-mail, aby uzyskać instrukcje "
+#~ "dotyczące weryfikacji."
#~ msgid "Your registration is pending approval by the site owner."
-#~ msgstr "Twoja rejestracja oczekuje na zatwierdzenie przez właściciela portalu."
+#~ msgstr ""
+#~ "Twoja rejestracja oczekuje na zatwierdzenie przez właściciela portalu."
#~ msgid "Your registration can not be processed."
-#~ msgstr "Twoja rejestracja oczekuje na zatwierdzenie przez właściciela witryny."
+#~ msgstr ""
+#~ "Twoja rejestracja oczekuje na zatwierdzenie przez administratora portalu."
#~ msgid ""
-#~ "Select a channel permission role for your usage needs and privacy requirements."
+#~ "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."
+#~ "Wybierz rolę uprawnień do kanału zgodnie z potrzebami użytkowania i "
+#~ "wymaganiami dotyczącymi prywatności."
#~ msgid "no"
#~ msgstr "nie"
@@ -16439,17 +16795,18 @@ msgstr "Zadania Crona (zaplanowane) nie działają."
#~ msgstr "tak"
#~ msgid ""
-#~ "This site requires email verification. After completing this form, please check "
-#~ "your email for further instructions."
+#~ "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."
+#~ "Ten portal wymaga weryfikację adresu e-mail. Po wypełnieniu tego "
+#~ "formularza sprawdź swoją pocztę e-mail, aby uzyskać dalsze instrukcje."
#~ msgid "Please join us on $Projectname"
#~ msgstr "Dołącz do nas na $Projectname"
#~ msgid "Invitation limit exceeded. Please contact your site administrator."
-#~ msgstr "Przekroczono limit zaproszeń. Skontaktuj się z administratorem portalu."
+#~ msgstr ""
+#~ "Przekroczono limit zaproszeń. Skontaktuj się z administratorem portalu."
#~ msgid "%d message sent."
#~ msgid_plural "%d messages sent."
@@ -16458,25 +16815,29 @@ msgstr "Zadania Crona (zaplanowane) nie działają."
#~ msgstr[2] "Wysłano %d wiadomości."
#~ msgid "Send email invitations to join this network"
-#~ msgstr "Wyślij wiadomości e-mail z zaproszeniami do przyłączenia się do tej sieci"
+#~ msgstr ""
+#~ "Wyślij wiadomości e-mail z zaproszeniami do przyłączenia się do tej sieci"
#~ msgid "Please join my community on $Projectname."
-#~ msgstr "Zapraszam do dołączenia do mojej społeczności $Projectname i Fediverse."
+#~ msgstr ""
+#~ "Zapraszam do dołączenia do mojej społeczności $Projectname i Fediverse."
#~ msgid "You will need to supply this invitation code:"
#~ msgstr "W formularzy rejstracji trzeba będzie podać ten kod zaproszenia:"
-#~ msgid "1. Register at any $Projectname location (they are all inter-connected)"
+#~ msgid ""
+#~ "1. Register at any $Projectname location (they are all inter-connected)"
#~ msgstr ""
-#~ "1. Zarejestruj się na poniżej wskazanym portalu sieci $Projectname (choć możesz też "
-#~ "na innym, bo wszystkie są ze sobą połączone) i utwórz swój domyślny profil. "
-#~ "Wcześniej zapoznaj się z Regulaminem i poradnikiem \"Kanał osobisty\" dostępnym w "
-#~ "po kliknieciu linku \"Pomoc\" lub skontaktuj się ze mną."
+#~ "1. Zarejestruj się na poniżej wskazanym portalu sieci $Projectname (choć "
+#~ "możesz też na innym, bo wszystkie są ze sobą połączone) i utwórz swój "
+#~ "domyślny profil. Wcześniej zapoznaj się z Regulaminem i poradnikiem "
+#~ "\"Kanał osobisty\" dostępnym w po kliknieciu linku \"Pomoc\" lub "
+#~ "skontaktuj się ze mną."
#~ msgid "2. Enter my $Projectname network address into the site searchbar."
#~ msgstr ""
-#~ "2. Aby połączyć się z moim kanałem, wpisz w pasku wyszukiwania portalu mój adres "
-#~ "sieciowy $Projectname."
+#~ "2. Aby połączyć się z moim kanałem, wpisz w pasku wyszukiwania portalu "
+#~ "mój adres sieciowy $Projectname."
#~ msgid "or visit"
#~ msgstr "lub odwiedź adres URL"
diff --git a/view/pl/hmessages.pot b/view/pl/hmessages.pot
index a51bab69a..38c7c2e11 100644
--- a/view/pl/hmessages.pot
+++ b/view/pl/hmessages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: STD_VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-23 21:08+0200\n"
+"POT-Creation-Date: 2021-06-12 02:13+0200\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"
@@ -150,8 +150,8 @@ msgid "Special - Group Repository"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:310
-#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:797
-#: ../../Zotlabs/Module/Connedit.php:928 ../../include/selectors.php:60
+#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:796
+#: ../../Zotlabs/Module/Connedit.php:920 ../../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
@@ -163,15 +163,14 @@ msgstr ""
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:242 ../../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/Authtest.php:13 ../../Zotlabs/Module/Pdledit.php:35
+#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Bookmarks.php:70
+#: ../../Zotlabs/Module/Webpages.php:133 ../../Zotlabs/Module/Profiles.php:200
+#: ../../Zotlabs/Module/Profiles.php:636 ../../Zotlabs/Module/Like.php:242
+#: ../../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/Moderate.php:15
#: ../../Zotlabs/Module/New_channel.php:105
#: ../../Zotlabs/Module/New_channel.php:130
#: ../../Zotlabs/Module/Filestorage.php:20
@@ -184,36 +183,33 @@ msgstr ""
#: ../../Zotlabs/Module/Viewconnections.php:33 ../../Zotlabs/Module/Wiki.php:59
#: ../../Zotlabs/Module/Wiki.php:284 ../../Zotlabs/Module/Wiki.php:427
#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
-#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:397
+#: ../../Zotlabs/Module/Locs.php:98 ../../Zotlabs/Module/Connedit.php:394
#: ../../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:506 ../../Zotlabs/Module/Item.php:525
-#: ../../Zotlabs/Module/Item.php:535 ../../Zotlabs/Module/Item.php:1444
-#: ../../Zotlabs/Module/Rate.php:115 ../../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:420
-#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:209
-#: ../../Zotlabs/Module/Channel.php:365 ../../Zotlabs/Module/Channel.php:404
-#: ../../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/Item.php:535 ../../Zotlabs/Module/Item.php:1446
+#: ../../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:420 ../../Zotlabs/Module/Photos.php:71
+#: ../../Zotlabs/Module/Channel.php:222 ../../Zotlabs/Module/Channel.php:378
+#: ../../Zotlabs/Module/Channel.php:417 ../../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:99
#: ../../Zotlabs/Module/Profile.php:114
#: ../../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:208
-#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126
-#: ../../Zotlabs/Module/Register.php:200
+#: ../../Zotlabs/Module/Suggest.php:32 ../../Zotlabs/Module/Articles.php:89
+#: ../../Zotlabs/Module/Setup.php:208 ../../Zotlabs/Module/Mitem.php:129
+#: ../../Zotlabs/Module/Mood.php:126 ../../Zotlabs/Module/Register.php:200
#: ../../Zotlabs/Module/Channel_calendar.php:232
#: ../../Zotlabs/Module/Invite.php:51 ../../Zotlabs/Module/Invite.php:302
#: ../../Zotlabs/Module/Service_limits.php:11
@@ -224,7 +220,7 @@ msgstr ""
#: ../../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/Module/Settings.php:58 ../../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
@@ -232,7 +228,7 @@ msgstr ""
#: ../../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:4088
+#: ../../include/items.php:3744
#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:53
#: ../../extend/addon/hubzilla-addons/keepout/keepout.php:36
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:26
@@ -256,11 +252,11 @@ msgstr ""
#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:62
#: ../../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/Notes.php:56 ../../Zotlabs/Module/Tokens.php:99
#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134
-#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:19
-#: ../../Zotlabs/Module/Invite.php:56 ../../Zotlabs/Module/Invite.php:310
-#: ../../Zotlabs/Module/Lang.php:17 ../../Zotlabs/Module/Sources.php:88
+#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Invite.php:56
+#: ../../Zotlabs/Module/Invite.php:310 ../../Zotlabs/Module/Lang.php:20
+#: ../../Zotlabs/Module/Lang.php:63 ../../Zotlabs/Module/Sources.php:88
#: ../../Zotlabs/Module/Poke.php:165
#: ../../extend/addon/hubzilla-addons/gnusoc/Mod_Gnusoc.php:22
#: ../../extend/addon/hubzilla-addons/skeleton/Mod_Skeleton.php:32
@@ -332,20 +328,20 @@ msgstr ""
msgid "System layout"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Events.php:501
-#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Import.php:647
-#: ../../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/Pdledit.php:108 ../../Zotlabs/Module/Profiles.php:724
+#: ../../Zotlabs/Module/Import.php:582 ../../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:214 ../../Zotlabs/Module/Locs.php:132
-#: ../../Zotlabs/Module/Connedit.php:897 ../../Zotlabs/Module/Regate.php:387
-#: ../../Zotlabs/Module/Rate.php:168 ../../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/Wiki.php:214 ../../Zotlabs/Module/Locs.php:130
+#: ../../Zotlabs/Module/Connedit.php:889 ../../Zotlabs/Module/Regate.php:387
+#: ../../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:1214
+#: ../../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:309
@@ -461,7 +457,7 @@ msgstr ""
#: ../../Zotlabs/Module/Like.php:342 ../../Zotlabs/Module/Group.php:99
#: ../../Zotlabs/Module/Import_items.php:120
#: ../../Zotlabs/Module/Subthread.php:89 ../../Zotlabs/Module/Share.php:72
-#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:441
+#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:440
#: ../../extend/addon/hubzilla-addons/hzfiles/hzfiles.php:75
#: ../../extend/addon/hubzilla-addons/redphotos/redphotos.php:119
#: ../../extend/addon/hubzilla-addons/redfiles/redfiles.php:109
@@ -472,65 +468,65 @@ msgstr ""
msgid "Invalid message"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:93
+#: ../../Zotlabs/Module/Dreport.php:92
msgid "no results"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:107
+#: ../../Zotlabs/Module/Dreport.php:106
msgid "channel sync processed"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:111
+#: ../../Zotlabs/Module/Dreport.php:110
msgid "queued"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:115
+#: ../../Zotlabs/Module/Dreport.php:114
msgid "posted"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:119
+#: ../../Zotlabs/Module/Dreport.php:118
msgid "accepted for delivery"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:123
+#: ../../Zotlabs/Module/Dreport.php:122
msgid "updated"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:126
+#: ../../Zotlabs/Module/Dreport.php:125
msgid "update ignored"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:129
+#: ../../Zotlabs/Module/Dreport.php:128
msgid "permission denied"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:133
+#: ../../Zotlabs/Module/Dreport.php:132
msgid "recipient not found"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:136
+#: ../../Zotlabs/Module/Dreport.php:135
msgid "mail recalled"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:139
+#: ../../Zotlabs/Module/Dreport.php:138
msgid "duplicate mail received"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:142
+#: ../../Zotlabs/Module/Dreport.php:141
msgid "mail delivered"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:162
+#: ../../Zotlabs/Module/Dreport.php:161
#, php-format
msgid "Delivery report for %1$s"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:166 ../../Zotlabs/Widget/Wiki_pages.php:41
+#: ../../Zotlabs/Module/Dreport.php:165 ../../Zotlabs/Widget/Wiki_pages.php:41
#: ../../Zotlabs/Widget/Wiki_pages.php:98
msgid "Options"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:167
+#: ../../Zotlabs/Module/Dreport.php:166
msgid "Redeliver"
msgstr ""
@@ -543,7 +539,7 @@ msgid "Profile Visibility Editor"
msgstr ""
#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362
-#: ../../include/channel.php:1914
+#: ../../include/channel.php:1834
msgid "Profile"
msgstr ""
@@ -590,11 +586,11 @@ msgstr ""
msgid "Deny"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:819 ../../Zotlabs/Module/Events.php:28
+#: ../../Zotlabs/Module/Cdav.php:819
msgid "Calendar entries imported."
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:821 ../../Zotlabs/Module/Events.php:30
+#: ../../Zotlabs/Module/Cdav.php:821
msgid "No calendar entries found."
msgstr ""
@@ -611,11 +607,11 @@ msgstr ""
msgid "Link to source"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:468
+#: ../../Zotlabs/Module/Cdav.php:1010
msgid "Event title"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1011 ../../Zotlabs/Module/Events.php:474
+#: ../../Zotlabs/Module/Cdav.php:1011
msgid "Start date and time"
msgstr ""
@@ -623,51 +619,47 @@ msgstr ""
msgid "End date and time"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1013 ../../Zotlabs/Module/Events.php:497
+#: ../../Zotlabs/Module/Cdav.php:1013
msgid "Timezone:"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:481
-#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Appman.php:145
+#: ../../Zotlabs/Module/Rbmark.php:100
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:173
#: ../../extend/addon/hubzilla-addons/cart/submodules/hzservices.php:655
#: ../../extend/addon/hubzilla-addons/cart/submodules/manualcat.php:260
msgid "Description"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1016 ../../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
+#: ../../Zotlabs/Module/Cdav.php:1016 ../../Zotlabs/Module/Profiles.php:511
+#: ../../Zotlabs/Module/Profiles.php:735 ../../Zotlabs/Module/Locs.php:126
+#: ../../Zotlabs/Module/Pubsites.php:52 ../../include/js_strings.php:25
msgid "Location"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:697
-#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947
+#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Photos.php:947
#: ../../Zotlabs/Module/Cal.php:203
msgid "Previous"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:698
-#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956
+#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Photos.php:956
#: ../../Zotlabs/Module/Cal.php:204 ../../Zotlabs/Module/Setup.php:262
msgid "Next"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:708
-#: ../../Zotlabs/Module/Cal.php:205
+#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Cal.php:205
msgid "Today"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:703
+#: ../../Zotlabs/Module/Cdav.php:1039
msgid "Month"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:704
+#: ../../Zotlabs/Module/Cdav.php:1040
msgid "Week"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1041 ../../Zotlabs/Module/Events.php:705
+#: ../../Zotlabs/Module/Cdav.php:1041
msgid "Day"
msgstr ""
@@ -692,9 +684,9 @@ msgid "Less"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1054 ../../Zotlabs/Module/Cdav.php:1389
-#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53
+#: ../../Zotlabs/Module/Profiles.php:800 ../../Zotlabs/Module/Oauth.php:53
#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58
-#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:932
+#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:924
#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536
msgid "Update"
msgstr ""
@@ -713,15 +705,15 @@ msgid "CalDAV Calendars"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1057 ../../Zotlabs/Module/Cdav.php:1390
-#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Profiles.php:801
#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:130
#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Connedit.php:661 ../../Zotlabs/Module/Connedit.php:933
+#: ../../Zotlabs/Module/Connedit.php:653 ../../Zotlabs/Module/Connedit.php:925
#: ../../Zotlabs/Module/Editlayout.php:138
#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179
#: ../../Zotlabs/Module/Connections.php:329
#: ../../Zotlabs/Module/Editwebpage.php:167
-#: ../../Zotlabs/Module/Article_edit.php:129
+#: ../../Zotlabs/Module/Article_edit.php:128
#: ../../Zotlabs/Module/Admin/Accounts.php:320
#: ../../Zotlabs/Module/Admin/Channels.php:149
#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Thing.php:269
@@ -736,32 +728,32 @@ msgid "Delete all"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1391
-#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:802
#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138
#: ../../Zotlabs/Module/Card_edit.php:132 ../../Zotlabs/Module/Oauth2.php:117
#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:367
#: ../../Zotlabs/Module/Wiki.php:400 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:934
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:926
#: ../../Zotlabs/Module/Profile_photo.php:507
#: ../../Zotlabs/Module/Editlayout.php:140
#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:111
#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
#: ../../Zotlabs/Module/Editwebpage.php:169
-#: ../../Zotlabs/Module/Article_edit.php:131
+#: ../../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:1460
-#: ../../include/conversation.php:1515
+#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1455
+#: ../../include/conversation.php:1510
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:209
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:258
msgid "Cancel"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1060 ../../Zotlabs/Module/Cdav.php:1388
-#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Profiles.php:800
+#: ../../Zotlabs/Module/Webpages.php:253 ../../Zotlabs/Module/Profiles.php:799
#: ../../Zotlabs/Module/Layouts.php:185
#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159
-#: ../../Zotlabs/Module/Connedit.php:931 ../../Zotlabs/Module/Menu.php:182
+#: ../../Zotlabs/Module/Connedit.php:923 ../../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"
@@ -784,7 +776,7 @@ msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1373 ../../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:217 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Connedit.php:908
#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257
#: ../../Zotlabs/Module/Admin/Channels.php:159
#: ../../Zotlabs/Storage/Browser.php:377
@@ -794,25 +786,25 @@ msgstr ""
msgid "Name"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:909
msgid "Organisation"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Connedit.php:918
+#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Connedit.php:910
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:2617
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:2678
msgid "Title"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:788
-#: ../../Zotlabs/Module/Connedit.php:919
+#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:787
+#: ../../Zotlabs/Module/Connedit.php:911
msgid "Phone"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:789
-#: ../../Zotlabs/Module/Connedit.php:920
+#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Connedit.php:912
#: ../../Zotlabs/Module/Admin/Accounts.php:316
-#: ../../Zotlabs/Module/Admin/Accounts.php:330 ../../include/network.php:1768
+#: ../../Zotlabs/Module/Admin/Accounts.php:330 ../../include/network.php:1743
#: ../../extend/addon/hubzilla-addons/redred/Mod_Redred.php:71
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:56
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:57
@@ -820,82 +812,82 @@ msgstr ""
msgid "Email"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:790
-#: ../../Zotlabs/Module/Connedit.php:921
+#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:789
+#: ../../Zotlabs/Module/Connedit.php:913
msgid "Instant messenger"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:791
-#: ../../Zotlabs/Module/Connedit.php:922
+#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Connedit.php:914
msgid "Website"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:504
-#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129
-#: ../../Zotlabs/Module/Connedit.php:923
+#: ../../Zotlabs/Module/Profiles.php:791 ../../Zotlabs/Module/Locs.php:127
+#: ../../Zotlabs/Module/Connedit.php:915
#: ../../Zotlabs/Module/Admin/Channels.php:160
msgid "Address"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:793
-#: ../../Zotlabs/Module/Connedit.php:924
+#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:792
+#: ../../Zotlabs/Module/Connedit.php:916
msgid "Note"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:794
-#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:734
+#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Connedit.php:917 ../../include/connections.php:734
#: ../../include/event.php:1422
msgid "Mobile"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:795
-#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:735
+#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:794
+#: ../../Zotlabs/Module/Connedit.php:918 ../../include/connections.php:735
#: ../../include/event.php:1423
msgid "Home"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:796
-#: ../../Zotlabs/Module/Connedit.php:927 ../../include/connections.php:738
+#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:795
+#: ../../Zotlabs/Module/Connedit.php:919 ../../include/connections.php:738
#: ../../include/event.php:1426
msgid "Work"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:798
-#: ../../Zotlabs/Module/Connedit.php:929
+#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:797
+#: ../../Zotlabs/Module/Connedit.php:921
msgid "Add Contact"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Profiles.php:799
-#: ../../Zotlabs/Module/Connedit.php:930
+#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Connedit.php:922
msgid "Add Field"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935
+#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:927
msgid "P.O. Box"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936
+#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:928
msgid "Additional"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937
+#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:929
msgid "Street"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938
+#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:930
msgid "Locality"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939
+#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:931
msgid "Region"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Connedit.php:940
+#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Connedit.php:932
msgid "ZIP Code"
msgstr ""
-#: ../../Zotlabs/Module/Cdav.php:1398 ../../Zotlabs/Module/Profiles.php:759
-#: ../../Zotlabs/Module/Connedit.php:941
+#: ../../Zotlabs/Module/Cdav.php:1398 ../../Zotlabs/Module/Profiles.php:758
+#: ../../Zotlabs/Module/Connedit.php:933
msgid "Country"
msgstr ""
@@ -925,13 +917,12 @@ msgid ""
"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:636 ../../Zotlabs/Module/Import.php:640
-#: ../../Zotlabs/Module/Import.php:641 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Profiles.php:682
+#: ../../Zotlabs/Module/Import.php:571 ../../Zotlabs/Module/Import.php:575
+#: ../../Zotlabs/Module/Import.php:576 ../../Zotlabs/Module/Defperms.php:198
#: ../../Zotlabs/Module/Filestorage.php:203
#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:226
-#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:404
+#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:401
#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:321
#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177
#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257
@@ -944,7 +935,7 @@ msgstr ""
#: ../../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:1468
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1463
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
#: ../../include/dir_fns.php:146
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:111
@@ -996,18 +987,17 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:98
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:102
#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1721
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1725
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:636 ../../Zotlabs/Module/Import.php:640
-#: ../../Zotlabs/Module/Import.php:641 ../../Zotlabs/Module/Defperms.php:198
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Profiles.php:682
+#: ../../Zotlabs/Module/Import.php:571 ../../Zotlabs/Module/Import.php:575
+#: ../../Zotlabs/Module/Import.php:576 ../../Zotlabs/Module/Defperms.php:198
#: ../../Zotlabs/Module/Filestorage.php:203
#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:226
-#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:404
-#: ../../Zotlabs/Module/Connedit.php:789 ../../Zotlabs/Module/Photos.php:673
+#: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Connedit.php:401
+#: ../../Zotlabs/Module/Connedit.php:781 ../../Zotlabs/Module/Photos.php:673
#: ../../Zotlabs/Module/Admin/Site.php:319 ../../Zotlabs/Module/Mitem.php:176
#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256
#: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Register.php:512
@@ -1019,7 +1009,7 @@ msgstr ""
#: ../../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:1468
+#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1463
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
#: ../../include/dir_fns.php:146
#: ../../extend/addon/hubzilla-addons/channelreputation/channelreputation.php:111
@@ -1071,15 +1061,15 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:98
#: ../../extend/addon/hubzilla-addons/pumpio/Mod_Pumpio.php:102
#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1721
+#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1725
msgid "No"
msgstr ""
-#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52
+#: ../../Zotlabs/Module/Dirsearch.php:24 ../../Zotlabs/Module/Regdir.php:52
msgid "This site is not a directory server"
msgstr ""
-#: ../../Zotlabs/Module/Dirsearch.php:37
+#: ../../Zotlabs/Module/Dirsearch.php:33
msgid "This directory server requires an access token"
msgstr ""
@@ -1094,8 +1084,8 @@ msgstr ""
#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Cards.php:113
#: ../../Zotlabs/Module/Admin/Profs.php:94
#: ../../Zotlabs/Module/Admin/Profs.php:114
-#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23
+#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Rbmark.php:31
+#: ../../Zotlabs/Module/Rbmark.php:103 ../../Zotlabs/Widget/Notes.php:23
#: ../../include/text.php:1145 ../../include/text.php:1157
#: ../../extend/addon/hubzilla-addons/queueworker/Mod_Queueworker.php:116
msgid "Save"
@@ -1105,167 +1095,6 @@ msgstr ""
msgid "Save to Folder"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:113
-#: ../../Zotlabs/Module/Channel_calendar.php:62
-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:64
-#: ../../Zotlabs/Module/Channel_calendar.php:72
-#: ../../Zotlabs/Module/Channel_calendar.php:87
-msgid "Unable to generate preview."
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:122
-#: ../../Zotlabs/Module/Channel_calendar.php:70
-msgid "Event title and start time are required."
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271
-#: ../../Zotlabs/Module/Channel_calendar.php:85
-#: ../../Zotlabs/Module/Channel_calendar.php:226
-msgid "Event not found."
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:441
-#: ../../Zotlabs/Module/Tagger.php:75
-#: ../../Zotlabs/Module/Channel_calendar.php:221
-#: ../../include/conversation.php:132 ../../include/text.php:2257
-#: ../../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
-#: ../../Zotlabs/Module/Register.php:498 ../../include/js_strings.php:123
-#: ../../include/datetime.php:211
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:334
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:358
-#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:434
-#: ../../extend/addon/hubzilla-addons/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:837
-#: ../../include/conversation.php:1404
-#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:153
-msgid "Preview"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1482
-#: ../../extend/addon/hubzilla-addons/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:370
-msgid "Edit event"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:643
-#: ../../Zotlabs/Module/Channel_calendar.php:372
-msgid "Delete event"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2076
-msgid "Link to Source"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:677
-#: ../../Zotlabs/Module/Channel_calendar.php:406
-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:1917
-msgid "Export"
-msgstr ""
-
-#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261
-#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:212
-#: ../../Zotlabs/Module/Wiki.php:408 ../../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:493
-msgid "Failed to remove event"
-msgstr ""
-
#: ../../Zotlabs/Module/Help.php:23
msgid "Documentation Search"
msgstr ""
@@ -1325,7 +1154,7 @@ msgstr ""
#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42
#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:27
#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1464
+#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1384
#: ../../extend/addon/hubzilla-addons/gallery/Mod_Gallery.php:49
msgid "Requested profile is not available."
msgstr ""
@@ -1354,12 +1183,12 @@ msgstr ""
msgid "Export selected"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341
+#: ../../Zotlabs/Module/Webpages.php:251 ../../Zotlabs/Lib/Apps.php:341
#: ../../include/nav.php:524
msgid "Webpages"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Webpages.php:254 ../../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:210 ../../Zotlabs/Module/Wiki.php:383
@@ -1369,67 +1198,79 @@ msgstr ""
#: ../../Zotlabs/Module/Connections.php:363
#: ../../Zotlabs/Module/Connections.php:383
#: ../../Zotlabs/Module/Editwebpage.php:142
-#: ../../Zotlabs/Module/Article_edit.php:98
+#: ../../Zotlabs/Module/Article_edit.php:97
#: ../../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:149 ../../Zotlabs/Widget/Cdav.php:138
-#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1566
-#: ../../include/channel.php:1570 ../../include/menu.php:120
+#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1486
+#: ../../include/channel.php:1490 ../../include/menu.php:120
msgid "Edit"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:194
#: ../../Zotlabs/Module/Wiki.php:300 ../../Zotlabs/Module/Blocks.php:161
#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136
-#: ../../include/conversation.php:1437
+#: ../../include/conversation.php:1432
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:186
msgid "Share"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:263
+#: ../../Zotlabs/Module/Webpages.php:260 ../../Zotlabs/Module/Layouts.php:198
+#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Module/Wiki.php:408
+#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Pubsites.php:60
+msgid "View"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:261 ../../Zotlabs/Module/Photos.php:1099
+#: ../../Zotlabs/Lib/ThreadItem.php:837 ../../include/conversation.php:1399
+#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:153
+msgid "Preview"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:262
msgid "Actions"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:264
+#: ../../Zotlabs/Module/Webpages.php:263
msgid "Page Link"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:265
+#: ../../Zotlabs/Module/Webpages.php:264
msgid "Page Title"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191
+#: ../../Zotlabs/Module/Webpages.php:265 ../../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/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:192
#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179
msgid "Edited"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:295
+#: ../../Zotlabs/Module/Webpages.php:294
msgid "Invalid file type."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:307
+#: ../../Zotlabs/Module/Webpages.php:306
msgid "Error opening zip file"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:318
+#: ../../Zotlabs/Module/Webpages.php:317
msgid "Invalid folder path."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:345
+#: ../../Zotlabs/Module/Webpages.php:344
msgid "No webpage elements detected."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:420
+#: ../../Zotlabs/Module/Webpages.php:419
msgid "Import complete."
msgstr ""
#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186
-#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661
+#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:660
msgid "Profile not found."
msgstr ""
@@ -1465,15 +1306,15 @@ msgstr ""
msgid "Romantic Partner"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774
+#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:773
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775
+#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:774
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:781
msgid "Work/Employment"
msgstr ""
@@ -1506,283 +1347,294 @@ msgstr ""
msgid "Profile updated."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:680
+#: ../../Zotlabs/Module/Profiles.php:679
msgid "Hide your connections list from viewers of this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:724
+#: ../../Zotlabs/Module/Profiles.php:723
msgid "Edit Profile Details"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:726
+#: ../../Zotlabs/Module/Profiles.php:725
msgid "View this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826
-#: ../../include/channel.php:1589
+#: ../../Zotlabs/Module/Profiles.php:726 ../../Zotlabs/Module/Profiles.php:825
+#: ../../include/channel.php:1509
msgid "Edit visibility"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:728
+#: ../../Zotlabs/Module/Profiles.php:727
msgid "Profile Tools"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:729
+#: ../../Zotlabs/Module/Profiles.php:728
msgid "Change cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1559
+#: ../../Zotlabs/Module/Profiles.php:729 ../../include/channel.php:1479
msgid "Change profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:731
+#: ../../Zotlabs/Module/Profiles.php:730
msgid "Create a new profile using these settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:732
+#: ../../Zotlabs/Module/Profiles.php:731
msgid "Clone this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:733
+#: ../../Zotlabs/Module/Profiles.php:732
msgid "Delete this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:734
+#: ../../Zotlabs/Module/Profiles.php:733
msgid "Add profile things"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:735
+#: ../../Zotlabs/Module/Profiles.php:734
msgid "Personal"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:737
+#: ../../Zotlabs/Module/Profiles.php:736
msgid "Relationship"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51
+#: ../../Zotlabs/Module/Profiles.php:737 ../../Zotlabs/Widget/Newmember.php:51
#: ../../include/datetime.php:58
msgid "Miscellaneous"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:740
+#: ../../Zotlabs/Module/Profiles.php:739
msgid "Import profile from file"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:741
+#: ../../Zotlabs/Module/Profiles.php:740
msgid "Export profile to file"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:742
+#: ../../Zotlabs/Module/Profiles.php:741
msgid "Your gender"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:743
+#: ../../Zotlabs/Module/Profiles.php:742
msgid "Marital status"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:744
+#: ../../Zotlabs/Module/Profiles.php:743
msgid "Sexual preference"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:747
+#: ../../Zotlabs/Module/Profiles.php:746
msgid "Profile name"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:749
+#: ../../Zotlabs/Module/Profiles.php:746 ../../Zotlabs/Module/Profiles.php:750
+#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144
+#: ../../Zotlabs/Module/Register.php:498 ../../include/js_strings.php:123
+#: ../../include/datetime.php:211
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:334
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:358
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:434
+#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:458
+msgid "Required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:748
msgid "This is your default profile."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:751
+#: ../../Zotlabs/Module/Profiles.php:750
msgid "Your full name"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:752
+#: ../../Zotlabs/Module/Profiles.php:751
msgid "Short title/description"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:752
+#: ../../Zotlabs/Module/Profiles.php:751
msgid "Maximal 190 characters"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:755
+#: ../../Zotlabs/Module/Profiles.php:754
msgid "Street address"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:756
+#: ../../Zotlabs/Module/Profiles.php:755
msgid "Locality/City"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:757
+#: ../../Zotlabs/Module/Profiles.php:756
msgid "Region/State"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:758
+#: ../../Zotlabs/Module/Profiles.php:757
msgid "Postal/Zip code"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:764
+#: ../../Zotlabs/Module/Profiles.php:763
msgid "Who (if applicable)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:764
+#: ../../Zotlabs/Module/Profiles.php:763
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:765
+#: ../../Zotlabs/Module/Profiles.php:764
msgid "Since (date)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:768
+#: ../../Zotlabs/Module/Profiles.php:767
msgid "Tell us about yourself"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:769
+#: ../../Zotlabs/Module/Profiles.php:768
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:68
msgid "Homepage URL"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:770
+#: ../../Zotlabs/Module/Profiles.php:769
msgid "Hometown"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:771
+#: ../../Zotlabs/Module/Profiles.php:770
msgid "Political views"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:772
+#: ../../Zotlabs/Module/Profiles.php:771
msgid "Religious views"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:773
+#: ../../Zotlabs/Module/Profiles.php:772
msgid "Keywords used in directory listings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:773
+#: ../../Zotlabs/Module/Profiles.php:772
msgid "Example: fishing photography software"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:776
+#: ../../Zotlabs/Module/Profiles.php:775
msgid "Musical interests"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:777
+#: ../../Zotlabs/Module/Profiles.php:776
msgid "Books, literature"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Profiles.php:777
msgid "Television"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:779
+#: ../../Zotlabs/Module/Profiles.php:778
msgid "Film/Dance/Culture/Entertainment"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:780
+#: ../../Zotlabs/Module/Profiles.php:779
msgid "Hobbies/Interests"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:781
+#: ../../Zotlabs/Module/Profiles.php:780
msgid "Love/Romance"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:783
+#: ../../Zotlabs/Module/Profiles.php:782
msgid "School/Education"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:784
+#: ../../Zotlabs/Module/Profiles.php:783
msgid "Contact information and social networks"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:785
+#: ../../Zotlabs/Module/Profiles.php:784
msgid "My other channels"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:787
+#: ../../Zotlabs/Module/Profiles.php:786
msgid "Communications"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1585
+#: ../../Zotlabs/Module/Profiles.php:821 ../../include/channel.php:1505
msgid "Profile Image"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1566
+#: ../../Zotlabs/Module/Profiles.php:831 ../../include/channel.php:1486
#: ../../include/nav.php:118
msgid "Edit Profiles"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:213
-#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262
+#: ../../Zotlabs/Module/Profiles.php:832 ../../Zotlabs/Module/Wiki.php:213
+#: ../../Zotlabs/Module/Manage.php:135 ../../Zotlabs/Module/Chat.php:262
msgid "Create New"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:69 ../../Zotlabs/Module/Import_items.php:48
+#: ../../Zotlabs/Module/Import.php:68 ../../Zotlabs/Module/Import_items.php:48
msgid "Nothing to import."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:84 ../../Zotlabs/Module/Import.php:100
+#: ../../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:107 ../../Zotlabs/Module/Import_items.php:77
+#: ../../Zotlabs/Module/Import.php:106 ../../Zotlabs/Module/Import_items.php:77
msgid "Imported file is empty."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:163
+#: ../../Zotlabs/Module/Import.php:162
#, php-format
msgid "Your service plan only allows %d channels."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:190
+#: ../../Zotlabs/Module/Import.php:189
msgid "No channel. Import failed."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:595
+#: ../../Zotlabs/Module/Import.php:530
#: ../../extend/addon/hubzilla-addons/diaspora/import_diaspora.php:142
msgid "Import completed."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:623
+#: ../../Zotlabs/Module/Import.php:558
msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:628
+#: ../../Zotlabs/Module/Import.php:563
msgid "Import Channel"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:629
+#: ../../Zotlabs/Module/Import.php:564
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:630
+#: ../../Zotlabs/Module/Import.php:565
#: ../../Zotlabs/Module/Import_items.php:127
msgid "File to Upload"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:631
+#: ../../Zotlabs/Module/Import.php:566
msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:633
+#: ../../Zotlabs/Module/Import.php:568
msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:634
+#: ../../Zotlabs/Module/Import.php:569
msgid "Your old login email address"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:635
+#: ../../Zotlabs/Module/Import.php:570
msgid "Your old login password"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:636
+#: ../../Zotlabs/Module/Import.php:571
msgid "Import a few months of posts if possible (limited by available memory"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:638
+#: ../../Zotlabs/Module/Import.php:573
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 "
@@ -1790,25 +1642,25 @@ msgid ""
"location for files, photos, and media."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:640
+#: ../../Zotlabs/Module/Import.php:575
msgid "Make this hub my primary location"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:641
+#: ../../Zotlabs/Module/Import.php:576
msgid "Move this channel (disable all previous locations)"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:642
+#: ../../Zotlabs/Module/Import.php:577
msgid "Use this channel nickname instead of the one provided"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:642
+#: ../../Zotlabs/Module/Import.php:577
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:644
+#: ../../Zotlabs/Module/Import.php:579
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
@@ -1850,31 +1702,38 @@ msgid "Previous action reversed."
msgstr ""
#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Tagger.php:71
-#: ../../Zotlabs/Module/Subthread.php:115 ../../Zotlabs/Lib/Activity.php:3264
-#: ../../include/conversation.php:128 ../../include/text.php:2254
+#: ../../Zotlabs/Module/Subthread.php:115 ../../Zotlabs/Lib/Activity.php:3248
+#: ../../include/conversation.php:128 ../../include/text.php:2236
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1649
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2101
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2111
#: ../../extend/addon/hubzilla-addons/redphotos/redphotohelper.php:71
msgid "photo"
msgstr ""
#: ../../Zotlabs/Module/Like.php:439 ../../Zotlabs/Module/Subthread.php:115
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1649
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2101
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2111
msgid "status"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3297
+#: ../../Zotlabs/Module/Like.php:441 ../../Zotlabs/Module/Tagger.php:75
+#: ../../Zotlabs/Module/Channel_calendar.php:221
+#: ../../include/conversation.php:132 ../../include/text.php:2239
+#: ../../include/event.php:1259
+msgid "event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3281
#: ../../include/conversation.php:174
#: ../../extend/addon/hubzilla-addons/diaspora/Receiver.php:1595
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2138
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2148
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:473 ../../Zotlabs/Lib/Activity.php:3299
+#: ../../Zotlabs/Module/Like.php:473 ../../Zotlabs/Lib/Activity.php:3283
#: ../../include/conversation.php:177
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2140
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2150
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
@@ -1932,7 +1791,7 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/diaspora/diaspora.php:97
#: ../../extend/addon/hubzilla-addons/openstreetmap/openstreetmap.php:171
#: ../../extend/addon/hubzilla-addons/xmpp/xmpp.php:54
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:494
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:487
#: ../../extend/addon/hubzilla-addons/logrot/logrot.php:54
msgid "Settings updated."
msgstr ""
@@ -1945,11 +1804,11 @@ msgstr ""
msgid "Set custom default permissions for new connections"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:860
+#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:852
msgid "Connection Default Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:853
msgid "Apply these permissions automatically"
msgstr ""
@@ -1959,23 +1818,23 @@ msgid ""
"If enabled, connection requests will be approved without your interaction"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:862
+#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:854
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:862
-#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324
+#: ../../Zotlabs/Module/Connedit.php:854
+#: ../../Zotlabs/Widget/Notifications.php:167 ../../include/nav.php:324
msgid "Loading"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:863
+#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:855
msgid "Add permission role"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:876
+#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:868
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
@@ -1985,17 +1844,17 @@ msgstr ""
msgid "Automatic approval settings"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:896
+#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:888
#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124
msgid "inherited"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:901
+#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:893
#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122
msgid "My Settings"
msgstr ""
-#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:903
+#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:895
#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127
msgid "Individual Permissions"
msgstr ""
@@ -2015,13 +1874,13 @@ msgstr ""
msgid "Layout Description (Optional)"
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2714
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2675
msgid "Layouts"
msgstr ""
#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348
#: ../../include/nav.php:180 ../../include/nav.php:320
-#: ../../include/help.php:117 ../../include/help.php:125
+#: ../../include/help.php:118 ../../include/help.php:126
msgid "Help"
msgstr ""
@@ -2046,21 +1905,21 @@ msgid "The unmoderated public stream of this hub"
msgstr ""
#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76
-#: ../../Zotlabs/Module/Channel.php:256 ../../Zotlabs/Module/Hq.php:125
+#: ../../Zotlabs/Module/Channel.php:269 ../../Zotlabs/Module/Hq.php:125
#: ../../Zotlabs/Module/Network.php:209
msgid "Reset form"
msgstr ""
#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375
-#: ../../Zotlabs/Widget/Notifications.php:162
+#: ../../Zotlabs/Widget/Notifications.php:147
msgid "Public Stream"
msgstr ""
-#: ../../Zotlabs/Module/Sse_bs.php:554 ../../Zotlabs/Module/Ping.php:672
+#: ../../Zotlabs/Module/Sse_bs.php:569
msgid "Private forum"
msgstr ""
-#: ../../Zotlabs/Module/Sse_bs.php:554 ../../Zotlabs/Module/Ping.php:672
+#: ../../Zotlabs/Module/Sse_bs.php:569
msgid "Public forum"
msgstr ""
@@ -2073,7 +1932,7 @@ msgid "Could not create privacy group."
msgstr ""
#: ../../Zotlabs/Module/Group.php:62 ../../Zotlabs/Module/Group.php:214
-#: ../../include/items.php:4585
+#: ../../include/items.php:4241
msgid "Privacy group not found."
msgstr ""
@@ -2234,12 +2093,12 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Changeaddr.php:46 ../../Zotlabs/Module/Register.php:100
-#: ../../include/channel.php:226 ../../include/channel.php:706
+#: ../../include/channel.php:225 ../../include/channel.php:657
msgid "Reserved nickname. Please choose another."
msgstr ""
#: ../../Zotlabs/Module/Changeaddr.php:51 ../../Zotlabs/Module/Register.php:105
-#: ../../include/channel.php:231 ../../include/channel.php:711
+#: ../../include/channel.php:230 ../../include/channel.php:662
msgid ""
"Nickname has unsupported characters or is already being used on this site."
msgstr ""
@@ -2289,7 +2148,7 @@ msgstr ""
#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140
#: ../../extend/addon/hubzilla-addons/statusnet/statusnet.php:596
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:505
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:498
msgid "Consumer Key"
msgstr ""
@@ -2301,7 +2160,7 @@ msgstr ""
#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141
#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147
#: ../../extend/addon/hubzilla-addons/statusnet/statusnet.php:595
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:506
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:499
msgid "Consumer Secret"
msgstr ""
@@ -2361,8 +2220,7 @@ msgstr ""
#: ../../Zotlabs/Module/Search.php:21
#: ../../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
+#: ../../Zotlabs/Module/Directory.php:72 ../../Zotlabs/Module/Directory.php:77
msgid "Public access denied."
msgstr ""
@@ -2392,7 +2250,7 @@ msgstr ""
msgid "Comment deleted"
msgstr ""
-#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:110
+#: ../../Zotlabs/Module/Rpost.php:151 ../../Zotlabs/Module/Editpost.php:110
msgid "Edit post"
msgstr ""
@@ -2420,14 +2278,14 @@ msgstr ""
msgid "Post not found."
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:3264
-#: ../../include/conversation.php:158 ../../include/text.php:2260
-#: ../../include/markdown.php:204 ../../include/bbcode.php:555
+#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:3248
+#: ../../include/conversation.php:158 ../../include/text.php:2242
+#: ../../include/markdown.php:205 ../../include/bbcode.php:555
msgid "post"
msgstr ""
#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160
-#: ../../include/text.php:2262
+#: ../../include/text.php:2244
msgid "comment"
msgstr ""
@@ -2496,7 +2354,7 @@ msgstr ""
msgid "Restricted or Premium Channel"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138
+#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:128
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr ""
@@ -2607,10 +2465,10 @@ msgid "Deprecated!"
msgstr ""
#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Display.php:42
-#: ../../Zotlabs/Module/Display.php:424 ../../Zotlabs/Module/Admin.php:62
+#: ../../Zotlabs/Module/Display.php:424 ../../Zotlabs/Module/Admin.php:61
#: ../../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:4011
+#: ../../Zotlabs/Module/Viewsrc.php:25 ../../include/items.php:3667
#: ../../extend/addon/hubzilla-addons/flashcards/Mod_Flashcards.php:284
#: ../../extend/addon/hubzilla-addons/flashcards/Mod_Flashcards.php:285
msgid "Item not found."
@@ -2630,7 +2488,7 @@ msgid "Edit file permissions"
msgstr ""
#: ../../Zotlabs/Module/Filestorage.php:195
-#: ../../Zotlabs/Module/Connedit.php:683 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Connedit.php:675 ../../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:154
@@ -2686,8 +2544,7 @@ 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:1345
+#: ../../Zotlabs/Module/Article_edit.php:99 ../../include/conversation.php:1340
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:95
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:167
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:310
@@ -2697,8 +2554,8 @@ msgstr ""
#: ../../Zotlabs/Module/Card_edit.php:118
#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674
#: ../../Zotlabs/Module/Photos.php:1044
-#: ../../Zotlabs/Module/Article_edit.php:117
-#: ../../include/conversation.php:1477
+#: ../../Zotlabs/Module/Article_edit.php:116
+#: ../../include/conversation.php:1472
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:221
msgid "Title (optional)"
msgstr ""
@@ -2839,19 +2696,19 @@ msgstr ""
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Module/Wiki.php:370
#: ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2118
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2100
#: ../../extend/addon/hubzilla-addons/mdpost/mdpost.php:41
msgid "Markdown"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Module/Wiki.php:370
#: ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2116
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2098
msgid "BBcode"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Widget/Wiki_pages.php:38
-#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2119
+#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2101
msgid "Text"
msgstr ""
@@ -2921,27 +2778,27 @@ msgstr ""
msgid "Embed image from photo albums"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:399 ../../include/conversation.php:1459
+#: ../../Zotlabs/Module/Wiki.php:399 ../../include/conversation.php:1454
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:208
msgid "Embed an image from your albums"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Profile_photo.php:508
-#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1461
-#: ../../include/conversation.php:1514
+#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1456
+#: ../../include/conversation.php:1509
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:210
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:257
msgid "OK"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:509
-#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1387
+#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1382
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:139
msgid "Choose images to embed"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:510
-#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1388
+#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1383
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:140
msgid "Choose an album"
msgstr ""
@@ -2952,19 +2809,19 @@ msgid "Choose a different album"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:512
-#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1390
+#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1385
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:142
msgid "Error getting album list"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:513
-#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1391
+#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1386
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:143
msgid "Error getting photo link"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:514
-#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1392
+#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1387
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:144
msgid "Error getting album"
msgstr ""
@@ -3030,7 +2887,7 @@ msgstr ""
msgid "Block Name"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2712
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2673
msgid "Blocks"
msgstr ""
@@ -3046,56 +2903,56 @@ msgstr ""
msgid "Entry uncensored"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66
+#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:65
msgid "Location not found."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:75
+#: ../../Zotlabs/Module/Locs.php:74
msgid "Location lookup failed."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:79
+#: ../../Zotlabs/Module/Locs.php:78
msgid ""
"Please select another location to become primary before removing the primary "
"location."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:108
+#: ../../Zotlabs/Module/Locs.php:106
msgid "Syncing locations"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Locs.php:115
msgid "No locations found."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:127
+#: ../../Zotlabs/Module/Locs.php:125
msgid "Manage Channel Locations"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:130
+#: ../../Zotlabs/Module/Locs.php:128
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:285
msgid "Primary"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177
+#: ../../Zotlabs/Module/Locs.php:129 ../../Zotlabs/Module/Menu.php:177
msgid "Drop"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:133
+#: ../../Zotlabs/Module/Locs.php:131
msgid "Sync Now"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:134
+#: ../../Zotlabs/Module/Locs.php:132
msgid "Please wait several minutes between consecutive operations."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:135
+#: ../../Zotlabs/Module/Locs.php:133
msgid ""
"When possible, drop a location by logging into that website/hub and removing "
"your channel."
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:136
+#: ../../Zotlabs/Module/Locs.php:134
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr ""
@@ -3121,286 +2978,285 @@ msgstr ""
msgid "Could not locate selected profile."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:265
+#: ../../Zotlabs/Module/Connedit.php:262
msgid "Connection updated."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:267
+#: ../../Zotlabs/Module/Connedit.php:264
msgid "Failed to update connection record."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:310
+#: ../../Zotlabs/Module/Connedit.php:307
msgid "is now connected to"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:435
+#: ../../Zotlabs/Module/Connedit.php:432
msgid "Could not access address book record."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:483 ../../Zotlabs/Module/Connedit.php:487
+#: ../../Zotlabs/Module/Connedit.php:480
msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:502 ../../Zotlabs/Module/Connedit.php:511
-#: ../../Zotlabs/Module/Connedit.php:520 ../../Zotlabs/Module/Connedit.php:529
-#: ../../Zotlabs/Module/Connedit.php:542
+#: ../../Zotlabs/Module/Connedit.php:494 ../../Zotlabs/Module/Connedit.php:503
+#: ../../Zotlabs/Module/Connedit.php:512 ../../Zotlabs/Module/Connedit.php:521
+#: ../../Zotlabs/Module/Connedit.php:534
msgid "Unable to set address book parameters."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:561
+#: ../../Zotlabs/Module/Connedit.php:553
msgid "Connection has been removed."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:601 ../../Zotlabs/Lib/Apps.php:344
-#: ../../include/conversation.php:1083 ../../include/nav.php:115
+#: ../../Zotlabs/Module/Connedit.php:593 ../../Zotlabs/Lib/Apps.php:344
+#: ../../include/conversation.php:1078 ../../include/nav.php:115
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:57
msgid "View Profile"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:604
+#: ../../Zotlabs/Module/Connedit.php:596
#, php-format
msgid "View %s's profile"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:608
+#: ../../Zotlabs/Module/Connedit.php:600
msgid "Refresh Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:611
+#: ../../Zotlabs/Module/Connedit.php:603
msgid "Fetch updated permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:615
+#: ../../Zotlabs/Module/Connedit.php:607
msgid "Refresh Photo"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:618
+#: ../../Zotlabs/Module/Connedit.php:610
msgid "Fetch updated photo"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:622 ../../include/conversation.php:1093
+#: ../../Zotlabs/Module/Connedit.php:614 ../../include/conversation.php:1088
msgid "Recent Activity"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:625
+#: ../../Zotlabs/Module/Connedit.php:617
msgid "View recent posts and comments"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:629
+#: ../../Zotlabs/Module/Connedit.php:621
#: ../../Zotlabs/Module/Admin/Accounts.php:322
msgid "Unblock"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:629
+#: ../../Zotlabs/Module/Connedit.php:621
#: ../../Zotlabs/Module/Admin/Accounts.php:321
msgid "Block"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:632
+#: ../../Zotlabs/Module/Connedit.php:624
msgid "Block (or Unblock) all communications with this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:633
+#: ../../Zotlabs/Module/Connedit.php:625
msgid "This connection is blocked!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:637
+#: ../../Zotlabs/Module/Connedit.php:629
msgid "Unignore"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:637
+#: ../../Zotlabs/Module/Connedit.php:629
#: ../../Zotlabs/Module/Connections.php:345
msgid "Ignore"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:640
+#: ../../Zotlabs/Module/Connedit.php:632
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:641
+#: ../../Zotlabs/Module/Connedit.php:633
msgid "This connection is ignored!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:645
+#: ../../Zotlabs/Module/Connedit.php:637
msgid "Unarchive"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:645
+#: ../../Zotlabs/Module/Connedit.php:637
msgid "Archive"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:648
+#: ../../Zotlabs/Module/Connedit.php:640
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:649
+#: ../../Zotlabs/Module/Connedit.php:641
msgid "This connection is archived!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:645
msgid "Unhide"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:645
msgid "Hide"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:656
+#: ../../Zotlabs/Module/Connedit.php:648
msgid "Hide or Unhide this connection from your other connections"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:657
+#: ../../Zotlabs/Module/Connedit.php:649
msgid "This connection is hidden!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:664
+#: ../../Zotlabs/Module/Connedit.php:656
msgid "Delete this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:672
+#: ../../Zotlabs/Module/Connedit.php:664
msgid "Fetch Vcard"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:675
+#: ../../Zotlabs/Module/Connedit.php:667
msgid "Fetch electronic calling card for this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Connedit.php:678
msgid "Open Individual Permissions section by default"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:701
msgid "Affinity"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:712
+#: ../../Zotlabs/Module/Connedit.php:704
msgid "Open Set Affinity section by default"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:30
+#: ../../Zotlabs/Module/Connedit.php:708 ../../Zotlabs/Widget/Affinity.php:30
msgid "Me"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:717 ../../Zotlabs/Widget/Affinity.php:31
+#: ../../Zotlabs/Module/Connedit.php:709 ../../Zotlabs/Widget/Affinity.php:31
msgid "Family"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:718
+#: ../../Zotlabs/Module/Connedit.php:710
#: ../../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:506
-#: ../../include/channel.php:509 ../../include/selectors.php:134
+#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:457
+#: ../../include/channel.php:460 ../../include/selectors.php:134
msgid "Friends"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Widget/Affinity.php:33
+#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:33
msgid "Acquaintances"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:720
+#: ../../Zotlabs/Module/Connedit.php:712
#: ../../Zotlabs/Module/Connections.php:97
#: ../../Zotlabs/Module/Connections.php:111
#: ../../Zotlabs/Widget/Affinity.php:34
msgid "All"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:749
+#: ../../Zotlabs/Module/Connedit.php:741
msgid "Filter"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:752
+#: ../../Zotlabs/Module/Connedit.php:744
msgid "Open Custom Filter section by default"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:789
+#: ../../Zotlabs/Module/Connedit.php:781
msgid "Approve this connection"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:789
+#: ../../Zotlabs/Module/Connedit.php:781
msgid "Accept connection to allow communication"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:794
+#: ../../Zotlabs/Module/Connedit.php:786
msgid "Set Affinity"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:797
+#: ../../Zotlabs/Module/Connedit.php:789
msgid "Set Profile"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:800
+#: ../../Zotlabs/Module/Connedit.php:792
msgid "Set Affinity & Profile"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:848
+#: ../../Zotlabs/Module/Connedit.php:840
msgid "This connection is unreachable from this location."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:849
+#: ../../Zotlabs/Module/Connedit.php:841
msgid "This connection may be unreachable from other channel locations."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:851
+#: ../../Zotlabs/Module/Connedit.php:843
msgid "Location independence is not supported by their network."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:857
+#: ../../Zotlabs/Module/Connedit.php:849
msgid ""
"This connection is unreachable from this location. Location independence is "
"not supported by their network."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:860 ../../include/items.php:4618
+#: ../../Zotlabs/Module/Connedit.php:852 ../../include/items.php:4274
#, php-format
msgid "Connection: %s"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:861
+#: ../../Zotlabs/Module/Connedit.php:853
msgid "Connection requests will be approved without your interaction"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:870
+#: ../../Zotlabs/Module/Connedit.php:862
msgid "This connection's primary address is"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:871
+#: ../../Zotlabs/Module/Connedit.php:863
msgid "Available locations:"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:877
+#: ../../Zotlabs/Module/Connedit.php:869
msgid "Connection Tools"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:879
+#: ../../Zotlabs/Module/Connedit.php:871
msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:880 ../../Zotlabs/Module/Rate.php:157
-#: ../../include/js_strings.php:20
+#: ../../Zotlabs/Module/Connedit.php:872 ../../include/js_strings.php:20
msgid "Rating"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:881
+#: ../../Zotlabs/Module/Connedit.php:873
msgid "Slide to adjust your rating"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:882 ../../Zotlabs/Module/Connedit.php:887
+#: ../../Zotlabs/Module/Connedit.php:874 ../../Zotlabs/Module/Connedit.php:879
msgid "Optionally explain your rating"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:884
+#: ../../Zotlabs/Module/Connedit.php:876
msgid "Custom Filter"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:885
+#: ../../Zotlabs/Module/Connedit.php:877
msgid "Only import posts with this text"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:885 ../../Zotlabs/Module/Connedit.php:886
+#: ../../Zotlabs/Module/Connedit.php:877 ../../Zotlabs/Module/Connedit.php:878
#: ../../Zotlabs/Module/Admin/Site.php:512
#: ../../Zotlabs/Module/Admin/Site.php:513
msgid ""
@@ -3408,30 +3264,30 @@ msgid ""
"all posts"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:886
+#: ../../Zotlabs/Module/Connedit.php:878
msgid "Do not import posts with this text"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:888
+#: ../../Zotlabs/Module/Connedit.php:880
msgid "This information is public!"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:893
+#: ../../Zotlabs/Module/Connedit.php:885
msgid "Connection Pending Approval"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:898
+#: ../../Zotlabs/Module/Connedit.php:890
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:900 ../../Zotlabs/Module/Tokens.php:180
+#: ../../Zotlabs/Module/Connedit.php:892 ../../Zotlabs/Module/Tokens.php:180
msgid "Their Settings"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:904 ../../Zotlabs/Module/Tokens.php:187
+#: ../../Zotlabs/Module/Connedit.php:896 ../../Zotlabs/Module/Tokens.php:187
#: ../../Zotlabs/Module/Permcats.php:128
msgid ""
"Some permissions may be inherited from your channel's <a href=\"settings"
@@ -3439,7 +3295,7 @@ msgid ""
"individual settings. You can <strong>not</strong> change those settings here."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:905
+#: ../../Zotlabs/Module/Connedit.php:897
msgid ""
"Some permissions may be inherited from your channel's <a href=\"settings"
"\"><strong>privacy settings</strong></a>, which have higher priority than "
@@ -3447,11 +3303,11 @@ msgid ""
"any impact unless the inherited setting changes."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:906
+#: ../../Zotlabs/Module/Connedit.php:898
msgid "Last update:"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:914
+#: ../../Zotlabs/Module/Connedit.php:906
msgid "Details"
msgstr ""
@@ -3714,7 +3570,7 @@ msgid "NEW"
msgstr ""
#: ../../Zotlabs/Module/Sharedwithme.php:108
-#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1558
+#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1540
msgid "Size"
msgstr ""
@@ -3735,42 +3591,37 @@ msgstr ""
msgid "Edit Layout"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:145
+#: ../../Zotlabs/Module/Manage.php:135
msgid "Create a new channel"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337
+#: ../../Zotlabs/Module/Manage.php:160 ../../Zotlabs/Lib/Apps.php:337
#: ../../include/nav.php:101
msgid "Channel Manager"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:171
+#: ../../Zotlabs/Module/Manage.php:161
msgid "Current Channel"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:173
+#: ../../Zotlabs/Module/Manage.php:163
msgid "Switch to one of your channels by selecting it."
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:174
+#: ../../Zotlabs/Module/Manage.php:164
msgid "Default Channel"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:175
+#: ../../Zotlabs/Module/Manage.php:165
msgid "Make Default"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:178
-#, php-format
-msgid "%d new messages"
-msgstr ""
-
-#: ../../Zotlabs/Module/Manage.php:179
+#: ../../Zotlabs/Module/Manage.php:168
#, php-format
msgid "%d new introductions"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:181
+#: ../../Zotlabs/Module/Manage.php:170
msgid "Delegated Channel"
msgstr ""
@@ -3786,49 +3637,32 @@ msgstr ""
msgid "Empty post discarded."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1189
+#: ../../Zotlabs/Module/Item.php:1191
msgid "Duplicate post suppressed."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1334
+#: ../../Zotlabs/Module/Item.php:1336
msgid "System error. Post not saved."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1368
+#: ../../Zotlabs/Module/Item.php:1370
msgid "Your comment is awaiting approval."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1498
+#: ../../Zotlabs/Module/Item.php:1500
msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1505
+#: ../../Zotlabs/Module/Item.php:1507
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1512
+#: ../../Zotlabs/Module/Item.php:1514
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:158
-msgid "Website:"
-msgstr ""
-
-#: ../../Zotlabs/Module/Rate.php:161
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Rate.php:162
-msgid "Rating (this information is public)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Rate.php:163
-msgid "Optionally explain your rating (this information is public)"
-msgstr ""
-
#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
msgid "Invalid item."
msgstr ""
@@ -3837,7 +3671,7 @@ msgstr ""
#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173
#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77
#: ../../Zotlabs/Web/Router.php:186 ../../Zotlabs/Lib/NativeWikiPage.php:533
-#: ../../include/help.php:132
+#: ../../include/help.php:133
msgid "Page not found."
msgstr ""
@@ -3912,11 +3746,11 @@ msgstr ""
msgid "%s element installation failed"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../Zotlabs/Widget/Pubsites.php:12
msgid "Public Hubs"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:28
+#: ../../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 "
@@ -3925,32 +3759,31 @@ msgid ""
"additional details."
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Hub URL"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Access Type"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Registration Policy"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Stats"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:34
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Software"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97
-#: ../../include/conversation.php:1133
+#: ../../Zotlabs/Module/Pubsites.php:35 ../../include/conversation.php:1128
msgid "Ratings"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:50
+#: ../../Zotlabs/Module/Pubsites.php:49
msgid "Rate"
msgstr ""
@@ -3991,7 +3824,7 @@ msgstr ""
msgid "Bookmark this room"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1382
+#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1377
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:134
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:120
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:241
@@ -3999,7 +3832,7 @@ msgid "Please enter a link URL:"
msgstr ""
#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:841
-#: ../../include/conversation.php:1512
+#: ../../include/conversation.php:1507
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:255
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:173
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:316
@@ -4125,7 +3958,7 @@ msgid ""
"Password reset failed."
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1725
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1729
msgid "Password Reset"
msgstr ""
@@ -4182,36 +4015,7 @@ msgstr ""
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
-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:354 ../../Zotlabs/Module/Channel.php:483
+#: ../../Zotlabs/Module/Display.php:354 ../../Zotlabs/Module/Channel.php:496
msgid ""
"You must enable javascript for your browser to be able to view this content."
msgstr ""
@@ -4224,40 +4028,40 @@ msgstr ""
msgid "Item has been removed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:96
+#: ../../Zotlabs/Module/Admin.php:95
#: ../../Zotlabs/Module/Admin/Accounts.php:308
#: ../../Zotlabs/Module/Admin/Accounts.php:327
#: ../../Zotlabs/Widget/Admin.php:23
msgid "Accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:97
+#: ../../Zotlabs/Module/Admin.php:96
msgid "Blocked accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:98
+#: ../../Zotlabs/Module/Admin.php:97
msgid "Expired accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:99
+#: ../../Zotlabs/Module/Admin.php:98
msgid "Expiring accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:117
+#: ../../Zotlabs/Module/Admin.php:116
#: ../../Zotlabs/Module/Admin/Channels.php:146
#: ../../Zotlabs/Widget/Admin.php:24
msgid "Channels"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:123
+#: ../../Zotlabs/Module/Admin.php:122
msgid "Message queues"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:137
+#: ../../Zotlabs/Module/Admin.php:136
msgid "Your software should be updated"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:141 ../../Zotlabs/Module/Admin/Themes.php:122
+#: ../../Zotlabs/Module/Admin.php:140 ../../Zotlabs/Module/Admin/Themes.php:122
#: ../../Zotlabs/Module/Admin/Themes.php:156
#: ../../Zotlabs/Module/Admin/Security.php:98
#: ../../Zotlabs/Module/Admin/Accounts.php:307
@@ -4269,35 +4073,35 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:142
+#: ../../Zotlabs/Module/Admin.php:141
msgid "Summary"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:145
+#: ../../Zotlabs/Module/Admin.php:144
msgid "Registered accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:146
+#: ../../Zotlabs/Module/Admin.php:145
msgid "Pending registrations"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:147
+#: ../../Zotlabs/Module/Admin.php:146
msgid "Registered channels"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:148
+#: ../../Zotlabs/Module/Admin.php:147
msgid "Active addons"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:149
+#: ../../Zotlabs/Module/Admin.php:148
msgid "Version"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:150
+#: ../../Zotlabs/Module/Admin.php:149
msgid "Repository version (master)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:151
+#: ../../Zotlabs/Module/Admin.php:150
msgid "Repository version (dev)"
msgstr ""
@@ -4363,20 +4167,20 @@ msgstr ""
msgid "Show Oldest First"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333
+#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1331
#: ../../Zotlabs/Module/Embedphotos.php:171
#: ../../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/Photos.php:793 ../../Zotlabs/Module/Photos.php:1253
#: ../../Zotlabs/Module/Embedphotos.php:177 ../../Zotlabs/Lib/Apps.php:1112
-#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1552
+#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1553
#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:268
-#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1214
+#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1209
#: ../../include/cdav.php:158 ../../include/cdav.php:159
#: ../../include/cdav.php:167
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1189
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1196
msgid "Unknown"
msgstr ""
@@ -4385,7 +4189,7 @@ msgstr ""
msgid "Edit Album"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1362
msgid "Add Photos"
msgstr ""
@@ -4462,12 +4266,12 @@ msgstr ""
msgid "Please wait"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1211
#: ../../Zotlabs/Lib/ThreadItem.php:824
msgid "This is you"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1213
#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/js_strings.php:6
msgid "Comment"
msgstr ""
@@ -4524,7 +4328,7 @@ msgid "View all"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:243
-#: ../../include/conversation.php:1752 ../../include/channel.php:1809
+#: ../../include/conversation.php:1744 ../../include/channel.php:1729
#: ../../include/taxonomy.php:670
msgctxt "noun"
msgid "Like"
@@ -4533,62 +4337,62 @@ msgstr[0] ""
msgstr[1] ""
#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:248
-#: ../../include/conversation.php:1755
+#: ../../include/conversation.php:1747
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:1247
+#: ../../Zotlabs/Module/Photos.php:1245
msgid "Photo Tools"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1256
+#: ../../Zotlabs/Module/Photos.php:1254
msgid "In This Photo:"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1261
+#: ../../Zotlabs/Module/Photos.php:1259
msgid "Map"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:491
+#: ../../Zotlabs/Module/Photos.php:1267 ../../Zotlabs/Lib/ThreadItem.php:491
msgctxt "noun"
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:492
+#: ../../Zotlabs/Module/Photos.php:1268 ../../Zotlabs/Lib/ThreadItem.php:492
msgctxt "noun"
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411
+#: ../../Zotlabs/Module/Photos.php:1273 ../../Zotlabs/Storage/Browser.php:411
#: ../../Zotlabs/Lib/ThreadItem.php:497 ../../Zotlabs/Widget/Pinned.php:158
#: ../../include/acl_selectors.php:156
#: ../../extend/addon/hubzilla-addons/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
+#: ../../Zotlabs/Module/Photos.php:1346 ../../Zotlabs/Module/Photos.php:1359
+#: ../../Zotlabs/Module/Photos.php:1360 ../../include/photos.php:667
msgid "Recent Photos"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:131 ../../Zotlabs/Module/Profile.php:62
+#: ../../Zotlabs/Module/Channel.php:144 ../../Zotlabs/Module/Profile.php:62
#: ../../Zotlabs/Module/Hcard.php:37
msgid "Posts and comments"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:138 ../../Zotlabs/Module/Profile.php:69
+#: ../../Zotlabs/Module/Channel.php:151 ../../Zotlabs/Module/Profile.php:69
#: ../../Zotlabs/Module/Hcard.php:44
msgid "Only posts"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:206
+#: ../../Zotlabs/Module/Channel.php:219
msgid "Insufficient permissions. Request redirected to profile page."
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:221 ../../Zotlabs/Module/Network.php:168
+#: ../../Zotlabs/Module/Channel.php:234 ../../Zotlabs/Module/Network.php:168
msgid "Search Results For:"
msgstr ""
@@ -4703,7 +4507,7 @@ msgstr ""
#: ../../Zotlabs/Module/Connections.php:83
#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Notifications.php:53 ../../Zotlabs/Module/Menu.php:180
+#: ../../Zotlabs/Module/Notifications.php:101 ../../Zotlabs/Module/Menu.php:180
msgid "New"
msgstr ""
@@ -4716,7 +4520,7 @@ msgid "Show active connections"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:165
-#: ../../Zotlabs/Widget/Notifications.php:104
+#: ../../Zotlabs/Widget/Notifications.php:89
msgid "New Connections"
msgstr ""
@@ -4808,9 +4612,9 @@ msgid "Recent activity"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:350 ../../Zotlabs/Module/Suggest.php:71
-#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32
-#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1103
-#: ../../include/channel.php:1646 ../../include/connections.php:110
+#: ../../Zotlabs/Module/Directory.php:369 ../../Zotlabs/Widget/Follow.php:32
+#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1098
+#: ../../include/channel.php:1566 ../../include/connections.php:110
msgid "Connect"
msgstr ""
@@ -4832,8 +4636,8 @@ msgid "Connections search"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:382
-#: ../../Zotlabs/Module/Directory.php:433
-#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23
+#: ../../Zotlabs/Module/Directory.php:432
+#: ../../Zotlabs/Module/Directory.php:437 ../../include/contact_widgets.php:23
msgid "Find"
msgstr ""
@@ -4916,7 +4720,7 @@ msgstr ""
msgid "View Common Connections"
msgstr ""
-#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2186
+#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2182
#, php-format
msgid "&#x1f501; Repeated %1$s's %2$s"
msgstr ""
@@ -4937,7 +4741,7 @@ msgstr ""
msgid "vcard"
msgstr ""
-#: ../../Zotlabs/Module/Article_edit.php:128
+#: ../../Zotlabs/Module/Article_edit.php:127
msgid "Edit Article"
msgstr ""
@@ -4945,16 +4749,16 @@ msgstr ""
msgid "Authentication failed."
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2625
-#: ../../boot.php:1717
+#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2545
+#: ../../boot.php:1721
msgid "Remote Authentication"
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2626
+#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2546
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2627
+#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2547
msgid "Authenticate"
msgstr ""
@@ -5196,7 +5000,7 @@ msgstr[1] ""
msgid "Account not found"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:184 ../../include/channel.php:2785
+#: ../../Zotlabs/Module/Admin/Accounts.php:184 ../../include/channel.php:2705
#, php-format
msgid "Account '%s' deleted"
msgstr ""
@@ -5309,7 +5113,7 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Admin/Accounts.php:347
-#: ../../include/conversation.php:1123
+#: ../../include/conversation.php:1118
msgid "Message"
msgstr ""
@@ -5481,12 +5285,12 @@ msgid "select all"
msgstr ""
#: ../../Zotlabs/Module/Admin/Channels.php:150
-#: ../../Zotlabs/Module/Directory.php:362
+#: ../../Zotlabs/Module/Directory.php:361
msgid "Censor"
msgstr ""
#: ../../Zotlabs/Module/Admin/Channels.php:151
-#: ../../Zotlabs/Module/Directory.php:362
+#: ../../Zotlabs/Module/Directory.php:361
msgid "Uncensor"
msgstr ""
@@ -5674,7 +5478,7 @@ msgstr ""
msgid "Site settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:251 ../../include/text.php:3395
+#: ../../Zotlabs/Module/Admin/Site.php:251 ../../include/text.php:3356
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:335
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:359
#: ../../extend/addon/hubzilla-addons/cart/submodules/orderoptions.php:435
@@ -6304,11 +6108,13 @@ msgstr ""
msgid "Create Custom Field"
msgstr ""
-#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:58
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:106
msgid "No more system notifications."
msgstr ""
-#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:62
+#: ../../Zotlabs/Module/Notify.php:65
+#: ../../Zotlabs/Module/Notifications.php:110
msgid "System Notifications"
msgstr ""
@@ -6393,7 +6199,7 @@ msgstr ""
msgid "Ignore/Hide"
msgstr ""
-#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:437
+#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:436
#: ../../include/contact_widgets.php:24
msgid "Channel Suggestions"
msgstr ""
@@ -6418,11 +6224,11 @@ msgstr ""
msgid "Validation token"
msgstr ""
-#: ../../Zotlabs/Module/Notes.php:57
+#: ../../Zotlabs/Module/Notes.php:56
msgid "Notes App"
msgstr ""
-#: ../../Zotlabs/Module/Notes.php:58
+#: ../../Zotlabs/Module/Notes.php:57
msgid "A simple notes app with a widget (note: notes are not encrypted)"
msgstr ""
@@ -6495,7 +6301,7 @@ msgstr ""
msgid "Use arrows to move the corresponding app up or down in the app tray"
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:63
+#: ../../Zotlabs/Module/Notifications.php:111
#: ../../Zotlabs/Lib/ThreadItem.php:484
msgid "Mark all seen"
msgstr ""
@@ -6973,107 +6779,107 @@ msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:122
+#: ../../Zotlabs/Module/Directory.php:121
msgid "No default suggestions were found."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:282
+#: ../../Zotlabs/Module/Directory.php:281
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Directory.php:293
+#: ../../Zotlabs/Module/Directory.php:292
msgid "Gender: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:295
+#: ../../Zotlabs/Module/Directory.php:294
msgid "Status: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:297
+#: ../../Zotlabs/Module/Directory.php:296
msgid "Homepage: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1834
+#: ../../Zotlabs/Module/Directory.php:348 ../../include/channel.php:1754
msgid "Age:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1661
+#: ../../Zotlabs/Module/Directory.php:353 ../../include/channel.php:1581
#: ../../include/event.php:63 ../../include/event.php:134
msgid "Location:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:360
+#: ../../Zotlabs/Module/Directory.php:359
msgid "Description:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1863
+#: ../../Zotlabs/Module/Directory.php:366 ../../include/channel.php:1783
msgid "Hometown:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1869
+#: ../../Zotlabs/Module/Directory.php:368 ../../include/channel.php:1789
msgid "About:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:371
+#: ../../Zotlabs/Module/Directory.php:370
msgid "Public Forum:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:374
+#: ../../Zotlabs/Module/Directory.php:373
msgid "Keywords: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:377
+#: ../../Zotlabs/Module/Directory.php:376
msgid "Don't suggest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:379
+#: ../../Zotlabs/Module/Directory.php:378
msgid "Common connections (estimated):"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:428
+#: ../../Zotlabs/Module/Directory.php:427
msgid "Global Directory"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:428
+#: ../../Zotlabs/Module/Directory.php:427
msgid "Local Directory"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:434
+#: ../../Zotlabs/Module/Directory.php:433
msgid "Finding:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:439
+#: ../../Zotlabs/Module/Directory.php:438
msgid "next page"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:439
+#: ../../Zotlabs/Module/Directory.php:438
msgid "previous page"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:440
+#: ../../Zotlabs/Module/Directory.php:439
msgid "Sort options"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:441
+#: ../../Zotlabs/Module/Directory.php:440
msgid "Alphabetic"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:442
+#: ../../Zotlabs/Module/Directory.php:441
msgid "Reverse Alphabetic"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:443
+#: ../../Zotlabs/Module/Directory.php:442
msgid "Newest to Oldest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:444
+#: ../../Zotlabs/Module/Directory.php:443
msgid "Oldest to Newest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:461
+#: ../../Zotlabs/Module/Directory.php:460
msgid "No entries (some entries may be hidden)."
msgstr ""
@@ -7246,23 +7052,7 @@ msgstr ""
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:95 ../../include/channel.php:212
+#: ../../Zotlabs/Module/Register.php:95 ../../include/channel.php:211
msgid "Nickname is required."
msgstr ""
@@ -7396,7 +7186,7 @@ msgid "I have an invite code"
msgstr ""
#: ../../Zotlabs/Module/Register.php:542 ../../include/nav.php:168
-#: ../../boot.php:1696
+#: ../../boot.php:1697
msgid "Register"
msgstr ""
@@ -7415,6 +7205,41 @@ msgstr ""
msgid "network"
msgstr ""
+#: ../../Zotlabs/Module/Channel_calendar.php:62
+msgid "Event can not end before it has started."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:64
+#: ../../Zotlabs/Module/Channel_calendar.php:72
+#: ../../Zotlabs/Module/Channel_calendar.php:87
+msgid "Unable to generate preview."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:70
+msgid "Event title and start time are required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:85
+#: ../../Zotlabs/Module/Channel_calendar.php:226
+msgid "Event not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:370
+msgid "Edit event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:372
+msgid "Delete event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:406
+msgid "calendar"
+msgstr ""
+
+#: ../../Zotlabs/Module/Channel_calendar.php:493
+msgid "Failed to remove event"
+msgstr ""
+
#: ../../Zotlabs/Module/Settings/Featured.php:25
msgid "No feature settings configured"
msgstr ""
@@ -7655,7 +7480,7 @@ msgstr ""
msgid "Basic Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1791
+#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1711
msgid "Full Name:"
msgstr ""
@@ -8024,14 +7849,6 @@ msgstr ""
msgid "Conversation Settings"
msgstr ""
-#: ../../Zotlabs/Module/Probe.php:19
-msgid "Remote Diagnostics App"
-msgstr ""
-
-#: ../../Zotlabs/Module/Probe.php:20
-msgid "Perform diagnostics on remote channels"
-msgstr ""
-
#: ../../Zotlabs/Module/Invite.php:56 ../../Zotlabs/Module/Invite.php:310
msgid "Invite App"
msgstr ""
@@ -8211,27 +8028,27 @@ msgstr ""
msgid "No service class restrictions found."
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:94
+#: ../../Zotlabs/Module/Rbmark.php:93
msgid "Select a bookmark folder"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:99
+#: ../../Zotlabs/Module/Rbmark.php:98
msgid "Save Bookmark"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:100
+#: ../../Zotlabs/Module/Rbmark.php:99
msgid "URL of bookmark"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:105
+#: ../../Zotlabs/Module/Rbmark.php:104
msgid "Or enter new bookmark folder name"
msgstr ""
-#: ../../Zotlabs/Module/Lang.php:17
+#: ../../Zotlabs/Module/Lang.php:20 ../../Zotlabs/Module/Lang.php:63
msgid "Language App"
msgstr ""
-#: ../../Zotlabs/Module/Lang.php:18
+#: ../../Zotlabs/Module/Lang.php:64
msgid "Change UI language"
msgstr ""
@@ -8248,30 +8065,30 @@ msgstr ""
msgid "Cover Photos"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4966
+#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4622
msgid "female"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4967
+#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4623
#, php-format
msgid "%1$s updated her %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4968
+#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4624
msgid "male"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4969
+#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4625
#, php-format
msgid "%1$s updated his %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4971
+#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4627
#, php-format
msgid "%1$s updated their %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2356
+#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2276
msgid "cover photo"
msgstr ""
@@ -8319,7 +8136,7 @@ msgstr ""
msgid "Submit and proceed"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2713
+#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2674
msgid "Menus"
msgstr ""
@@ -8468,7 +8285,7 @@ msgid "Poke somebody in your addressbook"
msgstr ""
#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351
-#: ../../include/conversation.php:1143
+#: ../../include/conversation.php:1138
msgid "Poke"
msgstr ""
@@ -8654,19 +8471,6 @@ msgid ""
"an existing folder."
msgstr ""
-#: ../../Zotlabs/Zot/Auth.php:154
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please "
-"logout and retry."
-msgstr ""
-
-#: ../../Zotlabs/Zot/Auth.php:266
-#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:76
-#: ../../extend/addon/hubzilla-addons/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 "
@@ -8701,27 +8505,26 @@ msgid "add"
msgstr ""
#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143
-#: ../../include/follow.php:39
msgid "Channel is blocked on this site."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:44
+#: ../../Zotlabs/Lib/Connect.php:51
msgid "Channel location missing."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:168
+#: ../../Zotlabs/Lib/Connect.php:103
msgid "Remote channel or protocol unavailable."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:192
+#: ../../Zotlabs/Lib/Connect.php:137
msgid "Channel discovery failed."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:204
+#: ../../Zotlabs/Lib/Connect.php:155
msgid "Protocol disabled."
msgstr ""
-#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:215
+#: ../../Zotlabs/Lib/Connect.php:167
msgid "Cannot connect to yourself."
msgstr ""
@@ -8773,7 +8576,7 @@ msgid "Suggest Channels"
msgstr ""
#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:127
-#: ../../include/nav.php:131 ../../boot.php:1716
+#: ../../include/nav.php:131 ../../boot.php:1720
msgid "Login"
msgstr ""
@@ -8997,8 +8800,8 @@ msgid "$Projectname Notification"
msgstr ""
#: ../../Zotlabs/Lib/Enotify.php:61
-#: ../../extend/addon/hubzilla-addons/diaspora/util.php:336
-#: ../../extend/addon/hubzilla-addons/diaspora/util.php:349
+#: ../../extend/addon/hubzilla-addons/diaspora/util.php:337
+#: ../../extend/addon/hubzilla-addons/diaspora/util.php:350
#: ../../extend/addon/hubzilla-addons/diaspora/p.php:48
msgid "$projectname"
msgstr ""
@@ -9270,6 +9073,10 @@ msgstr ""
msgid "repeated %s's post"
msgstr ""
+#: ../../Zotlabs/Lib/Enotify.php:829 ../../Zotlabs/Lib/Enotify.php:931
+msgid "shared a file with you"
+msgstr ""
+
#: ../../Zotlabs/Lib/Enotify.php:837
#, php-format
msgid "edited a post dated %s"
@@ -9280,6 +9087,22 @@ msgstr ""
msgid "edited a comment dated %s"
msgstr ""
+#: ../../Zotlabs/Lib/Enotify.php:914
+msgid "added your channel"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:948
+msgid "sent you a private message"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:957
+msgid "g A l F d"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Enotify.php:960
+msgid "[today]"
+msgstr ""
+
#: ../../Zotlabs/Lib/Enotify.php:970
msgid "created an event"
msgstr ""
@@ -9288,7 +9111,7 @@ msgstr ""
msgid "status verified"
msgstr ""
-#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2663
+#: ../../Zotlabs/Lib/Libsync.php:737
#, php-format
msgid "Unable to verify site signature for %s"
msgstr ""
@@ -9511,7 +9334,7 @@ msgstr ""
msgid "Attendance Options"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:446 ../../include/text.php:1924
+#: ../../Zotlabs/Lib/ThreadItem.php:446 ../../include/text.php:1906
msgid "Vote"
msgstr ""
@@ -9554,27 +9377,27 @@ msgstr ""
msgid "%s show all"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451
+#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1446
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:200
msgid "Bold"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452
+#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1447
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:201
msgid "Italic"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453
+#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1448
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:202
msgid "Underline"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:831 ../../include/conversation.php:1454
+#: ../../Zotlabs/Lib/ThreadItem.php:831 ../../include/conversation.php:1449
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:203
msgid "Quote"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1455
+#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1450
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:204
msgid "Code"
msgstr ""
@@ -9583,7 +9406,7 @@ msgstr ""
msgid "Image"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:834 ../../include/conversation.php:1456
+#: ../../Zotlabs/Lib/ThreadItem.php:834 ../../include/conversation.php:1451
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:205
msgid "Attach/Upload file"
msgstr ""
@@ -9608,41 +9431,41 @@ msgstr ""
msgid "Your website URL (optional)"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2163
+#: ../../Zotlabs/Lib/Activity.php:2159
#, php-format
msgid "Likes %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2166
+#: ../../Zotlabs/Lib/Activity.php:2162
#, php-format
msgid "Doesn't like %1$s's %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2172
+#: ../../Zotlabs/Lib/Activity.php:2168
#, php-format
msgid "Will attend %s's event"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2175
+#: ../../Zotlabs/Lib/Activity.php:2171
#, php-format
msgid "Will not attend %s's event"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2178
+#: ../../Zotlabs/Lib/Activity.php:2174
#, php-format
msgid "May attend %s's event"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:2181
+#: ../../Zotlabs/Lib/Activity.php:2177
#, php-format
msgid "May not attend %s's event"
msgstr ""
-#: ../../Zotlabs/Lib/Activity.php:3114 ../../Zotlabs/Lib/Activity.php:3306
-#: ../../include/network.php:1767
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1490
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1939
-#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2147
+#: ../../Zotlabs/Lib/Activity.php:3098 ../../Zotlabs/Lib/Activity.php:3290
+#: ../../include/network.php:1742
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1500
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:1949
+#: ../../extend/addon/hubzilla-addons/pubcrawl/as.php:2157
msgid "ActivityPub"
msgstr ""
@@ -9690,7 +9513,7 @@ msgctxt "permcat"
msgid "publisher"
msgstr ""
-#: ../../Zotlabs/Lib/Libzot.php:655 ../../include/zot.php:805
+#: ../../Zotlabs/Lib/Libzot.php:655
msgid "Unable to verify channel signature"
msgstr ""
@@ -9894,8 +9717,8 @@ msgstr ""
#: ../../Zotlabs/Widget/Forums.php:100
#: ../../Zotlabs/Widget/Activity_filter.php:123
-#: ../../Zotlabs/Widget/Notifications.php:139
-#: ../../Zotlabs/Widget/Notifications.php:140
+#: ../../Zotlabs/Widget/Notifications.php:124
+#: ../../Zotlabs/Widget/Notifications.php:125
#: ../../include/acl_selectors.php:125
msgid "Forums"
msgstr ""
@@ -10013,10 +9836,6 @@ msgstr ""
msgid "Outbox"
msgstr ""
-#: ../../Zotlabs/Widget/Mailmenu.php:30
-msgid "New Message"
-msgstr ""
-
#: ../../Zotlabs/Widget/Affinity.php:54
msgid "Refresh"
msgstr ""
@@ -10148,15 +9967,15 @@ msgstr ""
#: ../../Zotlabs/Widget/Notifications.php:26
#: ../../Zotlabs/Widget/Notifications.php:46
#: ../../Zotlabs/Widget/Notifications.php:65
-#: ../../Zotlabs/Widget/Notifications.php:172
+#: ../../Zotlabs/Widget/Notifications.php:157
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
+#: ../../Zotlabs/Widget/Notifications.php:127
+#: ../../Zotlabs/Widget/Notifications.php:158
msgid "Filter by name or address"
msgstr ""
@@ -10173,7 +9992,7 @@ msgid "View your home activity"
msgstr ""
#: ../../Zotlabs/Widget/Notifications.php:43
-#: ../../Zotlabs/Widget/Notifications.php:169
+#: ../../Zotlabs/Widget/Notifications.php:154
msgid "Mark all notifications seen"
msgstr ""
@@ -10190,83 +10009,67 @@ 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
+#: ../../Zotlabs/Widget/Notifications.php:75
msgid "New Events Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:93
+#: ../../Zotlabs/Widget/Notifications.php:78
msgid "View events"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:96
+#: ../../Zotlabs/Widget/Notifications.php:81
msgid "Mark all events seen"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:105
+#: ../../Zotlabs/Widget/Notifications.php:90
msgid "New Connections Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:108
+#: ../../Zotlabs/Widget/Notifications.php:93
msgid "View all connections"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:116
+#: ../../Zotlabs/Widget/Notifications.php:101
msgid "New Files"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:117
+#: ../../Zotlabs/Widget/Notifications.php:102
msgid "New Files Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:124
-#: ../../Zotlabs/Widget/Notifications.php:125
+#: ../../Zotlabs/Widget/Notifications.php:109
+#: ../../Zotlabs/Widget/Notifications.php:110
msgid "Notices"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:128
+#: ../../Zotlabs/Widget/Notifications.php:113
msgid "View all notices"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:131
+#: ../../Zotlabs/Widget/Notifications.php:116
msgid "Mark all notices seen"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:152
+#: ../../Zotlabs/Widget/Notifications.php:137
msgid "New Registrations"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:153
+#: ../../Zotlabs/Widget/Notifications.php:138
msgid "New Registrations Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:163
+#: ../../Zotlabs/Widget/Notifications.php:148
msgid "Public Stream Notifications"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:166
+#: ../../Zotlabs/Widget/Notifications.php:151
msgid "View the public stream"
msgstr ""
-#: ../../Zotlabs/Widget/Notifications.php:181
+#: ../../Zotlabs/Widget/Notifications.php:166
msgid "Sorry, you have got no notifications at the moment"
msgstr ""
@@ -10299,23 +10102,23 @@ msgstr ""
msgid "Suggested Chatrooms"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:17
+#: ../../Zotlabs/Widget/Conversations.php:15
msgid "Received Messages"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:21
+#: ../../Zotlabs/Widget/Conversations.php:19
msgid "Sent Messages"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:25
+#: ../../Zotlabs/Widget/Conversations.php:23
msgid "Conversations"
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:37
+#: ../../Zotlabs/Widget/Conversations.php:33
msgid "No messages."
msgstr ""
-#: ../../Zotlabs/Widget/Conversations.php:57
+#: ../../Zotlabs/Widget/Conversations.php:53
msgid "Delete conversation"
msgstr ""
@@ -10497,394 +10300,403 @@ msgstr ""
msgid "Unfollow Thread"
msgstr ""
-#: ../../include/conversation.php:1113
+#: ../../include/conversation.php:1108
msgid "Edit Connection"
msgstr ""
-#: ../../include/conversation.php:1265
+#: ../../include/conversation.php:1260
#, php-format
msgid "%s likes this."
msgstr ""
-#: ../../include/conversation.php:1265
+#: ../../include/conversation.php:1260
#, php-format
msgid "%s doesn't like this."
msgstr ""
-#: ../../include/conversation.php:1269
+#: ../../include/conversation.php:1264
#, 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:1271
+#: ../../include/conversation.php:1266
#, 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:1277
+#: ../../include/conversation.php:1272
msgid "and"
msgstr ""
-#: ../../include/conversation.php:1280
+#: ../../include/conversation.php:1275
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1281
+#: ../../include/conversation.php:1276
#, php-format
msgid "%s like this."
msgstr ""
-#: ../../include/conversation.php:1281
+#: ../../include/conversation.php:1276
#, php-format
msgid "%s don't like this."
msgstr ""
-#: ../../include/conversation.php:1332
+#: ../../include/conversation.php:1327
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:82
msgid "Set your location"
msgstr ""
-#: ../../include/conversation.php:1333
+#: ../../include/conversation.php:1328
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:83
msgid "Clear browser location"
msgstr ""
-#: ../../include/conversation.php:1349
+#: ../../include/conversation.php:1344
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:99
msgid "Embed (existing) photo from your photo albums"
msgstr ""
-#: ../../include/conversation.php:1383
+#: ../../include/conversation.php:1378
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:135
msgid "Tag term:"
msgstr ""
-#: ../../include/conversation.php:1384
+#: ../../include/conversation.php:1379
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:136
msgid "Where are you right now?"
msgstr ""
-#: ../../include/conversation.php:1389
+#: ../../include/conversation.php:1384
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:141
msgid "Choose a different album..."
msgstr ""
-#: ../../include/conversation.php:1393
+#: ../../include/conversation.php:1388
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:145
msgid "Comments enabled"
msgstr ""
-#: ../../include/conversation.php:1394
+#: ../../include/conversation.php:1389
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:146
msgid "Comments disabled"
msgstr ""
-#: ../../include/conversation.php:1446
+#: ../../include/conversation.php:1441
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:195
msgid "Page link name"
msgstr ""
-#: ../../include/conversation.php:1449
+#: ../../include/conversation.php:1444
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:198
msgid "Post as"
msgstr ""
-#: ../../include/conversation.php:1463
+#: ../../include/conversation.php:1458
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:212
msgid "Toggle voting"
msgstr ""
-#: ../../include/conversation.php:1464
+#: ../../include/conversation.php:1459
msgid "Toggle poll"
msgstr ""
-#: ../../include/conversation.php:1465
+#: ../../include/conversation.php:1460
msgid "Option"
msgstr ""
-#: ../../include/conversation.php:1466
+#: ../../include/conversation.php:1461
msgid "Add option"
msgstr ""
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Minutes"
msgstr ""
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Hours"
msgstr ""
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1462
msgid "Days"
msgstr ""
-#: ../../include/conversation.php:1468
+#: ../../include/conversation.php:1463
msgid "Allow multiple answers"
msgstr ""
-#: ../../include/conversation.php:1470
+#: ../../include/conversation.php:1465
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:215
msgid "Disable comments"
msgstr ""
-#: ../../include/conversation.php:1471
+#: ../../include/conversation.php:1466
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:216
msgid "Toggle comments"
msgstr ""
-#: ../../include/conversation.php:1478
+#: ../../include/conversation.php:1473
msgid "Summary (optional)"
msgstr ""
-#: ../../include/conversation.php:1481
+#: ../../include/conversation.php:1476
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:224
msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/conversation.php:1504
+#: ../../include/conversation.php:1477
+#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:225
+msgid "Permission settings"
+msgstr ""
+
+#: ../../include/conversation.php:1499
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:247
msgid "Other networks and post services"
msgstr ""
-#: ../../include/conversation.php:1507
+#: ../../include/conversation.php:1502
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:250
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:171
#: ../../extend/addon/hubzilla-addons/mail/Mod_Mail.php:314
msgid "Set expiration date"
msgstr ""
-#: ../../include/conversation.php:1510
+#: ../../include/conversation.php:1505
#: ../../extend/addon/hubzilla-addons/hsse/hsse.php:253
msgid "Set publish date"
msgstr ""
-#: ../../include/conversation.php:1758
+#: ../../include/conversation.php:1750
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1761
+#: ../../include/conversation.php:1753
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1764
+#: ../../include/conversation.php:1756
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1767
+#: ../../include/conversation.php:1759
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1770
+#: ../../include/conversation.php:1762
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1773
+#: ../../include/conversation.php:1765
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/channel.php:47
+#: ../../include/channel.php:46
msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../include/channel.php:80
+#: ../../include/channel.php:79
msgid "Empty name"
msgstr ""
-#: ../../include/channel.php:83
+#: ../../include/channel.php:82
msgid "Name too long"
msgstr ""
-#: ../../include/channel.php:200
+#: ../../include/channel.php:199
msgid "No account identifier"
msgstr ""
-#: ../../include/channel.php:295
+#: ../../include/channel.php:290
msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../include/channel.php:442
+#: ../../include/channel.php:393
msgid "Default Profile"
msgstr ""
-#: ../../include/channel.php:639 ../../include/channel.php:728
+#: ../../include/channel.php:590 ../../include/channel.php:679
msgid "Unable to retrieve modified identity"
msgstr ""
-#: ../../include/channel.php:1410
-msgid "Requested channel is not available."
+#: ../../include/channel.php:1330
+msgid "Requested channel is not available"
msgstr ""
-#: ../../include/channel.php:1567
+#: ../../include/channel.php:1487
msgid "Create New Profile"
msgstr ""
-#: ../../include/channel.php:1570 ../../include/nav.php:120
+#: ../../include/channel.php:1490 ../../include/nav.php:120
#: ../../extend/addon/hubzilla-addons/openclipatar/openclipatar.php:58
msgid "Edit Profile"
msgstr ""
-#: ../../include/channel.php:1588
+#: ../../include/channel.php:1508
msgid "Visible to everybody"
msgstr ""
-#: ../../include/channel.php:1665 ../../include/channel.php:1793
+#: ../../include/channel.php:1585 ../../include/channel.php:1713
msgid "Gender:"
msgstr ""
-#: ../../include/channel.php:1666 ../../include/channel.php:1837
+#: ../../include/channel.php:1586 ../../include/channel.php:1757
msgid "Status:"
msgstr ""
-#: ../../include/channel.php:1667 ../../include/channel.php:1861
+#: ../../include/channel.php:1587 ../../include/channel.php:1781
msgid "Homepage:"
msgstr ""
-#: ../../include/channel.php:1668
+#: ../../include/channel.php:1588
msgid "Online Now"
msgstr ""
-#: ../../include/channel.php:1721
+#: ../../include/channel.php:1641
msgid "Change your profile photo"
msgstr ""
-#: ../../include/channel.php:1748 ../../include/selectors.php:60
+#: ../../include/channel.php:1668 ../../include/selectors.php:60
#: ../../include/selectors.php:77
#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:87
msgid "Female"
msgstr ""
-#: ../../include/channel.php:1750 ../../include/selectors.php:60
+#: ../../include/channel.php:1670 ../../include/selectors.php:60
#: ../../include/selectors.php:77
#: ../../extend/addon/hubzilla-addons/openid/Mod_Id.php:85
msgid "Male"
msgstr ""
-#: ../../include/channel.php:1752
+#: ../../include/channel.php:1672
msgid "Trans"
msgstr ""
-#: ../../include/channel.php:1754 ../../include/selectors.php:60
+#: ../../include/channel.php:1674 ../../include/selectors.php:60
msgid "Neuter"
msgstr ""
-#: ../../include/channel.php:1756 ../../include/selectors.php:60
+#: ../../include/channel.php:1676 ../../include/selectors.php:60
msgid "Non-specific"
msgstr ""
-#: ../../include/channel.php:1798
+#: ../../include/channel.php:1718
msgid "Like this channel"
msgstr ""
-#: ../../include/channel.php:1822
+#: ../../include/channel.php:1742
msgid "j F, Y"
msgstr ""
-#: ../../include/channel.php:1823
+#: ../../include/channel.php:1743
msgid "j F"
msgstr ""
-#: ../../include/channel.php:1830
+#: ../../include/channel.php:1750
msgid "Birthday:"
msgstr ""
-#: ../../include/channel.php:1843
+#: ../../include/channel.php:1763
#, php-format
msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/channel.php:1855
+#: ../../include/channel.php:1775
msgid "Tags:"
msgstr ""
-#: ../../include/channel.php:1859
+#: ../../include/channel.php:1779
msgid "Sexual Preference:"
msgstr ""
-#: ../../include/channel.php:1865
+#: ../../include/channel.php:1785
msgid "Political Views:"
msgstr ""
-#: ../../include/channel.php:1867
+#: ../../include/channel.php:1787
msgid "Religion:"
msgstr ""
-#: ../../include/channel.php:1871
+#: ../../include/channel.php:1791
msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/channel.php:1873
+#: ../../include/channel.php:1793
msgid "Likes:"
msgstr ""
-#: ../../include/channel.php:1875
+#: ../../include/channel.php:1795
msgid "Dislikes:"
msgstr ""
-#: ../../include/channel.php:1877
+#: ../../include/channel.php:1797
msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/channel.php:1879
+#: ../../include/channel.php:1799
msgid "My other channels:"
msgstr ""
-#: ../../include/channel.php:1881
+#: ../../include/channel.php:1801
msgid "Musical interests:"
msgstr ""
-#: ../../include/channel.php:1883
+#: ../../include/channel.php:1803
msgid "Books, literature:"
msgstr ""
-#: ../../include/channel.php:1885
+#: ../../include/channel.php:1805
msgid "Television:"
msgstr ""
-#: ../../include/channel.php:1887
+#: ../../include/channel.php:1807
msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/channel.php:1889
+#: ../../include/channel.php:1809
msgid "Love/Romance:"
msgstr ""
-#: ../../include/channel.php:1891
+#: ../../include/channel.php:1811
msgid "Work/employment:"
msgstr ""
-#: ../../include/channel.php:1893
+#: ../../include/channel.php:1813
msgid "School/education:"
msgstr ""
-#: ../../include/channel.php:1916
+#: ../../include/channel.php:1836
msgid "Like this thing"
msgstr ""
+#: ../../include/channel.php:1837
+msgid "Export"
+msgstr ""
+
#: ../../include/features.php:86
msgid "Start calendar week on Monday"
msgstr ""
@@ -11417,169 +11229,157 @@ msgstr ""
msgid "December"
msgstr ""
-#: ../../include/text.php:1556
+#: ../../include/text.php:1538
msgid "Unknown Attachment"
msgstr ""
-#: ../../include/text.php:1558 ../../include/feedutils.php:872
+#: ../../include/text.php:1540 ../../include/feedutils.php:874
msgid "unknown"
msgstr ""
-#: ../../include/text.php:1599
+#: ../../include/text.php:1581
msgid "remove category"
msgstr ""
-#: ../../include/text.php:1676
+#: ../../include/text.php:1658
msgid "remove from file"
msgstr ""
-#: ../../include/text.php:1845 ../../include/message.php:13
+#: ../../include/text.php:1827
msgid "Download binary/encrypted content"
msgstr ""
-#: ../../include/text.php:1916
+#: ../../include/text.php:1898
msgid "Poll has ended."
msgstr ""
-#: ../../include/text.php:1919
+#: ../../include/text.php:1901
#, php-format
msgid "Poll ends: %s"
msgstr ""
-#: ../../include/text.php:2098 ../../include/language.php:428
+#: ../../include/text.php:2058
+msgid "Link to Source"
+msgstr ""
+
+#: ../../include/text.php:2080 ../../include/language.php:428
msgid "default"
msgstr ""
-#: ../../include/text.php:2106
+#: ../../include/text.php:2088
msgid "Page layout"
msgstr ""
-#: ../../include/text.php:2106
+#: ../../include/text.php:2088
msgid "You can create your own with the layouts tool"
msgstr ""
-#: ../../include/text.php:2117
+#: ../../include/text.php:2099
msgid "HTML"
msgstr ""
-#: ../../include/text.php:2120
+#: ../../include/text.php:2102
msgid "Comanche Layout"
msgstr ""
-#: ../../include/text.php:2125
+#: ../../include/text.php:2107
msgid "PHP"
msgstr ""
-#: ../../include/text.php:2134
+#: ../../include/text.php:2116
msgid "Page content type"
msgstr ""
-#: ../../include/text.php:2267
+#: ../../include/text.php:2249
msgid "activity"
msgstr ""
-#: ../../include/text.php:2270
+#: ../../include/text.php:2252
msgid "poll"
msgstr ""
-#: ../../include/text.php:2383
+#: ../../include/text.php:2365
msgid "a-z, 0-9, -, and _ only"
msgstr ""
-#: ../../include/text.php:2709
+#: ../../include/text.php:2670
msgid "Design Tools"
msgstr ""
-#: ../../include/text.php:2715
+#: ../../include/text.php:2676
msgid "Pages"
msgstr ""
-#: ../../include/text.php:2727
+#: ../../include/text.php:2688
msgid "Import"
msgstr ""
-#: ../../include/text.php:2728
+#: ../../include/text.php:2689
msgid "Import website..."
msgstr ""
-#: ../../include/text.php:2729
+#: ../../include/text.php:2690
msgid "Select folder to import"
msgstr ""
-#: ../../include/text.php:2730
+#: ../../include/text.php:2691
msgid "Import from a zipped folder:"
msgstr ""
-#: ../../include/text.php:2731
+#: ../../include/text.php:2692
msgid "Import from cloud files:"
msgstr ""
-#: ../../include/text.php:2732
+#: ../../include/text.php:2693
msgid "/cloud/channel/path/to/folder"
msgstr ""
-#: ../../include/text.php:2733
+#: ../../include/text.php:2694
msgid "Enter path to website files"
msgstr ""
-#: ../../include/text.php:2734
+#: ../../include/text.php:2695
msgid "Select folder"
msgstr ""
-#: ../../include/text.php:2735
+#: ../../include/text.php:2696
msgid "Export website..."
msgstr ""
-#: ../../include/text.php:2736
+#: ../../include/text.php:2697
msgid "Export to a zip file"
msgstr ""
-#: ../../include/text.php:2737
+#: ../../include/text.php:2698
msgid "website.zip"
msgstr ""
-#: ../../include/text.php:2738
+#: ../../include/text.php:2699
msgid "Enter a name for the zip file."
msgstr ""
-#: ../../include/text.php:2739
+#: ../../include/text.php:2700
msgid "Export to cloud files"
msgstr ""
-#: ../../include/text.php:2740
+#: ../../include/text.php:2701
msgid "/path/to/export/folder"
msgstr ""
-#: ../../include/text.php:2741
+#: ../../include/text.php:2702
msgid "Enter a path to a cloud files destination."
msgstr ""
-#: ../../include/text.php:2742
+#: ../../include/text.php:2703
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:559
+#: ../../include/markdown.php:203 ../../include/bbcode.php:559
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../include/markdown.php:255 ../../include/bbcode.php:644
+#: ../../include/markdown.php:256 ../../include/bbcode.php:644
msgid "spoiler"
msgstr ""
@@ -11692,7 +11492,7 @@ msgid "Account/Channel Settings"
msgstr ""
#: ../../include/nav.php:112 ../../include/nav.php:142
-#: ../../include/nav.php:163 ../../boot.php:1715
+#: ../../include/nav.php:163 ../../boot.php:1719
msgid "Logout"
msgstr ""
@@ -12429,43 +12229,43 @@ msgstr ""
msgid "Ask me"
msgstr ""
-#: ../../include/network.php:1762 ../../include/network.php:1763
+#: ../../include/network.php:1737 ../../include/network.php:1738
msgid "Friendica"
msgstr ""
-#: ../../include/network.php:1764
+#: ../../include/network.php:1739
msgid "OStatus"
msgstr ""
-#: ../../include/network.php:1765
+#: ../../include/network.php:1740
msgid "GNU-Social"
msgstr ""
-#: ../../include/network.php:1766
+#: ../../include/network.php:1741
msgid "RSS/Atom"
msgstr ""
-#: ../../include/network.php:1769
+#: ../../include/network.php:1744
msgid "Diaspora"
msgstr ""
-#: ../../include/network.php:1770
+#: ../../include/network.php:1745
msgid "Facebook"
msgstr ""
-#: ../../include/network.php:1771
+#: ../../include/network.php:1746
msgid "Zot"
msgstr ""
-#: ../../include/network.php:1772
+#: ../../include/network.php:1747
msgid "LinkedIn"
msgstr ""
-#: ../../include/network.php:1773
+#: ../../include/network.php:1748
msgid "XMPP/IM"
msgstr ""
-#: ../../include/network.php:1774
+#: ../../include/network.php:1749
msgid "MySpace"
msgstr ""
@@ -12559,11 +12359,11 @@ msgstr ""
msgid "please come back"
msgstr ""
-#: ../../include/help.php:80
+#: ../../include/help.php:81
msgid "Help:"
msgstr ""
-#: ../../include/help.php:129
+#: ../../include/help.php:130
msgid "Not Found"
msgstr ""
@@ -12753,7 +12553,7 @@ msgstr ""
msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../include/datetime.php:238 ../../boot.php:2730
+#: ../../include/datetime.php:238 ../../boot.php:2734
msgid "never"
msgstr ""
@@ -12826,95 +12626,75 @@ msgstr ""
msgid "Happy Birthday %1$s"
msgstr ""
-#: ../../include/items.php:1038 ../../include/items.php:1098
+#: ../../include/items.php:979 ../../include/items.php:1039
msgid "(Unknown)"
msgstr ""
-#: ../../include/items.php:1302
+#: ../../include/items.php:1243
msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/items.php:1304
+#: ../../include/items.php:1245
msgid "Visible to you only."
msgstr ""
-#: ../../include/items.php:1306
+#: ../../include/items.php:1247
msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/items.php:1308
+#: ../../include/items.php:1249
msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/items.php:1310
+#: ../../include/items.php:1251
#, php-format
msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/items.php:1312
+#: ../../include/items.php:1253
msgid "Visible to all connections."
msgstr ""
-#: ../../include/items.php:1314
+#: ../../include/items.php:1255
msgid "Visible to approved connections."
msgstr ""
-#: ../../include/items.php:1316
+#: ../../include/items.php:1257
msgid "Visible to specific connections."
msgstr ""
-#: ../../include/items.php:4601
+#: ../../include/items.php:4257
msgid "Privacy group is empty."
msgstr ""
-#: ../../include/items.php:4608
+#: ../../include/items.php:4264
#, php-format
msgid "Privacy group: %s"
msgstr ""
-#: ../../include/items.php:4620
+#: ../../include/items.php:4276
msgid "Connection not found."
msgstr ""
-#: ../../include/items.php:4973
+#: ../../include/items.php:4629
msgid "profile photo"
msgstr ""
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
#, php-format
msgid "[Edited %s]"
msgstr ""
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
msgctxt "edit_activity"
msgid "Post"
msgstr ""
-#: ../../include/items.php:5165
+#: ../../include/items.php:4821
msgctxt "edit_activity"
msgid "Comment"
msgstr ""
-#: ../../include/follow.php:86
-msgid "Response from remote channel was incomplete."
-msgstr ""
-
-#: ../../include/follow.php:98
-msgid "Premium channel - please visit:"
-msgstr ""
-
-#: ../../include/follow.php:112
-msgid "Channel was deleted and no longer exists."
-msgstr ""
-
-#: ../../include/zot.php:778
-msgid "Invalid data packet"
-msgstr ""
-
-#: ../../include/zot.php:4378
-msgid "invalid target signature"
-msgstr ""
-
#: ../../include/bbcode.php:233 ../../include/bbcode.php:928
#: ../../include/bbcode.php:1525 ../../include/bbcode.php:1533
msgid "Image/photo"
@@ -13305,7 +13085,7 @@ msgid "Errors encountered deleting database table "
msgstr ""
#: ../../extend/addon/hubzilla-addons/rendezvous/rendezvous.php:95
-#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:503
+#: ../../extend/addon/hubzilla-addons/twitter/twitter.php:496
msgid "Submit Settings"
msgstr ""
@@ -13494,6 +13274,7 @@ msgstr ""
#: ../../extend/addon/hubzilla-addons/redred/Mod_Redred.php:75
#: ../../extend/addon/hubzilla-addons/openid/MysqlProvider.php:54
+#: ../../boot.php:1714
msgid "Nickname"
msgstr ""
@@ -13597,11 +13378,11 @@ msgstr ""
msgid "Your $Productname test account is about to expire."
msgstr ""
-#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:70
+#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:101
msgid "An account has been created for you."
msgstr ""
-#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:77
+#: ../../extend/addon/hubzilla-addons/ldapauth/ldapauth.php:108
msgid "Authentication successful but rejected: account creation is disabled."
msgstr ""
@@ -13968,6 +13749,12 @@ msgstr ""
msgid "OpenID protocol error. No ID returned."
msgstr ""
+#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:76
+#: ../../extend/addon/hubzilla-addons/openid/Mod_Openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr ""
+
#: ../../extend/addon/hubzilla-addons/hzfiles/hzfiles.php:81
msgid "Hubzilla File Storage Import"
msgstr ""
@@ -14258,6 +14045,10 @@ msgstr ""
msgid "This channel"
msgstr ""
+#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:327
+msgid "Create New Workflow Item"
+msgstr ""
+
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:541
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:1437
#: ../../extend/addon/hubzilla-addons/workflow/workflow.php:1456
@@ -16076,40 +15867,40 @@ msgstr ""
msgid "Show advanced settings"
msgstr ""
-#: ../../boot.php:1695
+#: ../../boot.php:1696
msgid "Create an account to access services and applications"
msgstr ""
-#: ../../boot.php:1719
-msgid "Login/Email"
+#: ../../boot.php:1714
+msgid "Email or nickname"
msgstr ""
-#: ../../boot.php:1720
+#: ../../boot.php:1724
msgid "Password"
msgstr ""
-#: ../../boot.php:1721
+#: ../../boot.php:1725
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1724
+#: ../../boot.php:1728
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:2603
+#: ../../boot.php:2607
#, php-format
msgid "[$Projectname] Website SSL error for %s"
msgstr ""
-#: ../../boot.php:2608
+#: ../../boot.php:2612
msgid "Website SSL certificate is not valid. Please correct."
msgstr ""
-#: ../../boot.php:2724
+#: ../../boot.php:2728
#, php-format
msgid "[$Projectname] Cron tasks not running on %s"
msgstr ""
-#: ../../boot.php:2729
+#: ../../boot.php:2733
msgid "Cron/Scheduled tasks not running."
msgstr ""
diff --git a/view/pl/hstrings.php b/view/pl/hstrings.php
index acb2fca18..8fd352e3f 100644
--- a/view/pl/hstrings.php
+++ b/view/pl/hstrings.php
@@ -19,7 +19,7 @@ App::$strings["Can write to my wiki pages"] = "Może pisać na moich stronach wi
App::$strings["Can post on my channel (wall) page"] = "Może publikować na stronie mojego kanału (ścianie)";
App::$strings["Can comment on or like my posts"] = "Może komentować lub oceniać moje wpisy";
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 lubić/nie lubić profile i rzeczy w profilach";
+App::$strings["Can like/dislike profiles and profile things"] = "Może pochwalać/ganić 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 wpisach";
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 wpisy w kanałach pochodnych";
@@ -150,46 +150,14 @@ App::$strings["Please login to continue."] = "Proszę się zalogować, aby konty
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 wpisów i kontaktów albo tworzenie dla Ciebie nowych wpisó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 site is not a directory server"] = "Ten portal 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ę wprowadzenia 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"] = "Eksportuj";
-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["About"] = "O platformie";
App::$strings["Members"] = "Dla członków";
App::$strings["Administrators"] = "Dla administratorów";
App::$strings["Developers"] = "Dla deweloperów";
@@ -202,7 +170,7 @@ App::$strings["Bookmark links from posts and manage them"] = "Dodaj do zakładek
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 Witryny Internetowe";
+App::$strings["Webpages App"] = "Aplikacja Strony internetowe";
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";
@@ -211,6 +179,8 @@ App::$strings["Export selected"] = "Eksportuj wybrane";
App::$strings["Webpages"] = "Strony internetowe";
App::$strings["Edit"] = "Edytuj";
App::$strings["Share"] = "Udostępnij";
+App::$strings["View"] = "Widok";
+App::$strings["Preview"] = "Podgląd";
App::$strings["Actions"] = "Akcje";
App::$strings["Page Link"] = "Link do strony";
App::$strings["Page Title"] = "Tytuł strony";
@@ -230,8 +200,8 @@ App::$strings["Profile unavailable to export."] = "Profil niedostępny do wyeksp
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"] = "Oceny pozytywne";
-App::$strings["Dislikes"] = "Oceny negatywne";
+App::$strings["Likes"] = "Pochwały";
+App::$strings["Dislikes"] = "Zganienia";
App::$strings["Work/Employment"] = "Praca/Zatrudnienie";
App::$strings["Religion"] = "Religia";
App::$strings["Political Views"] = "Poglądy polityczny";
@@ -260,6 +230,7 @@ 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["Required"] = "Wymagane";
App::$strings["This is your default profile."] = "To jest Twój profil domyślny.";
App::$strings["Your full name"] = "Twoje imię i nazwisko albo pełna nazwa";
App::$strings["Short title/description"] = "Krótki tytuł/opis";
@@ -312,7 +283,7 @@ App::$strings["Move this channel (disable all previous locations)"] = "Przenieś
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 tym portalu.";
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"] = "Oceń pozytywnie/negatywnie";
+App::$strings["Like/Dislike"] = "Pochwal/Zgań";
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.";
@@ -322,8 +293,9 @@ 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 ocenił pozytywnie %3\$s %2\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s ocenił negatywnie %3\$s %2\$s";
+App::$strings["event"] = "wydarzenie";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s pochwalił %3\$s %2\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s zganił %3\$s %2\$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";
@@ -367,7 +339,7 @@ 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 Grupy Prywatności";
App::$strings["Management of privacy groups"] = "Zarządzanie grupami prywatności";
-App::$strings["Privacy Groups"] = "Grupy 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";
@@ -414,13 +386,13 @@ 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["Consumer Secret"] = "Sekret 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["Connected OAuth Apps"] = "Podłą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ę";
@@ -507,12 +479,12 @@ App::$strings["Name and Secret are required"] = "Wymagane jest ustawienie imieni
App::$strings["OAuth2 Apps Manager App"] = "Aplikacja Menadżer Aplikacji OAuth2";
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["Grant Types"] = "Rodzaje zezwoleń";
+App::$strings["leave blank unless your application sepcifically requires this"] = "pozostaw puste, chyba że Twoja aplikacja jawnie 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["Connected OAuth2 Apps"] = "Podłączone aplikacje 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";
@@ -526,7 +498,7 @@ 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["Text"] = "Tekst";
App::$strings["Type"] = "Rodzaj";
App::$strings["Any&nbsp;type"] = "Dowolny&nbsp;rodzaj";
App::$strings["Lock content type"] = "Zablokuj rodzaj treści";
@@ -726,7 +698,6 @@ 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.";
@@ -738,10 +709,6 @@ App::$strings["Your comment is awaiting approval."] = "Twój komentarz oczekuje
App::$strings["Unable to obtain post information from database."] = "Nie można uzyskać z bazy danych informacji o tym wpisie.";
App::$strings["You have reached your limit of %1$.0f top level posts."] = "Osiągnięty został limit %1$.0f wpisó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:"] = "Portal internetowy:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Kanał zdalny [% s] (jeszcze nieznany w tym portalu)";
-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.";
@@ -790,7 +757,7 @@ App::$strings["Channel Export App"] = "Aplikacja Eksport Kanału";
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 portalu, ale nie zawiera treści.";
-App::$strings["Export Content"] = "Eksport 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 portalu. Tworzy to kopie zapasowe wszystkich połączeń, uprawnień, danych profilu i wpisów z kilku miesięcy. 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 wpisy 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 wpisy i rozmowy z określonego roku 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 portalu), spróbuj ponownie, wybierając bardziej ograniczony zakres dat.";
@@ -815,13 +782,6 @@ 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.";
@@ -870,18 +830,18 @@ App::$strings["Edit photo"] = "Edytuj 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["Enter a new album name"] = "Wprowadź 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)"] = "Podoba mis sie to (przełącz)";
-App::$strings["I don't like this (toggle)"] = "Nie podoba mi się to (przełącz)";
+App::$strings["I like this (toggle)"] = "Pochwalam to (przełącz)";
+App::$strings["I don't like this (toggle)"] = "Nie pochwalam tego (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"] = "Ocen pozytywnych";
-App::$strings["__ctx:title__ Dislikes"] = "Ocen negatywnych";
+App::$strings["__ctx:title__ Likes"] = "Pochwały";
+App::$strings["__ctx:title__ Dislikes"] = "Zganienia";
App::$strings["__ctx:title__ Agree"] = "Zgoda";
App::$strings["__ctx:title__ Disagree"] = "Sprzeciw";
App::$strings["__ctx:title__ Abstain"] = "Wstrzymuję się";
@@ -890,20 +850,20 @@ 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 => "Ocena pozytywna",
- 1 => "Oceny pozytywne",
- 2 => "Oce pozytywanych",
+ 0 => "Pochwała",
+ 1 => "Pochwały",
+ 2 => "Pochwał",
);
App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "Ocena negartwna",
- 1 => "Oceny negatywne",
- 2 => "Ocen negatywnych",
+ 0 => "Zganienie",
+ 1 => "Zganienia",
+ 2 => "Zganień",
);
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"] = "Oceny pozytywne";
-App::$strings["__ctx:noun__ Dislikes"] = "Oceny negatywne";
+App::$strings["__ctx:noun__ Likes"] = "Pochwały";
+App::$strings["__ctx:noun__ Dislikes"] = "Zganienia";
App::$strings["Close"] = "Zamknij";
App::$strings["Recent Photos"] = "Najnowsze zdjęcia";
App::$strings["Posts and comments"] = "Wpisy i komentarze";
@@ -969,9 +929,9 @@ 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ń znacznik elementu";
App::$strings["Select a tag to remove: "] = "Wybierz znacznik do usunięcia: ";
-App::$strings["Affinity Tool settings updated."] = "Zaktualizowano ustawienia narzędzia koligacji.";
-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 Narzędzie koligacji";
+App::$strings["Affinity Tool settings updated."] = "Zaktualizowano ustawienia narzędzia więzi.";
+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 (więzi) 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 Narzędzie więzi";
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";
@@ -989,10 +949,10 @@ App::$strings["Page link"] = "Link do strony";
App::$strings["Edit Webpage"] = "Edytuj stronę internetową";
App::$strings["vcard"] = "vcard";
App::$strings["Edit Article"] = "Edytuj artykuł";
-App::$strings["Authentication failed."] = "Uwierzytelnianie nie powiodło się.";
-App::$strings["Remote Authentication"] = "Zdalne uwierzytelnianie";
+App::$strings["Authentication failed."] = "Uwierzytelnienie nie powiodło się.";
+App::$strings["Remote Authentication"] = "Zdalne uwierzytelnienie";
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["Authenticate"] = "Uwierzytelnienie";
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";
@@ -1039,7 +999,7 @@ App::$strings["One site per line. By default embedded content is filtered."] = "
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 (w treści) pliki PDF";
+App::$strings["Allow embedded (inline) PDF files"] = "Zezwalaj na osadzone pliki PDF (w treści)";
App::$strings["%s account blocked/unblocked"] = array(
0 => "%s konto jest zablokowane/odblokowane",
1 => "%s konta są zablokowane/odblokowane",
@@ -1177,7 +1137,7 @@ App::$strings["unsupported"] = "nieobsługiwane";
App::$strings["Yes - with approval"] = "Tak - za zgodą";
App::$strings["My site is not a public server"] = "Mój portal nie jest serwerem publicznym";
App::$strings["My site has paid access only"] = "Mój portal ma tylko płatny dostęp";
-App::$strings["My site has free access only"] = "Mój porta ma tylko bezpłatny dostęp";
+App::$strings["My site has free access only"] = "Mój portal ma tylko bezpłatny dostęp";
App::$strings["My site offers free accounts with optional paid upgrades"] = "Mój portal oferuje darmowe konta z opcjonalnymi płatnymi rozszerzeniami";
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.";
@@ -1214,10 +1174,10 @@ App::$strings["Maximum size in bytes of uploaded images. Default is 0, which mea
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 tym portalu.";
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 portal?";
-App::$strings["This is displayed on the public server site list."] = "Jest to wyświetlane na liście witryn publicznych serwerów.";
+App::$strings["This is displayed on the public server site list."] = "Jest to wyświetlane na liście portali publicznych serwerów.";
App::$strings["Register text"] = "Tekst rejestracyjny";
App::$strings["This text will be displayed prominently at the registration page"] = "Ten tekst będzie widoczny w widocznym miejscu na stronie rejestracji";
-App::$strings["Does this site allow new member registration?"] = "Czy ta witryna umożliwia rejestrację nowych członków?";
+App::$strings["Does this site allow new member registration?"] = "Czy ten portal umożliwia rejestrację nowych członków?";
App::$strings["Configure the registration open days/hours"] = "Skonfiguruj dni i godziny otwarte rejestracji";
App::$strings["Empty or '-:-' value will keep registration open 24/7 (default)"] = "Wartość pusta lub '-:-' sprawi, że rejestracja będzie otwarta 24 godziny na dobę i 7 dni w tygodniu (domyślne ustawienie)";
App::$strings["Weekdays and hours must be separated by colon ':', From-To ranges with a dash `-` example: 1:800-1200"] = "Dni tygodnia i godziny należy rozdzielić dwukropkiem ':', zakresy od-do myślnikiem '-'. Przykład: 1:800-1200";
@@ -1237,13 +1197,13 @@ App::$strings["Allow invite code"] = "Zezwól na kod zaproszenia";
App::$strings["Require email address"] = "Wymagany jest adres e-mail";
App::$strings["The provided email address will be verified (recommended)"] = "Podany adres e-mail zostanie zweryfikowany (zalecane)";
App::$strings["Abandon account after x days"] = "Konto 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["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 portali w poszukiwaniu porzuconych kont. Wpisz 0, aby nie mieć limitu czasu.";
App::$strings["Site homepage to show visitors (default: login box)"] = "Strona główna portalu 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 portalu";
App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Przedstaw stronę główną portalu w ramce w oryginalnej lokalizacji zamiast przekierowywania";
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["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 tym portalem. Akceptowane są symbole wieloznaczne. Puste oznacza zezwolenie na dowolne domeny";
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ć opublikowanie w katalogu wszystkich profili założonych na tym portalu.";
App::$strings["Import Public Streams"] = "Importuj strumienie publiczne";
@@ -1329,7 +1289,7 @@ App::$strings["Suggest Channels App"] = "Aplikacja Sugerowane Kanały";
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 propozycji. Jeśli to jest nowy portal, spróbuj ponownie za 24 godziny.";
App::$strings["Ignore/Hide"] = "Ignoruj/Ukryj";
-App::$strings["Channel Suggestions"] = "Sugerowane Kanały";
+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";
@@ -1337,12 +1297,12 @@ App::$strings["Validation token"] = "Token walidacyjny";
App::$strings["Notes App"] = "Aplikacja Notatki";
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["Name and Password are required."] = "Wymagane są nazwa i hasło.";
App::$strings["Token saved."] = "Token został zapisany.";
App::$strings["Guest Access App"] = "Aplikacja Dostęp Gościnny";
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 Twoich 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["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 portalu, jak pokazano na ilustracji. Przykłady:";
App::$strings["Guest Access Tokens"] = "Token dostępu gościa";
App::$strings["Login Name"] = "Nazwa logowania";
App::$strings["Login Password"] = "Hasło logowania";
@@ -1363,8 +1323,8 @@ App::$strings["Could not connect to database."] = "Nie można połączyć się z
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 portalu. 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 portalu 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["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\"."] = "Proszę zobaczyć 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";
@@ -1380,7 +1340,7 @@ 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 portalu";
-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["Your account email address must match this in order to use the web admin panel."] = "Adres e-mail Twojego konta musi być zgodny z tym adresem, aby móc korzystać z panelu administratora sieci.";
App::$strings["Website URL"] = "Adres URL portalu";
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 portalu";
@@ -1391,10 +1351,10 @@ App::$strings["Could not find a command line version of PHP in the web server PA
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["Command line PHP"] = "Wiersz poleceń PHP";
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["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Ta wersja 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.";
@@ -1407,7 +1367,7 @@ 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["mb_string PHP module"] = "moduł PHP mb_string";
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";
@@ -1422,23 +1382,23 @@ App::$strings["Error: openssl PHP module required but not installed."] = "Błąd
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: xml PHP module required for DAV but not installed."] = "Błąd: moduł xml PHP jest 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["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 Ty 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["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 store do zapisywania przesyłanych plików. Serwer WWW musi mieć dostęp do zapisu w katalogu store, 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["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 tego portalu.";
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 portalu 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 wpisy mogą na przykład zawierać odniesienia do obrazów na Twoim portalu.";
-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["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 portali (którzy sami mogą mieć ważne certyfikaty) otrzymają komunikat ostrzegawczy we własnym portalu, 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 portalu (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.";
@@ -1474,7 +1434,7 @@ 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["Reverse Alphabetic"] = "Odwrotnie 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 wpisów (niektóre wpisy mogą być ukryte).";
@@ -1508,7 +1468,7 @@ App::$strings["Menu item deleted."] = "Usunięto 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["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s to %2\$s";
App::$strings["Mood App"] = "Aplikacja Nastrój";
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"] = "Nastrój";
@@ -1519,11 +1479,7 @@ App::$strings["Create custom connection permission limits"] = "Utwórz własne l
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: "] = "Portal: ";
-App::$strings["Description: "] = "Opis: ";
-App::$strings["Nickname is required."] = "Pseudonim jest wymagany.";
+App::$strings["Nickname is required."] = "Wymagany jest pseudonim.";
App::$strings["Email address required"] = "Wymagany jest adres e-mail";
App::$strings["No password provided"] = "Nie podano hasła";
App::$strings["Passwords do not match"] = "Hasła nie pasują do siebie";
@@ -1539,7 +1495,7 @@ App::$strings["New register request"] = "Nowa prośba o rejestrację";
App::$strings["Error creating dId A"] = "Błąd podczas tworzenia dId A";
App::$strings["Registration on this hub is disabled."] = "Rejestracja na tym portalu jest wyłączona.";
App::$strings["Registration on this hub is by approval only."] = "Rejestracja na tym portalu wymaga zatwierdzenia przez administratora.";
-App::$strings["Register at another affiliated hub in case when prefered"] = "Zarejestruj się w innym stowarzyszonym portalu w przypadku, gdy potrzebujesz takiego rozwiązania";
+App::$strings["Register at another affiliated hub in case when prefered"] = "Możesz ewentualnie zarejestrować się na innym stowarzyszonym portalu";
App::$strings["Registration on this hub is by invitation only."] = "Rejestracja na tym portalu wymaga uprzedniego zaproszenia.";
App::$strings["Register at another affiliated hub"] = "Zarejestruj się w innym stowarzyszonym portalu";
App::$strings["Terms of Service"] = "Regulamin";
@@ -1559,6 +1515,14 @@ App::$strings["Register"] = "Zarejestruj się";
App::$strings["This site has exceeded the number of allowed daily account registrations."] = "Na tym portalu przekroczono dozwoloną liczbę dziennych rejestracji kont.";
App::$strings["__ctx:acl__ Profile"] = "Profil";
App::$strings["network"] = "sieć";
+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ę wprowadzenia tytułu wydarzenia i godziny rozpoczęcia.";
+App::$strings["Event not found."] = "Nie znaleziono wydarzenia.";
+App::$strings["Edit event"] = "Edytuj wydarzenie";
+App::$strings["Delete event"] = "Usuń wydarzenie";
+App::$strings["calendar"] = "kalendarz";
+App::$strings["Failed to remove event"] = "Nie udało się usunąć wydarzenia";
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.";
@@ -1627,9 +1591,9 @@ 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["Your permissions are already configured. Click to view/adjust"] = "Twoje uprawnienia są już skonfigurowane. Kliknij, aby je 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["Prevents displaying in your profile that you are online"] = "Zapobiega wyświetlaniu w Twoim profilu informacji, ż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>";
@@ -1662,13 +1626,13 @@ App::$strings["Someone writes on your profile wall"] = "Ktoś pisze na Twojej ś
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 tagged in a post"] = "Oznaczono Ciebie tagiem we wpisie";
App::$strings["You are poked/prodded/etc. in a post"] = "Zaczepiono Ciebie we wpisie";
-App::$strings["Someone likes your post/comment"] = "Ktoś ocenił pozytywnie Twój wpis/komentarz";
+App::$strings["Someone likes your post/comment"] = "Ktoś pochwalił Twój wpis/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["Unseen private messages"] = "Niewidoczne wiadomości prywatne";
App::$strings["Recommended"] = "Zalecane";
App::$strings["Upcoming events"] = "Nadchodzące wydarzenia";
App::$strings["Events today"] = "Wydarzenia dzisiejsze";
@@ -1681,10 +1645,10 @@ 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 oceny pozytywne i negatywne";
+App::$strings["Unseen likes and dislikes"] = "Niewidoczne pochwały i zganienia";
App::$strings["Unseen forum posts"] = "Niewidoczne wpisy na forum";
-App::$strings["Email notification hub (hostname)"] = "Serwer 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 ortalach, ustaw to na preferowaną lokalizację. Zapobiegnie to powielaniu powiadomień e-mail. Przykład: % s";
+App::$strings["Email notification hub (hostname)"] = "Powiadomienia e-mail wysyłane z (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 portalach, 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 wpisy na ścianie oraz prywatne wiadomości i połączenia";
App::$strings["Notify me of events this many days in advance"] = "Informuj mnie o wydarzeniach z wyprzedzeniem (w dniach)";
App::$strings["Must be greater than 0"] = "Musi być większa od 0";
@@ -1706,8 +1670,6 @@ 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 Zdalna Diagnostyka";
-App::$strings["Perform diagnostics on remote channels"] = "Przeprowadź diagnostykę zdalnych kanałów";
App::$strings["Invite App"] = "Aplikacja Zaproszenie";
App::$strings["Register is closed"] = "Rejestracja zamknięta";
App::$strings["Note, the invitation code is valid up to"] = "Uwaga: kod zaproszenia jest ważny do";
@@ -1722,7 +1684,7 @@ App::$strings["%s : Message delivery failed."] = "%s: dostarczenie wiadomości n
App::$strings["To %s : Message delivery success."] = "To %s : Dostarczenie wiadomości powiodło się.";
App::$strings["%1\$d mail(s) sent, %2\$d mail error(s)"] = "Wysłano %1\$d wiadomości, %2\$d błędy poczty";
App::$strings["Invites not proposed by configuration"] = "Zaproszenia nie zostały skonfigurowane";
-App::$strings["Contact the site admin"] = "Skontaktuj się z administratorem witryny";
+App::$strings["Contact the site admin"] = "Skontaktuj się z administratorem portalu";
App::$strings["Invites by users not enabled"] = "Zaproszenia od użytkowników nie są włączone";
App::$strings["You have no more invitations available"] = "Nie masz więcej dostępnych zaproszeń";
App::$strings["Not on xchan"] = "Nie na xchan";
@@ -1739,10 +1701,10 @@ App::$strings["Invite template"] = "Szablon zaproszenia";
App::$strings["Subject:"] = "Temat:";
App::$strings["Here you may enter personal notes to the recipient(s)"] = "Tutaj możesz wprowadzić osobiste notatki do odbiorcy/odbiorców";
App::$strings["About this site"] = "O tym portalu";
-App::$strings["Site Name"] = "Nazwa witryny";
+App::$strings["Site Name"] = "Nazwa portalu";
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["This site is powered by \$Projectname"] = "Ten portal jest oparty 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";
@@ -1801,15 +1763,15 @@ App::$strings["Import all or selected content from the following channel into th
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 wpisów zaimportowanych z tego źródła (oddzielone przecinkami)";
-App::$strings["Resend posts with this channel as author"] = "Wyślij ponownie wpisy z tym kanałem jako autorem";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Dodaj następujące kategorie do wpisów zaimportowanych z tego źródła (rozdzielone przecinkami)";
+App::$strings["Resend posts with this channel as author"] = "Wyślij ponownie wpisy z tym kanałem jako autor";
App::$strings["Copyrights may apply"] = "Mogą obowiązywać prawa autorskie";
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 kuksaniec";
+App::$strings["Poke App"] = "Aplikacja Zaczepka";
App::$strings["Poke somebody in your addressbook"] = "Zaczep kogoś w swojej książce adresowej";
App::$strings["Poke"] = "Zaczepka";
App::$strings["Poke somebody"] = "Zaczep kogoś";
@@ -1834,7 +1796,7 @@ 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["Total"] = "Ogółem";
App::$strings["Shared"] = "Udostępnione";
App::$strings["Add Files"] = "Dodaj pliki";
App::$strings["Admin Delete"] = "Usunięte przez administratora";
@@ -1852,12 +1814,10 @@ App::$strings["Link BBcode"] = "Połącz do tekstu 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["Create new folder"] = "Utwórz nowy folder";
+App::$strings["Upload file"] = "Prześlij plik";
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";
@@ -1873,7 +1833,7 @@ 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 Zaprzyjaźnienia";
+App::$strings["Affinity Tool"] = "Narzędzie więzi";
App::$strings["Site Admin"] = "Administrator portalu";
App::$strings["Report Bug"] = "Raport błędów";
App::$strings["Bookmarks"] = "Zakładki";
@@ -1948,8 +1908,8 @@ 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"] = "ocenił pozytywnie";
-App::$strings["disliked"] = "ocenił negatywnie";
+App::$strings["liked"] = "pochwalone";
+App::$strings["disliked"] = "zganione";
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]";
@@ -1959,9 +1919,9 @@ App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"]
App::$strings["%1\$s commented on an item/conversation you have been following."] = "%1\$s skomentował obserwowany element/rozmowa.";
App::$strings["Please visit %s to view and/or reply to the conversation."] = "Odwiedź %s, aby wyświetlić albo włączyć się do rozmowy.";
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 ocenił pozytywnie [zrl=%2\$s]Twój %3\$s[/zrl]";
-App::$strings["[\$Projectname:Notify] Like received to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Ocena poytywna wysłana dla rozmowy #%1\$d przez %2\$s";
-App::$strings["%1\$s liked an item/conversation you created."] = "%1\$s ocenił pozytywnie utworzony przez Ciebie element/rozmowę.";
+App::$strings["%1\$s liked [zrl=%2\$s]your %3\$s[/zrl]"] = "%1\$s pochwalił [zrl=%2\$s]Twój %3\$s[/zrl]";
+App::$strings["[\$Projectname:Notify] Like received to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Pochwała wysłana dla rozmowy #%1\$d przez %2\$s";
+App::$strings["%1\$s liked an item/conversation you created."] = "%1\$s pochwalił 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]";
@@ -1991,11 +1951,16 @@ App::$strings["created a new post"] = "utworzył nowy wpis";
App::$strings["voted on %s's poll"] = "głosował w ankiecie %s";
App::$strings["commented on %s's post"] = "skomentował wpis %s";
App::$strings["repeated %s's post"] = "powtórzony wpis %s";
+App::$strings["shared a file with you"] = "udostępnił Ci plik";
App::$strings["edited a post dated %s"] = "edytował wpis z dnia %s";
App::$strings["edited a comment dated %s"] = "edytował komentarz z dnia %s";
+App::$strings["added your channel"] = "dodał Twój kanał";
+App::$strings["sent you a private message"] = "wysłał Ci prywatną wiadomość";
+App::$strings["g A l F d"] = "g A l F d";
+App::$strings["[today]"] = "[dzisiaj]";
App::$strings["created an event"] = "utworzono wydarzenie";
App::$strings["status verified"] = "status został zweryfikowany";
-App::$strings["Unable to verify site signature for %s"] = "Nie można zweryfikować podpisu witryny dla %s";
+App::$strings["Unable to verify site signature for %s"] = "Nie można zweryfikować podpisu portalu 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.";
@@ -2026,8 +1991,8 @@ 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["like"] = "pochwaa";
+App::$strings["dislike"] = "gani";
App::$strings["Reply on this comment"] = "Odpowiedz na ten komentarz";
App::$strings["reply"] = "odpowiedz";
App::$strings["Reply to"] = "Odpowiedź dla";
@@ -2070,9 +2035,9 @@ 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 e-mail (wymagane)";
-App::$strings["Your website URL (optional)"] = "Adres URL Twojej witryny (opcjonalnie)";
-App::$strings["Likes %1\$s's %2\$s"] = "Lubi %2\$s %1\$s";
-App::$strings["Doesn't like %1\$s's %2\$s"] = "Nie lubi %2\$s %1\$s";
+App::$strings["Your website URL (optional)"] = "Adres URL Twojego portalu (opcjonalnie)";
+App::$strings["Likes %1\$s's %2\$s"] = "Pochwalił %2\$s %1\$s";
+App::$strings["Doesn't like %1\$s's %2\$s"] = "Zganił %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";
@@ -2133,7 +2098,7 @@ 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["Bookmarked Chatrooms"] = "Czaty z zakładkami";
App::$strings["photo/image"] = "zdjęcie/obraz";
App::$strings["Forums"] = "Fora";
App::$strings["Remove term"] = "Usuń termin";
@@ -2151,7 +2116,7 @@ App::$strings["DB updates"] = "Aktualizacje bazy danych";
App::$strings["Admin"] = "Admin";
App::$strings["Addon Features"] = "Dodatkowe możliwości";
App::$strings["Overview"] = "Przegląd";
-App::$strings["App Collections"] = "Kolekcja aplikacji";
+App::$strings["App Collections"] = "Kolekcje 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";
@@ -2164,7 +2129,6 @@ 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 wpis";
@@ -2197,7 +2161,7 @@ App::$strings["New Network Activity Notifications"] = "Powiadomienia o nowej akt
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 wpisy";
-App::$strings["Filter by name or address"] = "Filtruj według nazwy lub adresu";
+App::$strings["Filter by name or address"] = "Filtruj wg 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ą";
@@ -2205,10 +2169,6 @@ App::$strings["Mark all notifications seen"] = "Oznacz wszystkie powiadomienia j
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";
@@ -2244,9 +2204,9 @@ 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["Communicate"] = "Skomunikuj 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["View your network stream"] = "Wyświetl swój strumień";
App::$strings["Documentation"] = "Dokumentacja";
App::$strings["Missing Features?"] = "Brakuje funkcji?";
App::$strings["Pin apps to navigation bar"] = "Przypinaj aplikacje do paska nawigacji";
@@ -2268,14 +2228,14 @@ App::$strings["Invite Friends"] = "Zaproś przyjaciół";
App::$strings["Advanced example: name=fred and country=iceland"] = "Zaawansowany przykład: name=fredeki country=poland";
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"] = "ocenił pozytywnie %2\$s %1\$s";
-App::$strings["doesn't like %1\$s's %2\$s"] = "ocenił negatywnie %1\$s %2\$s";
+App::$strings["likes %1\$s's %2\$s"] = "pochwalił %2\$s %1\$s";
+App::$strings["doesn't like %1\$s's %2\$s"] = "zganił %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 zaczepił %2\$s";
App::$strings["poked"] = "zaczepiony";
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["Filed under:"] = "Skategoryzowane pod:";
App::$strings["View in context"] = "Zobacz w kontekście";
App::$strings["remove"] = "usuń";
App::$strings["Loading..."] = "Ładowanie ...";
@@ -2284,17 +2244,17 @@ 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["%s likes this."] = "%s lubi to.";
-App::$strings["%s doesn't like this."] = "%s nie lubi tego.";
+App::$strings["%s likes this."] = "%s pochwalił to.";
+App::$strings["%s doesn't like this."] = "%s zganił to.";
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.",
+ 0 => "<span %1\$s>%2\$d osoba</span> pochwaliła to.",
+ 1 => "<span %1\$s>%2\$d osoby</span> pochwaliły to.",
+ 2 => "<span %1\$s>%2\$d osób</span> pochwaliło to.",
);
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.",
+ 0 => "<span %1\$s>%2\$d osoba</span> zganiła to.",
+ 1 => "<span %1\$s>%2\$d osoby</span> zganiły to.",
+ 2 => "<span %1\$s>%2\$d osób</span> zganiło to.",
);
App::$strings["and"] = "i";
App::$strings[", and %d other people"] = array(
@@ -2302,12 +2262,12 @@ App::$strings[", and %d other people"] = array(
1 => ", oraz %d inne osoby",
2 => ", oraz %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["%s like this."] = "%s pochwala to.";
+App::$strings["%s don't like this."] = "%s gani to.";
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["Tag term:"] = "Nazwa 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";
@@ -2326,6 +2286,7 @@ App::$strings["Disable comments"] = "Wyłącz komentarze";
App::$strings["Toggle comments"] = "Przełącz komentarze";
App::$strings["Summary (optional)"] = "Streszczenie (opcjonalnie)";
App::$strings["Categories (optional, comma-separated list)"] = "Kategorie (opcjonalnie, lista rozdzielana przecinkami)";
+App::$strings["Permission settings"] = "Ustawienia dostępu";
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";
@@ -2366,7 +2327,7 @@ App::$strings["No account identifier"] = "Brak identyfikatora konta";
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["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";
@@ -2380,7 +2341,7 @@ App::$strings["Male"] = "Mężczyzna";
App::$strings["Trans"] = "Trans";
App::$strings["Neuter"] = "Osoba aseksualna";
App::$strings["Non-specific"] = "Nie określono";
-App::$strings["Like this channel"] = "Oceń pozytywnie ten kanał";
+App::$strings["Like this channel"] = "Pochwal ten kanał";
App::$strings["j F, Y"] = "d M, R";
App::$strings["j F"] = "d M";
App::$strings["Birthday:"] = "Urodziny:";
@@ -2390,8 +2351,8 @@ 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:"] = "Ocen pozytywnych:";
-App::$strings["Dislikes:"] = "Ocen negatywnych:";
+App::$strings["Likes:"] = "Pochwały:";
+App::$strings["Dislikes:"] = "Zganienia:";
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:";
@@ -2402,6 +2363,7 @@ App::$strings["Love/Romance:"] = "Miłość/Romans:";
App::$strings["Work/employment:"] = "Praca/Zatrudnienie:";
App::$strings["School/education:"] = "Szkoła/Wykształcenie:";
App::$strings["Like this thing"] = "Podobne do tej rzeczy";
+App::$strings["Export"] = "Eksportuj";
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";
@@ -2417,13 +2379,13 @@ App::$strings["Filter incoming posts from connections based on keywords/content"
App::$strings["Conversation"] = "Rozmowa";
App::$strings["Emoji Reactions"] = "Reakcje emoji";
App::$strings["Add emoji reaction ability to posts"] = "Dodaje możliwość wstawiania reakcji emoji we wpisach";
-App::$strings["Dislike Posts"] = "Nielubienie wpisu";
-App::$strings["Ability to dislike posts/comments"] = "Możliwość oznaczania wpisów i komentarzy jako nielubiane";
+App::$strings["Dislike Posts"] = "Zganienia wpisów";
+App::$strings["Ability to dislike posts/comments"] = "Możliwość oznaczania wpisów i komentarzy jako nieaprobowane";
App::$strings["Star Posts"] = "Wyróżnienie wpisu";
App::$strings["Ability to mark special posts with a star indicator"] = "Możliwość oznaczania wyróżnionych wpisów wskaźnikiem gwiazdki";
App::$strings["Reply on comment"] = "Odpowiadanie 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["Advanced Directory Search"] = "Zaawansowane wyszukiwanie w 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 wpisów";
@@ -2464,7 +2426,7 @@ App::$strings["If location data is available on uploaded photos, link this to a
App::$strings["Advanced Profiles"] = "Profile zaawansowane";
App::$strings["Additional profile sections and selections"] = "Dodatkowe sekcje i pola wyboru profilu";
App::$strings["Profile Import/Export"] = "Import/Eksport profilu";
-App::$strings["Save and load profile details across sites/channels"] = "Zapisz i wczytaj szczegóły profilu z różnych witryn i kanałów";
+App::$strings["Save and load profile details across sites/channels"] = "Zapisz i wczytaj szczegóły profilu z różnych portali i kanałów";
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ę.";
@@ -2481,16 +2443,16 @@ 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"] = "zaczepiać";
-App::$strings["ping"] = "spingować";
+App::$strings["poke"] = "szturchnij";
+App::$strings["ping"] = "spinguj";
App::$strings["pinged"] = "spingowany";
-App::$strings["prod"] = "sprawdzać";
+App::$strings["prod"] = "zaczep";
App::$strings["prodded"] = "zaczepiony";
-App::$strings["slap"] = "spoliczkować";
-App::$strings["slapped"] = "spoliczkowany";
-App::$strings["finger"] = "dotknąć";
+App::$strings["slap"] = "uderz";
+App::$strings["slapped"] = "uderzony";
+App::$strings["finger"] = "dotknij";
App::$strings["fingered"] = "dotknięty";
-App::$strings["rebuff"] = "odprawiać";
+App::$strings["rebuff"] = "odpraw";
App::$strings["rebuffed"] = "odprawiony";
App::$strings["happy"] = "szczęśliwy";
App::$strings["sad"] = "smutny";
@@ -2503,7 +2465,7 @@ App::$strings["puzzled"] = "zdziwiony";
App::$strings["interested"] = "zainteresowany";
App::$strings["bitter"] = "gorzki";
App::$strings["cheerful"] = "wesoły";
-App::$strings["alive"] = "żywy";
+App::$strings["alive"] = "ożywiony";
App::$strings["annoyed"] = "zirytowany";
App::$strings["anxious"] = "niespokojny";
App::$strings["cranky"] = "zepsuty";
@@ -2511,14 +2473,14 @@ App::$strings["disturbed"] = "zaniepokojony";
App::$strings["frustrated"] = "sfrustrowany";
App::$strings["depressed"] = "przygnębiony";
App::$strings["motivated"] = "zmotywowany";
-App::$strings["relaxed"] = "z<relaksowany";
+App::$strings["relaxed"] = "zrelaksowany";
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["Saturday"] = "Sobota";
App::$strings["Sunday"] = "Niedziela";
App::$strings["January"] = "Styczeń";
App::$strings["February"] = "Luty";
@@ -2534,11 +2496,12 @@ 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 category"] = "usuń kategorię";
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["Link to Source"] = "Link do źródła";
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";
@@ -2549,15 +2512,15 @@ 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["Design Tools"] = "Narzędzia projektanckie";
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["Import from cloud files:"] = "Import plikó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["Enter path to website files"] = "Wprowadź ścieżkę do plików poretalu";
App::$strings["Select folder"] = "Wybierz folder";
App::$strings["Export website..."] = "Eksport witryny...";
App::$strings["Export to a zip file"] = "Eksport do pliku ZIP";
@@ -2567,10 +2530,6 @@ App::$strings["Export to cloud files"] = "Eksport 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 wpisu.";
App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s napisał ten %2\$s %3\$s";
App::$strings["spoiler"] = "spojler";
App::$strings["Profile-Based Privacy Groups"] = "Grupy prywatności oparte na profilach";
@@ -2587,8 +2546,8 @@ 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["likes"] = "pochwala";
+App::$strings["dislikes"] = "gani";
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.";
@@ -2604,24 +2563,24 @@ 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["Log me out of this site"] = "Wyloguj mnie z tego portalu";
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["Search site @name, !forum, #tag, ?docs, content"] = "Szukaj @name portalu, !forum, #tag, ?docs, treść";
+App::$strings["Site Setup and Configuration"] = "Instalacja i konfiguracja portalu";
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["Add Apps"] = "Zainstalowane 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 wpisy";
+App::$strings["Status Messages and Posts"] = "Komunikaty o stanie i wpisach";
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["View Webpages"] = "Wyświetl strony 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";
@@ -2636,7 +2595,7 @@ 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 exceeds website size limit of %lu bytes"] = "Obraz przekracza limit rozmiaru dla tego portali, 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";
@@ -2655,13 +2614,13 @@ 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["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["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 propozycji (";
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.";
@@ -2694,7 +2653,7 @@ App::$strings["%d years"] = array(
1 => "%d lata",
2 => "%d lat",
);
-App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+App::$strings["timeago.prefixAgo"] = "temu";
App::$strings["timeago.prefixFromNow"] = "od";
App::$strings["timeago.suffixAgo"] = "temu";
App::$strings["timeago.suffixFromNow"] = "temu";
@@ -2805,7 +2764,7 @@ App::$strings["XMPP/IM"] = "XMPP/IM";
App::$strings["MySpace"] = "MySpace";
App::$strings["The provided email address is not valid"] = "Podany adres e-mail jest nieprawidłowy";
App::$strings["The provided email domain is not among those allowed on this site"] = "Podana domena e-mail nie należy do domen dozwolonych w tym portalu";
-App::$strings["The provided email address is already registered at this site"] = "Podany adres e-mail jest już zarejestrowany w tej witrynie";
+App::$strings["The provided email address is already registered at this site"] = "Podany adres e-mail jest już zarejestrowany w tym portalu";
App::$strings["There is a pending registration for this address - click \"Register\" to continue verification"] = "Oczekuje się na rejestrację tego adresu - kliknij „Zarejestruj się”, aby kontynuować weryfikację";
App::$strings["An invitation is required."] = "Wymagane jest zaproszenie.";
App::$strings["Invitation could not be verified."] = "Nie udało się zweryfikować zaproszenia.";
@@ -2846,8 +2805,8 @@ 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["Home, Voice"] = "Domowy, głosowy";
+App::$strings["Home, Fax"] = "Domowy, fax";
App::$strings["Work, Voice"] = "Praca, głosowy";
App::$strings["Work, Fax"] = "Praca, fax";
App::$strings["View PDF"] = "Wyświetl PDF";
@@ -2927,14 +2886,9 @@ App::$strings["profile photo"] = "zdjęcie profilowe";
App::$strings["[Edited %s]"] = "[Edytowane %s]";
App::$strings["__ctx:edit_activity__ Post"] = "Wpis";
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["Install %1\$s element %2\$s"] = "Zainstaluj %2\$s elementu %1\$s";
App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ten wpis zawiera możliwy do zainstalowania element %s, jednak nie masz uprawnień do zainstalowania go w tym portalu.";
App::$strings["card"] = "karta";
App::$strings["article"] = "artykuł";
@@ -2966,10 +2920,10 @@ App::$strings["Test mode (only send to hub administrator)"] = "Tryb testowy (wys
App::$strings["Your Webbie:"] = "Twój Webbie:";
App::$strings["Fontsize (px):"] = "Wielkość czcionki (px):";
App::$strings["Link:"] = "Link:";
-App::$strings["Like us on Hubzilla"] = "Oceń nas pozytywnie na Hubzilli";
+App::$strings["Like us on Hubzilla"] = "Pochwal 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 wpisach wychodzących z tej witryny";
+App::$strings["text to include in all outgoing posts from this site"] = "tekst do umieszczania we wszystkich wpisach wychodzących z tego portalu";
App::$strings["lonely"] = "samotny";
App::$strings["drunk"] = "pijany";
App::$strings["horny"] = "seksualnie podniecony";
@@ -2992,7 +2946,7 @@ 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["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Ten portal jest śledzony 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 Piwik (bez schematu (http/s), z końcowym ukośnikiem)";
@@ -3086,7 +3040,7 @@ 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["Authentication successful but rejected: account creation is disabled."] = "Uwierzytelnianie przebiegło pomyślne, ale zostało odrzucone: utworzone konto 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.";
@@ -3168,6 +3122,7 @@ 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["Welcome %s. Remote authentication successful."] = "Witaj %s. Zdalne uwierzytelnianie powiodło się.";
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 portalu Hubzilla.";
App::$strings["Hubzilla Server base URL"] = "Bazowy adres URL serwera Hubzilla";
@@ -3178,12 +3133,12 @@ App::$strings["The diaspora protocol does not support location independence. Con
App::$strings["Diaspora Protocol App"] = "Aplikacja Protokół Diaspora";
App::$strings["Allow any Diaspora member to comment or like your public posts"] = "Umożliwia członkom Diaspory komentować lub aprobować Twoje publiczne wpisy";
App::$strings["If this setting is disabled only your contacts will be able to comment or like your public posts"] = "Jeśli to ustawienie jest wyłączone, tylko Twoje kontakty będą mogły komentować lub aprobować Twoje publiczne wpisy";
-App::$strings["Prevent your hashtags from being redirected to other sites"] = "Zapobiegaj przekierowywaniu hasztagów do innych witryn";
+App::$strings["Prevent your hashtags from being redirected to other sites"] = "Zapobiegaj przekierowywaniu hasztagów do innych portali";
App::$strings["Sign and forward posts and comments with no existing Diaspora signature"] = "Podpisuj i przesyłaj dalej wpisy i komentarze bez podpisu Diaspory";
App::$strings["Followed hashtags (comma separated, do not include the #)"] = "Obserwowane hasztagi (oddzielone przecinkami, nie dodawaj #)";
App::$strings["Diaspora Protocol"] = "Protokół Diaspora";
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 ocen negatywnych %2\$s %3\$s";
+App::$strings["%1\$s dislikes %2\$s's %3\$s"] = "%1\$s zganień %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ć konektor Diaspory";
App::$strings["Diaspora Relay Handle"] = "Uchwyt konektora Diaspory";
App::$strings["Address of a diaspora relay. Example: relay@diasporarelay.tld"] = "Adres konektora diaspory. Przykład: relay@diasporarelay.tld";
@@ -3234,6 +3189,7 @@ 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["Create New Workflow Item"] = "Utwórz element przepływu";
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";
@@ -3266,7 +3222,7 @@ 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"] = "Zwija treść zawierającą określone 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, na przykład, 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["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 we wpisach słowa/tekst określone poniżej i zwija wszelkie treści zawierające te słowa, tak aby nie były wyświetlane w nieodpowiednich momentach. Na przykład, podteksty seksualne, mogą być niewłaściwe w środowisku.";
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";
@@ -3283,7 +3239,7 @@ 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 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 portali, aby zwiększyć Twoją anonimowość w sieci.";
App::$strings["Photo Cache App"] = "Aplikacja Bufor zdjęć";
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.";
@@ -3304,7 +3260,7 @@ App::$strings["Provide photo edit option to hide inappropriate photos from defau
App::$strings["Post to GNU social"] = "Publikuj na portalu 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["Please contact your site administrator.<br />The provided API URL is not valid."] = "Skontaktuj się z administratorem portalu. <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 wpisów na połączone konto społecznościowe GNU (dawniej StatusNet)";
@@ -3329,7 +3285,7 @@ App::$strings["Post to GNU social by default"] = "Wysyłaj domyślnie do społec
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 wpisy 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["Who likes me?"] = "Kto mnie pochwala?";
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 Protokół Activitypub";
@@ -3350,7 +3306,7 @@ App::$strings["Max queueworker threads"] = "Maksymalna liczba wątków w kolejce
App::$strings["Minimum 4, default 4"] = "Minimum 4, domyślnie 4";
App::$strings["Assume workers dead after"] = "Załóż, że workery wygasają po";
App::$strings["Minimum 120, default 300 seconds"] = "Minimum 120, domyślnie 300 sekund";
-App::$strings["Pause before starting next task"] = "Zatrzymaj się przed rozpoczęciem następnego zadania";
+App::$strings["Pause before starting next task"] = "Zatrzymaj przed rozpoczęciem następnego zadania";
App::$strings["Minimum 100, default 100 microseconds"] = "Minimum 100, domyślnie 100 mikrosekund";
App::$strings["Queueworker Settings"] = "Ustawienia Queueworkera";
App::$strings["Not allowed."] = "Niedozwolone.";
@@ -3365,7 +3321,7 @@ App::$strings["Libravatar addon is installed, too. Please disable Libravatar add
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["Select the appropriate avatar rating for your site. See README"] = "Wybierz odpowiednią ocenę awatara dla swojego portalu. Zobacz README";
App::$strings["Gravatar settings updated."] = "Zaktualizowano ustawienia Gravatara.";
App::$strings["Network error"] = "Błąd sieci";
App::$strings["API error"] = "Błąd API";
@@ -3385,7 +3341,7 @@ 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["Send your identity to all websites"] = "Wyślij swoją tożsamość do wszystkich portali";
App::$strings["Sendzid App"] = "Aplikacja Sendzid";
App::$strings["Send ZID"] = "Wyślij ZID";
App::$strings["Photos imported"] = "Zdjęcia zaimportowane";
@@ -3401,7 +3357,7 @@ App::$strings["0 or blank to import all available"] = "0 lub puste, aby zaimport
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 wpisy 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["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nie znaleziono pary kluczy klienta dla Twittera. Skontaktuj się z administratorem portalu.";
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> wpisy.";
App::$strings["Log in with Twitter"] = "Zaloguj się za pomocą Twittera";
App::$strings["Copy the PIN from Twitter here"] = "Skopiuj tutaj PIN z Twittera";
@@ -3447,8 +3403,8 @@ App::$strings["WYSIWYG Status"] = "WYSIWYG Status";
App::$strings["No server specified"] = "Nie określono serwera";
App::$strings["Posts imported"] = "Zaimportowano wpisy";
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 wpisów lun plików.";
+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."] = "Ta dodatkowa aplikacja 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 wpisów lub plików.";
App::$strings["Include posts"] = "Dołącz wpisy";
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";
@@ -3506,7 +3462,7 @@ 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["Most liked first"] = "Najbardziej chwalone 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: ";
@@ -3632,13 +3588,13 @@ App::$strings["Set a preferred page to load on login from home page"] = "Ustaw p
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 strony sieci.";
App::$strings["Startpage"] = "Strona początkowa";
-App::$strings["Focus (Hubzilla default)"] = "Fokus (domyślny w Hubzilla)";
+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["Link color"] = "Kolor linku";
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";
@@ -3656,11 +3612,11 @@ App::$strings["Set size of conversation author photo"] = "Ustaw rozmiar zdjęcia
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["Email or nickname"] = "Adres e-mail lub pseudonim";
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] Website SSL error for %s"] = "[\$Projectname] Błąd SSL portalu dla %s";
+App::$strings["Website SSL certificate is not valid. Please correct."] = "Certyfikat SSL portalu jest nieprawidłowy. Proszę poprawić.";
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/tpl/channel.tpl b/view/tpl/channel.tpl
index 63e09ec05..0ff52831d 100644
--- a/view/tpl/channel.tpl
+++ b/view/tpl/channel.tpl
@@ -37,10 +37,6 @@
<div class="channel-notifications-wrapper">
{{if !$channel.delegate}}
<div class="channel-notification">
- <i class="fa fa-fw fa-envelope{{if $channel.mail != 0}} text-danger{{/if}}"></i>
- {{if $channel.mail != 0}}<a href="manage/{{$channel.channel_id}}/mail/combined">{{/if}}{{$channel.mail|string_format:$mail_format}}{{if $channel.mail != 0}}</a>{{/if}}
- </div>
- <div class="channel-notification">
<i class="fa fa-fw fa-user{{if $channel.intros != 0}} text-danger{{/if}}"></i>
{{if $channel.intros != 0}}<a href='manage/{{$channel.channel_id}}/connections/ifpending'>{{/if}}{{$channel.intros|string_format:$intros_format}}{{if $channel.intros != 0}}</a>{{/if}}
</div>
diff --git a/view/tpl/head.tpl b/view/tpl/head.tpl
index ecb30afd3..bf61a7ee4 100644
--- a/view/tpl/head.tpl
+++ b/view/tpl/head.tpl
@@ -17,6 +17,7 @@
var channelId = {{if $channel_id}}{{$channel_id}}{{else}}false{{/if}};{{* Used in e.g. autocomplete *}}
var preloadImages = {{$preload_images}};
var auto_save_draft = {{$auto_save_draft}};
+ {{if $module}}var module = '{{$module}}';{{/if}}
</script>
diff --git a/view/tpl/hq_controls.tpl b/view/tpl/hq_controls.tpl
index d7f6d436f..87accb5e0 100644
--- a/view/tpl/hq_controls.tpl
+++ b/view/tpl/hq_controls.tpl
@@ -1,8 +1,7 @@
-<div class="widget">
- <h3>{{$title}}</h3>
- <ul class="nav nav-pills flex-column">
- {{foreach $menu as $m}}
- <li class="nav-item"><a href="{{$m.href}}" id="{{$m.id}}" class="nav-link{{if $m.class}} {{$m.class}}{{/if}}">{{$m.label}}</a></li>
- {{/foreach}}
- </ul>
+<div class="d-grid gap-2 mb-3{{if $wrapper_class}} {{$wrapper_class}}{{/if}}">
+ {{foreach $entries as $e}}
+ <button id="{{$e.id}}" class="{{$e.class}} rounded-circle" type="{{$e.type}}" title="{{$e.label}}"{{if $e.extra}} {{$e.extra}}{{/if}}>
+ {{if $e.icon}}<i class="fa fa-{{$e.icon}}"></i>{{/if}}
+ </button>
+ {{/foreach}}
</div>
diff --git a/view/tpl/login.tpl b/view/tpl/login.tpl
index 492149abb..1a47d122c 100644
--- a/view/tpl/login.tpl
+++ b/view/tpl/login.tpl
@@ -7,8 +7,8 @@
{{include file="field_checkbox.tpl" field=$remember_me}}
<button type="submit" name="submit" class="btn btn-block btn-primary">{{$login}}</button>
</div>
- <div id="login-extra-links">
- {{if $register}}<a href="{{$register.link}}" title="{{$register.title}}" id="register-link" class="pull-right">{{$register.desc}}</a>{{/if}}
+ <div id="login-extra-links" class="clearfix">
+ {{if $register}}<a href="{{$register.link}}" title="{{$register.title}}" id="register-link" class="float-right">{{$register.desc}}</a>{{/if}}
<a href="lostpass" title="{{$lostpass}}" id="lost-password-link" >{{$lostlink}}</a>
</div>
<hr>
diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl
index b0497fe99..adc7734ec 100644
--- a/view/tpl/mail_conv.tpl
+++ b/view/tpl/mail_conv.tpl
@@ -24,9 +24,11 @@
<i class="fa fa-cog"></i>
</button>
<div class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="mail-item-menu-{{$mail.id}}">
- {{if $mail.can_recall}}
+ {{** if $mail.can_recall}}
<a class="dropdown-item" href="mail/{{$mail.mailbox}}/recall/{{$mail.id}}" title="{{$mail.recall}}" id="mail-conv-recall-icon-{{$mail.id}}"><i class="fa fa-fw fa-undo"></i>&nbsp;{{$mail.recall}}</a>
- {{/if}}
+ {{/if **}}
+ <a class="dropdown-item" href="mail/{{$mail.id}}/download" id="mail-conv-download-icon-{{$mail.id}}"><i class="fa fa-fw fa-download"></i>&nbsp;{{$mail.download}}</a>
+ <div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" onclick="dropItem('mail/{{$mail.mailbox}}/drop/{{$mail.id}}', '#mail-{{$mail.id}}'); return false;" title="{{$mail.delete}}" id="mail-conv-delete-icon-{{$mail.id}}"><i class="fa fa-fw fa-trash-o"></i>&nbsp;{{$mail.delete}}</a>
{{if $mail.can_recall}}
<div class="dropdown-divider"></div>
diff --git a/view/tpl/message_side.tpl b/view/tpl/message_side.tpl
index 2ac61bf76..a45d1d177 100644
--- a/view/tpl/message_side.tpl
+++ b/view/tpl/message_side.tpl
@@ -4,6 +4,8 @@
<li class="nav-item"><a href="{{$combined.url}}" class="nav-link{{if $combined.sel}} active{{/if}}">{{$combined.label}}</a></li>
<li class="nav-item"><a href="{{$inbox.url}}" class="nav-link{{if $inbox.sel}} active{{/if}}">{{$inbox.label}}</a></li>
<li class="nav-item"><a href="{{$outbox.url}}" class="nav-link{{if $outbox.sel}} active{{/if}}">{{$outbox.label}}</a></li>
+{{**
<li class="nav-item"><a href="{{$new.url}}" class="nav-link{{if $new.sel}} active{{/if}}">{{$new.label}}</a></li>
+**}}
</ul>
</div>
diff --git a/view/tpl/messages_widget.tpl b/view/tpl/messages_widget.tpl
new file mode 100644
index 000000000..d3dbd7be9
--- /dev/null
+++ b/view/tpl/messages_widget.tpl
@@ -0,0 +1,121 @@
+<ul class="nav nav-tabs nav-fill clearfix">
+ <li class="nav-item">
+ <a class="nav-link active messages-type" href="#" title="{{$strings.messages_title}}" data-messages_type="">
+ <i class="fa fa-fw fa-comment-o"></i>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link messages-type" href="#" title="{{$strings.direct_messages_title}}" data-messages_type="direct">
+ <i class="fa fa-fw fa-envelope-o"></i>
+ </a>
+ </li>
+ {{if $feature_star}}
+ <li class="nav-item">
+ <a class="nav-link messages-type" href="#" title="{{$strings.starred_messages_title}}" data-messages_type="starred">
+ <i class="fa fa-fw fa-star"></i>
+ </a>
+ </li>
+ {{/if}}
+</ul>
+<div id="messages-widget" class="border border-top-0 overflow-auto mb-3 clearfix" style="height: 70vh;">
+ <div id="messages-template" rel="template" class="d-none">
+ <a href="{6}" class="list-group-item list-group-item-action message" data-b64mid="{0}">
+ <div class="d-flex w-100 justify-content-between">
+ <div class="mb-1 text-truncate" title="{5}">
+ {7}
+ <strong>{4}</strong>
+ </div>
+ <small class="messages-timeago text-nowrap" title="{1}"></small>
+ </div>
+ <div class="mb-1">
+ <div class="text-break">{2}</div>
+ </div>
+ <small>{3}</small>
+ </a>
+ </div>
+ <div id="dm-container" class="list-group list-group-flush" data-offset="10">
+ {{foreach $entries as $e}}
+ <a href="{{$e.href}}" class="list-group-item list-group-item-action message" data-b64mid="{{$e.b64mid}}">
+ <div class="d-flex w-100 justify-content-between">
+ <div class="mb-1 text-truncate" title="{{$e.author_addr}}">
+ {{$e.icon}}
+ <strong>{{$e.author_name}}</strong>
+ </div>
+ <small class="messages-timeago text-nowrap" title="{{$e.created}}"></small>
+ </div>
+ <div class="mb-1">
+ <div class="text-break">{{$e.summary}}</div>
+ </div>
+ <small>{{$e.info}}</small>
+ </a>
+ {{/foreach}}
+ <div id="messages-loading" class="list-group-item" style="display: none;">
+ {{$strings.loading}}<span class="jumping-dots"><span class="dot-1">.</span><span class="dot-2">.</span><span class="dot-3">.</span></span>
+ </div>
+ </div>
+</div>
+<script>
+ var messages_offset = {{$offset}};
+ var get_messages_page_active = false;
+ var messages_type;
+
+ $('#messages-widget').on('scroll', function() {
+ if(this.scrollTop > this.scrollHeight - this.clientHeight - (this.scrollHeight/7)) {
+ get_messages_page('hq');
+ }
+ });
+
+ $(document).on('click', '.messages-type', function(e) {
+ e.preventDefault();
+ $('.messages-type').removeClass('active');
+ $(this).addClass('active');
+ messages_offset = 0;
+ messages_type = $(this).data('messages_type');
+ $('#dm-container .message').remove();
+ get_messages_page();
+ });
+
+ $('.messages-timeago').timeago();
+ $('.message[data-b64mid=\'' + bParam_mid + '\']').addClass('active');
+
+ function get_messages_page() {
+ if (get_messages_page_active)
+ return;
+
+ if (messages_offset === -1)
+ return;
+
+ get_messages_page_active = true;
+ $('#messages-loading').show();
+ $.ajax({
+ type: 'post',
+ url: 'hq',
+ data: {
+ offset: messages_offset,
+ type: messages_type
+ }
+ }).done(function(obj) {
+ get_messages_page_active = false;
+ messages_offset = obj.offset;
+ let html;
+ let tpl = $('#messages-template[rel=template]').html();
+ obj.entries.forEach(function(e) {
+ html = tpl.format(
+ e.b64mid,
+ e.created,
+ e.summary,
+ e.info,
+ e.author_name,
+ e.author_addr,
+ e.href,
+ e.icon
+ );
+ $('#messages-loading').before(html);
+ });
+ $('.message[data-b64mid=\'' + bParam_mid + '\']').addClass('active');
+ $('#messages-loading').hide();
+ $('.messages-timeago').timeago();
+
+ });
+ }
+</script>
diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl
index e8542b087..d49303453 100644
--- a/view/tpl/msg-header.tpl
+++ b/view/tpl/msg-header.tpl
@@ -1,3 +1,4 @@
+{{**
<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>
@@ -73,9 +74,9 @@
function addmailtext(data) {
var currentText = $("#prvmail-text").val();
$("#prvmail-text").val(currentText + data);
- }
+ }
</script>
-
+**}}
diff --git a/view/tpl/notes.tpl b/view/tpl/notes.tpl
index 4bee02aa0..0ae0604ef 100644
--- a/view/tpl/notes.tpl
+++ b/view/tpl/notes.tpl
@@ -1,24 +1,18 @@
{{if $app}}
-<div class="generic-content-wrapper">
+<div id="personal-notes" class="generic-content-wrapper{{if $hidden}} d-none{{/if}}">
<div class="section-title-wrapper">
<h2>{{$banner}}</h2>
</div>
<div class="section-content-wrapper">
{{else}}
-<div class="widget">
+<div id="personal-notes" class="widget{{if $hidden}} d-none{{/if}}">
<h3>{{$banner}}</h3>
{{/if}}
- <textarea name="note_text" id="note-text">{{$text}}</textarea>
+ <textarea name="note_text" id="note-text" class="{{if $app}}form-control border-0{{/if}}">{{$text}}</textarea>
<script>
var noteSaveTimer = null;
var noteText = $('#note-text');
- $(document).ready(function(e){
- noteText.on('change keyup keydown paste cut', function () {
- noteText.height(0).height(noteText[0].scrollHeight);
- }).change();
- });
-
$(document).on('focusout',"#note-text",function(e){
if(noteSaveTimer)
clearTimeout(noteSaveTimer);
diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl
index 1092bc155..54008b397 100644
--- a/view/tpl/notifications_widget.tpl
+++ b/view/tpl/notifications_widget.tpl
@@ -1,9 +1,17 @@
-{{if $notifications}}
<script>
- var notifications_parent;
+ var sse_bs_active = false;
+ var sse_offset = 0;
+ var sse_type;
+ var sse_partial_result = false;
+ var sse_rmids = [];
+ var sse_fallback_interval;
$(document).ready(function() {
- notifications_parent = $('#notifications_wrapper')[0].parentElement.id;
+ let notifications_parent;
+ if ($('#notifications_wrapper').length) {
+ notifications_parent = $('#notifications_wrapper')[0].parentElement.id;
+ }
+
$('.notifications-btn').click(function() {
if($('#notifications_wrapper').hasClass('fs')) {
$('#notifications_wrapper').prependTo('#' + notifications_parent);
@@ -23,60 +31,118 @@
}
});
- window.onpopstate = function(e) {
- if(e.state !== null && e.state.b64mid !== bParam_mid)
- getData(e.state.b64mid, '');
- };
- });
+ $(document).on('click', '.notification', function() {
+ if($('#notifications_wrapper').hasClass('fs')) {
+ $('#notifications_wrapper').prependTo('#' + notifications_parent).removeClass('fs');
+ }
+ });
- {{if $module == 'display' || $module == 'hq' || $startpage == 'hq'}}
- $(document).on('click', '.notification', function(e) {
- var b64mid = $(this).data('b64mid');
- var notify_id = $(this).data('notify_id');
- var path = $(this)[0].pathname.substr(1,7);
- var stateObj = { b64mid: b64mid };
+ if(sse_enabled) {
+ if(typeof(window.SharedWorker) === 'undefined') {
+ // notifications with multiple tabs open will not work very well in this scenario
+ var evtSource = new EventSource('/sse');
- if(! b64mid && ! notify_id)
- return;
+ evtSource.addEventListener('notifications', function(e) {
+ var obj = JSON.parse(e.data);
+ sse_handleNotifications(obj, false, false);
+ }, false);
- {{if $module != 'hq' && $startpage == 'hq'}}
- e.preventDefault();
- if(notify_id != null) {
- $.post(
- "hq",
- {
- "notify_id" : notify_id
+ document.addEventListener('visibilitychange', function() {
+ if (!document.hidden) {
+ sse_offset = 0;
+ sse_bs_init();
}
- );
+ }, false);
+
}
- window.location.href = 'hq/' + b64mid;
- return;
- {{else}}
- {{if $module == 'display'}}
- history.pushState(stateObj, '', 'display/' + b64mid);
- {{/if}}
-
- {{if $module == 'hq'}}
- history.pushState(stateObj, '', 'hq/' + b64mid);
- {{/if}}
-
- {{if $module == 'hq'}}
- if(b64mid) {
- {{else}}
- if(path === 'display' && b64mid) {
- {{/if}}
- e.preventDefault();
-
- if(! page_load) {
- getData(b64mid, notify_id);
+ else {
+ var myWorker = new SharedWorker('/view/js/sse_worker.js', localUser);
+
+ myWorker.port.onmessage = function(e) {
+ obj = e.data;
+ console.log(obj);
+ sse_handleNotifications(obj, false, false);
+ }
+
+ myWorker.onerror = function(e) {
+ myWorker.port.close();
+ }
+
+ myWorker.port.start();
+ }
+ }
+ else {
+ if (!document.hidden)
+ sse_fallback_interval = setInterval(sse_fallback, updateInterval);
+
+ document.addEventListener('visibilitychange', function() {
+ if (document.hidden) {
+ clearInterval(sse_fallback_interval);
}
+ else {
+ sse_offset = 0;
+ sse_bs_init();
+ sse_fallback_interval = setInterval(sse_fallback, updateInterval);
+ }
+
+ }, false);
+ }
+
+ $('.notification-link').on('click', { replace: true, followup: false }, sse_bs_notifications);
+
+ $('.notification-filter').on('keypress', function(e) {
+ if(e.which == 13) { // enter
+ this.blur();
+ sse_offset = 0;
+ $("#nav-" + sse_type + "-menu").html('');
+ $("#nav-" + sse_type + "-loading").show();
+
+ var cn_val = $('#cn-' + sse_type + '-input').length ? $('#cn-' + sse_type + '-input').val().toString().toLowerCase() : '';
+
+ $.get('/sse_bs/' + sse_type + '/' + sse_offset + '?nquery=' + encodeURIComponent(cn_val), function(obj) {
+ console.log('sse: bootstraping ' + sse_type);
+ console.log(obj);
+
+ sse_bs_active = false;
+ sse_partial_result = true;
+ sse_offset = obj[sse_type].offset;
+ if(sse_offset < 0)
+ $("#nav-" + sse_type + "-loading").hide();
+
+ sse_handleNotifications(obj, true, false);
+
+ });
+ }
+ });
+
+ $('.notifications-textinput-clear').on('click', function(e) {
+ if(! sse_partial_result)
+ return;
+
+ $("#nav-" + sse_type + "-menu").html('');
+ $("#nav-" + sse_type + "-loading").show();
+ $.get('/sse_bs/' + sse_type, function(obj) {
+ console.log('sse: bootstraping ' + sse_type);
+ console.log(obj);
+
+ sse_bs_active = false;
+ sse_partial_result = false;
+ sse_offset = obj[sse_type].offset;
+ if(sse_offset < 0)
+ $("#nav-" + sse_type + "-loading").hide();
+
+ sse_handleNotifications(obj, true, false);
+
+ });
+ });
- if($('#notifications_wrapper').hasClass('fs'))
- $('#notifications_wrapper').prependTo('#' + notifications_parent).removeClass('fs');
+ $('.notification-content').on('scroll', function() {
+ if(this.scrollTop > this.scrollHeight - this.clientHeight - (this.scrollHeight/7)) {
+ sse_bs_notifications(sse_type, false, true);
}
- {{/if}}
+ });
+
});
- {{/if}}
{{foreach $notifications as $notification}}
{{if $notification.filter}}
@@ -88,15 +154,21 @@
else {
$('#nav-{{$notification.type}}-menu .notification[data-thread_top=false]').addClass('tt-filter-active');
$(this).addClass('active sticky-top');
+ // load more notifications if visible notifications count is low
+ if(sse_type && sse_offset != -1 && $('#nav-' + sse_type + '-menu').children(':visible').length < 15) {
+ sse_bs_notifications(sse_type, false, true);
+ }
}
});
+
$(document).on('click', '#cn-{{$notification.type}}-input-clear', function(e) {
$('#cn-{{$notification.type}}-input').val('');
$('#cn-{{$notification.type}}-only').removeClass('active sticky-top');
$("#nav-{{$notification.type}}-menu .notification").removeClass('cn-filter-active');
$('#cn-{{$notification.type}}-input-clear').addClass('d-none');
});
+
$(document).on('input', '#cn-{{$notification.type}}-input', function(e) {
var val = $('#cn-{{$notification.type}}-input').val().toString().toLowerCase();
if(val) {
@@ -122,18 +194,283 @@
{{/if}}
{{/foreach}}
- function getData(b64mid, notify_id) {
- $(document).scrollTop(0);
- $('.thread-wrapper').remove();
- bParam_mid = b64mid;
- mode = 'replace';
- page_load = true;
- {{if $module == 'hq'}}
- liveUpdate(notify_id);
- {{/if}}
- {{if $module == 'display'}}
- liveUpdate();
- {{/if}}
+ function sse_bs_init() {
+ if(sessionStorage.getItem('notification_open') !== null || typeof sse_type !== 'undefined' ) {
+ if(typeof sse_type === 'undefined')
+ sse_type = sessionStorage.getItem('notification_open');
+
+ $("#nav-" + sse_type + "-sub").addClass('show');
+ sse_bs_notifications(sse_type, true, false);
+ }
+ else {
+ sse_bs_counts();
+ }
+ }
+
+ function sse_bs_counts() {
+ if(sse_bs_active)
+ return;
+
+ sse_bs_active = true;
+
+ $.ajax({
+ type: 'post',
+ url: '/sse_bs',
+ data: { sse_rmids }
+ }).done( function(obj) {
+ console.log(obj);
+ sse_bs_active = false;
+ sse_rmids = [];
+ sse_handleNotifications(obj, true, false);
+ });
+ }
+
+ function sse_bs_notifications(e, replace, followup) {
+
+ if(sse_bs_active)
+ return;
+
+ var manual = false;
+
+ if(typeof replace === 'undefined')
+ replace = e.data.replace;
+
+ if(typeof followup === 'undefined')
+ followup = e.data.followup;
+
+ if(typeof e === 'string') {
+ sse_type = e;
+ }
+ else {
+ manual = true;
+ sse_offset = 0;
+ sse_type = e.target.dataset.sse_type;
+ }
+
+ if(typeof sse_type === 'undefined')
+ return;
+
+ if(followup || !manual || !($('#nav-' + sse_type + '-sub').hasClass('collapse') && $('#nav-' + sse_type + '-sub').hasClass('show'))) {
+
+ if(sse_offset >= 0) {
+ $("#nav-" + sse_type + "-loading").show();
+ }
+
+ sessionStorage.setItem('notification_open', sse_type);
+ if(sse_offset !== -1 || replace) {
+
+ var cn_val = (($('#cn-' + sse_type + '-input').length && sse_partial_result) ? $('#cn-' + sse_type + '-input').val().toString().toLowerCase() : '');
+
+ $("#nav-" + sse_type + "-loading").show();
+
+ sse_bs_active = true;
+
+ $.ajax({
+ type: 'post',
+ url: '/sse_bs/' + sse_type + '/' + sse_offset,
+ nquery: encodeURIComponent(cn_val),
+ data: { sse_rmids }
+ }).done(function(obj) {
+ console.log('sse: bootstraping ' + sse_type);
+ console.log(obj);
+ sse_bs_active = false;
+ sse_rmids = [];
+ $("#nav-" + sse_type + "-loading").hide();
+ sse_offset = obj[sse_type].offset;
+ sse_handleNotifications(obj, replace, followup);
+ });
+ }
+ else
+ $("#nav-" + sse_type + "-loading").hide();
+
+ }
+ else {
+ sessionStorage.removeItem('notification_open');
+ }
+ }
+
+ function sse_handleNotifications(obj, replace, followup) {
+
+ var primary_notifications = ['dm', 'home', 'intros', 'register', 'notify', 'files'];
+ var secondary_notifications = ['network', 'forums', 'all_events', 'pubs'];
+ var all_notifications = primary_notifications.concat(secondary_notifications);
+
+ all_notifications.forEach(function(type, index) {
+ if(typeof obj[type] === typeof undefined)
+ return true;
+
+ if(obj[type].count) {
+ $('.' + type + '-button').fadeIn();
+ if(replace || followup)
+ $('.' + type + '-update').html(Number(obj[type].count));
+ else
+ $('.' + type + '-update').html(Number(obj[type].count) + Number($('.' + type + '-update').html()));
+ }
+ else {
+ $('.' + type + '-update').html('0');
+ $('.' + type + '-button').fadeOut(function() {
+ sse_setNotificationsStatus();
+ });
+ }
+ if(obj[type].notifications.length)
+ sse_handleNotificationsItems(type, obj[type].notifications, replace, followup);
+ });
+
+ sse_setNotificationsStatus();
+
+ // notice and info
+ $.jGrowl.defaults.closerTemplate = '<div>[ ' + aStr.closeAll + ']</div>';
+
+ if(obj.notice) {
+ $(obj.notice.notifications).each(function() {
+ $.jGrowl(this, { sticky: true, theme: 'notice' });
+ });
+ }
+
+ if(obj.info) {
+ $(obj.info.notifications).each(function(){
+ $.jGrowl(this, { sticky: false, theme: 'info', life: 10000 });
+ });
+ }
+
+ // load more notifications if visible notifications count becomes low
+ if(sse_type && sse_offset != -1 && $('#nav-' + sse_type + '-menu').children(':visible').length < 15) {
+ sse_bs_notifications(sse_type, false, true);
+ }
+
+
+ }
+
+ function sse_handleNotificationsItems(notifyType, data, replace, followup) {
+
+ var notifications_tpl = ((notifyType == 'forums') ? decodeURIComponent($("#nav-notifications-forums-template[rel=template]").html().replace('data-src', 'src')) : decodeURIComponent($("#nav-notifications-template[rel=template]").html().replace('data-src', 'src')));
+ var notify_menu = $("#nav-" + notifyType + "-menu");
+ var notify_loading = $("#nav-" + notifyType + "-loading");
+ var notify_count = $("." + notifyType + "-update");
+
+ if(replace && !followup) {
+ notify_menu.html('');
+ notify_loading.hide();
+ }
+
+ $(data).each(function() {
+
+ // do not add a notification if it is already present
+ if($('#nav-' + notifyType + '-menu .notification[data-b64mid=\'' + this.b64mid + '\']').length)
+ return true;
+
+ html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.addr,this.message,this.when,this.hclass,this.b64mid,this.notify_id,this.thread_top,this.unseen,this.private_forum, encodeURIComponent(this.mids), this.body);
+ notify_menu.append(html);
+ });
+
+ if(!replace && !followup) {
+ $("#nav-" + notifyType + "-menu .notification").sort(function(a,b) {
+ a = new Date(a.dataset.when);
+ b = new Date(b.dataset.when);
+ return a > b ? -1 : a < b ? 1 : 0;
+ }).appendTo('#nav-' + notifyType + '-menu');
+ }
+
+ $("#nav-" + notifyType + "-menu .notifications-autotime").timeago();
+
+ if($('#tt-' + notifyType + '-only').hasClass('active'))
+ $('#nav-' + notifyType + '-menu [data-thread_top=false]').addClass('tt-filter-active');
+
+ if($('#cn-' + notifyType + '-input').length) {
+ var filter = $('#cn-' + notifyType + '-input').val().toString().toLowerCase();
+ if(filter) {
+ filter = filter.indexOf('%') == 0 ? filter.substring(1) : filter;
+
+ $('#nav-' + notifyType + '-menu .notification').each(function(i, el) {
+ var cn = $(el).data('contact_name').toString().toLowerCase();
+ var ca = $(el).data('contact_addr').toString().toLowerCase();
+ if(cn.indexOf(filter) === -1 && ca.indexOf(filter) === -1)
+ $(el).addClass('cn-filter-active');
+ else
+ $(el).removeClass('cn-filter-active');
+ });
+ }
+ }
+ }
+
+ function sse_updateNotifications(type, mid) {
+
+ if(type === 'pubs')
+ return true;
+
+ if(type === 'notify' && (mid !== bParam_mid || sse_type !== 'notify'))
+ return true;
+ /*
+ var count = Number($('.' + type + '-update').html());
+
+ count--;
+
+ if(count < 1) {
+ $('.' + type + '-update').html(count);
+ $('.' + type + '-button').fadeOut(function() {
+ sse_setNotificationsStatus();
+ });
+ }
+ else {
+ $('.' + type + '-update').html(count);
+ }
+ */
+
+ $('#nav-' + type + '-menu .notification[data-b64mid=\'' + mid + '\']').fadeOut(function() {
+ this.remove();
+ });
+
+ }
+
+ function sse_setNotificationsStatus() {
+ var primary_notifications = ['dm', 'home', 'intros', 'register', 'notify', 'files'];
+ var secondary_notifications = ['network', 'forums', 'all_events', 'pubs'];
+ var all_notifications = primary_notifications.concat(secondary_notifications);
+
+ var primary_available = false;
+ var any_available = false;
+
+ all_notifications.forEach(function(type, index) {
+ if($('.' + type + '-button').css('display') == 'block') {
+ any_available = true;
+ if(primary_notifications.indexOf(type) > -1)
+ primary_available = true;
+ }
+ });
+
+ if(primary_available) {
+ $('.notifications-btn-icon').removeClass('fa-exclamation-circle');
+ $('.notifications-btn-icon').addClass('fa-exclamation-triangle');
+ }
+ else {
+ $('.notifications-btn-icon').removeClass('fa-exclamation-triangle');
+ $('.notifications-btn-icon').addClass('fa-exclamation-circle');
+ }
+
+ if(any_available) {
+ $('.notifications-btn').css('opacity', 1);
+ $('#no_notifications').hide();
+ $('#notifications').show();
+ }
+ else {
+ $('.notifications-btn').css('opacity', 0.5);
+ $('#navbar-collapse-1').removeClass('show');
+ $('#no_notifications').show();
+ $('#notifications').hide();
+ }
+
+ }
+
+ function sse_fallback() {
+ $.get('/sse', function(obj) {
+ if(! obj)
+ return;
+
+ console.log('sse fallback');
+ console.log(obj);
+
+ sse_handleNotifications(obj, false, false);
+ });
}
</script>
@@ -199,4 +536,3 @@
{{/foreach}}
</div>
</div>
-{{/if}}
diff --git a/view/tpl/prv_message.tpl b/view/tpl/prv_message.tpl
index b8c81539d..ea7de0b4c 100644
--- a/view/tpl/prv_message.tpl
+++ b/view/tpl/prv_message.tpl
@@ -1,3 +1,5 @@
+{{**
+
{{if $new}}
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
@@ -105,3 +107,4 @@
</div>
</div>
{{/if}}
+**}}